From dfc2b187333fd7719130c28d4bee2b1a4375b741 Mon Sep 17 00:00:00 2001 From: Mark Paul Date: Fri, 19 Oct 2018 10:45:03 +1100 Subject: [PATCH] step name propType allows string or object types. fixes #113 #114 --- dist/main.js | 120 +- docs/dist/bundle.js | 13219 ++++++++++++++++++++------------------ docs/index.html | 2 +- docs/main.js | 120 +- package.json | 2 +- src/examples/index.html | 2 +- src/main.js | 5 +- 7 files changed, 7059 insertions(+), 6411 deletions(-) diff --git a/dist/main.js b/dist/main.js index eb5310c..33d5574 100644 --- a/dist/main.js +++ b/dist/main.js @@ -4,8 +4,6 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); @@ -176,76 +174,70 @@ var StepZilla = function (_Component) { // a child step wants to invoke a jump between steps. in this case 'evt' is the numeric step number and not the JS event this.setNavState(evt); } else { - var _ret = function () { - // the main navigation step ui is invoking a jump between steps - // if stepsNavigation is turned off or user clicked on existing step again (on step 2 and clicked on 2 again) then ignore - if (!_this3.props.stepsNavigation || evt.target.value === _this3.state.compState) { - evt.preventDefault(); - evt.stopPropagation(); - - return { - v: void 0 - }; - } + // the main navigation step ui is invoking a jump between steps + // if stepsNavigation is turned off or user clicked on existing step again (on step 2 and clicked on 2 again) then ignore + if (!this.props.stepsNavigation || evt.target.value === this.state.compState) { + evt.preventDefault(); + evt.stopPropagation(); - // evt is a react event so we need to persist it as we deal with aync promises which nullifies these events (https://facebook.github.io/react/docs/events.html#event-pooling) - evt.persist(); + return; + } - var movingBack = evt.target.value < _this3.state.compState; // are we trying to move back or front? - var passThroughStepsNotValid = false; // if we are jumping forward, only allow that if inbetween steps are all validated. This flag informs the logic... - var proceed = false; // flag on if we should move on + // evt is a react event so we need to persist it as we deal with aync promises which nullifies these events (https://facebook.github.io/react/docs/events.html#event-pooling) + evt.persist(); - _this3.abstractStepMoveAllowedToPromise(movingBack).then(function () { - var valid = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; + var movingBack = evt.target.value < this.state.compState; // are we trying to move back or front? + var passThroughStepsNotValid = false; // if we are jumping forward, only allow that if inbetween steps are all validated. This flag informs the logic... + var proceed = false; // flag on if we should move on - // validation was a success (promise or sync validation). In it was a Promise's resolve() - // ... then proceed will be undefined, so make it true. Or else 'proceed' will carry the true/false value from sync - proceed = valid; + this.abstractStepMoveAllowedToPromise(movingBack).then(function () { + var valid = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; - if (!movingBack) { - _this3.updateStepValidationFlag(proceed); - } + // validation was a success (promise or sync validation). In it was a Promise's resolve() + // ... then proceed will be undefined, so make it true. Or else 'proceed' will carry the true/false value from sync + proceed = valid; - if (proceed) { - if (!movingBack) { - // looks like we are moving forward, 'reduce' a new array of step>validated values we need to check and - // ... 'some' that to get a decision on if we should allow moving forward - passThroughStepsNotValid = _this3.props.steps.reduce(function (a, c, i) { - if (i >= _this3.state.compState && i < evt.target.value) { - a.push(c.validated); - } - return a; - }, []).some(function (c) { - return c === false; - }); - } - } - }).catch(function () { - // Promise based validation was a fail (i.e reject()) + if (!movingBack) { + _this3.updateStepValidationFlag(proceed); + } + + if (proceed) { if (!movingBack) { - _this3.updateStepValidationFlag(false); - } - }).then(function () { - // this is like finally(), executes if error no no error - if (proceed && !passThroughStepsNotValid) { - if (evt.target.value === _this3.props.steps.length - 1 && _this3.state.compState === _this3.props.steps.length - 1) { - _this3.setNavState(_this3.props.steps.length); - } else { - _this3.setNavState(evt.target.value); - } - } - }).catch(function (e) { - if (e) { - // see note below called "CatchRethrowing" - // ... plus the finally then() above is what throws the JS Error so we need to catch that here specifically - setTimeout(function () { - throw e; + // looks like we are moving forward, 'reduce' a new array of step>validated values we need to check and + // ... 'some' that to get a decision on if we should allow moving forward + passThroughStepsNotValid = _this3.props.steps.reduce(function (a, c, i) { + if (i >= _this3.state.compState && i < evt.target.value) { + a.push(c.validated); + } + return a; + }, []).some(function (c) { + return c === false; }); } - }); - }(); - - if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === "object") return _ret.v; + } + }).catch(function () { + // Promise based validation was a fail (i.e reject()) + if (!movingBack) { + _this3.updateStepValidationFlag(false); + } + }).then(function () { + // this is like finally(), executes if error no no error + if (proceed && !passThroughStepsNotValid) { + if (evt.target.value === _this3.props.steps.length - 1 && _this3.state.compState === _this3.props.steps.length - 1) { + _this3.setNavState(_this3.props.steps.length); + } else { + _this3.setNavState(evt.target.value); + } + } + }).catch(function (e) { + if (e) { + // see note below called "CatchRethrowing" + // ... plus the finally then() above is what throws the JS Error so we need to catch that here specifically + setTimeout(function () { + throw e; + }); + } + }); } } @@ -481,7 +473,7 @@ StepZilla.defaultProps = { StepZilla.propTypes = { steps: _propTypes2.default.arrayOf(_propTypes2.default.shape({ - name: _propTypes2.default.string.isRequired, + name: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]).isRequired, component: _propTypes2.default.element.isRequired })).isRequired, showSteps: _propTypes2.default.bool, diff --git a/docs/dist/bundle.js b/docs/dist/bundle.js index 16df327..0b7d996 100644 --- a/docs/dist/bundle.js +++ b/docs/dist/bundle.js @@ -42,7 +42,7 @@ /************************************************************************/ /******/ ([ /* 0 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { 'use strict'; @@ -50,40 +50,38 @@ var _react2 = _interopRequireDefault(_react); - var _reactDom = __webpack_require__(39); + var _reactDom = __webpack_require__(37); var _reactDom2 = _interopRequireDefault(_reactDom); - var _Example = __webpack_require__(189); + var _Example = __webpack_require__(184); var _Example2 = _interopRequireDefault(_Example); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - __webpack_require__(337); + __webpack_require__(334); _reactDom2.default.render(_react2.default.createElement(_Example2.default, null), document.getElementById('root')); -/***/ }, +/***/ }), /* 1 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { 'use strict'; module.exports = __webpack_require__(2); -/***/ }, +/***/ }), /* 2 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ @@ -91,25 +89,24 @@ var _assign = __webpack_require__(4); - var ReactChildren = __webpack_require__(5); - var ReactComponent = __webpack_require__(18); - var ReactPureComponent = __webpack_require__(21); - var ReactClass = __webpack_require__(22); - var ReactDOMFactories = __webpack_require__(24); - var ReactElement = __webpack_require__(9); - var ReactPropTypes = __webpack_require__(29); - var ReactVersion = __webpack_require__(37); + var ReactBaseClasses = __webpack_require__(5); + var ReactChildren = __webpack_require__(14); + var ReactDOMFactories = __webpack_require__(22); + var ReactElement = __webpack_require__(16); + var ReactPropTypes = __webpack_require__(28); + var ReactVersion = __webpack_require__(33); - var onlyChild = __webpack_require__(38); - var warning = __webpack_require__(11); + var createReactClass = __webpack_require__(34); + var onlyChild = __webpack_require__(36); var createElement = ReactElement.createElement; var createFactory = ReactElement.createFactory; var cloneElement = ReactElement.cloneElement; if (process.env.NODE_ENV !== 'production') { - var canDefineProperty = __webpack_require__(13); - var ReactElementValidator = __webpack_require__(25); + var lowPriorityWarning = __webpack_require__(13); + var canDefineProperty = __webpack_require__(10); + var ReactElementValidator = __webpack_require__(23); var didWarnPropTypesDeprecated = false; createElement = ReactElementValidator.createElement; createFactory = ReactElementValidator.createFactory; @@ -117,18 +114,27 @@ } var __spread = _assign; + var createMixin = function (mixin) { + return mixin; + }; if (process.env.NODE_ENV !== 'production') { - var warned = false; + var warnedForSpread = false; + var warnedForCreateMixin = false; __spread = function () { - process.env.NODE_ENV !== 'production' ? warning(warned, 'React.__spread is deprecated and should not be used. Use ' + 'Object.assign directly or another helper function with similar ' + 'semantics. You may be seeing this warning due to your compiler. ' + 'See https://fb.me/react-spread-deprecation for more details.') : void 0; - warned = true; + lowPriorityWarning(warnedForSpread, 'React.__spread is deprecated and should not be used. Use ' + 'Object.assign directly or another helper function with similar ' + 'semantics. You may be seeing this warning due to your compiler. ' + 'See https://fb.me/react-spread-deprecation for more details.'); + warnedForSpread = true; return _assign.apply(null, arguments); }; + + createMixin = function (mixin) { + lowPriorityWarning(warnedForCreateMixin, 'React.createMixin is deprecated and should not be used. ' + 'In React v16.0, it will be removed. ' + 'You can use this mixin directly instead. ' + 'See https://fb.me/createmixin-was-never-implemented for more info.'); + warnedForCreateMixin = true; + return mixin; + }; } var React = { - // Modern Children: { @@ -139,8 +145,8 @@ only: onlyChild }, - Component: ReactComponent, - PureComponent: ReactPureComponent, + Component: ReactBaseClasses.Component, + PureComponent: ReactBaseClasses.PureComponent, createElement: createElement, cloneElement: cloneElement, @@ -149,12 +155,9 @@ // Classic PropTypes: ReactPropTypes, - createClass: ReactClass.createClass, + createClass: createReactClass, createFactory: createFactory, - createMixin: function (mixin) { - // Currently a noop. Will be used to validate and trace mixins. - return mixin; - }, + createMixin: createMixin, // This looks DOM specific but these are actually isomorphic helpers // since they are just generating DOM strings. @@ -166,25 +169,48 @@ __spread: __spread }; - // TODO: Fix tests so that this deprecation warning doesn't cause failures. if (process.env.NODE_ENV !== 'production') { + var warnedForCreateClass = false; if (canDefineProperty) { Object.defineProperty(React, 'PropTypes', { get: function () { - process.env.NODE_ENV !== 'production' ? warning(didWarnPropTypesDeprecated, 'Accessing PropTypes via the main React package is deprecated. Use ' + 'the prop-types package from npm instead.') : void 0; + lowPriorityWarning(didWarnPropTypesDeprecated, 'Accessing PropTypes via the main React package is deprecated,' + ' and will be removed in React v16.0.' + ' Use the latest available v15.* prop-types package from npm instead.' + ' For info on usage, compatibility, migration and more, see ' + 'https://fb.me/prop-types-docs'); didWarnPropTypesDeprecated = true; return ReactPropTypes; } }); + + Object.defineProperty(React, 'createClass', { + get: function () { + lowPriorityWarning(warnedForCreateClass, 'Accessing createClass via the main React package is deprecated,' + ' and will be removed in React v16.0.' + " Use a plain JavaScript class instead. If you're not yet " + 'ready to migrate, create-react-class v15.* is available ' + 'on npm as a temporary, drop-in replacement. ' + 'For more info see https://fb.me/react-create-class'); + warnedForCreateClass = true; + return createReactClass; + } + }); } + + // React.DOM factories are deprecated. Wrap these methods so that + // invocations of the React.DOM namespace and alert users to switch + // to the `react-dom-factories` package. + React.DOM = {}; + var warnedForFactories = false; + Object.keys(ReactDOMFactories).forEach(function (factory) { + React.DOM[factory] = function () { + if (!warnedForFactories) { + lowPriorityWarning(false, 'Accessing factories like React.DOM.%s has been deprecated ' + 'and will be removed in v16.0+. Use the ' + 'react-dom-factories package instead. ' + ' Version 1.0 provides a drop-in replacement.' + ' For more info, see https://fb.me/react-dom-factories', factory); + warnedForFactories = true; + } + return ReactDOMFactories[factory].apply(ReactDOMFactories, arguments); + }; + }); } module.exports = React; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, +/***/ }), /* 3 */ -/***/ function(module, exports) { +/***/ (function(module, exports) { // shim for using process in browser var process = module.exports = {}; @@ -356,6 +382,10 @@ process.removeListener = noop; process.removeAllListeners = noop; process.emit = noop; + process.prependListener = noop; + process.prependOnceListener = noop; + + process.listeners = function (name) { return [] } process.binding = function (name) { throw new Error('process.binding is not supported'); @@ -368,9 +398,9 @@ process.umask = function() { return 0; }; -/***/ }, +/***/ }), /* 4 */ -/***/ function(module, exports) { +/***/ (function(module, exports) { /* object-assign @@ -464,27 +494,598 @@ }; -/***/ }, +/***/ }), /* 5 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + */ + + 'use strict'; + + var _prodInvariant = __webpack_require__(6), + _assign = __webpack_require__(4); + + var ReactNoopUpdateQueue = __webpack_require__(7); + + var canDefineProperty = __webpack_require__(10); + var emptyObject = __webpack_require__(11); + var invariant = __webpack_require__(12); + var lowPriorityWarning = __webpack_require__(13); + + /** + * Base class helpers for the updating state of a component. + */ + function ReactComponent(props, context, updater) { + this.props = props; + this.context = context; + this.refs = emptyObject; + // We initialize the default updater but the real one gets injected by the + // renderer. + this.updater = updater || ReactNoopUpdateQueue; + } + + ReactComponent.prototype.isReactComponent = {}; + + /** + * Sets a subset of the state. Always use this to mutate + * state. You should treat `this.state` as immutable. + * + * There is no guarantee that `this.state` will be immediately updated, so + * accessing `this.state` after calling this method may return the old value. + * + * There is no guarantee that calls to `setState` will run synchronously, + * as they may eventually be batched together. You can provide an optional + * callback that will be executed when the call to setState is actually + * completed. + * + * When a function is provided to setState, it will be called at some point in + * the future (not synchronously). It will be called with the up to date + * component arguments (state, props, context). These values can be different + * from this.* because your function may be called after receiveProps but before + * shouldComponentUpdate, and this new state, props, and context will not yet be + * assigned to this. + * + * @param {object|function} partialState Next partial state or function to + * produce next partial state to be merged with current state. + * @param {?function} callback Called after state is updated. + * @final + * @protected + */ + ReactComponent.prototype.setState = function (partialState, callback) { + !(typeof partialState === 'object' || typeof partialState === 'function' || partialState == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'setState(...): takes an object of state variables to update or a function which returns an object of state variables.') : _prodInvariant('85') : void 0; + this.updater.enqueueSetState(this, partialState); + if (callback) { + this.updater.enqueueCallback(this, callback, 'setState'); + } + }; + + /** + * Forces an update. This should only be invoked when it is known with + * certainty that we are **not** in a DOM transaction. + * + * You may want to call this when you know that some deeper aspect of the + * component's state has changed but `setState` was not called. + * + * This will not invoke `shouldComponentUpdate`, but it will invoke + * `componentWillUpdate` and `componentDidUpdate`. + * + * @param {?function} callback Called after update is complete. + * @final + * @protected + */ + ReactComponent.prototype.forceUpdate = function (callback) { + this.updater.enqueueForceUpdate(this); + if (callback) { + this.updater.enqueueCallback(this, callback, 'forceUpdate'); + } + }; + + /** + * Deprecated APIs. These APIs used to exist on classic React classes but since + * we would like to deprecate them, we're not going to move them over to this + * modern base class. Instead, we define a getter that warns if it's accessed. + */ + if (process.env.NODE_ENV !== 'production') { + var deprecatedAPIs = { + isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'], + replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).'] + }; + var defineDeprecationWarning = function (methodName, info) { + if (canDefineProperty) { + Object.defineProperty(ReactComponent.prototype, methodName, { + get: function () { + lowPriorityWarning(false, '%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]); + return undefined; + } + }); + } + }; + for (var fnName in deprecatedAPIs) { + if (deprecatedAPIs.hasOwnProperty(fnName)) { + defineDeprecationWarning(fnName, deprecatedAPIs[fnName]); + } + } + } + + /** + * Base class helpers for the updating state of a component. + */ + function ReactPureComponent(props, context, updater) { + // Duplicated from ReactComponent. + this.props = props; + this.context = context; + this.refs = emptyObject; + // We initialize the default updater but the real one gets injected by the + // renderer. + this.updater = updater || ReactNoopUpdateQueue; + } + + function ComponentDummy() {} + ComponentDummy.prototype = ReactComponent.prototype; + ReactPureComponent.prototype = new ComponentDummy(); + ReactPureComponent.prototype.constructor = ReactPureComponent; + // Avoid an extra prototype jump for these methods. + _assign(ReactPureComponent.prototype, ReactComponent.prototype); + ReactPureComponent.prototype.isPureReactComponent = true; + + module.exports = { + Component: ReactComponent, + PureComponent: ReactPureComponent + }; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) + +/***/ }), +/* 6 */ +/***/ (function(module, exports) { + + /** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * + */ + '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; + +/***/ }), +/* 7 */ +/***/ (function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright (c) 2015-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + */ + + 'use strict'; + + var warning = __webpack_require__(8); + + function warnNoop(publicInstance, callerName) { + if (process.env.NODE_ENV !== 'production') { + var constructor = publicInstance.constructor; + process.env.NODE_ENV !== 'production' ? warning(false, '%s(...): Can only update a mounted or mounting component. ' + 'This usually means you called %s() on an unmounted component. ' + 'This is a no-op. Please check the code for the %s component.', callerName, callerName, constructor && (constructor.displayName || constructor.name) || 'ReactClass') : void 0; + } + } + + /** + * This is the abstract API for an update queue. + */ + var ReactNoopUpdateQueue = { + /** + * Checks whether or not this composite component is mounted. + * @param {ReactClass} publicInstance The instance we want to test. + * @return {boolean} True if mounted, false otherwise. + * @protected + * @final + */ + isMounted: function (publicInstance) { + return false; + }, + + /** + * Enqueue a callback that will be executed after all the pending updates + * have processed. + * + * @param {ReactClass} publicInstance The instance to use as `this` context. + * @param {?function} callback Called after state is updated. + * @internal + */ + enqueueCallback: function (publicInstance, callback) {}, + + /** + * Forces an update. This should only be invoked when it is known with + * certainty that we are **not** in a DOM transaction. + * + * You may want to call this when you know that some deeper aspect of the + * component's state has changed but `setState` was not called. + * + * This will not invoke `shouldComponentUpdate`, but it will invoke + * `componentWillUpdate` and `componentDidUpdate`. + * + * @param {ReactClass} publicInstance The instance that should rerender. + * @internal + */ + enqueueForceUpdate: function (publicInstance) { + warnNoop(publicInstance, 'forceUpdate'); + }, + + /** + * Replaces all of the state. Always use this or `setState` to mutate state. + * You should treat `this.state` as immutable. + * + * There is no guarantee that `this.state` will be immediately updated, so + * accessing `this.state` after calling this method may return the old value. + * + * @param {ReactClass} publicInstance The instance that should rerender. + * @param {object} completeState Next state. + * @internal + */ + enqueueReplaceState: function (publicInstance, completeState) { + warnNoop(publicInstance, 'replaceState'); + }, + + /** + * Sets a subset of the state. This only exists because _pendingState is + * internal. This provides a merging strategy that is not available to deep + * properties which is confusing. TODO: Expose pendingState or don't use it + * during the merge. + * + * @param {ReactClass} publicInstance The instance that should rerender. + * @param {object} partialState Next partial state to be merged with state. + * @internal + */ + enqueueSetState: function (publicInstance, partialState) { + warnNoop(publicInstance, 'setState'); + } + }; + + module.exports = ReactNoopUpdateQueue; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) + +/***/ }), +/* 8 */ +/***/ (function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright (c) 2014-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + */ + + 'use strict'; + + var emptyFunction = __webpack_require__(9); + + /** + * 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') { + var printWarning = function printWarning(format) { + for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + 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) {} + }; + + warning = function warning(condition, format) { + 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) { + for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) { + args[_key2 - 2] = arguments[_key2]; + } + + printWarning.apply(undefined, [format].concat(args)); + } + }; + } + + module.exports = warning; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) + +/***/ }), +/* 9 */ +/***/ (function(module, exports) { + + "use strict"; + + /** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * + */ + + 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; + +/***/ }), +/* 10 */ +/***/ (function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * + */ + + 'use strict'; + + var canDefineProperty = false; + if (process.env.NODE_ENV !== 'production') { + try { + // $FlowFixMe https://github.com/facebook/flow/issues/285 + Object.defineProperty({}, 'x', { get: function () {} }); + canDefineProperty = true; + } catch (x) { + // IE will fail on defineProperty + } + } + + module.exports = canDefineProperty; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) + +/***/ }), +/* 11 */ +/***/ (function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + */ + + 'use strict'; + + var emptyObject = {}; + + if (process.env.NODE_ENV !== 'production') { + Object.freeze(emptyObject); + } + + module.exports = emptyObject; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) + +/***/ }), +/* 12 */ +/***/ (function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + */ + + '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. + */ + + var validateFormat = function validateFormat(format) {}; + + if (process.env.NODE_ENV !== 'production') { + validateFormat = function validateFormat(format) { + if (format === undefined) { + throw new Error('invariant requires an error message argument'); + } + }; + } + + function invariant(condition, format, a, b, c, d, e, f) { + validateFormat(format); + + 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__(3))) + +/***/ }), +/* 13 */ +/***/ (function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright (c) 2014-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + */ + + 'use strict'; + + /** + * Forked from fbjs/warning: + * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js + * + * Only change is we use console.warn instead of console.error, + * and do nothing when 'console' is not supported. + * This really simplifies the code. + * --- + * 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 lowPriorityWarning = function () {}; + + if (process.env.NODE_ENV !== 'production') { + var printWarning = function (format) { + for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + var argIndex = 0; + var message = 'Warning: ' + format.replace(/%s/g, function () { + return args[argIndex++]; + }); + if (typeof console !== 'undefined') { + console.warn(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) {} + }; + + lowPriorityWarning = function (condition, format) { + if (format === undefined) { + throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument'); + } + if (!condition) { + for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) { + args[_key2 - 2] = arguments[_key2]; + } + + printWarning.apply(undefined, [format].concat(args)); + } + }; + } + + module.exports = lowPriorityWarning; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) + +/***/ }), +/* 14 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var PooledClass = __webpack_require__(6); - var ReactElement = __webpack_require__(9); + var PooledClass = __webpack_require__(15); + var ReactElement = __webpack_require__(16); - var emptyFunction = __webpack_require__(12); - var traverseAllChildren = __webpack_require__(15); + var emptyFunction = __webpack_require__(9); + var traverseAllChildren = __webpack_require__(19); var twoArgumentPooler = PooledClass.twoArgumentPooler; var fourArgumentPooler = PooledClass.fourArgumentPooler; @@ -659,26 +1260,24 @@ module.exports = ReactChildren; -/***/ }, -/* 6 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 15 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * */ 'use strict'; - var _prodInvariant = __webpack_require__(7); + var _prodInvariant = __webpack_require__(6); - var invariant = __webpack_require__(8); + var invariant = __webpack_require__(12); /** * Static poolers. Several custom versions for each potential number of @@ -776,135 +1375,29 @@ module.exports = PooledClass; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 7 */ -/***/ function(module, exports) { +/***/ }), +/* 16 */ +/***/ (function(module, exports, __webpack_require__) { - /** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright (c) 2014-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * - * */ - '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 (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. - */ - - var validateFormat = function validateFormat(format) {}; - - if (process.env.NODE_ENV !== 'production') { - validateFormat = function validateFormat(format) { - if (format === undefined) { - throw new Error('invariant requires an error message argument'); - } - }; - } - - function invariant(condition, format, a, b, c, d, e, f) { - validateFormat(format); - - 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__(3))) - -/***/ }, -/* 9 */ -/***/ 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. - * - */ - + 'use strict'; var _assign = __webpack_require__(4); - var ReactCurrentOwner = __webpack_require__(10); + var ReactCurrentOwner = __webpack_require__(17); - var warning = __webpack_require__(11); - var canDefineProperty = __webpack_require__(13); + var warning = __webpack_require__(8); + var canDefineProperty = __webpack_require__(10); var hasOwnProperty = Object.prototype.hasOwnProperty; - var REACT_ELEMENT_TYPE = __webpack_require__(14); + var REACT_ELEMENT_TYPE = __webpack_require__(18); var RESERVED_PROPS = { key: true, @@ -1226,17 +1719,15 @@ module.exports = ReactElement; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 10 */ -/***/ function(module, exports) { +/***/ }), +/* 17 */ +/***/ (function(module, exports) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * */ @@ -1250,174 +1741,24 @@ * currently being constructed. */ var ReactCurrentOwner = { - /** * @internal * @type {ReactComponent} */ current: null - }; module.exports = ReactCurrentOwner; -/***/ }, -/* 11 */ -/***/ 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__(12); - - /** - * 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') { - (function () { - var printWarning = function printWarning(format) { - for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - args[_key - 1] = arguments[_key]; - } - - 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) {} - }; - - warning = function warning(condition, format) { - 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) { - for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) { - args[_key2 - 2] = arguments[_key2]; - } - - printWarning.apply(undefined, [format].concat(args)); - } - }; - })(); - } - - module.exports = warning; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) - -/***/ }, -/* 12 */ -/***/ 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; - -/***/ }, -/* 13 */ -/***/ 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. - * - * - */ - - 'use strict'; - - var canDefineProperty = false; - if (process.env.NODE_ENV !== 'production') { - try { - // $FlowFixMe https://github.com/facebook/flow/issues/285 - Object.defineProperty({}, 'x', { get: function () {} }); - canDefineProperty = true; - } catch (x) { - // IE will fail on defineProperty - } - } - - module.exports = canDefineProperty; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) - -/***/ }, -/* 14 */ -/***/ function(module, exports) { +/***/ }), +/* 18 */ +/***/ (function(module, exports) { /** - * Copyright 2014-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2014-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * */ @@ -1431,31 +1772,29 @@ module.exports = REACT_ELEMENT_TYPE; -/***/ }, -/* 15 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 19 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var _prodInvariant = __webpack_require__(7); + var _prodInvariant = __webpack_require__(6); - var ReactCurrentOwner = __webpack_require__(10); - var REACT_ELEMENT_TYPE = __webpack_require__(14); + var ReactCurrentOwner = __webpack_require__(17); + var REACT_ELEMENT_TYPE = __webpack_require__(18); - var getIteratorFn = __webpack_require__(16); - var invariant = __webpack_require__(8); - var KeyEscapeUtils = __webpack_require__(17); - var warning = __webpack_require__(11); + var getIteratorFn = __webpack_require__(20); + var invariant = __webpack_require__(12); + var KeyEscapeUtils = __webpack_require__(21); + var warning = __webpack_require__(8); var SEPARATOR = '.'; var SUBSEPARATOR = ':'; @@ -1568,7 +1907,7 @@ if (process.env.NODE_ENV !== 'production') { addendum = ' If you meant to render a collection of children, use an array ' + 'instead or wrap the object using createFragment(object) from the ' + 'React add-ons.'; if (children._isReactElement) { - addendum = ' It looks like you\'re using an element created by a different ' + 'version of React. Make sure to use only one copy of React.'; + addendum = " It looks like you're using an element created by a different " + 'version of React. Make sure to use only one copy of React.'; } if (ReactCurrentOwner.current) { var name = ReactCurrentOwner.current.getName(); @@ -1612,17 +1951,15 @@ module.exports = traverseAllChildren; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 16 */ -/***/ function(module, exports) { +/***/ }), +/* 20 */ +/***/ (function(module, exports) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * */ @@ -1657,17 +1994,15 @@ module.exports = getIteratorFn; -/***/ }, -/* 17 */ -/***/ function(module, exports) { +/***/ }), +/* 21 */ +/***/ (function(module, exports) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * */ @@ -1720,1076 +2055,21 @@ module.exports = KeyEscapeUtils; -/***/ }, -/* 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. - * - */ - - 'use strict'; - - var _prodInvariant = __webpack_require__(7); - - var ReactNoopUpdateQueue = __webpack_require__(19); - - var canDefineProperty = __webpack_require__(13); - var emptyObject = __webpack_require__(20); - var invariant = __webpack_require__(8); - var warning = __webpack_require__(11); - - /** - * Base class helpers for the updating state of a component. - */ - function ReactComponent(props, context, updater) { - this.props = props; - this.context = context; - this.refs = emptyObject; - // We initialize the default updater but the real one gets injected by the - // renderer. - this.updater = updater || ReactNoopUpdateQueue; - } - - ReactComponent.prototype.isReactComponent = {}; - - /** - * Sets a subset of the state. Always use this to mutate - * state. You should treat `this.state` as immutable. - * - * There is no guarantee that `this.state` will be immediately updated, so - * accessing `this.state` after calling this method may return the old value. - * - * There is no guarantee that calls to `setState` will run synchronously, - * as they may eventually be batched together. You can provide an optional - * callback that will be executed when the call to setState is actually - * completed. - * - * When a function is provided to setState, it will be called at some point in - * the future (not synchronously). It will be called with the up to date - * component arguments (state, props, context). These values can be different - * from this.* because your function may be called after receiveProps but before - * shouldComponentUpdate, and this new state, props, and context will not yet be - * assigned to this. - * - * @param {object|function} partialState Next partial state or function to - * produce next partial state to be merged with current state. - * @param {?function} callback Called after state is updated. - * @final - * @protected - */ - ReactComponent.prototype.setState = function (partialState, callback) { - !(typeof partialState === 'object' || typeof partialState === 'function' || partialState == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'setState(...): takes an object of state variables to update or a function which returns an object of state variables.') : _prodInvariant('85') : void 0; - this.updater.enqueueSetState(this, partialState); - if (callback) { - this.updater.enqueueCallback(this, callback, 'setState'); - } - }; - - /** - * Forces an update. This should only be invoked when it is known with - * certainty that we are **not** in a DOM transaction. - * - * You may want to call this when you know that some deeper aspect of the - * component's state has changed but `setState` was not called. - * - * This will not invoke `shouldComponentUpdate`, but it will invoke - * `componentWillUpdate` and `componentDidUpdate`. - * - * @param {?function} callback Called after update is complete. - * @final - * @protected - */ - ReactComponent.prototype.forceUpdate = function (callback) { - this.updater.enqueueForceUpdate(this); - if (callback) { - this.updater.enqueueCallback(this, callback, 'forceUpdate'); - } - }; - - /** - * Deprecated APIs. These APIs used to exist on classic React classes but since - * we would like to deprecate them, we're not going to move them over to this - * modern base class. Instead, we define a getter that warns if it's accessed. - */ - if (process.env.NODE_ENV !== 'production') { - var deprecatedAPIs = { - isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'], - replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).'] - }; - var defineDeprecationWarning = function (methodName, info) { - if (canDefineProperty) { - Object.defineProperty(ReactComponent.prototype, methodName, { - get: function () { - process.env.NODE_ENV !== 'production' ? warning(false, '%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]) : void 0; - return undefined; - } - }); - } - }; - for (var fnName in deprecatedAPIs) { - if (deprecatedAPIs.hasOwnProperty(fnName)) { - defineDeprecationWarning(fnName, deprecatedAPIs[fnName]); - } - } - } - - module.exports = ReactComponent; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) - -/***/ }, -/* 19 */ -/***/ function(module, exports, __webpack_require__) { - - /* WEBPACK VAR INJECTION */(function(process) {/** - * 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. - * - */ - - 'use strict'; - - var warning = __webpack_require__(11); - - function warnNoop(publicInstance, callerName) { - if (process.env.NODE_ENV !== 'production') { - var constructor = publicInstance.constructor; - process.env.NODE_ENV !== 'production' ? warning(false, '%s(...): Can only update a mounted or mounting component. ' + 'This usually means you called %s() on an unmounted component. ' + 'This is a no-op. Please check the code for the %s component.', callerName, callerName, constructor && (constructor.displayName || constructor.name) || 'ReactClass') : void 0; - } - } - - /** - * This is the abstract API for an update queue. - */ - var ReactNoopUpdateQueue = { - - /** - * Checks whether or not this composite component is mounted. - * @param {ReactClass} publicInstance The instance we want to test. - * @return {boolean} True if mounted, false otherwise. - * @protected - * @final - */ - isMounted: function (publicInstance) { - return false; - }, - - /** - * Enqueue a callback that will be executed after all the pending updates - * have processed. - * - * @param {ReactClass} publicInstance The instance to use as `this` context. - * @param {?function} callback Called after state is updated. - * @internal - */ - enqueueCallback: function (publicInstance, callback) {}, - - /** - * Forces an update. This should only be invoked when it is known with - * certainty that we are **not** in a DOM transaction. - * - * You may want to call this when you know that some deeper aspect of the - * component's state has changed but `setState` was not called. - * - * This will not invoke `shouldComponentUpdate`, but it will invoke - * `componentWillUpdate` and `componentDidUpdate`. - * - * @param {ReactClass} publicInstance The instance that should rerender. - * @internal - */ - enqueueForceUpdate: function (publicInstance) { - warnNoop(publicInstance, 'forceUpdate'); - }, - - /** - * Replaces all of the state. Always use this or `setState` to mutate state. - * You should treat `this.state` as immutable. - * - * There is no guarantee that `this.state` will be immediately updated, so - * accessing `this.state` after calling this method may return the old value. - * - * @param {ReactClass} publicInstance The instance that should rerender. - * @param {object} completeState Next state. - * @internal - */ - enqueueReplaceState: function (publicInstance, completeState) { - warnNoop(publicInstance, 'replaceState'); - }, - - /** - * Sets a subset of the state. This only exists because _pendingState is - * internal. This provides a merging strategy that is not available to deep - * properties which is confusing. TODO: Expose pendingState or don't use it - * during the merge. - * - * @param {ReactClass} publicInstance The instance that should rerender. - * @param {object} partialState Next partial state to be merged with state. - * @internal - */ - enqueueSetState: function (publicInstance, partialState) { - warnNoop(publicInstance, 'setState'); - } - }; - - module.exports = ReactNoopUpdateQueue; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) - -/***/ }, -/* 20 */ -/***/ 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'; - - var emptyObject = {}; - - if (process.env.NODE_ENV !== 'production') { - Object.freeze(emptyObject); - } - - module.exports = emptyObject; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) - -/***/ }, -/* 21 */ -/***/ 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. - * - */ - - 'use strict'; - - var _assign = __webpack_require__(4); - - var ReactComponent = __webpack_require__(18); - var ReactNoopUpdateQueue = __webpack_require__(19); - - var emptyObject = __webpack_require__(20); - - /** - * Base class helpers for the updating state of a component. - */ - function ReactPureComponent(props, context, updater) { - // Duplicated from ReactComponent. - this.props = props; - this.context = context; - this.refs = emptyObject; - // We initialize the default updater but the real one gets injected by the - // renderer. - this.updater = updater || ReactNoopUpdateQueue; - } - - function ComponentDummy() {} - ComponentDummy.prototype = ReactComponent.prototype; - ReactPureComponent.prototype = new ComponentDummy(); - ReactPureComponent.prototype.constructor = ReactPureComponent; - // Avoid an extra prototype jump for these methods. - _assign(ReactPureComponent.prototype, ReactComponent.prototype); - ReactPureComponent.prototype.isPureReactComponent = true; - - module.exports = ReactPureComponent; - -/***/ }, +/***/ }), /* 22 */ -/***/ 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. - * - */ - - 'use strict'; - - var _prodInvariant = __webpack_require__(7), - _assign = __webpack_require__(4); - - var ReactComponent = __webpack_require__(18); - var ReactElement = __webpack_require__(9); - var ReactPropTypeLocationNames = __webpack_require__(23); - var ReactNoopUpdateQueue = __webpack_require__(19); - - var emptyObject = __webpack_require__(20); - var invariant = __webpack_require__(8); - var warning = __webpack_require__(11); - - var MIXINS_KEY = 'mixins'; - - // Helper function to allow the creation of anonymous functions which do not - // have .name set to the name of the variable being assigned to. - function identity(fn) { - return fn; - } - - /** - * Policies that describe methods in `ReactClassInterface`. - */ - - - var injectedMixins = []; - - /** - * Composite components are higher-level components that compose other composite - * or host components. - * - * To create a new type of `ReactClass`, pass a specification of - * your new class to `React.createClass`. The only requirement of your class - * specification is that you implement a `render` method. - * - * var MyComponent = React.createClass({ - * render: function() { - * return
Hello World
; - * } - * }); - * - * The class specification supports a specific protocol of methods that have - * special meaning (e.g. `render`). See `ReactClassInterface` for - * more the comprehensive protocol. Any other properties and methods in the - * class specification will be available on the prototype. - * - * @interface ReactClassInterface - * @internal - */ - var ReactClassInterface = { - - /** - * An array of Mixin objects to include when defining your component. - * - * @type {array} - * @optional - */ - mixins: 'DEFINE_MANY', - - /** - * An object containing properties and methods that should be defined on - * the component's constructor instead of its prototype (static methods). - * - * @type {object} - * @optional - */ - statics: 'DEFINE_MANY', - - /** - * Definition of prop types for this component. - * - * @type {object} - * @optional - */ - propTypes: 'DEFINE_MANY', - - /** - * Definition of context types for this component. - * - * @type {object} - * @optional - */ - contextTypes: 'DEFINE_MANY', - - /** - * Definition of context types this component sets for its children. - * - * @type {object} - * @optional - */ - childContextTypes: 'DEFINE_MANY', - - // ==== Definition methods ==== - - /** - * Invoked when the component is mounted. Values in the mapping will be set on - * `this.props` if that prop is not specified (i.e. using an `in` check). - * - * This method is invoked before `getInitialState` and therefore cannot rely - * on `this.state` or use `this.setState`. - * - * @return {object} - * @optional - */ - getDefaultProps: 'DEFINE_MANY_MERGED', - - /** - * Invoked once before the component is mounted. The return value will be used - * as the initial value of `this.state`. - * - * getInitialState: function() { - * return { - * isOn: false, - * fooBaz: new BazFoo() - * } - * } - * - * @return {object} - * @optional - */ - getInitialState: 'DEFINE_MANY_MERGED', - - /** - * @return {object} - * @optional - */ - getChildContext: 'DEFINE_MANY_MERGED', - - /** - * Uses props from `this.props` and state from `this.state` to render the - * structure of the component. - * - * No guarantees are made about when or how often this method is invoked, so - * it must not have side effects. - * - * render: function() { - * var name = this.props.name; - * return
Hello, {name}!
; - * } - * - * @return {ReactComponent} - * @required - */ - render: 'DEFINE_ONCE', - - // ==== Delegate methods ==== - - /** - * Invoked when the component is initially created and about to be mounted. - * This may have side effects, but any external subscriptions or data created - * by this method must be cleaned up in `componentWillUnmount`. - * - * @optional - */ - componentWillMount: 'DEFINE_MANY', - - /** - * Invoked when the component has been mounted and has a DOM representation. - * However, there is no guarantee that the DOM node is in the document. - * - * Use this as an opportunity to operate on the DOM when the component has - * been mounted (initialized and rendered) for the first time. - * - * @param {DOMElement} rootNode DOM element representing the component. - * @optional - */ - componentDidMount: 'DEFINE_MANY', - - /** - * Invoked before the component receives new props. - * - * Use this as an opportunity to react to a prop transition by updating the - * state using `this.setState`. Current props are accessed via `this.props`. - * - * componentWillReceiveProps: function(nextProps, nextContext) { - * this.setState({ - * likesIncreasing: nextProps.likeCount > this.props.likeCount - * }); - * } - * - * NOTE: There is no equivalent `componentWillReceiveState`. An incoming prop - * transition may cause a state change, but the opposite is not true. If you - * need it, you are probably looking for `componentWillUpdate`. - * - * @param {object} nextProps - * @optional - */ - componentWillReceiveProps: 'DEFINE_MANY', - - /** - * Invoked while deciding if the component should be updated as a result of - * receiving new props, state and/or context. - * - * Use this as an opportunity to `return false` when you're certain that the - * transition to the new props/state/context will not require a component - * update. - * - * shouldComponentUpdate: function(nextProps, nextState, nextContext) { - * return !equal(nextProps, this.props) || - * !equal(nextState, this.state) || - * !equal(nextContext, this.context); - * } - * - * @param {object} nextProps - * @param {?object} nextState - * @param {?object} nextContext - * @return {boolean} True if the component should update. - * @optional - */ - shouldComponentUpdate: 'DEFINE_ONCE', - - /** - * Invoked when the component is about to update due to a transition from - * `this.props`, `this.state` and `this.context` to `nextProps`, `nextState` - * and `nextContext`. - * - * Use this as an opportunity to perform preparation before an update occurs. - * - * NOTE: You **cannot** use `this.setState()` in this method. - * - * @param {object} nextProps - * @param {?object} nextState - * @param {?object} nextContext - * @param {ReactReconcileTransaction} transaction - * @optional - */ - componentWillUpdate: 'DEFINE_MANY', - - /** - * Invoked when the component's DOM representation has been updated. - * - * Use this as an opportunity to operate on the DOM when the component has - * been updated. - * - * @param {object} prevProps - * @param {?object} prevState - * @param {?object} prevContext - * @param {DOMElement} rootNode DOM element representing the component. - * @optional - */ - componentDidUpdate: 'DEFINE_MANY', - - /** - * Invoked when the component is about to be removed from its parent and have - * its DOM representation destroyed. - * - * Use this as an opportunity to deallocate any external resources. - * - * NOTE: There is no `componentDidUnmount` since your component will have been - * destroyed by that point. - * - * @optional - */ - componentWillUnmount: 'DEFINE_MANY', - - // ==== Advanced methods ==== - - /** - * Updates the component's currently mounted DOM representation. - * - * By default, this implements React's rendering and reconciliation algorithm. - * Sophisticated clients may wish to override this. - * - * @param {ReactReconcileTransaction} transaction - * @internal - * @overridable - */ - updateComponent: 'OVERRIDE_BASE' - - }; - - /** - * Mapping from class specification keys to special processing functions. - * - * Although these are declared like instance properties in the specification - * when defining classes using `React.createClass`, they are actually static - * and are accessible on the constructor instead of the prototype. Despite - * being static, they must be defined outside of the "statics" key under - * which all other static methods are defined. - */ - var RESERVED_SPEC_KEYS = { - displayName: function (Constructor, displayName) { - Constructor.displayName = displayName; - }, - mixins: function (Constructor, mixins) { - if (mixins) { - for (var i = 0; i < mixins.length; i++) { - mixSpecIntoComponent(Constructor, mixins[i]); - } - } - }, - childContextTypes: function (Constructor, childContextTypes) { - if (process.env.NODE_ENV !== 'production') { - validateTypeDef(Constructor, childContextTypes, 'childContext'); - } - Constructor.childContextTypes = _assign({}, Constructor.childContextTypes, childContextTypes); - }, - contextTypes: function (Constructor, contextTypes) { - if (process.env.NODE_ENV !== 'production') { - validateTypeDef(Constructor, contextTypes, 'context'); - } - Constructor.contextTypes = _assign({}, Constructor.contextTypes, contextTypes); - }, - /** - * Special case getDefaultProps which should move into statics but requires - * automatic merging. - */ - getDefaultProps: function (Constructor, getDefaultProps) { - if (Constructor.getDefaultProps) { - Constructor.getDefaultProps = createMergedResultFunction(Constructor.getDefaultProps, getDefaultProps); - } else { - Constructor.getDefaultProps = getDefaultProps; - } - }, - propTypes: function (Constructor, propTypes) { - if (process.env.NODE_ENV !== 'production') { - validateTypeDef(Constructor, propTypes, 'prop'); - } - Constructor.propTypes = _assign({}, Constructor.propTypes, propTypes); - }, - statics: function (Constructor, statics) { - mixStaticSpecIntoComponent(Constructor, statics); - }, - autobind: function () {} }; - - function validateTypeDef(Constructor, typeDef, location) { - for (var propName in typeDef) { - if (typeDef.hasOwnProperty(propName)) { - // use a warning instead of an invariant so components - // don't show up in prod but only in __DEV__ - process.env.NODE_ENV !== 'production' ? warning(typeof typeDef[propName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', Constructor.displayName || 'ReactClass', ReactPropTypeLocationNames[location], propName) : void 0; - } - } - } - - function validateMethodOverride(isAlreadyDefined, name) { - var specPolicy = ReactClassInterface.hasOwnProperty(name) ? ReactClassInterface[name] : null; - - // Disallow overriding of base class methods unless explicitly allowed. - if (ReactClassMixin.hasOwnProperty(name)) { - !(specPolicy === 'OVERRIDE_BASE') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClassInterface: You are attempting to override `%s` from your class specification. Ensure that your method names do not overlap with React methods.', name) : _prodInvariant('73', name) : void 0; - } - - // Disallow defining methods more than once unless explicitly allowed. - if (isAlreadyDefined) { - !(specPolicy === 'DEFINE_MANY' || specPolicy === 'DEFINE_MANY_MERGED') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClassInterface: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.', name) : _prodInvariant('74', name) : void 0; - } - } - - /** - * Mixin helper which handles policy validation and reserved - * specification keys when building React classes. - */ - function mixSpecIntoComponent(Constructor, spec) { - if (!spec) { - if (process.env.NODE_ENV !== 'production') { - var typeofSpec = typeof spec; - var isMixinValid = typeofSpec === 'object' && spec !== null; - - process.env.NODE_ENV !== 'production' ? warning(isMixinValid, '%s: You\'re attempting to include a mixin that is either null ' + 'or not an object. Check the mixins included by the component, ' + 'as well as any mixins they include themselves. ' + 'Expected object but got %s.', Constructor.displayName || 'ReactClass', spec === null ? null : typeofSpec) : void 0; - } - - return; - } - - !(typeof spec !== 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You\'re attempting to use a component class or function as a mixin. Instead, just use a regular object.') : _prodInvariant('75') : void 0; - !!ReactElement.isValidElement(spec) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You\'re attempting to use a component as a mixin. Instead, just use a regular object.') : _prodInvariant('76') : void 0; - - var proto = Constructor.prototype; - var autoBindPairs = proto.__reactAutoBindPairs; - - // By handling mixins before any other properties, we ensure the same - // chaining order is applied to methods with DEFINE_MANY policy, whether - // mixins are listed before or after these methods in the spec. - if (spec.hasOwnProperty(MIXINS_KEY)) { - RESERVED_SPEC_KEYS.mixins(Constructor, spec.mixins); - } - - for (var name in spec) { - if (!spec.hasOwnProperty(name)) { - continue; - } - - if (name === MIXINS_KEY) { - // We have already handled mixins in a special case above. - continue; - } - - var property = spec[name]; - var isAlreadyDefined = proto.hasOwnProperty(name); - validateMethodOverride(isAlreadyDefined, name); - - if (RESERVED_SPEC_KEYS.hasOwnProperty(name)) { - RESERVED_SPEC_KEYS[name](Constructor, property); - } else { - // Setup methods on prototype: - // The following member methods should not be automatically bound: - // 1. Expected ReactClass methods (in the "interface"). - // 2. Overridden methods (that were mixed in). - var isReactClassMethod = ReactClassInterface.hasOwnProperty(name); - var isFunction = typeof property === 'function'; - var shouldAutoBind = isFunction && !isReactClassMethod && !isAlreadyDefined && spec.autobind !== false; - - if (shouldAutoBind) { - autoBindPairs.push(name, property); - proto[name] = property; - } else { - if (isAlreadyDefined) { - var specPolicy = ReactClassInterface[name]; - - // These cases should already be caught by validateMethodOverride. - !(isReactClassMethod && (specPolicy === 'DEFINE_MANY_MERGED' || specPolicy === 'DEFINE_MANY')) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: Unexpected spec policy %s for key %s when mixing in component specs.', specPolicy, name) : _prodInvariant('77', specPolicy, name) : void 0; - - // For methods which are defined more than once, call the existing - // methods before calling the new property, merging if appropriate. - if (specPolicy === 'DEFINE_MANY_MERGED') { - proto[name] = createMergedResultFunction(proto[name], property); - } else if (specPolicy === 'DEFINE_MANY') { - proto[name] = createChainedFunction(proto[name], property); - } - } else { - proto[name] = property; - if (process.env.NODE_ENV !== 'production') { - // Add verbose displayName to the function, which helps when looking - // at profiling tools. - if (typeof property === 'function' && spec.displayName) { - proto[name].displayName = spec.displayName + '_' + name; - } - } - } - } - } - } - } - - function mixStaticSpecIntoComponent(Constructor, statics) { - if (!statics) { - return; - } - for (var name in statics) { - var property = statics[name]; - if (!statics.hasOwnProperty(name)) { - continue; - } - - var isReserved = name in RESERVED_SPEC_KEYS; - !!isReserved ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You are attempting to define a reserved property, `%s`, that shouldn\'t be on the "statics" key. Define it as an instance property instead; it will still be accessible on the constructor.', name) : _prodInvariant('78', name) : void 0; - - var isInherited = name in Constructor; - !!isInherited ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.', name) : _prodInvariant('79', name) : void 0; - Constructor[name] = property; - } - } - - /** - * Merge two objects, but throw if both contain the same key. - * - * @param {object} one The first object, which is mutated. - * @param {object} two The second object - * @return {object} one after it has been mutated to contain everything in two. - */ - function mergeIntoWithNoDuplicateKeys(one, two) { - !(one && two && typeof one === 'object' && typeof two === 'object') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.') : _prodInvariant('80') : void 0; - - for (var key in two) { - if (two.hasOwnProperty(key)) { - !(one[key] === undefined) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'mergeIntoWithNoDuplicateKeys(): Tried to merge two objects with the same key: `%s`. This conflict may be due to a mixin; in particular, this may be caused by two getInitialState() or getDefaultProps() methods returning objects with clashing keys.', key) : _prodInvariant('81', key) : void 0; - one[key] = two[key]; - } - } - return one; - } - - /** - * Creates a function that invokes two functions and merges their return values. - * - * @param {function} one Function to invoke first. - * @param {function} two Function to invoke second. - * @return {function} Function that invokes the two argument functions. - * @private - */ - function createMergedResultFunction(one, two) { - return function mergedResult() { - var a = one.apply(this, arguments); - var b = two.apply(this, arguments); - if (a == null) { - return b; - } else if (b == null) { - return a; - } - var c = {}; - mergeIntoWithNoDuplicateKeys(c, a); - mergeIntoWithNoDuplicateKeys(c, b); - return c; - }; - } - - /** - * Creates a function that invokes two functions and ignores their return vales. - * - * @param {function} one Function to invoke first. - * @param {function} two Function to invoke second. - * @return {function} Function that invokes the two argument functions. - * @private - */ - function createChainedFunction(one, two) { - return function chainedFunction() { - one.apply(this, arguments); - two.apply(this, arguments); - }; - } - - /** - * Binds a method to the component. - * - * @param {object} component Component whose method is going to be bound. - * @param {function} method Method to be bound. - * @return {function} The bound method. - */ - function bindAutoBindMethod(component, method) { - var boundMethod = method.bind(component); - if (process.env.NODE_ENV !== 'production') { - boundMethod.__reactBoundContext = component; - boundMethod.__reactBoundMethod = method; - boundMethod.__reactBoundArguments = null; - var componentName = component.constructor.displayName; - var _bind = boundMethod.bind; - boundMethod.bind = function (newThis) { - for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - args[_key - 1] = arguments[_key]; - } - - // User is trying to bind() an autobound method; we effectively will - // ignore the value of "this" that the user is trying to use, so - // let's warn. - if (newThis !== component && newThis !== null) { - process.env.NODE_ENV !== 'production' ? warning(false, 'bind(): React component methods may only be bound to the ' + 'component instance. See %s', componentName) : void 0; - } else if (!args.length) { - process.env.NODE_ENV !== 'production' ? warning(false, 'bind(): You are binding a component method to the component. ' + 'React does this for you automatically in a high-performance ' + 'way, so you can safely remove this call. See %s', componentName) : void 0; - return boundMethod; - } - var reboundMethod = _bind.apply(boundMethod, arguments); - reboundMethod.__reactBoundContext = component; - reboundMethod.__reactBoundMethod = method; - reboundMethod.__reactBoundArguments = args; - return reboundMethod; - }; - } - return boundMethod; - } - - /** - * Binds all auto-bound methods in a component. - * - * @param {object} component Component whose method is going to be bound. - */ - function bindAutoBindMethods(component) { - var pairs = component.__reactAutoBindPairs; - for (var i = 0; i < pairs.length; i += 2) { - var autoBindKey = pairs[i]; - var method = pairs[i + 1]; - component[autoBindKey] = bindAutoBindMethod(component, method); - } - } - - /** - * Add more to the ReactClass base class. These are all legacy features and - * therefore not already part of the modern ReactComponent. - */ - var ReactClassMixin = { - - /** - * TODO: This will be deprecated because state should always keep a consistent - * type signature and the only use case for this, is to avoid that. - */ - replaceState: function (newState, callback) { - this.updater.enqueueReplaceState(this, newState); - if (callback) { - this.updater.enqueueCallback(this, callback, 'replaceState'); - } - }, - - /** - * Checks whether or not this composite component is mounted. - * @return {boolean} True if mounted, false otherwise. - * @protected - * @final - */ - isMounted: function () { - return this.updater.isMounted(this); - } - }; - - var ReactClassComponent = function () {}; - _assign(ReactClassComponent.prototype, ReactComponent.prototype, ReactClassMixin); - - var didWarnDeprecated = false; - - /** - * Module for creating composite components. - * - * @class ReactClass - */ - var ReactClass = { - - /** - * Creates a composite component class given a class specification. - * See https://facebook.github.io/react/docs/top-level-api.html#react.createclass - * - * @param {object} spec Class specification (which must define `render`). - * @return {function} Component constructor function. - * @public - */ - createClass: function (spec) { - if (process.env.NODE_ENV !== 'production') { - process.env.NODE_ENV !== 'production' ? warning(didWarnDeprecated, '%s: React.createClass is deprecated and will be removed in version 16. ' + 'Use plain JavaScript classes instead. If you\'re not yet ready to ' + 'migrate, create-react-class is available on npm as a ' + 'drop-in replacement.', spec && spec.displayName || 'A Component') : void 0; - didWarnDeprecated = true; - } - - // To keep our warnings more understandable, we'll use a little hack here to - // ensure that Constructor.name !== 'Constructor'. This makes sure we don't - // unnecessarily identify a class without displayName as 'Constructor'. - var Constructor = identity(function (props, context, updater) { - // This constructor gets overridden by mocks. The argument is used - // by mocks to assert on what gets mounted. - - if (process.env.NODE_ENV !== 'production') { - process.env.NODE_ENV !== 'production' ? warning(this instanceof Constructor, 'Something is calling a React component directly. Use a factory or ' + 'JSX instead. See: https://fb.me/react-legacyfactory') : void 0; - } - - // Wire up auto-binding - if (this.__reactAutoBindPairs.length) { - bindAutoBindMethods(this); - } - - this.props = props; - this.context = context; - this.refs = emptyObject; - this.updater = updater || ReactNoopUpdateQueue; - - this.state = null; - - // ReactClasses doesn't have constructors. Instead, they use the - // getInitialState and componentWillMount methods for initialization. - - var initialState = this.getInitialState ? this.getInitialState() : null; - if (process.env.NODE_ENV !== 'production') { - // We allow auto-mocks to proceed as if they're returning null. - if (initialState === undefined && this.getInitialState._isMockFunction) { - // This is probably bad practice. Consider warning here and - // deprecating this convenience. - initialState = null; - } - } - !(typeof initialState === 'object' && !Array.isArray(initialState)) ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s.getInitialState(): must return an object or null', Constructor.displayName || 'ReactCompositeComponent') : _prodInvariant('82', Constructor.displayName || 'ReactCompositeComponent') : void 0; - - this.state = initialState; - }); - Constructor.prototype = new ReactClassComponent(); - Constructor.prototype.constructor = Constructor; - Constructor.prototype.__reactAutoBindPairs = []; - - injectedMixins.forEach(mixSpecIntoComponent.bind(null, Constructor)); - - mixSpecIntoComponent(Constructor, spec); - - // Initialize the defaultProps property after all mixins have been merged. - if (Constructor.getDefaultProps) { - Constructor.defaultProps = Constructor.getDefaultProps(); - } - - if (process.env.NODE_ENV !== 'production') { - // This is a tag to indicate that the use of these method names is ok, - // since it's used with createClass. If it's not, then it's likely a - // mistake so we'll warn you to use the static property, property - // initializer or constructor respectively. - if (Constructor.getDefaultProps) { - Constructor.getDefaultProps.isReactClassApproved = {}; - } - if (Constructor.prototype.getInitialState) { - Constructor.prototype.getInitialState.isReactClassApproved = {}; - } - } - - !Constructor.prototype.render ? process.env.NODE_ENV !== 'production' ? invariant(false, 'createClass(...): Class specification must implement a `render` method.') : _prodInvariant('83') : void 0; - - if (process.env.NODE_ENV !== 'production') { - process.env.NODE_ENV !== 'production' ? warning(!Constructor.prototype.componentShouldUpdate, '%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', spec.displayName || 'A component') : void 0; - process.env.NODE_ENV !== 'production' ? warning(!Constructor.prototype.componentWillRecieveProps, '%s has a method called ' + 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?', spec.displayName || 'A component') : void 0; - } - - // Reduce time spent doing lookups by setting these on the prototype. - for (var methodName in ReactClassInterface) { - if (!Constructor.prototype[methodName]) { - Constructor.prototype[methodName] = null; - } - } - - return Constructor; - }, - - injection: { - injectMixin: function (mixin) { - injectedMixins.push(mixin); - } - } - - }; - - module.exports = ReactClass; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) - -/***/ }, -/* 23 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (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. - * - * - */ - - 'use strict'; - - var ReactPropTypeLocationNames = {}; - - if (process.env.NODE_ENV !== 'production') { - ReactPropTypeLocationNames = { - prop: 'prop', - context: 'context', - childContext: 'child context' - }; - } - - module.exports = ReactPropTypeLocationNames; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) - -/***/ }, -/* 24 */ -/***/ function(module, exports, __webpack_require__) { - - /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var ReactElement = __webpack_require__(9); + var ReactElement = __webpack_require__(16); /** * Create a factory that creates HTML tag elements. @@ -2798,13 +2078,12 @@ */ var createDOMFactory = ReactElement.createFactory; if (process.env.NODE_ENV !== 'production') { - var ReactElementValidator = __webpack_require__(25); + var ReactElementValidator = __webpack_require__(23); createDOMFactory = ReactElementValidator.createFactory; } /** * Creates a mapping from supported HTML tags to `ReactDOMComponent` classes. - * This is also accessible via `React.DOM`. * * @public */ @@ -2948,17 +2227,15 @@ module.exports = ReactDOMFactories; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 25 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 23 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2014-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2014-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ @@ -2971,15 +2248,16 @@ 'use strict'; - var ReactCurrentOwner = __webpack_require__(10); - var ReactComponentTreeHook = __webpack_require__(26); - var ReactElement = __webpack_require__(9); + var ReactCurrentOwner = __webpack_require__(17); + var ReactComponentTreeHook = __webpack_require__(24); + var ReactElement = __webpack_require__(16); - var checkReactTypeSpec = __webpack_require__(27); + var checkReactTypeSpec = __webpack_require__(25); - var canDefineProperty = __webpack_require__(13); - var getIteratorFn = __webpack_require__(16); - var warning = __webpack_require__(11); + var canDefineProperty = __webpack_require__(10); + var getIteratorFn = __webpack_require__(20); + var warning = __webpack_require__(8); + var lowPriorityWarning = __webpack_require__(13); function getDeclarationErrorAddendum() { if (ReactCurrentOwner.current) { @@ -3120,7 +2398,6 @@ } var ReactElementValidator = { - createElement: function (type, props, children) { var validType = typeof type === 'string' || typeof type === 'function'; // We warn in this case but don't throw. We expect the element creation to @@ -3129,7 +2406,7 @@ if (typeof type !== 'function' && typeof type !== 'string') { var info = ''; if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) { - info += ' You likely forgot to export your component from the file ' + 'it\'s defined in.'; + info += ' You likely forgot to export your component from the file ' + "it's defined in."; } var sourceInfo = getSourceInfoErrorAddendum(props); @@ -3141,7 +2418,10 @@ info += ReactComponentTreeHook.getCurrentStackAddendum(); + var currentSource = props !== null && props !== undefined && props.__source !== undefined ? props.__source : null; + ReactComponentTreeHook.pushNonStandardWarningStack(true, currentSource); process.env.NODE_ENV !== 'production' ? warning(false, 'React.createElement: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', type == null ? type : typeof type, info) : void 0; + ReactComponentTreeHook.popNonStandardWarningStack(); } } @@ -3179,7 +2459,7 @@ Object.defineProperty(validatedFactory, 'type', { enumerable: false, get: function () { - process.env.NODE_ENV !== 'production' ? warning(false, 'Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.') : void 0; + lowPriorityWarning(false, 'Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.'); Object.defineProperty(this, 'type', { value: type }); @@ -3200,35 +2480,32 @@ validatePropTypes(newElement); return newElement; } - }; module.exports = ReactElementValidator; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 26 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 24 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2016-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2016-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * */ 'use strict'; - var _prodInvariant = __webpack_require__(7); + var _prodInvariant = __webpack_require__(6); - var ReactCurrentOwner = __webpack_require__(10); + var ReactCurrentOwner = __webpack_require__(17); - var invariant = __webpack_require__(8); - var warning = __webpack_require__(11); + var invariant = __webpack_require__(12); + var warning = __webpack_require__(8); function isNative(fn) { // Based on isNative() from Lodash @@ -3236,11 +2513,11 @@ var hasOwnProperty = Object.prototype.hasOwnProperty; var reIsNative = RegExp('^' + funcToString // Take an example native function source for comparison - .call(hasOwnProperty) + .call(hasOwnProperty // Strip regex characters so we can use it for regex - .replace(/[\\^$.*+?()[\]{}|]/g, '\\$&') + ).replace(/[\\^$.*+?()[\]{}|]/g, '\\$&' // Remove hasOwnProperty from the template to make it generic - .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'); + ).replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'); try { var source = funcToString.call(fn); return reIsNative.test(source); @@ -3539,35 +2816,78 @@ getRootIDs: getRootIDs, - getRegisteredIDs: getItemIDs + getRegisteredIDs: getItemIDs, + + pushNonStandardWarningStack: function (isCreatingElement, currentSource) { + if (typeof console.reactStack !== 'function') { + return; + } + + var stack = []; + var currentOwner = ReactCurrentOwner.current; + var id = currentOwner && currentOwner._debugID; + + try { + if (isCreatingElement) { + stack.push({ + name: id ? ReactComponentTreeHook.getDisplayName(id) : null, + fileName: currentSource ? currentSource.fileName : null, + lineNumber: currentSource ? currentSource.lineNumber : null + }); + } + + while (id) { + var element = ReactComponentTreeHook.getElement(id); + var parentID = ReactComponentTreeHook.getParentID(id); + var ownerID = ReactComponentTreeHook.getOwnerID(id); + var ownerName = ownerID ? ReactComponentTreeHook.getDisplayName(ownerID) : null; + var source = element && element._source; + stack.push({ + name: ownerName, + fileName: source ? source.fileName : null, + lineNumber: source ? source.lineNumber : null + }); + id = parentID; + } + } catch (err) { + // Internal state is messed up. + // Stop building the stack (it's just a nice to have). + } + + console.reactStack(stack); + }, + popNonStandardWarningStack: function () { + if (typeof console.reactStackEnd !== 'function') { + return; + } + console.reactStackEnd(); + } }; module.exports = ReactComponentTreeHook; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 27 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 25 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var _prodInvariant = __webpack_require__(7); + var _prodInvariant = __webpack_require__(6); - var ReactPropTypeLocationNames = __webpack_require__(23); - var ReactPropTypesSecret = __webpack_require__(28); + var ReactPropTypeLocationNames = __webpack_require__(26); + var ReactPropTypesSecret = __webpack_require__(27); - var invariant = __webpack_require__(8); - var warning = __webpack_require__(11); + var invariant = __webpack_require__(12); + var warning = __webpack_require__(8); var ReactComponentTreeHook; @@ -3577,7 +2897,7 @@ // https://github.com/facebook/react/issues/7240 // Remove the inline requires when we don't need them anymore: // https://github.com/facebook/react/pull/7178 - ReactComponentTreeHook = __webpack_require__(26); + ReactComponentTreeHook = __webpack_require__(24); } var loggedTypeFailures = {}; @@ -3619,7 +2939,7 @@ if (process.env.NODE_ENV !== 'production') { if (!ReactComponentTreeHook) { - ReactComponentTreeHook = __webpack_require__(26); + ReactComponentTreeHook = __webpack_require__(24); } if (debugID !== null) { componentStackInfo = ReactComponentTreeHook.getStackAddendumByID(debugID); @@ -3637,17 +2957,43 @@ module.exports = checkReactTypeSpec; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 28 */ -/***/ function(module, exports) { +/***/ }), +/* 26 */ +/***/ (function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + * + */ + + 'use strict'; + + var ReactPropTypeLocationNames = {}; + + if (process.env.NODE_ENV !== 'production') { + ReactPropTypeLocationNames = { + prop: 'prop', + context: 'context', + childContext: 'child context' + }; + } + + module.exports = ReactPropTypeLocationNames; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) + +/***/ }), +/* 27 */ +/***/ (function(module, exports) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * */ @@ -3658,40 +3004,36 @@ module.exports = ReactPropTypesSecret; -/***/ }, -/* 29 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 28 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var _require = __webpack_require__(9), + var _require = __webpack_require__(16), isValidElement = _require.isValidElement; - var factory = __webpack_require__(30); + var factory = __webpack_require__(29); module.exports = factory(isValidElement); -/***/ }, -/* 30 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 29 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. */ 'use strict'; @@ -3700,7 +3042,7 @@ // Therefore we re-export development-only version with all the PropTypes checks here. // However if one is migrating to the `prop-types` npm library, they will go through the // `index.js` entry point, and it will branch depending on the environment. - var factory = __webpack_require__(31); + var factory = __webpack_require__(30); module.exports = function(isValidElement) { // It is still allowed in 15.5. var throwOnDirectAccess = false; @@ -3708,27 +3050,44 @@ }; -/***/ }, -/* 31 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 30 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. */ 'use strict'; - var emptyFunction = __webpack_require__(32); - var invariant = __webpack_require__(33); - var warning = __webpack_require__(34); + var assign = __webpack_require__(4); + + var ReactPropTypesSecret = __webpack_require__(31); + var checkPropTypes = __webpack_require__(32); + + var printWarning = function() {}; + + if (process.env.NODE_ENV !== 'production') { + printWarning = function(text) { + var message = 'Warning: ' + text; + 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) {} + }; + } - var ReactPropTypesSecret = __webpack_require__(35); - var checkPropTypes = __webpack_require__(36); + function emptyFunctionThatReturnsNull() { + return null; + } module.exports = function(isValidElement, throwOnDirectAccess) { /* global Symbol */ @@ -3824,7 +3183,8 @@ objectOf: createObjectOfTypeChecker, oneOf: createEnumTypeChecker, oneOfType: createUnionTypeChecker, - shape: createShapeTypeChecker + shape: createShapeTypeChecker, + exact: createStrictShapeTypeChecker, }; /** @@ -3871,12 +3231,13 @@ if (secret !== ReactPropTypesSecret) { if (throwOnDirectAccess) { // New behavior only for users of `prop-types` package - invariant( - false, + var err = new Error( 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' + 'Use `PropTypes.checkPropTypes()` to call them. ' + 'Read more at http://fb.me/use-check-prop-types' ); + err.name = 'Invariant Violation'; + throw err; } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') { // Old behavior for people using React.PropTypes var cacheKey = componentName + ':' + propName; @@ -3885,15 +3246,12 @@ // Avoid spamming the console because they are often not actionable except for lib authors manualPropTypeWarningCount < 3 ) { - warning( - false, + printWarning( 'You are manually calling a React.PropTypes validation ' + - 'function for the `%s` prop on `%s`. This is deprecated ' + + 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' + 'and will throw in the standalone `prop-types` package. ' + 'You may be seeing this warning due to a third-party PropTypes ' + - 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.', - propFullName, - componentName + 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.' ); manualPropTypeCallCache[cacheKey] = true; manualPropTypeWarningCount++; @@ -3937,7 +3295,7 @@ } function createAnyTypeChecker() { - return createChainableTypeChecker(emptyFunction.thatReturnsNull); + return createChainableTypeChecker(emptyFunctionThatReturnsNull); } function createArrayOfTypeChecker(typeChecker) { @@ -3987,8 +3345,8 @@ function createEnumTypeChecker(expectedValues) { if (!Array.isArray(expectedValues)) { - process.env.NODE_ENV !== 'production' ? warning(false, 'Invalid argument supplied to oneOf, expected an instance of array.') : void 0; - return emptyFunction.thatReturnsNull; + process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOf, expected an instance of array.') : void 0; + return emptyFunctionThatReturnsNull; } function validate(props, propName, componentName, location, propFullName) { @@ -4030,8 +3388,19 @@ function createUnionTypeChecker(arrayOfTypeCheckers) { if (!Array.isArray(arrayOfTypeCheckers)) { - process.env.NODE_ENV !== 'production' ? warning(false, 'Invalid argument supplied to oneOfType, expected an instance of array.') : void 0; - return emptyFunction.thatReturnsNull; + process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0; + return emptyFunctionThatReturnsNull; + } + + for (var i = 0; i < arrayOfTypeCheckers.length; i++) { + var checker = arrayOfTypeCheckers[i]; + if (typeof checker !== 'function') { + printWarning( + 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' + + 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.' + ); + return emptyFunctionThatReturnsNull; + } } function validate(props, propName, componentName, location, propFullName) { @@ -4079,6 +3448,36 @@ return createChainableTypeChecker(validate); } + function createStrictShapeTypeChecker(shapeTypes) { + function validate(props, propName, componentName, location, propFullName) { + var propValue = props[propName]; + var propType = getPropType(propValue); + if (propType !== 'object') { + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.')); + } + // We need to check all keys in case some are required but missing from + // props. + var allKeys = assign({}, props[propName], shapeTypes); + for (var key in allKeys) { + var checker = shapeTypes[key]; + if (!checker) { + return new PropTypeError( + 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' + + '\nBad object: ' + JSON.stringify(props[propName], null, ' ') + + '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ') + ); + } + var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); + if (error) { + return error; + } + } + return null; + } + + return createChainableTypeChecker(validate); + } + function isNode(propValue) { switch (typeof propValue) { case 'number': @@ -4166,6 +3565,9 @@ // This handles more types than `getPropType`. Only used for error messages. // See `createPrimitiveTypeChecker`. function getPreciseType(propValue) { + if (typeof propValue === 'undefined' || propValue === null) { + return '' + propValue; + } var propType = getPropType(propValue); if (propType === 'object') { if (propValue instanceof Date) { @@ -4177,6 +3579,23 @@ return propType; } + // Returns a string that is postfixed to a warning about an invalid type. + // For example, "undefined" or "of type array" + function getPostfixForTypeWarning(value) { + var type = getPreciseType(value); + switch (type) { + case 'array': + case 'object': + return 'an ' + type; + case 'boolean': + case 'date': + case 'regexp': + return 'a ' + type; + default: + return type; + } + } + // Returns class name of the object, if any. function getClassName(propValue) { if (!propValue.constructor || !propValue.constructor.name) { @@ -4193,308 +3612,1114 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 32 */ -/***/ function(module, exports) { - - "use strict"; +/***/ }), +/* 31 */ +/***/ (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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + + 'use strict'; + + var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; + + module.exports = ReactPropTypesSecret; + + +/***/ }), +/* 32 */ +/***/ (function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright (c) 2013-present, Facebook, Inc. * - * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. */ - function makeEmptyFunction(arg) { - return function () { - return arg; + 'use strict'; + + var printWarning = function() {}; + + if (process.env.NODE_ENV !== 'production') { + var ReactPropTypesSecret = __webpack_require__(31); + var loggedTypeFailures = {}; + + printWarning = function(text) { + var message = 'Warning: ' + text; + 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) {} }; } /** - * 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. + * Assert that the values match with the type specs. + * Error messages are memorized and will only be shown once. + * + * @param {object} typeSpecs Map of name to a ReactPropType + * @param {object} values Runtime values that need to be type-checked + * @param {string} location e.g. "prop", "context", "child context" + * @param {string} componentName Name of the component for error messages. + * @param {?Function} getStack Returns the component stack. + * @private */ - var emptyFunction = function emptyFunction() {}; + function checkPropTypes(typeSpecs, values, location, componentName, getStack) { + if (process.env.NODE_ENV !== 'production') { + for (var typeSpecName in typeSpecs) { + if (typeSpecs.hasOwnProperty(typeSpecName)) { + var error; + // Prop type validation may throw. In case they do, we don't want to + // fail the render phase where it didn't fail before. So we log it. + // After these have been cleaned up, we'll let them throw. + try { + // This is intentionally an invariant that gets caught. It's the same + // behavior as without this statement except with a better message. + if (typeof typeSpecs[typeSpecName] !== 'function') { + var err = Error( + (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + ); + err.name = 'Invariant Violation'; + throw err; + } + error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret); + } catch (ex) { + error = ex; + } + if (error && !(error instanceof Error)) { + printWarning( + (componentName || 'React class') + ': type specification of ' + + location + ' `' + typeSpecName + '` is invalid; the type checker ' + + 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' + + 'You may have forgotten to pass an argument to the type checker ' + + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + + 'shape all require an argument).' + ) - 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; - }; + } + if (error instanceof Error && !(error.message in loggedTypeFailures)) { + // Only monitor this failure once because there tends to be a lot of the + // same error. + loggedTypeFailures[error.message] = true; - module.exports = emptyFunction; + var stack = getStack ? getStack() : ''; + + printWarning( + 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '') + ); + } + } + } + } + } + + module.exports = checkPropTypes; + + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) + +/***/ }), +/* 33 */ +/***/ (function(module, exports) { + + /** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + */ + + 'use strict'; + + module.exports = '15.6.2'; + +/***/ }), +/* 34 */ +/***/ (function(module, exports, __webpack_require__) { + + /** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + */ + + 'use strict'; + + var _require = __webpack_require__(5), + Component = _require.Component; + + var _require2 = __webpack_require__(16), + isValidElement = _require2.isValidElement; + + var ReactNoopUpdateQueue = __webpack_require__(7); + var factory = __webpack_require__(35); + + module.exports = factory(Component, isValidElement, ReactNoopUpdateQueue); + +/***/ }), +/* 35 */ +/***/ (function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + */ + + 'use strict'; + + var _assign = __webpack_require__(4); + + var emptyObject = __webpack_require__(11); + var _invariant = __webpack_require__(12); + + if (process.env.NODE_ENV !== 'production') { + var warning = __webpack_require__(8); + } + + var MIXINS_KEY = 'mixins'; + + // Helper function to allow the creation of anonymous functions which do not + // have .name set to the name of the variable being assigned to. + function identity(fn) { + return fn; + } + + var ReactPropTypeLocationNames; + if (process.env.NODE_ENV !== 'production') { + ReactPropTypeLocationNames = { + prop: 'prop', + context: 'context', + childContext: 'child context' + }; + } else { + ReactPropTypeLocationNames = {}; + } + + function factory(ReactComponent, isValidElement, ReactNoopUpdateQueue) { + /** + * Policies that describe methods in `ReactClassInterface`. + */ + + var injectedMixins = []; + + /** + * Composite components are higher-level components that compose other composite + * or host components. + * + * To create a new type of `ReactClass`, pass a specification of + * your new class to `React.createClass`. The only requirement of your class + * specification is that you implement a `render` method. + * + * var MyComponent = React.createClass({ + * render: function() { + * return
Hello World
; + * } + * }); + * + * The class specification supports a specific protocol of methods that have + * special meaning (e.g. `render`). See `ReactClassInterface` for + * more the comprehensive protocol. Any other properties and methods in the + * class specification will be available on the prototype. + * + * @interface ReactClassInterface + * @internal + */ + var ReactClassInterface = { + /** + * An array of Mixin objects to include when defining your component. + * + * @type {array} + * @optional + */ + mixins: 'DEFINE_MANY', + + /** + * An object containing properties and methods that should be defined on + * the component's constructor instead of its prototype (static methods). + * + * @type {object} + * @optional + */ + statics: 'DEFINE_MANY', + + /** + * Definition of prop types for this component. + * + * @type {object} + * @optional + */ + propTypes: 'DEFINE_MANY', + + /** + * Definition of context types for this component. + * + * @type {object} + * @optional + */ + contextTypes: 'DEFINE_MANY', + + /** + * Definition of context types this component sets for its children. + * + * @type {object} + * @optional + */ + childContextTypes: 'DEFINE_MANY', + + // ==== Definition methods ==== + + /** + * Invoked when the component is mounted. Values in the mapping will be set on + * `this.props` if that prop is not specified (i.e. using an `in` check). + * + * This method is invoked before `getInitialState` and therefore cannot rely + * on `this.state` or use `this.setState`. + * + * @return {object} + * @optional + */ + getDefaultProps: 'DEFINE_MANY_MERGED', + + /** + * Invoked once before the component is mounted. The return value will be used + * as the initial value of `this.state`. + * + * getInitialState: function() { + * return { + * isOn: false, + * fooBaz: new BazFoo() + * } + * } + * + * @return {object} + * @optional + */ + getInitialState: 'DEFINE_MANY_MERGED', + + /** + * @return {object} + * @optional + */ + getChildContext: 'DEFINE_MANY_MERGED', + + /** + * Uses props from `this.props` and state from `this.state` to render the + * structure of the component. + * + * No guarantees are made about when or how often this method is invoked, so + * it must not have side effects. + * + * render: function() { + * var name = this.props.name; + * return
Hello, {name}!
; + * } + * + * @return {ReactComponent} + * @required + */ + render: 'DEFINE_ONCE', + + // ==== Delegate methods ==== + + /** + * Invoked when the component is initially created and about to be mounted. + * This may have side effects, but any external subscriptions or data created + * by this method must be cleaned up in `componentWillUnmount`. + * + * @optional + */ + componentWillMount: 'DEFINE_MANY', + + /** + * Invoked when the component has been mounted and has a DOM representation. + * However, there is no guarantee that the DOM node is in the document. + * + * Use this as an opportunity to operate on the DOM when the component has + * been mounted (initialized and rendered) for the first time. + * + * @param {DOMElement} rootNode DOM element representing the component. + * @optional + */ + componentDidMount: 'DEFINE_MANY', + + /** + * Invoked before the component receives new props. + * + * Use this as an opportunity to react to a prop transition by updating the + * state using `this.setState`. Current props are accessed via `this.props`. + * + * componentWillReceiveProps: function(nextProps, nextContext) { + * this.setState({ + * likesIncreasing: nextProps.likeCount > this.props.likeCount + * }); + * } + * + * NOTE: There is no equivalent `componentWillReceiveState`. An incoming prop + * transition may cause a state change, but the opposite is not true. If you + * need it, you are probably looking for `componentWillUpdate`. + * + * @param {object} nextProps + * @optional + */ + componentWillReceiveProps: 'DEFINE_MANY', + + /** + * Invoked while deciding if the component should be updated as a result of + * receiving new props, state and/or context. + * + * Use this as an opportunity to `return false` when you're certain that the + * transition to the new props/state/context will not require a component + * update. + * + * shouldComponentUpdate: function(nextProps, nextState, nextContext) { + * return !equal(nextProps, this.props) || + * !equal(nextState, this.state) || + * !equal(nextContext, this.context); + * } + * + * @param {object} nextProps + * @param {?object} nextState + * @param {?object} nextContext + * @return {boolean} True if the component should update. + * @optional + */ + shouldComponentUpdate: 'DEFINE_ONCE', + + /** + * Invoked when the component is about to update due to a transition from + * `this.props`, `this.state` and `this.context` to `nextProps`, `nextState` + * and `nextContext`. + * + * Use this as an opportunity to perform preparation before an update occurs. + * + * NOTE: You **cannot** use `this.setState()` in this method. + * + * @param {object} nextProps + * @param {?object} nextState + * @param {?object} nextContext + * @param {ReactReconcileTransaction} transaction + * @optional + */ + componentWillUpdate: 'DEFINE_MANY', + + /** + * Invoked when the component's DOM representation has been updated. + * + * Use this as an opportunity to operate on the DOM when the component has + * been updated. + * + * @param {object} prevProps + * @param {?object} prevState + * @param {?object} prevContext + * @param {DOMElement} rootNode DOM element representing the component. + * @optional + */ + componentDidUpdate: 'DEFINE_MANY', + + /** + * Invoked when the component is about to be removed from its parent and have + * its DOM representation destroyed. + * + * Use this as an opportunity to deallocate any external resources. + * + * NOTE: There is no `componentDidUnmount` since your component will have been + * destroyed by that point. + * + * @optional + */ + componentWillUnmount: 'DEFINE_MANY', + + /** + * Replacement for (deprecated) `componentWillMount`. + * + * @optional + */ + UNSAFE_componentWillMount: 'DEFINE_MANY', + + /** + * Replacement for (deprecated) `componentWillReceiveProps`. + * + * @optional + */ + UNSAFE_componentWillReceiveProps: 'DEFINE_MANY', + + /** + * Replacement for (deprecated) `componentWillUpdate`. + * + * @optional + */ + UNSAFE_componentWillUpdate: 'DEFINE_MANY', + + // ==== Advanced methods ==== + + /** + * Updates the component's currently mounted DOM representation. + * + * By default, this implements React's rendering and reconciliation algorithm. + * Sophisticated clients may wish to override this. + * + * @param {ReactReconcileTransaction} transaction + * @internal + * @overridable + */ + updateComponent: 'OVERRIDE_BASE' + }; + + /** + * Similar to ReactClassInterface but for static methods. + */ + var ReactClassStaticInterface = { + /** + * This method is invoked after a component is instantiated and when it + * receives new props. Return an object to update state in response to + * prop changes. Return null to indicate no change to state. + * + * If an object is returned, its keys will be merged into the existing state. + * + * @return {object || null} + * @optional + */ + getDerivedStateFromProps: 'DEFINE_MANY_MERGED' + }; + + /** + * Mapping from class specification keys to special processing functions. + * + * Although these are declared like instance properties in the specification + * when defining classes using `React.createClass`, they are actually static + * and are accessible on the constructor instead of the prototype. Despite + * being static, they must be defined outside of the "statics" key under + * which all other static methods are defined. + */ + var RESERVED_SPEC_KEYS = { + displayName: function(Constructor, displayName) { + Constructor.displayName = displayName; + }, + mixins: function(Constructor, mixins) { + if (mixins) { + for (var i = 0; i < mixins.length; i++) { + mixSpecIntoComponent(Constructor, mixins[i]); + } + } + }, + childContextTypes: function(Constructor, childContextTypes) { + if (process.env.NODE_ENV !== 'production') { + validateTypeDef(Constructor, childContextTypes, 'childContext'); + } + Constructor.childContextTypes = _assign( + {}, + Constructor.childContextTypes, + childContextTypes + ); + }, + contextTypes: function(Constructor, contextTypes) { + if (process.env.NODE_ENV !== 'production') { + validateTypeDef(Constructor, contextTypes, 'context'); + } + Constructor.contextTypes = _assign( + {}, + Constructor.contextTypes, + contextTypes + ); + }, + /** + * Special case getDefaultProps which should move into statics but requires + * automatic merging. + */ + getDefaultProps: function(Constructor, getDefaultProps) { + if (Constructor.getDefaultProps) { + Constructor.getDefaultProps = createMergedResultFunction( + Constructor.getDefaultProps, + getDefaultProps + ); + } else { + Constructor.getDefaultProps = getDefaultProps; + } + }, + propTypes: function(Constructor, propTypes) { + if (process.env.NODE_ENV !== 'production') { + validateTypeDef(Constructor, propTypes, 'prop'); + } + Constructor.propTypes = _assign({}, Constructor.propTypes, propTypes); + }, + statics: function(Constructor, statics) { + mixStaticSpecIntoComponent(Constructor, statics); + }, + autobind: function() {} + }; + + function validateTypeDef(Constructor, typeDef, location) { + for (var propName in typeDef) { + if (typeDef.hasOwnProperty(propName)) { + // use a warning instead of an _invariant so components + // don't show up in prod but only in __DEV__ + if (process.env.NODE_ENV !== 'production') { + warning( + typeof typeDef[propName] === 'function', + '%s: %s type `%s` is invalid; it must be a function, usually from ' + + 'React.PropTypes.', + Constructor.displayName || 'ReactClass', + ReactPropTypeLocationNames[location], + propName + ); + } + } + } + } -/***/ }, -/* 33 */ -/***/ function(module, exports, __webpack_require__) { + function validateMethodOverride(isAlreadyDefined, name) { + var specPolicy = ReactClassInterface.hasOwnProperty(name) + ? ReactClassInterface[name] + : null; - /* 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. - * - */ + // Disallow overriding of base class methods unless explicitly allowed. + if (ReactClassMixin.hasOwnProperty(name)) { + _invariant( + specPolicy === 'OVERRIDE_BASE', + 'ReactClassInterface: You are attempting to override ' + + '`%s` from your class specification. Ensure that your method names ' + + 'do not overlap with React methods.', + name + ); + } - 'use strict'; + // Disallow defining methods more than once unless explicitly allowed. + if (isAlreadyDefined) { + _invariant( + specPolicy === 'DEFINE_MANY' || specPolicy === 'DEFINE_MANY_MERGED', + 'ReactClassInterface: You are attempting to define ' + + '`%s` on your component more than once. This conflict may be due ' + + 'to a mixin.', + name + ); + } + } - /** - * 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. - */ + /** + * Mixin helper which handles policy validation and reserved + * specification keys when building React classes. + */ + function mixSpecIntoComponent(Constructor, spec) { + if (!spec) { + if (process.env.NODE_ENV !== 'production') { + var typeofSpec = typeof spec; + var isMixinValid = typeofSpec === 'object' && spec !== null; - var validateFormat = function validateFormat(format) {}; + if (process.env.NODE_ENV !== 'production') { + warning( + isMixinValid, + "%s: You're attempting to include a mixin that is either null " + + 'or not an object. Check the mixins included by the component, ' + + 'as well as any mixins they include themselves. ' + + 'Expected object but got %s.', + Constructor.displayName || 'ReactClass', + spec === null ? null : typeofSpec + ); + } + } - if (process.env.NODE_ENV !== 'production') { - validateFormat = function validateFormat(format) { - if (format === undefined) { - throw new Error('invariant requires an error message argument'); + return; } - }; - } - function invariant(condition, format, a, b, c, d, e, f) { - validateFormat(format); + _invariant( + typeof spec !== 'function', + "ReactClass: You're attempting to " + + 'use a component class or function as a mixin. Instead, just use a ' + + 'regular object.' + ); + _invariant( + !isValidElement(spec), + "ReactClass: You're attempting to " + + 'use a component as a mixin. Instead, just use a regular object.' + ); - 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'; + var proto = Constructor.prototype; + var autoBindPairs = proto.__reactAutoBindPairs; + + // By handling mixins before any other properties, we ensure the same + // chaining order is applied to methods with DEFINE_MANY policy, whether + // mixins are listed before or after these methods in the spec. + if (spec.hasOwnProperty(MIXINS_KEY)) { + RESERVED_SPEC_KEYS.mixins(Constructor, spec.mixins); } - error.framesToPop = 1; // we don't care about invariant's own frame - throw error; - } - } + for (var name in spec) { + if (!spec.hasOwnProperty(name)) { + continue; + } - module.exports = invariant; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) + if (name === MIXINS_KEY) { + // We have already handled mixins in a special case above. + continue; + } -/***/ }, -/* 34 */ -/***/ function(module, exports, __webpack_require__) { + var property = spec[name]; + var isAlreadyDefined = proto.hasOwnProperty(name); + validateMethodOverride(isAlreadyDefined, name); - /* 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. - * - */ + if (RESERVED_SPEC_KEYS.hasOwnProperty(name)) { + RESERVED_SPEC_KEYS[name](Constructor, property); + } else { + // Setup methods on prototype: + // The following member methods should not be automatically bound: + // 1. Expected ReactClass methods (in the "interface"). + // 2. Overridden methods (that were mixed in). + var isReactClassMethod = ReactClassInterface.hasOwnProperty(name); + var isFunction = typeof property === 'function'; + var shouldAutoBind = + isFunction && + !isReactClassMethod && + !isAlreadyDefined && + spec.autobind !== false; + + if (shouldAutoBind) { + autoBindPairs.push(name, property); + proto[name] = property; + } else { + if (isAlreadyDefined) { + var specPolicy = ReactClassInterface[name]; + + // These cases should already be caught by validateMethodOverride. + _invariant( + isReactClassMethod && + (specPolicy === 'DEFINE_MANY_MERGED' || + specPolicy === 'DEFINE_MANY'), + 'ReactClass: Unexpected spec policy %s for key %s ' + + 'when mixing in component specs.', + specPolicy, + name + ); - 'use strict'; + // For methods which are defined more than once, call the existing + // methods before calling the new property, merging if appropriate. + if (specPolicy === 'DEFINE_MANY_MERGED') { + proto[name] = createMergedResultFunction(proto[name], property); + } else if (specPolicy === 'DEFINE_MANY') { + proto[name] = createChainedFunction(proto[name], property); + } + } else { + proto[name] = property; + if (process.env.NODE_ENV !== 'production') { + // Add verbose displayName to the function, which helps when looking + // at profiling tools. + if (typeof property === 'function' && spec.displayName) { + proto[name].displayName = spec.displayName + '_' + name; + } + } + } + } + } + } + } - var emptyFunction = __webpack_require__(32); + function mixStaticSpecIntoComponent(Constructor, statics) { + if (!statics) { + return; + } - /** - * 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. - */ + for (var name in statics) { + var property = statics[name]; + if (!statics.hasOwnProperty(name)) { + continue; + } - var warning = emptyFunction; + var isReserved = name in RESERVED_SPEC_KEYS; + _invariant( + !isReserved, + 'ReactClass: You are attempting to define a reserved ' + + 'property, `%s`, that shouldn\'t be on the "statics" key. Define it ' + + 'as an instance property instead; it will still be accessible on the ' + + 'constructor.', + name + ); - if (process.env.NODE_ENV !== 'production') { - (function () { - var printWarning = function printWarning(format) { - for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - args[_key - 1] = arguments[_key]; + var isAlreadyDefined = name in Constructor; + if (isAlreadyDefined) { + var specPolicy = ReactClassStaticInterface.hasOwnProperty(name) + ? ReactClassStaticInterface[name] + : null; + + _invariant( + specPolicy === 'DEFINE_MANY_MERGED', + 'ReactClass: You are attempting to define ' + + '`%s` on your component more than once. This conflict may be ' + + 'due to a mixin.', + name + ); + + Constructor[name] = createMergedResultFunction(Constructor[name], property); + + return; } - var argIndex = 0; - var message = 'Warning: ' + format.replace(/%s/g, function () { - return args[argIndex++]; - }); - if (typeof console !== 'undefined') { - console.error(message); + Constructor[name] = property; + } + } + + /** + * Merge two objects, but throw if both contain the same key. + * + * @param {object} one The first object, which is mutated. + * @param {object} two The second object + * @return {object} one after it has been mutated to contain everything in two. + */ + function mergeIntoWithNoDuplicateKeys(one, two) { + _invariant( + one && two && typeof one === 'object' && typeof two === 'object', + 'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.' + ); + + for (var key in two) { + if (two.hasOwnProperty(key)) { + _invariant( + one[key] === undefined, + 'mergeIntoWithNoDuplicateKeys(): ' + + 'Tried to merge two objects with the same key: `%s`. This conflict ' + + 'may be due to a mixin; in particular, this may be caused by two ' + + 'getInitialState() or getDefaultProps() methods returning objects ' + + 'with clashing keys.', + key + ); + one[key] = two[key]; } - 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) {} + } + return one; + } + + /** + * Creates a function that invokes two functions and merges their return values. + * + * @param {function} one Function to invoke first. + * @param {function} two Function to invoke second. + * @return {function} Function that invokes the two argument functions. + * @private + */ + function createMergedResultFunction(one, two) { + return function mergedResult() { + var a = one.apply(this, arguments); + var b = two.apply(this, arguments); + if (a == null) { + return b; + } else if (b == null) { + return a; + } + var c = {}; + mergeIntoWithNoDuplicateKeys(c, a); + mergeIntoWithNoDuplicateKeys(c, b); + return c; }; + } - warning = function warning(condition, format) { - if (format === undefined) { - throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument'); - } + /** + * Creates a function that invokes two functions and ignores their return vales. + * + * @param {function} one Function to invoke first. + * @param {function} two Function to invoke second. + * @return {function} Function that invokes the two argument functions. + * @private + */ + function createChainedFunction(one, two) { + return function chainedFunction() { + one.apply(this, arguments); + two.apply(this, arguments); + }; + } - if (format.indexOf('Failed Composite propType: ') === 0) { - return; // Ignore CompositeComponent proptype check. - } + /** + * Binds a method to the component. + * + * @param {object} component Component whose method is going to be bound. + * @param {function} method Method to be bound. + * @return {function} The bound method. + */ + function bindAutoBindMethod(component, method) { + var boundMethod = method.bind(component); + if (process.env.NODE_ENV !== 'production') { + boundMethod.__reactBoundContext = component; + boundMethod.__reactBoundMethod = method; + boundMethod.__reactBoundArguments = null; + var componentName = component.constructor.displayName; + var _bind = boundMethod.bind; + boundMethod.bind = function(newThis) { + for ( + var _len = arguments.length, + args = Array(_len > 1 ? _len - 1 : 0), + _key = 1; + _key < _len; + _key++ + ) { + args[_key - 1] = arguments[_key]; + } - if (!condition) { - for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) { - args[_key2 - 2] = arguments[_key2]; + // User is trying to bind() an autobound method; we effectively will + // ignore the value of "this" that the user is trying to use, so + // let's warn. + if (newThis !== component && newThis !== null) { + if (process.env.NODE_ENV !== 'production') { + warning( + false, + 'bind(): React component methods may only be bound to the ' + + 'component instance. See %s', + componentName + ); + } + } else if (!args.length) { + if (process.env.NODE_ENV !== 'production') { + warning( + false, + 'bind(): You are binding a component method to the component. ' + + 'React does this for you automatically in a high-performance ' + + 'way, so you can safely remove this call. See %s', + componentName + ); + } + return boundMethod; } + var reboundMethod = _bind.apply(boundMethod, arguments); + reboundMethod.__reactBoundContext = component; + reboundMethod.__reactBoundMethod = method; + reboundMethod.__reactBoundArguments = args; + return reboundMethod; + }; + } + return boundMethod; + } - printWarning.apply(undefined, [format].concat(args)); - } - }; - })(); - } + /** + * Binds all auto-bound methods in a component. + * + * @param {object} component Component whose method is going to be bound. + */ + function bindAutoBindMethods(component) { + var pairs = component.__reactAutoBindPairs; + for (var i = 0; i < pairs.length; i += 2) { + var autoBindKey = pairs[i]; + var method = pairs[i + 1]; + component[autoBindKey] = bindAutoBindMethod(component, method); + } + } - module.exports = warning; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) + var IsMountedPreMixin = { + componentDidMount: function() { + this.__isMounted = true; + } + }; -/***/ }, -/* 35 */ -/***/ function(module, exports) { + var IsMountedPostMixin = { + componentWillUnmount: function() { + this.__isMounted = false; + } + }; - /** - * 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. - */ + /** + * Add more to the ReactClass base class. These are all legacy features and + * therefore not already part of the modern ReactComponent. + */ + var ReactClassMixin = { + /** + * TODO: This will be deprecated because state should always keep a consistent + * type signature and the only use case for this, is to avoid that. + */ + replaceState: function(newState, callback) { + this.updater.enqueueReplaceState(this, newState, callback); + }, - 'use strict'; + /** + * Checks whether or not this composite component is mounted. + * @return {boolean} True if mounted, false otherwise. + * @protected + * @final + */ + isMounted: function() { + if (process.env.NODE_ENV !== 'production') { + warning( + this.__didWarnIsMounted, + '%s: isMounted is deprecated. Instead, make sure to clean up ' + + 'subscriptions and pending requests in componentWillUnmount to ' + + 'prevent memory leaks.', + (this.constructor && this.constructor.displayName) || + this.name || + 'Component' + ); + this.__didWarnIsMounted = true; + } + return !!this.__isMounted; + } + }; - var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; + var ReactClassComponent = function() {}; + _assign( + ReactClassComponent.prototype, + ReactComponent.prototype, + ReactClassMixin + ); - module.exports = ReactPropTypesSecret; + /** + * Creates a composite component class given a class specification. + * See https://facebook.github.io/react/docs/top-level-api.html#react.createclass + * + * @param {object} spec Class specification (which must define `render`). + * @return {function} Component constructor function. + * @public + */ + function createClass(spec) { + // To keep our warnings more understandable, we'll use a little hack here to + // ensure that Constructor.name !== 'Constructor'. This makes sure we don't + // unnecessarily identify a class without displayName as 'Constructor'. + var Constructor = identity(function(props, context, updater) { + // This constructor gets overridden by mocks. The argument is used + // by mocks to assert on what gets mounted. + if (process.env.NODE_ENV !== 'production') { + warning( + this instanceof Constructor, + 'Something is calling a React component directly. Use a factory or ' + + 'JSX instead. See: https://fb.me/react-legacyfactory' + ); + } -/***/ }, -/* 36 */ -/***/ function(module, exports, __webpack_require__) { + // Wire up auto-binding + if (this.__reactAutoBindPairs.length) { + bindAutoBindMethods(this); + } - /* 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. - */ + this.props = props; + this.context = context; + this.refs = emptyObject; + this.updater = updater || ReactNoopUpdateQueue; - 'use strict'; + this.state = null; - if (process.env.NODE_ENV !== 'production') { - var invariant = __webpack_require__(33); - var warning = __webpack_require__(34); - var ReactPropTypesSecret = __webpack_require__(35); - var loggedTypeFailures = {}; - } + // ReactClasses doesn't have constructors. Instead, they use the + // getInitialState and componentWillMount methods for initialization. - /** - * Assert that the values match with the type specs. - * Error messages are memorized and will only be shown once. - * - * @param {object} typeSpecs Map of name to a ReactPropType - * @param {object} values Runtime values that need to be type-checked - * @param {string} location e.g. "prop", "context", "child context" - * @param {string} componentName Name of the component for error messages. - * @param {?Function} getStack Returns the component stack. - * @private - */ - function checkPropTypes(typeSpecs, values, location, componentName, getStack) { - if (process.env.NODE_ENV !== 'production') { - for (var typeSpecName in typeSpecs) { - if (typeSpecs.hasOwnProperty(typeSpecName)) { - var error; - // Prop type validation may throw. In case they do, we don't want to - // fail the render phase where it didn't fail before. So we log it. - // After these have been cleaned up, we'll let them throw. - try { - // This is intentionally an invariant that gets caught. It's the same - // behavior as without this statement except with a better message. - invariant(typeof typeSpecs[typeSpecName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', componentName || 'React class', location, typeSpecName); - error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret); - } catch (ex) { - error = ex; + var initialState = this.getInitialState ? this.getInitialState() : null; + if (process.env.NODE_ENV !== 'production') { + // We allow auto-mocks to proceed as if they're returning null. + if ( + initialState === undefined && + this.getInitialState._isMockFunction + ) { + // This is probably bad practice. Consider warning here and + // deprecating this convenience. + initialState = null; } - warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error); - if (error instanceof Error && !(error.message in loggedTypeFailures)) { - // Only monitor this failure once because there tends to be a lot of the - // same error. - loggedTypeFailures[error.message] = true; + } + _invariant( + typeof initialState === 'object' && !Array.isArray(initialState), + '%s.getInitialState(): must return an object or null', + Constructor.displayName || 'ReactCompositeComponent' + ); - var stack = getStack ? getStack() : ''; + this.state = initialState; + }); + Constructor.prototype = new ReactClassComponent(); + Constructor.prototype.constructor = Constructor; + Constructor.prototype.__reactAutoBindPairs = []; - warning(false, 'Failed %s type: %s%s', location, error.message, stack != null ? stack : ''); - } + injectedMixins.forEach(mixSpecIntoComponent.bind(null, Constructor)); + + mixSpecIntoComponent(Constructor, IsMountedPreMixin); + mixSpecIntoComponent(Constructor, spec); + mixSpecIntoComponent(Constructor, IsMountedPostMixin); + + // Initialize the defaultProps property after all mixins have been merged. + if (Constructor.getDefaultProps) { + Constructor.defaultProps = Constructor.getDefaultProps(); + } + + if (process.env.NODE_ENV !== 'production') { + // This is a tag to indicate that the use of these method names is ok, + // since it's used with createClass. If it's not, then it's likely a + // mistake so we'll warn you to use the static property, property + // initializer or constructor respectively. + if (Constructor.getDefaultProps) { + Constructor.getDefaultProps.isReactClassApproved = {}; + } + if (Constructor.prototype.getInitialState) { + Constructor.prototype.getInitialState.isReactClassApproved = {}; } } - } - } - module.exports = checkPropTypes; + _invariant( + Constructor.prototype.render, + 'createClass(...): Class specification must implement a `render` method.' + ); - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) + if (process.env.NODE_ENV !== 'production') { + warning( + !Constructor.prototype.componentShouldUpdate, + '%s has a method called ' + + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + + 'The name is phrased as a question because the function is ' + + 'expected to return a value.', + spec.displayName || 'A component' + ); + warning( + !Constructor.prototype.componentWillRecieveProps, + '%s has a method called ' + + 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?', + spec.displayName || 'A component' + ); + warning( + !Constructor.prototype.UNSAFE_componentWillRecieveProps, + '%s has a method called UNSAFE_componentWillRecieveProps(). ' + + 'Did you mean UNSAFE_componentWillReceiveProps()?', + spec.displayName || 'A component' + ); + } -/***/ }, -/* 37 */ -/***/ function(module, exports) { + // Reduce time spent doing lookups by setting these on the prototype. + for (var methodName in ReactClassInterface) { + if (!Constructor.prototype[methodName]) { + Constructor.prototype[methodName] = null; + } + } - /** - * 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. - * - */ + return Constructor; + } - 'use strict'; + return createClass; + } - module.exports = '15.5.4'; + module.exports = factory; -/***/ }, -/* 38 */ -/***/ function(module, exports, __webpack_require__) { + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) + +/***/ }), +/* 36 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var _prodInvariant = __webpack_require__(7); + var _prodInvariant = __webpack_require__(6); - var ReactElement = __webpack_require__(9); + var ReactElement = __webpack_require__(16); - var invariant = __webpack_require__(8); + var invariant = __webpack_require__(12); /** * Returns the first child in a collection of children and verifies that there @@ -4518,26 +4743,24 @@ module.exports = onlyChild; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 39 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 37 */ +/***/ (function(module, exports, __webpack_require__) { 'use strict'; - module.exports = __webpack_require__(40); + module.exports = __webpack_require__(38); -/***/ }, -/* 40 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 38 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ @@ -4545,17 +4768,17 @@ 'use strict'; - var ReactDOMComponentTree = __webpack_require__(41); - var ReactDefaultInjection = __webpack_require__(46); - var ReactMount = __webpack_require__(177); - var ReactReconciler = __webpack_require__(69); - var ReactUpdates = __webpack_require__(66); - var ReactVersion = __webpack_require__(182); + var ReactDOMComponentTree = __webpack_require__(39); + var ReactDefaultInjection = __webpack_require__(43); + var ReactMount = __webpack_require__(172); + var ReactReconciler = __webpack_require__(64); + var ReactUpdates = __webpack_require__(61); + var ReactVersion = __webpack_require__(177); - var findDOMNode = __webpack_require__(183); - var getHostComponentFromComposite = __webpack_require__(184); - var renderSubtreeIntoContainer = __webpack_require__(185); - var warning = __webpack_require__(54); + var findDOMNode = __webpack_require__(178); + var getHostComponentFromComposite = __webpack_require__(179); + var renderSubtreeIntoContainer = __webpack_require__(180); + var warning = __webpack_require__(8); ReactDefaultInjection.inject(); @@ -4568,6 +4791,7 @@ /* eslint-disable camelcase */ unstable_batchedUpdates: ReactUpdates.batchedUpdates, unstable_renderSubtreeIntoContainer: renderSubtreeIntoContainer + /* eslint-enable camelcase */ }; // Inject the runtime into a devtools global hook regardless of browser. @@ -4594,9 +4818,8 @@ } if (process.env.NODE_ENV !== 'production') { - var ExecutionEnvironment = __webpack_require__(58); + var ExecutionEnvironment = __webpack_require__(53); 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. @@ -4608,7 +4831,7 @@ } 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; + 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 @@ -4630,10 +4853,10 @@ } if (process.env.NODE_ENV !== 'production') { - var ReactInstrumentation = __webpack_require__(72); - var ReactDOMUnknownPropertyHook = __webpack_require__(186); - var ReactDOMNullInputValuePropHook = __webpack_require__(187); - var ReactDOMInvalidARIAHook = __webpack_require__(188); + var ReactInstrumentation = __webpack_require__(67); + var ReactDOMUnknownPropertyHook = __webpack_require__(181); + var ReactDOMNullInputValuePropHook = __webpack_require__(182); + var ReactDOMInvalidARIAHook = __webpack_require__(183); ReactInstrumentation.debugTool.addHook(ReactDOMUnknownPropertyHook); ReactInstrumentation.debugTool.addHook(ReactDOMNullInputValuePropHook); @@ -4643,28 +4866,26 @@ module.exports = ReactDOM; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 41 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 39 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var _prodInvariant = __webpack_require__(42); + var _prodInvariant = __webpack_require__(40); - var DOMProperty = __webpack_require__(43); - var ReactDOMComponentFlags = __webpack_require__(45); + var DOMProperty = __webpack_require__(41); + var ReactDOMComponentFlags = __webpack_require__(42); - var invariant = __webpack_require__(44); + var invariant = __webpack_require__(12); var ATTR_NAME = DOMProperty.ID_ATTRIBUTE_NAME; var Flags = ReactDOMComponentFlags; @@ -4843,17 +5064,15 @@ module.exports = ReactDOMComponentTree; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 42 */ -/***/ function(module, exports) { +/***/ }), +/* 40 */ +/***/ (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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * */ @@ -4886,25 +5105,23 @@ module.exports = reactProdInvariant; -/***/ }, -/* 43 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 41 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var _prodInvariant = __webpack_require__(42); + var _prodInvariant = __webpack_require__(40); - var invariant = __webpack_require__(44); + var invariant = __webpack_require__(12); function checkMask(value, bitmask) { return (value & bitmask) === bitmask; @@ -5028,7 +5245,6 @@ * @see http://jsperf.com/key-missing */ var DOMProperty = { - ID_ATTRIBUTE_NAME: 'data-reactid', ROOT_ATTRIBUTE_NAME: 'data-reactroot', @@ -5101,78 +5317,15 @@ module.exports = DOMProperty; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 44 */ -/***/ 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. - */ - - var validateFormat = function validateFormat(format) {}; - - if (process.env.NODE_ENV !== 'production') { - validateFormat = function validateFormat(format) { - if (format === undefined) { - throw new Error('invariant requires an error message argument'); - } - }; - } - - function invariant(condition, format, a, b, c, d, e, f) { - validateFormat(format); - - 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__(3))) - -/***/ }, -/* 45 */ -/***/ function(module, exports) { +/***/ }), +/* 42 */ +/***/ (function(module, exports) { /** - * Copyright 2015-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2015-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ @@ -5184,41 +5337,39 @@ module.exports = ReactDOMComponentFlags; -/***/ }, -/* 46 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 43 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var ARIADOMPropertyConfig = __webpack_require__(47); - var BeforeInputEventPlugin = __webpack_require__(48); - var ChangeEventPlugin = __webpack_require__(65); - var DefaultEventPluginOrder = __webpack_require__(82); - var EnterLeaveEventPlugin = __webpack_require__(83); - var HTMLDOMPropertyConfig = __webpack_require__(88); - var ReactComponentBrowserEnvironment = __webpack_require__(89); - var ReactDOMComponent = __webpack_require__(102); - var ReactDOMComponentTree = __webpack_require__(41); - var ReactDOMEmptyComponent = __webpack_require__(148); - var ReactDOMTreeTraversal = __webpack_require__(149); - var ReactDOMTextComponent = __webpack_require__(150); - var ReactDefaultBatchingStrategy = __webpack_require__(151); - var ReactEventListener = __webpack_require__(152); - var ReactInjection = __webpack_require__(155); - var ReactReconcileTransaction = __webpack_require__(156); - var SVGDOMPropertyConfig = __webpack_require__(164); - var SelectEventPlugin = __webpack_require__(165); - var SimpleEventPlugin = __webpack_require__(166); + var ARIADOMPropertyConfig = __webpack_require__(44); + var BeforeInputEventPlugin = __webpack_require__(45); + var ChangeEventPlugin = __webpack_require__(60); + var DefaultEventPluginOrder = __webpack_require__(78); + var EnterLeaveEventPlugin = __webpack_require__(79); + var HTMLDOMPropertyConfig = __webpack_require__(84); + var ReactComponentBrowserEnvironment = __webpack_require__(85); + var ReactDOMComponent = __webpack_require__(98); + var ReactDOMComponentTree = __webpack_require__(39); + var ReactDOMEmptyComponent = __webpack_require__(143); + var ReactDOMTreeTraversal = __webpack_require__(144); + var ReactDOMTextComponent = __webpack_require__(145); + var ReactDefaultBatchingStrategy = __webpack_require__(146); + var ReactEventListener = __webpack_require__(147); + var ReactInjection = __webpack_require__(150); + var ReactReconcileTransaction = __webpack_require__(151); + var SVGDOMPropertyConfig = __webpack_require__(159); + var SelectEventPlugin = __webpack_require__(160); + var SimpleEventPlugin = __webpack_require__(161); var alreadyInjected = false; @@ -5274,17 +5425,15 @@ inject: inject }; -/***/ }, -/* 47 */ -/***/ function(module, exports) { +/***/ }), +/* 44 */ +/***/ (function(module, exports) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ @@ -5352,27 +5501,25 @@ module.exports = ARIADOMPropertyConfig; -/***/ }, -/* 48 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 45 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2013-present Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var EventPropagators = __webpack_require__(49); - var ExecutionEnvironment = __webpack_require__(58); - var FallbackCompositionState = __webpack_require__(59); - var SyntheticCompositionEvent = __webpack_require__(62); - var SyntheticInputEvent = __webpack_require__(64); + var EventPropagators = __webpack_require__(46); + var ExecutionEnvironment = __webpack_require__(53); + var FallbackCompositionState = __webpack_require__(54); + var SyntheticCompositionEvent = __webpack_require__(57); + var SyntheticInputEvent = __webpack_require__(59); var END_KEYCODES = [9, 13, 27, 32]; // Tab, Return, Esc, Space var START_KEYCODE = 229; @@ -5731,7 +5878,6 @@ * `composition` event types. */ var BeforeInputEventPlugin = { - eventTypes: eventTypes, extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) { @@ -5741,28 +5887,26 @@ module.exports = BeforeInputEventPlugin; -/***/ }, -/* 49 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 46 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var EventPluginHub = __webpack_require__(50); - var EventPluginUtils = __webpack_require__(52); + var EventPluginHub = __webpack_require__(47); + var EventPluginUtils = __webpack_require__(49); - var accumulateInto = __webpack_require__(56); - var forEachAccumulated = __webpack_require__(57); - var warning = __webpack_require__(54); + var accumulateInto = __webpack_require__(51); + var forEachAccumulated = __webpack_require__(52); + var warning = __webpack_require__(8); var getListener = EventPluginHub.getListener; @@ -5880,31 +6024,29 @@ module.exports = EventPropagators; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 50 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 47 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var _prodInvariant = __webpack_require__(42); + var _prodInvariant = __webpack_require__(40); - var EventPluginRegistry = __webpack_require__(51); - var EventPluginUtils = __webpack_require__(52); - var ReactErrorUtils = __webpack_require__(53); + var EventPluginRegistry = __webpack_require__(48); + var EventPluginUtils = __webpack_require__(49); + var ReactErrorUtils = __webpack_require__(50); - var accumulateInto = __webpack_require__(56); - var forEachAccumulated = __webpack_require__(57); - var invariant = __webpack_require__(44); + var accumulateInto = __webpack_require__(51); + var forEachAccumulated = __webpack_require__(52); + var invariant = __webpack_require__(12); /** * Internal store for event listeners @@ -5991,12 +6133,10 @@ * @public */ var EventPluginHub = { - /** * Methods for injecting dependencies. */ injection: { - /** * @param {array} InjectedEventPluginOrder * @public @@ -6007,7 +6147,6 @@ * @param {object} injectedNamesToPlugins Map from names to plugin modules. */ injectEventPluginsByName: EventPluginRegistry.injectEventPluginsByName - }, /** @@ -6157,32 +6296,29 @@ __getListenerBank: function () { return listenerBank; } - }; module.exports = EventPluginHub; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 51 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 48 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * */ 'use strict'; - var _prodInvariant = __webpack_require__(42); + var _prodInvariant = __webpack_require__(40); - var invariant = __webpack_require__(44); + var invariant = __webpack_require__(12); /** * Injectable ordering of event plugins. @@ -6277,7 +6413,6 @@ * @see {EventPluginHub} */ var EventPluginRegistry = { - /** * Ordered list of injected plugins. */ @@ -6417,34 +6552,31 @@ } } } - }; module.exports = EventPluginRegistry; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 52 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 49 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var _prodInvariant = __webpack_require__(42); + var _prodInvariant = __webpack_require__(40); - var ReactErrorUtils = __webpack_require__(53); + var ReactErrorUtils = __webpack_require__(50); - var invariant = __webpack_require__(44); - var warning = __webpack_require__(54); + var invariant = __webpack_require__(12); + var warning = __webpack_require__(8); /** * Injected dependencies: @@ -6654,17 +6786,15 @@ module.exports = EventPluginUtils; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 53 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 50 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * */ @@ -6721,7 +6851,9 @@ 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) { - var boundFunc = func.bind(null, a); + var boundFunc = function () { + func(a); + }; var evtType = 'react-' + name; fakeNode.addEventListener(evtType, boundFunc, false); var evt = document.createEvent('Event'); @@ -6735,141 +6867,24 @@ module.exports = ReactErrorUtils; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 54 */ -/***/ 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__(55); - - /** - * 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') { - (function () { - var printWarning = function printWarning(format) { - for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - args[_key - 1] = arguments[_key]; - } - - 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) {} - }; - - warning = function warning(condition, format) { - 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) { - for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) { - args[_key2 - 2] = arguments[_key2]; - } - - printWarning.apply(undefined, [format].concat(args)); - } - }; - })(); - } - - module.exports = warning; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) - -/***/ }, -/* 55 */ -/***/ 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; - -/***/ }, -/* 56 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 51 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2014-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2014-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * */ 'use strict'; - var _prodInvariant = __webpack_require__(42); + var _prodInvariant = __webpack_require__(40); - var invariant = __webpack_require__(44); + var invariant = __webpack_require__(12); /** * Accumulates items that must not be null or undefined into the first one. This @@ -6913,17 +6928,15 @@ module.exports = accumulateInto; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 57 */ -/***/ function(module, exports) { +/***/ }), +/* 52 */ +/***/ (function(module, exports) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * */ @@ -6948,17 +6961,15 @@ module.exports = forEachAccumulated; -/***/ }, -/* 58 */ -/***/ function(module, exports) { +/***/ }), +/* 53 */ +/***/ (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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ @@ -6988,17 +6999,15 @@ module.exports = ExecutionEnvironment; -/***/ }, -/* 59 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 54 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ @@ -7006,9 +7015,9 @@ var _assign = __webpack_require__(4); - var PooledClass = __webpack_require__(60); + var PooledClass = __webpack_require__(55); - var getTextContentAccessor = __webpack_require__(61); + var getTextContentAccessor = __webpack_require__(56); /** * This helper class stores information about text content of a target node, @@ -7087,26 +7096,24 @@ module.exports = FallbackCompositionState; -/***/ }, -/* 60 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 55 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * */ 'use strict'; - var _prodInvariant = __webpack_require__(42); + var _prodInvariant = __webpack_require__(40); - var invariant = __webpack_require__(44); + var invariant = __webpack_require__(12); /** * Static poolers. Several custom versions for each potential number of @@ -7204,23 +7211,21 @@ module.exports = PooledClass; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 61 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 56 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var ExecutionEnvironment = __webpack_require__(58); + var ExecutionEnvironment = __webpack_require__(53); var contentKey = null; @@ -7241,23 +7246,21 @@ module.exports = getTextContentAccessor; -/***/ }, -/* 62 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 57 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var SyntheticEvent = __webpack_require__(63); + var SyntheticEvent = __webpack_require__(58); /** * @interface Event @@ -7281,17 +7284,15 @@ module.exports = SyntheticCompositionEvent; -/***/ }, -/* 63 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 58 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ @@ -7299,10 +7300,10 @@ var _assign = __webpack_require__(4); - var PooledClass = __webpack_require__(60); + var PooledClass = __webpack_require__(55); - var emptyFunction = __webpack_require__(55); - var warning = __webpack_require__(54); + var emptyFunction = __webpack_require__(9); + var warning = __webpack_require__(8); var didWarnForAddedNewProperty = false; var isProxySupported = typeof Proxy === 'function'; @@ -7389,7 +7390,6 @@ } _assign(SyntheticEvent.prototype, { - preventDefault: function () { this.defaultPrevented = true; var event = this.nativeEvent; @@ -7399,8 +7399,8 @@ if (event.preventDefault) { event.preventDefault(); + // eslint-disable-next-line valid-typeof } else if (typeof event.returnValue !== 'unknown') { - // eslint-disable-line valid-typeof event.returnValue = false; } this.isDefaultPrevented = emptyFunction.thatReturnsTrue; @@ -7414,8 +7414,8 @@ if (event.stopPropagation) { event.stopPropagation(); + // eslint-disable-next-line valid-typeof } else if (typeof event.cancelBubble !== 'unknown') { - // eslint-disable-line valid-typeof // The ChangeEventPlugin registers a "propertychange" event for // IE. This event does not support bubbling or cancelling, and // any references to cancelBubble throw "Member not found". A @@ -7464,34 +7464,10 @@ 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. * @@ -7515,6 +7491,34 @@ PooledClass.addPoolingTo(Class, PooledClass.fourArgumentPooler); }; + /** Proxying after everything set on SyntheticEvent + * to resolve Proxy issue on some WebKit browsers + * in which some Event properties are set to undefined (GH#10010) + */ + 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 */ + } + } + PooledClass.addPoolingTo(SyntheticEvent, PooledClass.fourArgumentPooler); module.exports = SyntheticEvent; @@ -7549,28 +7553,26 @@ 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; + 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__(3))) -/***/ }, -/* 64 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 59 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var SyntheticEvent = __webpack_require__(63); + var SyntheticEvent = __webpack_require__(58); /** * @interface Event @@ -7595,32 +7597,31 @@ module.exports = SyntheticInputEvent; -/***/ }, -/* 65 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 60 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var EventPluginHub = __webpack_require__(50); - var EventPropagators = __webpack_require__(49); - var ExecutionEnvironment = __webpack_require__(58); - var ReactDOMComponentTree = __webpack_require__(41); - var ReactUpdates = __webpack_require__(66); - var SyntheticEvent = __webpack_require__(63); + var EventPluginHub = __webpack_require__(47); + var EventPropagators = __webpack_require__(46); + var ExecutionEnvironment = __webpack_require__(53); + var ReactDOMComponentTree = __webpack_require__(39); + var ReactUpdates = __webpack_require__(61); + var SyntheticEvent = __webpack_require__(58); - var getEventTarget = __webpack_require__(79); - var isEventSupported = __webpack_require__(80); - var isTextInputElement = __webpack_require__(81); + var inputValueTracking = __webpack_require__(74); + var getEventTarget = __webpack_require__(75); + var isEventSupported = __webpack_require__(76); + var isTextInputElement = __webpack_require__(77); var eventTypes = { change: { @@ -7632,13 +7633,17 @@ } }; + function createAndAccumulateChangeEvent(inst, nativeEvent, target) { + var event = SyntheticEvent.getPooled(eventTypes.change, inst, nativeEvent, target); + event.type = 'change'; + EventPropagators.accumulateTwoPhaseDispatches(event); + return event; + } /** * For IE shims */ var activeElement = null; var activeElementInst = null; - var activeElementValue = null; - var activeElementValueProp = null; /** * SECTION: handle `change` event @@ -7655,8 +7660,7 @@ } function manualDispatchChangeEvent(nativeEvent) { - var event = SyntheticEvent.getPooled(eventTypes.change, activeElementInst, nativeEvent, getEventTarget(nativeEvent)); - EventPropagators.accumulateTwoPhaseDispatches(event); + var event = createAndAccumulateChangeEvent(activeElementInst, nativeEvent, getEventTarget(nativeEvent)); // If change and propertychange bubbled, we'd just bind to it like all the // other events and have it go through ReactBrowserEventEmitter. Since it @@ -7692,11 +7696,21 @@ activeElementInst = null; } + function getInstIfValueChanged(targetInst, nativeEvent) { + var updated = inputValueTracking.updateValueIfChanged(targetInst); + var simulated = nativeEvent.simulated === true && ChangeEventPlugin._allowSimulatedPassThrough; + + if (updated || simulated) { + return targetInst; + } + } + function getTargetInstForChangeEvent(topLevelType, targetInst) { if (topLevelType === 'topChange') { return targetInst; } } + function handleEventsForChangeEventIE8(topLevelType, target, targetInst) { if (topLevelType === 'topFocus') { // stopWatching() should be a noop here but we call it just in case we @@ -7715,105 +7729,54 @@ 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') && (!document.documentMode || 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); - } - }; + isInputEventSupported = isEventSupported('input') && (!document.documentMode || document.documentMode > 9); + } /** - * (For IE <=11) Starts tracking propertychange events on the passed-in element + * (For IE <=9) 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); - } + activeElement.attachEvent('onpropertychange', handlePropertyChange); } /** - * (For IE <=11) Removes the event listeners from the currently-tracked element, + * (For IE <=9) 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.detachEvent('onpropertychange', handlePropertyChange); activeElement = null; activeElementInst = null; - activeElementValue = null; - activeElementValueProp = null; } /** - * (For IE <=11) Handles a propertychange event, sending a `change` event if + * (For IE <=9) 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 === '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; + if (getInstIfValueChanged(activeElementInst, nativeEvent)) { + manualDispatchChangeEvent(nativeEvent); } } - function handleEventsForInputEventIE(topLevelType, target, targetInst) { + function handleEventsForInputEventPolyfill(topLevelType, target, targetInst) { if (topLevelType === '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 + // In IE9, 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 @@ -7831,7 +7794,7 @@ } // For IE8 and IE9. - function getTargetInstForInputEventIE(topLevelType, targetInst) { + function getTargetInstForInputEventPolyfill(topLevelType, targetInst, nativeEvent) { if (topLevelType === 'topSelectionChange' || topLevelType === 'topKeyUp' || topLevelType === 'topKeyDown') { // On the selectionchange event, the target is just document which isn't // helpful for us so just check activeElement instead. @@ -7843,10 +7806,7 @@ // 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; - } + return getInstIfValueChanged(activeElementInst, nativeEvent); } } @@ -7857,12 +7817,19 @@ // 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'); + var nodeName = elem.nodeName; + return nodeName && nodeName.toLowerCase() === 'input' && (elem.type === 'checkbox' || elem.type === 'radio'); } - function getTargetInstForClickEvent(topLevelType, targetInst) { + function getTargetInstForClickEvent(topLevelType, targetInst, nativeEvent) { if (topLevelType === 'topClick') { - return targetInst; + return getInstIfValueChanged(targetInst, nativeEvent); + } + } + + function getTargetInstForInputOrChangeEvent(topLevelType, targetInst, nativeEvent) { + if (topLevelType === 'topInput' || topLevelType === 'topChange') { + return getInstIfValueChanged(targetInst, nativeEvent); } } @@ -7897,9 +7864,11 @@ * - select */ var ChangeEventPlugin = { - eventTypes: eventTypes, + _allowSimulatedPassThrough: true, + _isInputEventSupported: isInputEventSupported, + extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) { var targetNode = targetInst ? ReactDOMComponentTree.getNodeFromInstance(targetInst) : window; @@ -7912,21 +7881,19 @@ } } else if (isTextInputElement(targetNode)) { if (isInputEventSupported) { - getTargetInstFunc = getTargetInstForInputEvent; + getTargetInstFunc = getTargetInstForInputOrChangeEvent; } else { - getTargetInstFunc = getTargetInstForInputEventIE; - handleEventFunc = handleEventsForInputEventIE; + getTargetInstFunc = getTargetInstForInputEventPolyfill; + handleEventFunc = handleEventsForInputEventPolyfill; } } else if (shouldUseClickEvent(targetNode)) { getTargetInstFunc = getTargetInstForClickEvent; } if (getTargetInstFunc) { - var inst = getTargetInstFunc(topLevelType, targetInst); + var inst = getTargetInstFunc(topLevelType, targetInst, nativeEvent); if (inst) { - var event = SyntheticEvent.getPooled(eventTypes.change, inst, nativeEvent, nativeEventTarget); - event.type = 'change'; - EventPropagators.accumulateTwoPhaseDispatches(event); + var event = createAndAccumulateChangeEvent(inst, nativeEvent, nativeEventTarget); return event; } } @@ -7940,37 +7907,34 @@ handleControlledInputBlur(targetInst, targetNode); } } - }; module.exports = ChangeEventPlugin; -/***/ }, -/* 66 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 61 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var _prodInvariant = __webpack_require__(42), + var _prodInvariant = __webpack_require__(40), _assign = __webpack_require__(4); - var CallbackQueue = __webpack_require__(67); - var PooledClass = __webpack_require__(60); - var ReactFeatureFlags = __webpack_require__(68); - var ReactReconciler = __webpack_require__(69); - var Transaction = __webpack_require__(78); + var CallbackQueue = __webpack_require__(62); + var PooledClass = __webpack_require__(55); + var ReactFeatureFlags = __webpack_require__(63); + var ReactReconciler = __webpack_require__(64); + var Transaction = __webpack_require__(73); - var invariant = __webpack_require__(44); + var invariant = __webpack_require__(12); var dirtyComponents = []; var updateBatchNumber = 0; @@ -8163,7 +8127,7 @@ * 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; + invariant(batchingStrategy.isBatchingUpdates, "ReactUpdates.asap: Can't enqueue an asap callback in a context where" + 'updates are not being batched.'); asapCallbackQueue.enqueue(callback, context); asapEnqueued = true; } @@ -8201,30 +8165,28 @@ module.exports = ReactUpdates; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 67 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 62 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * */ 'use strict'; - var _prodInvariant = __webpack_require__(42); + var _prodInvariant = __webpack_require__(40); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - var PooledClass = __webpack_require__(60); + var PooledClass = __webpack_require__(55); - var invariant = __webpack_require__(44); + var invariant = __webpack_require__(12); /** * A specialized pseudo-event module to help keep track of components waiting to @@ -8325,17 +8287,15 @@ module.exports = PooledClass.addPoolingTo(CallbackQueue); /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 68 */ -/***/ function(module, exports) { +/***/ }), +/* 63 */ +/***/ (function(module, exports) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * */ @@ -8351,26 +8311,24 @@ module.exports = ReactFeatureFlags; -/***/ }, -/* 69 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 64 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var ReactRef = __webpack_require__(70); - var ReactInstrumentation = __webpack_require__(72); + var ReactRef = __webpack_require__(65); + var ReactInstrumentation = __webpack_require__(67); - var warning = __webpack_require__(54); + var warning = __webpack_require__(8); /** * Helper to call ReactRef.attachRefs with this composite component, split out @@ -8381,7 +8339,6 @@ } var ReactReconciler = { - /** * Initializes the component, renders markup, and registers event listeners. * @@ -8393,8 +8350,8 @@ * @final * @internal */ - mountComponent: function (internalInstance, transaction, hostParent, hostContainerInfo, context, parentDebugID // 0 in production and for roots - ) { + mountComponent: function (internalInstance, transaction, hostParent, hostContainerInfo, context, parentDebugID) // 0 in production and for roots + { if (process.env.NODE_ENV !== 'production') { if (internalInstance._debugID !== 0) { ReactInstrumentation.debugTool.onBeforeMountComponent(internalInstance._debugID, internalInstance._currentElement, parentDebugID); @@ -8518,30 +8475,27 @@ } } } - }; module.exports = ReactReconciler; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 70 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 65 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * */ 'use strict'; - var ReactOwner = __webpack_require__(71); + var ReactOwner = __webpack_require__(66); var ReactRef = {}; @@ -8617,26 +8571,24 @@ module.exports = ReactRef; -/***/ }, -/* 71 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 66 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * */ 'use strict'; - var _prodInvariant = __webpack_require__(42); + var _prodInvariant = __webpack_require__(40); - var invariant = __webpack_require__(44); + var invariant = __webpack_require__(12); /** * @param {?object} object @@ -8710,23 +8662,20 @@ owner.detachRef(ref); } } - }; module.exports = ReactOwner; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 72 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 67 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2016-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2016-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * */ @@ -8738,37 +8687,35 @@ var debugTool = null; if (process.env.NODE_ENV !== 'production') { - var ReactDebugTool = __webpack_require__(73); + var ReactDebugTool = __webpack_require__(68); debugTool = ReactDebugTool; } module.exports = { debugTool: debugTool }; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 73 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 68 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2016-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2016-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * */ 'use strict'; - var ReactInvalidSetStateWarningHook = __webpack_require__(74); - var ReactHostOperationHistoryHook = __webpack_require__(75); - var ReactComponentTreeHook = __webpack_require__(26); - var ExecutionEnvironment = __webpack_require__(58); + var ReactInvalidSetStateWarningHook = __webpack_require__(69); + var ReactHostOperationHistoryHook = __webpack_require__(70); + var ReactComponentTreeHook = __webpack_require__(24); + var ExecutionEnvironment = __webpack_require__(53); - var performanceNow = __webpack_require__(76); - var warning = __webpack_require__(54); + var performanceNow = __webpack_require__(71); + var warning = __webpack_require__(8); var hooks = []; var didHookThrowForEvent = {}; @@ -8977,7 +8924,9 @@ } performance.clearMarks(markName); - performance.clearMeasures(measurementName); + if (measurementName) { + performance.clearMeasures(measurementName); + } } var ReactDebugTool = { @@ -9109,24 +9058,22 @@ module.exports = ReactDebugTool; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 74 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 69 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2016-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2016-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * */ 'use strict'; - var warning = __webpack_require__(54); + var warning = __webpack_require__(8); if (process.env.NODE_ENV !== 'production') { var processingChildContext = false; @@ -9151,17 +9098,15 @@ module.exports = ReactInvalidSetStateWarningHook; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 75 */ -/***/ function(module, exports) { +/***/ }), +/* 70 */ +/***/ (function(module, exports) { /** - * Copyright 2016-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2016-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * */ @@ -9189,24 +9134,22 @@ module.exports = ReactHostOperationHistoryHook; -/***/ }, -/* 76 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 71 */ +/***/ (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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * @typechecks */ - var performance = __webpack_require__(77); + var performance = __webpack_require__(72); var performanceNow; @@ -9227,24 +9170,22 @@ module.exports = performanceNow; -/***/ }, -/* 77 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 72 */ +/***/ (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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * @typechecks */ 'use strict'; - var ExecutionEnvironment = __webpack_require__(58); + var ExecutionEnvironment = __webpack_require__(53); var performance; @@ -9254,26 +9195,24 @@ module.exports = performance || {}; -/***/ }, -/* 78 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 73 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * */ 'use strict'; - var _prodInvariant = __webpack_require__(42); + var _prodInvariant = __webpack_require__(40); - var invariant = __webpack_require__(44); + var invariant = __webpack_require__(12); var OBSERVED_ERROR = {}; @@ -9368,6 +9307,8 @@ return !!this._isInTransaction; }, + /* eslint-disable space-before-function-paren */ + /** * Executes the function within a safety window. Use this for the top level * methods that result in large amounts of computation/mutations that would @@ -9386,6 +9327,7 @@ * @return {*} Return value from `method`. */ perform: function (method, scope, a, b, c, d, e, f) { + /* eslint-enable space-before-function-paren */ !!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; @@ -9484,17 +9426,140 @@ module.exports = TransactionImpl; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 79 */ -/***/ function(module, exports) { +/***/ }), +/* 74 */ +/***/ (function(module, exports, __webpack_require__) { + + /** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + */ + + 'use strict'; + + var ReactDOMComponentTree = __webpack_require__(39); + + function isCheckable(elem) { + var type = elem.type; + var nodeName = elem.nodeName; + return nodeName && nodeName.toLowerCase() === 'input' && (type === 'checkbox' || type === 'radio'); + } + + function getTracker(inst) { + return inst._wrapperState.valueTracker; + } + + function attachTracker(inst, tracker) { + inst._wrapperState.valueTracker = tracker; + } + + function detachTracker(inst) { + inst._wrapperState.valueTracker = null; + } + + function getValueFromNode(node) { + var value; + if (node) { + value = isCheckable(node) ? '' + node.checked : node.value; + } + return value; + } + + var inputValueTracking = { + // exposed for testing + _getTrackerFromNode: function (node) { + return getTracker(ReactDOMComponentTree.getInstanceFromNode(node)); + }, + + + track: function (inst) { + if (getTracker(inst)) { + return; + } + + var node = ReactDOMComponentTree.getNodeFromInstance(inst); + var valueField = isCheckable(node) ? 'checked' : 'value'; + var descriptor = Object.getOwnPropertyDescriptor(node.constructor.prototype, valueField); + + var currentValue = '' + node[valueField]; + + // if someone has already defined a value or Safari, then bail + // and don't track value will cause over reporting of changes, + // but it's better then a hard failure + // (needed for certain tests that spyOn input values and Safari) + if (node.hasOwnProperty(valueField) || typeof descriptor.get !== 'function' || typeof descriptor.set !== 'function') { + return; + } + + Object.defineProperty(node, valueField, { + enumerable: descriptor.enumerable, + configurable: true, + get: function () { + return descriptor.get.call(this); + }, + set: function (value) { + currentValue = '' + value; + descriptor.set.call(this, value); + } + }); + + attachTracker(inst, { + getValue: function () { + return currentValue; + }, + setValue: function (value) { + currentValue = '' + value; + }, + stopTracking: function () { + detachTracker(inst); + delete node[valueField]; + } + }); + }, + + updateValueIfChanged: function (inst) { + if (!inst) { + return false; + } + var tracker = getTracker(inst); + + if (!tracker) { + inputValueTracking.track(inst); + return true; + } + + var lastValue = tracker.getValue(); + var nextValue = getValueFromNode(ReactDOMComponentTree.getNodeFromInstance(inst)); + + if (nextValue !== lastValue) { + tracker.setValue(nextValue); + return true; + } + + return false; + }, + stopTracking: function (inst) { + var tracker = getTracker(inst); + if (tracker) { + tracker.stopTracking(); + } + } + }; + + module.exports = inputValueTracking; + +/***/ }), +/* 75 */ +/***/ (function(module, exports) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ @@ -9523,23 +9588,21 @@ module.exports = getEventTarget; -/***/ }, -/* 80 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 76 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var ExecutionEnvironment = __webpack_require__(58); + var ExecutionEnvironment = __webpack_require__(53); var useHasFeature; if (ExecutionEnvironment.canUseDOM) { @@ -9587,17 +9650,15 @@ module.exports = isEventSupported; -/***/ }, -/* 81 */ -/***/ function(module, exports) { +/***/ }), +/* 77 */ +/***/ (function(module, exports) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * */ @@ -9609,21 +9670,21 @@ */ var supportedInputTypes = { - 'color': true, - 'date': true, - 'datetime': true, + 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 + 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) { @@ -9642,17 +9703,15 @@ module.exports = isTextInputElement; -/***/ }, -/* 82 */ -/***/ function(module, exports) { +/***/ }), +/* 78 */ +/***/ (function(module, exports) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ @@ -9672,25 +9731,23 @@ module.exports = DefaultEventPluginOrder; -/***/ }, -/* 83 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 79 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var EventPropagators = __webpack_require__(49); - var ReactDOMComponentTree = __webpack_require__(41); - var SyntheticMouseEvent = __webpack_require__(84); + var EventPropagators = __webpack_require__(46); + var ReactDOMComponentTree = __webpack_require__(39); + var SyntheticMouseEvent = __webpack_require__(80); var eventTypes = { mouseEnter: { @@ -9704,7 +9761,6 @@ }; var EnterLeaveEventPlugin = { - eventTypes: eventTypes, /** @@ -9771,31 +9827,28 @@ return [leave, enter]; } - }; module.exports = EnterLeaveEventPlugin; -/***/ }, -/* 84 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 80 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var SyntheticUIEvent = __webpack_require__(85); - var ViewportMetrics = __webpack_require__(86); + var SyntheticUIEvent = __webpack_require__(81); + var ViewportMetrics = __webpack_require__(82); - var getEventModifierState = __webpack_require__(87); + var getEventModifierState = __webpack_require__(83); /** * @interface MouseEvent @@ -9852,25 +9905,23 @@ module.exports = SyntheticMouseEvent; -/***/ }, -/* 85 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 81 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var SyntheticEvent = __webpack_require__(63); + var SyntheticEvent = __webpack_require__(58); - var getEventTarget = __webpack_require__(79); + var getEventTarget = __webpack_require__(75); /** * @interface UIEvent @@ -9915,24 +9966,21 @@ module.exports = SyntheticUIEvent; -/***/ }, -/* 86 */ -/***/ function(module, exports) { +/***/ }), +/* 82 */ +/***/ (function(module, exports) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; var ViewportMetrics = { - currentScrollLeft: 0, currentScrollTop: 0, @@ -9941,22 +9989,19 @@ ViewportMetrics.currentScrollLeft = scrollPosition.x; ViewportMetrics.currentScrollTop = scrollPosition.y; } - }; module.exports = ViewportMetrics; -/***/ }, -/* 87 */ -/***/ function(module, exports) { +/***/ }), +/* 83 */ +/***/ (function(module, exports) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ @@ -9968,10 +10013,10 @@ */ var modifierKeyToProp = { - 'Alt': 'altKey', - 'Control': 'ctrlKey', - 'Meta': 'metaKey', - 'Shift': 'shiftKey' + Alt: 'altKey', + Control: 'ctrlKey', + Meta: 'metaKey', + Shift: 'shiftKey' }; // IE8 does not implement getModifierState so we simply map it to the only @@ -9993,23 +10038,21 @@ module.exports = getEventModifierState; -/***/ }, -/* 88 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 84 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var DOMProperty = __webpack_require__(43); + var DOMProperty = __webpack_require__(41); var MUST_USE_PROPERTY = DOMProperty.injection.MUST_USE_PROPERTY; var HAS_BOOLEAN_VALUE = DOMProperty.injection.HAS_BOOLEAN_VALUE; @@ -10052,6 +10095,7 @@ contentEditable: 0, contextMenu: 0, controls: HAS_BOOLEAN_VALUE, + controlsList: 0, coords: 0, crossOrigin: 0, data: 0, // For `` acts as `src`. @@ -10233,24 +10277,22 @@ module.exports = HTMLDOMPropertyConfig; -/***/ }, -/* 89 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 85 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var DOMChildrenOperations = __webpack_require__(90); - var ReactDOMIDOperations = __webpack_require__(101); + var DOMChildrenOperations = __webpack_require__(86); + var ReactDOMIDOperations = __webpack_require__(97); /** * Abstracts away all functionality of the reconciler that requires knowledge of @@ -10258,39 +10300,35 @@ * need for this injection. */ var ReactComponentBrowserEnvironment = { - processChildrenUpdates: ReactDOMIDOperations.dangerouslyProcessChildrenUpdates, replaceNodeWithMarkup: DOMChildrenOperations.dangerouslyReplaceNodeWithMarkup - }; module.exports = ReactComponentBrowserEnvironment; -/***/ }, -/* 90 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 86 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var DOMLazyTree = __webpack_require__(91); - var Danger = __webpack_require__(97); - var ReactDOMComponentTree = __webpack_require__(41); - var ReactInstrumentation = __webpack_require__(72); + var DOMLazyTree = __webpack_require__(87); + var Danger = __webpack_require__(93); + var ReactDOMComponentTree = __webpack_require__(39); + var ReactInstrumentation = __webpack_require__(67); - var createMicrosoftUnsafeLocalFunction = __webpack_require__(94); - var setInnerHTML = __webpack_require__(93); - var setTextContent = __webpack_require__(95); + var createMicrosoftUnsafeLocalFunction = __webpack_require__(90); + var setInnerHTML = __webpack_require__(89); + var setTextContent = __webpack_require__(91); function getNodeAfter(parentNode, node) { // Special case for text components, which return [open, close] comments @@ -10418,7 +10456,6 @@ * Operations for updating with DOM children. */ var DOMChildrenOperations = { - dangerouslyReplaceNodeWithMarkup: dangerouslyReplaceNodeWithMarkup, replaceDelimitedText: replaceDelimitedText, @@ -10444,7 +10481,10 @@ ReactInstrumentation.debugTool.onHostOperation({ instanceID: parentNodeDebugID, type: 'insert child', - payload: { toIndex: update.toIndex, content: update.content.toString() } + payload: { + toIndex: update.toIndex, + content: update.content.toString() + } }); } break; @@ -10491,33 +10531,30 @@ } } } - }; module.exports = DOMChildrenOperations; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 91 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 87 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2015-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2015-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var DOMNamespaces = __webpack_require__(92); - var setInnerHTML = __webpack_require__(93); + var DOMNamespaces = __webpack_require__(88); + var setInnerHTML = __webpack_require__(89); - var createMicrosoftUnsafeLocalFunction = __webpack_require__(94); - var setTextContent = __webpack_require__(95); + var createMicrosoftUnsafeLocalFunction = __webpack_require__(90); + var setTextContent = __webpack_require__(91); var ELEMENT_NODE_TYPE = 1; var DOCUMENT_FRAGMENT_NODE_TYPE = 11; @@ -10619,17 +10656,15 @@ module.exports = DOMLazyTree; -/***/ }, -/* 92 */ -/***/ function(module, exports) { +/***/ }), +/* 88 */ +/***/ (function(module, exports) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ @@ -10643,29 +10678,27 @@ module.exports = DOMNamespaces; -/***/ }, -/* 93 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 89 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var ExecutionEnvironment = __webpack_require__(58); - var DOMNamespaces = __webpack_require__(92); + var ExecutionEnvironment = __webpack_require__(53); + var DOMNamespaces = __webpack_require__(88); var WHITESPACE_TEST = /^[ \r\n\t\f]/; var NONVISIBLE_TEST = /<(!--|link|noscript|meta|script|style)[ \r\n\t\f\/>]/; - var createMicrosoftUnsafeLocalFunction = __webpack_require__(94); + var createMicrosoftUnsafeLocalFunction = __webpack_require__(90); // SVG temp container for IE lacking innerHTML var reusableSVGContainer; @@ -10725,7 +10758,7 @@ // 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; + node.innerHTML = String.fromCharCode(0xfeff) + html; // deleteData leaves an empty `TextNode` which offsets the index of all // children. Definitely want to avoid this. @@ -10745,17 +10778,15 @@ module.exports = setInnerHTML; -/***/ }, -/* 94 */ -/***/ function(module, exports) { +/***/ }), +/* 90 */ +/***/ (function(module, exports) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ @@ -10781,25 +10812,23 @@ module.exports = createMicrosoftUnsafeLocalFunction; -/***/ }, -/* 95 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 91 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var ExecutionEnvironment = __webpack_require__(58); - var escapeTextContentForBrowser = __webpack_require__(96); - var setInnerHTML = __webpack_require__(93); + var ExecutionEnvironment = __webpack_require__(53); + var escapeTextContentForBrowser = __webpack_require__(92); + var setInnerHTML = __webpack_require__(89); /** * Set the textContent property of a node, ensuring that whitespace is preserved @@ -10837,17 +10866,15 @@ module.exports = setTextContent; -/***/ }, -/* 96 */ -/***/ function(module, exports) { +/***/ }), +/* 92 */ +/***/ (function(module, exports) { /** - * Copyright 2016-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2016-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * Based on the escape-html library, which is used under the MIT License below: * @@ -10945,7 +10972,6 @@ } // end code copied and modified from escape-html - /** * Escapes text to prevent scripting attacks. * @@ -10964,33 +10990,30 @@ module.exports = escapeTextContentForBrowser; -/***/ }, -/* 97 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 93 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var _prodInvariant = __webpack_require__(42); + var _prodInvariant = __webpack_require__(40); - var DOMLazyTree = __webpack_require__(91); - var ExecutionEnvironment = __webpack_require__(58); + var DOMLazyTree = __webpack_require__(87); + var ExecutionEnvironment = __webpack_require__(53); - var createNodesFromMarkup = __webpack_require__(98); - var emptyFunction = __webpack_require__(55); - var invariant = __webpack_require__(44); + var createNodesFromMarkup = __webpack_require__(94); + var emptyFunction = __webpack_require__(9); + var invariant = __webpack_require__(12); 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. @@ -11011,36 +11034,33 @@ DOMLazyTree.replaceChildWithTree(oldChild, markup); } } - }; module.exports = Danger; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 98 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 94 */ +/***/ (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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * @typechecks */ /*eslint-disable fb-www/unsafe-html*/ - var ExecutionEnvironment = __webpack_require__(58); + var ExecutionEnvironment = __webpack_require__(53); - var createArrayFromMixed = __webpack_require__(99); - var getMarkupWrap = __webpack_require__(100); - var invariant = __webpack_require__(44); + var createArrayFromMixed = __webpack_require__(95); + var getMarkupWrap = __webpack_require__(96); + var invariant = __webpack_require__(12); /** * Dummy container used to render all markup. @@ -11106,24 +11126,22 @@ module.exports = createNodesFromMarkup; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 99 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 95 */ +/***/ (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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * @typechecks */ - var invariant = __webpack_require__(44); + var invariant = __webpack_require__(12); /** * Convert array-like objects to arrays. @@ -11238,27 +11256,25 @@ module.exports = createArrayFromMixed; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 100 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 96 */ +/***/ (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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ /*eslint-disable fb-www/unsafe-html */ - var ExecutionEnvironment = __webpack_require__(58); + var ExecutionEnvironment = __webpack_require__(53); - var invariant = __webpack_require__(44); + var invariant = __webpack_require__(12); /** * Dummy container used to detect which wraps are necessary. @@ -11338,30 +11354,27 @@ module.exports = getMarkupWrap; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 101 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 97 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var DOMChildrenOperations = __webpack_require__(90); - var ReactDOMComponentTree = __webpack_require__(41); + var DOMChildrenOperations = __webpack_require__(86); + var ReactDOMComponentTree = __webpack_require__(39); /** * Operations used to process updates to DOM nodes. */ var ReactDOMIDOperations = { - /** * Updates a component's children by processing a series of updates. * @@ -11376,17 +11389,15 @@ module.exports = ReactDOMIDOperations; -/***/ }, -/* 102 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 98 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ @@ -11394,35 +11405,36 @@ 'use strict'; - var _prodInvariant = __webpack_require__(42), + var _prodInvariant = __webpack_require__(40), _assign = __webpack_require__(4); - var AutoFocusUtils = __webpack_require__(103); - var CSSPropertyOperations = __webpack_require__(105); - var DOMLazyTree = __webpack_require__(91); - var DOMNamespaces = __webpack_require__(92); - var DOMProperty = __webpack_require__(43); - var DOMPropertyOperations = __webpack_require__(113); - var EventPluginHub = __webpack_require__(50); - var EventPluginRegistry = __webpack_require__(51); - var ReactBrowserEventEmitter = __webpack_require__(115); - var ReactDOMComponentFlags = __webpack_require__(45); - var ReactDOMComponentTree = __webpack_require__(41); - var ReactDOMInput = __webpack_require__(118); - var ReactDOMOption = __webpack_require__(121); - var ReactDOMSelect = __webpack_require__(122); - var ReactDOMTextarea = __webpack_require__(123); - var ReactInstrumentation = __webpack_require__(72); - var ReactMultiChild = __webpack_require__(124); - var ReactServerRenderingTransaction = __webpack_require__(144); - - var emptyFunction = __webpack_require__(55); - var escapeTextContentForBrowser = __webpack_require__(96); - var invariant = __webpack_require__(44); - var isEventSupported = __webpack_require__(80); - var shallowEqual = __webpack_require__(134); - var validateDOMNesting = __webpack_require__(147); - var warning = __webpack_require__(54); + var AutoFocusUtils = __webpack_require__(99); + var CSSPropertyOperations = __webpack_require__(101); + var DOMLazyTree = __webpack_require__(87); + var DOMNamespaces = __webpack_require__(88); + var DOMProperty = __webpack_require__(41); + var DOMPropertyOperations = __webpack_require__(109); + var EventPluginHub = __webpack_require__(47); + var EventPluginRegistry = __webpack_require__(48); + var ReactBrowserEventEmitter = __webpack_require__(111); + var ReactDOMComponentFlags = __webpack_require__(42); + var ReactDOMComponentTree = __webpack_require__(39); + var ReactDOMInput = __webpack_require__(114); + var ReactDOMOption = __webpack_require__(117); + var ReactDOMSelect = __webpack_require__(118); + var ReactDOMTextarea = __webpack_require__(119); + var ReactInstrumentation = __webpack_require__(67); + var ReactMultiChild = __webpack_require__(120); + var ReactServerRenderingTransaction = __webpack_require__(139); + + var emptyFunction = __webpack_require__(9); + var escapeTextContentForBrowser = __webpack_require__(92); + var invariant = __webpack_require__(12); + var isEventSupported = __webpack_require__(76); + var shallowEqual = __webpack_require__(129); + var inputValueTracking = __webpack_require__(74); + var validateDOMNesting = __webpack_require__(142); + var warning = __webpack_require__(8); var Flags = ReactDOMComponentFlags; var deleteListener = EventPluginHub.deleteListener; @@ -11431,7 +11443,7 @@ var registrationNameModules = EventPluginRegistry.registrationNameModules; // For quickly matching children type, to test if can be treated as content. - var CONTENT_TYPES = { 'string': true, 'number': true }; + var CONTENT_TYPES = { string: true, number: true }; var STYLE = 'style'; var HTML = '__html'; @@ -11540,7 +11552,7 @@ if (process.env.NODE_ENV !== 'production') { // IE8 has no API for event capturing and the `onScroll` event doesn't // bubble. - process.env.NODE_ENV !== 'production' ? warning(registrationName !== 'onScroll' || isEventSupported('scroll', true), 'This browser doesn\'t support the `onScroll` event') : void 0; + process.env.NODE_ENV !== 'production' ? warning(registrationName !== 'onScroll' || isEventSupported('scroll', true), "This browser doesn't support the `onScroll` event") : void 0; } var containerInfo = inst._hostContainerInfo; var isDocumentFragment = containerInfo._node && containerInfo._node.nodeType === DOC_FRAGMENT_TYPE; @@ -11630,6 +11642,10 @@ topWaiting: 'waiting' }; + function trackInputValue() { + inputValueTracking.track(this); + } + function trapBubbledEventsLocal() { var inst = this; // If a component renders to null or if another component fatals and causes @@ -11645,7 +11661,6 @@ break; case 'video': case 'audio': - inst._wrapperState.listeners = []; // Create listener for each media event for (var event in mediaEvents) { @@ -11679,34 +11694,35 @@ // those special-case tags. var omittedCloseTags = { - 'area': true, - 'base': true, - 'br': true, - 'col': true, - 'embed': true, - 'hr': true, - 'img': true, - 'input': true, - 'keygen': true, - 'link': true, - 'meta': true, - 'param': true, - 'source': true, - 'track': true, - 'wbr': true + area: true, + base: true, + br: true, + col: true, + embed: true, + hr: true, + img: true, + input: true, + keygen: true, + link: true, + meta: true, + param: true, + source: true, + track: true, + wbr: true + // NOTE: menuitem's close tag should be omitted, but that causes problems. }; var newlineEatingTags = { - 'listing': true, - 'pre': true, - 'textarea': true + listing: true, + pre: true, + textarea: true }; // For HTML, certain tags cannot have children. This has the same purpose as // `omittedCloseTags` except that `menuitem` should still have its closing tag. var voidElementTags = _assign({ - 'menuitem': true + menuitem: true }, omittedCloseTags); // We accept any tag to be rendered but since this gets injected into arbitrary @@ -11770,7 +11786,6 @@ ReactDOMComponent.displayName = 'ReactDOMComponent'; ReactDOMComponent.Mixin = { - /** * Generates root tag markup then recurses. This method has side effects and * is not idempotent. @@ -11807,6 +11822,7 @@ case 'input': ReactDOMInput.mountWrapper(this, props, hostParent); props = ReactDOMInput.getHostProps(this, props); + transaction.getReactMountReady().enqueue(trackInputValue, this); transaction.getReactMountReady().enqueue(trapBubbledEventsLocal, this); break; case 'option': @@ -11821,6 +11837,7 @@ case 'textarea': ReactDOMTextarea.mountWrapper(this, props, hostParent); props = ReactDOMTextarea.getHostProps(this, props); + transaction.getReactMountReady().enqueue(trackInputValue, this); transaction.getReactMountReady().enqueue(trapBubbledEventsLocal, this); break; } @@ -12141,6 +12158,10 @@ // happen after `_updateDOMProperties`. Otherwise HTML5 input validations // raise warnings and prevent the new value from being assigned. ReactDOMInput.updateWrapper(this); + + // We also check that we haven't missed a value update, such as a + // Radio group shifting the checked value to another named radio input. + inputValueTracking.updateValueIfChanged(this); break; case 'textarea': ReactDOMTextarea.updateWrapper(this); @@ -12346,6 +12367,10 @@ } } break; + case 'input': + case 'textarea': + inputValueTracking.stopTracking(this); + break; case 'html': case 'head': case 'body': @@ -12374,7 +12399,6 @@ getPublicInstance: function () { return getNode(this); } - }; _assign(ReactDOMComponent.prototype, ReactDOMComponent.Mixin, ReactMultiChild.Mixin); @@ -12382,25 +12406,23 @@ module.exports = ReactDOMComponent; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 103 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 99 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var ReactDOMComponentTree = __webpack_require__(41); + var ReactDOMComponentTree = __webpack_require__(39); - var focusNode = __webpack_require__(104); + var focusNode = __webpack_require__(100); var AutoFocusUtils = { focusDOMComponent: function () { @@ -12410,17 +12432,15 @@ module.exports = AutoFocusUtils; -/***/ }, -/* 104 */ -/***/ function(module, exports) { +/***/ }), +/* 100 */ +/***/ (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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ @@ -12441,31 +12461,29 @@ module.exports = focusNode; -/***/ }, -/* 105 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 101 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var CSSProperty = __webpack_require__(106); - var ExecutionEnvironment = __webpack_require__(58); - var ReactInstrumentation = __webpack_require__(72); + var CSSProperty = __webpack_require__(102); + var ExecutionEnvironment = __webpack_require__(53); + var ReactInstrumentation = __webpack_require__(67); - var camelizeStyleName = __webpack_require__(107); - var dangerousStyleValue = __webpack_require__(109); - var hyphenateStyleName = __webpack_require__(110); - var memoizeStringOnly = __webpack_require__(112); - var warning = __webpack_require__(54); + var camelizeStyleName = __webpack_require__(103); + var dangerousStyleValue = __webpack_require__(105); + var hyphenateStyleName = __webpack_require__(106); + var memoizeStringOnly = __webpack_require__(108); + var warning = __webpack_require__(8); var processStyleName = memoizeStringOnly(function (styleName) { return hyphenateStyleName(styleName); @@ -12522,7 +12540,7 @@ } warnedStyleValues[value] = true; - process.env.NODE_ENV !== 'production' ? warning(false, 'Style property values shouldn\'t contain a semicolon.%s ' + 'Try "%s: %s" instead.', checkRenderMessage(owner), name, value.replace(badStyleValueWithSemicolonPattern, '')) : void 0; + process.env.NODE_ENV !== 'production' ? warning(false, "Style property values shouldn't contain a semicolon.%s " + 'Try "%s: %s" instead.', checkRenderMessage(owner), name, value.replace(badStyleValueWithSemicolonPattern, '')) : void 0; }; var warnStyleValueIsNaN = function (name, value, owner) { @@ -12572,7 +12590,6 @@ * Operations for dealing with CSS properties. */ var CSSPropertyOperations = { - /** * Serializes a mapping of style properties for use as inline styles: * @@ -12592,13 +12609,16 @@ if (!styles.hasOwnProperty(styleName)) { continue; } + var isCustomProperty = styleName.indexOf('--') === 0; var styleValue = styles[styleName]; if (process.env.NODE_ENV !== 'production') { - warnValidStyle(styleName, styleValue, component); + if (!isCustomProperty) { + warnValidStyle(styleName, styleValue, component); + } } if (styleValue != null) { serialized += processStyleName(styleName) + ':'; - serialized += dangerousStyleValue(styleName, styleValue, component) + ';'; + serialized += dangerousStyleValue(styleName, styleValue, component, isCustomProperty) + ';'; } } return serialized || null; @@ -12626,14 +12646,19 @@ if (!styles.hasOwnProperty(styleName)) { continue; } + var isCustomProperty = styleName.indexOf('--') === 0; if (process.env.NODE_ENV !== 'production') { - warnValidStyle(styleName, styles[styleName], component); + if (!isCustomProperty) { + warnValidStyle(styleName, styles[styleName], component); + } } - var styleValue = dangerousStyleValue(styleName, styles[styleName], component); + var styleValue = dangerousStyleValue(styleName, styles[styleName], component, isCustomProperty); if (styleName === 'float' || styleName === 'cssFloat') { styleName = styleFloatAccessor; } - if (styleValue) { + if (isCustomProperty) { + style.setProperty(styleName, styleValue); + } else if (styleValue) { style[styleName] = styleValue; } else { var expansion = hasShorthandPropertyBug && CSSProperty.shorthandPropertyExpansions[styleName]; @@ -12649,23 +12674,20 @@ } } } - }; module.exports = CSSPropertyOperations; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 106 */ -/***/ function(module, exports) { +/***/ }), +/* 102 */ +/***/ (function(module, exports) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ @@ -12684,6 +12706,7 @@ boxFlexGroup: true, boxOrdinalGroup: true, columnCount: true, + columns: true, flex: true, flexGrow: true, flexPositive: true, @@ -12691,7 +12714,13 @@ flexNegative: true, flexOrder: true, gridRow: true, + gridRowEnd: true, + gridRowSpan: true, + gridRowStart: true, gridColumn: true, + gridColumnEnd: true, + gridColumnSpan: true, + gridColumnStart: true, fontWeight: true, lineClamp: true, lineHeight: true, @@ -12807,24 +12836,22 @@ module.exports = CSSProperty; -/***/ }, -/* 107 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 103 */ +/***/ (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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * @typechecks */ 'use strict'; - var camelize = __webpack_require__(108); + var camelize = __webpack_require__(104); var msPattern = /^-ms-/; @@ -12851,19 +12878,17 @@ module.exports = camelizeStyleName; -/***/ }, -/* 108 */ -/***/ function(module, exports) { +/***/ }), +/* 104 */ +/***/ (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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * @typechecks */ @@ -12887,24 +12912,22 @@ module.exports = camelize; -/***/ }, -/* 109 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 105 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var CSSProperty = __webpack_require__(106); - var warning = __webpack_require__(54); + var CSSProperty = __webpack_require__(102); + var warning = __webpack_require__(8); var isUnitlessNumber = CSSProperty.isUnitlessNumber; var styleWarnings = {}; @@ -12919,7 +12942,7 @@ * @param {ReactDOMComponent} component * @return {string} Normalized style value with dimensions applied. */ - function dangerousStyleValue(name, value, component) { + function dangerousStyleValue(name, value, component, isCustomProperty) { // Note that we've removed escapeTextForBrowser() calls here since the // whole string will be escaped when the attribute is injected into // the markup. If you provide unsafe user data here they can inject @@ -12936,7 +12959,7 @@ } var isNonNumeric = isNaN(value); - if (isNonNumeric || value === 0 || isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name]) { + if (isCustomProperty || isNonNumeric || value === 0 || isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name]) { return '' + value; // cast to string } @@ -12971,24 +12994,22 @@ module.exports = dangerousStyleValue; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 110 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 106 */ +/***/ (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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * @typechecks */ 'use strict'; - var hyphenate = __webpack_require__(111); + var hyphenate = __webpack_require__(107); var msPattern = /^ms-/; @@ -13014,19 +13035,17 @@ module.exports = hyphenateStyleName; -/***/ }, -/* 111 */ -/***/ function(module, exports) { +/***/ }), +/* 107 */ +/***/ (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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * @typechecks */ @@ -13051,17 +13070,15 @@ module.exports = hyphenate; -/***/ }, -/* 112 */ -/***/ function(module, exports) { +/***/ }), +/* 108 */ +/***/ (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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * * @typechecks static-only @@ -13085,28 +13102,26 @@ module.exports = memoizeStringOnly; -/***/ }, -/* 113 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 109 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var DOMProperty = __webpack_require__(43); - var ReactDOMComponentTree = __webpack_require__(41); - var ReactInstrumentation = __webpack_require__(72); + var DOMProperty = __webpack_require__(41); + var ReactDOMComponentTree = __webpack_require__(39); + var ReactInstrumentation = __webpack_require__(67); - var quoteAttributeValueForBrowser = __webpack_require__(114); - var warning = __webpack_require__(54); + var quoteAttributeValueForBrowser = __webpack_require__(110); + var warning = __webpack_require__(8); var VALID_ATTRIBUTE_NAME_REGEX = new RegExp('^[' + DOMProperty.ATTRIBUTE_NAME_START_CHAR + '][' + DOMProperty.ATTRIBUTE_NAME_CHAR + ']*$'); var illegalAttributeNameCache = {}; @@ -13136,7 +13151,6 @@ * Operations for dealing with DOM properties. */ var DOMPropertyOperations = { - /** * Creates markup for the ID property. * @@ -13321,29 +13335,26 @@ }); } } - }; module.exports = DOMPropertyOperations; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 114 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 110 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var escapeTextContentForBrowser = __webpack_require__(96); + var escapeTextContentForBrowser = __webpack_require__(92); /** * Escapes attribute value to prevent scripting attacks. @@ -13357,17 +13368,15 @@ module.exports = quoteAttributeValueForBrowser; -/***/ }, -/* 115 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 111 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ @@ -13375,12 +13384,12 @@ var _assign = __webpack_require__(4); - var EventPluginRegistry = __webpack_require__(51); - var ReactEventEmitterMixin = __webpack_require__(116); - var ViewportMetrics = __webpack_require__(86); + var EventPluginRegistry = __webpack_require__(48); + var ReactEventEmitterMixin = __webpack_require__(112); + var ViewportMetrics = __webpack_require__(82); - var getVendorPrefixedEventName = __webpack_require__(117); - var isEventSupported = __webpack_require__(80); + var getVendorPrefixedEventName = __webpack_require__(113); + var isEventSupported = __webpack_require__(76); /** * Summary of `ReactBrowserEventEmitter` event handling: @@ -13538,7 +13547,6 @@ * @internal */ var ReactBrowserEventEmitter = _assign({}, ReactEventEmitterMixin, { - /** * Injectable event backend */ @@ -13612,14 +13620,12 @@ ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent('topWheel', 'DOMMouseScroll', mountAt); } } else if (dependency === 'topScroll') { - if (isEventSupported('scroll', true)) { ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent('topScroll', 'scroll', mountAt); } else { ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent('topScroll', 'scroll', ReactBrowserEventEmitter.ReactEventListener.WINDOW_HANDLE); } } else if (dependency === 'topFocus' || dependency === 'topBlur') { - if (isEventSupported('focus', true)) { ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent('topFocus', 'focus', mountAt); ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent('topBlur', 'blur', mountAt); @@ -13684,28 +13690,25 @@ isMonitoringScrollValue = true; } } - }); module.exports = ReactBrowserEventEmitter; -/***/ }, -/* 116 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 112 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var EventPluginHub = __webpack_require__(50); + var EventPluginHub = __webpack_require__(47); function runEventQueueInBatch(events) { EventPluginHub.enqueueEvents(events); @@ -13713,7 +13716,6 @@ } var ReactEventEmitterMixin = { - /** * Streams a fired top-level event to `EventPluginHub` where plugins have the * opportunity to create `ReactEvent`s to be dispatched. @@ -13726,23 +13728,21 @@ module.exports = ReactEventEmitterMixin; -/***/ }, -/* 117 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 113 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var ExecutionEnvironment = __webpack_require__(58); + var ExecutionEnvironment = __webpack_require__(53); /** * Generate a mapping of standard vendor prefixes using the defined style property and event name. @@ -13831,32 +13831,30 @@ module.exports = getVendorPrefixedEventName; -/***/ }, -/* 118 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 114 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var _prodInvariant = __webpack_require__(42), + var _prodInvariant = __webpack_require__(40), _assign = __webpack_require__(4); - var DOMPropertyOperations = __webpack_require__(113); - var LinkedValueUtils = __webpack_require__(119); - var ReactDOMComponentTree = __webpack_require__(41); - var ReactUpdates = __webpack_require__(66); + var DOMPropertyOperations = __webpack_require__(109); + var LinkedValueUtils = __webpack_require__(115); + var ReactDOMComponentTree = __webpack_require__(39); + var ReactUpdates = __webpack_require__(61); - var invariant = __webpack_require__(44); - var warning = __webpack_require__(54); + var invariant = __webpack_require__(12); + var warning = __webpack_require__(8); var didWarnValueLink = false; var didWarnCheckedLink = false; @@ -13987,14 +13985,16 @@ // Simulate `input.valueAsNumber`. IE9 does not support it var valueAsNumber = parseFloat(node.value, 10) || 0; + if ( + // eslint-disable-next-line + value != valueAsNumber || // eslint-disable-next-line - if (value != valueAsNumber) { + value == valueAsNumber && node.value != value) { // Cast `value` to a string to ensure the value is set correctly. While // browsers typically do this as necessary, jsdom doesn't. node.value = '' + value; } - // eslint-disable-next-line - } else if (value != node.value) { + } else if (node.value !== '' + value) { // Cast `value` to a string to ensure the value is set correctly. While // browsers typically do this as necessary, jsdom doesn't. node.value = '' + value; @@ -14121,41 +14121,39 @@ module.exports = ReactDOMInput; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 119 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 115 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var _prodInvariant = __webpack_require__(42); + var _prodInvariant = __webpack_require__(40); - var ReactPropTypesSecret = __webpack_require__(120); - var propTypesFactory = __webpack_require__(30); + var ReactPropTypesSecret = __webpack_require__(116); + var propTypesFactory = __webpack_require__(29); var React = __webpack_require__(2); var PropTypes = propTypesFactory(React.isValidElement); - var invariant = __webpack_require__(44); - var warning = __webpack_require__(54); + var invariant = __webpack_require__(12); + var warning = __webpack_require__(8); var hasReadOnlyValue = { - 'button': true, - 'checkbox': true, - 'image': true, - 'hidden': true, - 'radio': true, - 'reset': true, - 'submit': true + button: true, + checkbox: true, + image: true, + hidden: true, + radio: true, + reset: true, + submit: true }; function _assertSingleLink(inputProps) { @@ -14264,17 +14262,15 @@ module.exports = LinkedValueUtils; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 120 */ -/***/ function(module, exports) { +/***/ }), +/* 116 */ +/***/ (function(module, exports) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * */ @@ -14285,17 +14281,15 @@ module.exports = ReactPropTypesSecret; -/***/ }, -/* 121 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 117 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ @@ -14304,10 +14298,10 @@ var _assign = __webpack_require__(4); var React = __webpack_require__(2); - var ReactDOMComponentTree = __webpack_require__(41); - var ReactDOMSelect = __webpack_require__(122); + var ReactDOMComponentTree = __webpack_require__(39); + var ReactDOMSelect = __webpack_require__(118); - var warning = __webpack_require__(54); + var warning = __webpack_require__(8); var didWarnInvalidOptionChildren = false; function flattenChildren(children) { @@ -14407,23 +14401,20 @@ return hostProps; } - }; module.exports = ReactDOMOption; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 122 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 118 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ @@ -14431,11 +14422,11 @@ var _assign = __webpack_require__(4); - var LinkedValueUtils = __webpack_require__(119); - var ReactDOMComponentTree = __webpack_require__(41); - var ReactUpdates = __webpack_require__(66); + var LinkedValueUtils = __webpack_require__(115); + var ReactDOMComponentTree = __webpack_require__(39); + var ReactUpdates = __webpack_require__(61); - var warning = __webpack_require__(54); + var warning = __webpack_require__(8); var didWarnValueLink = false; var didWarnValueDefaultValue = false; @@ -14618,31 +14609,29 @@ module.exports = ReactDOMSelect; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 123 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 119 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var _prodInvariant = __webpack_require__(42), + var _prodInvariant = __webpack_require__(40), _assign = __webpack_require__(4); - var LinkedValueUtils = __webpack_require__(119); - var ReactDOMComponentTree = __webpack_require__(41); - var ReactUpdates = __webpack_require__(66); + var LinkedValueUtils = __webpack_require__(115); + var ReactDOMComponentTree = __webpack_require__(39); + var ReactUpdates = __webpack_require__(61); - var invariant = __webpack_require__(44); - var warning = __webpack_require__(54); + var invariant = __webpack_require__(12); + var warning = __webpack_require__(8); var didWarnValueLink = false; var didWarnValDefaultVal = false; @@ -14783,35 +14772,33 @@ module.exports = ReactDOMTextarea; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 124 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 120 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var _prodInvariant = __webpack_require__(42); + var _prodInvariant = __webpack_require__(40); - var ReactComponentEnvironment = __webpack_require__(125); - var ReactInstanceMap = __webpack_require__(126); - var ReactInstrumentation = __webpack_require__(72); + var ReactComponentEnvironment = __webpack_require__(121); + var ReactInstanceMap = __webpack_require__(122); + var ReactInstrumentation = __webpack_require__(67); - var ReactCurrentOwner = __webpack_require__(10); - var ReactReconciler = __webpack_require__(69); - var ReactChildReconciler = __webpack_require__(127); + var ReactCurrentOwner = __webpack_require__(17); + var ReactReconciler = __webpack_require__(64); + var ReactChildReconciler = __webpack_require__(123); - var emptyFunction = __webpack_require__(55); - var flattenChildren = __webpack_require__(143); - var invariant = __webpack_require__(44); + var emptyFunction = __webpack_require__(9); + var flattenChildren = __webpack_require__(138); + var invariant = __webpack_require__(12); /** * Make an update for markup to be rendered and inserted at a supplied index. @@ -14957,7 +14944,6 @@ * @internal */ var ReactMultiChild = { - /** * Provides common functionality for components that must reconcile multiple * children. This is used by `ReactDOMComponent` to mount, update, and @@ -14966,7 +14952,6 @@ * @lends {ReactMultiChild.prototype} */ Mixin: { - _reconcilerInstantiateChildren: function (nestedChildren, transaction, context) { if (process.env.NODE_ENV !== 'production') { var selfDebugID = getDebugID(this); @@ -15230,39 +15215,34 @@ child._mountIndex = null; return update; } - } - }; module.exports = ReactMultiChild; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 125 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 121 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2014-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2014-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * */ 'use strict'; - var _prodInvariant = __webpack_require__(42); + var _prodInvariant = __webpack_require__(40); - var invariant = __webpack_require__(44); + var invariant = __webpack_require__(12); var injected = false; var ReactComponentEnvironment = { - /** * Optionally injectable hook for swapping out mount images in the middle of * the tree. @@ -15283,23 +15263,20 @@ injected = true; } } - }; module.exports = ReactComponentEnvironment; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 126 */ -/***/ function(module, exports) { +/***/ }), +/* 122 */ +/***/ (function(module, exports) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ @@ -15315,7 +15292,6 @@ // TODO: Replace this with ES6: var ReactInstanceMap = new Map(); var ReactInstanceMap = { - /** * This API should be called `delete` but we'd have to make sure to always * transform these to strings for IE support. When this transform is fully @@ -15336,34 +15312,31 @@ set: function (key, value) { key._reactInternalInstance = value; } - }; module.exports = ReactInstanceMap; -/***/ }, -/* 127 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 123 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2014-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2014-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var ReactReconciler = __webpack_require__(69); + var ReactReconciler = __webpack_require__(64); - var instantiateReactComponent = __webpack_require__(128); - var KeyEscapeUtils = __webpack_require__(139); - var shouldUpdateReactComponent = __webpack_require__(135); - var traverseAllChildren = __webpack_require__(140); - var warning = __webpack_require__(54); + var instantiateReactComponent = __webpack_require__(124); + var KeyEscapeUtils = __webpack_require__(134); + var shouldUpdateReactComponent = __webpack_require__(130); + var traverseAllChildren = __webpack_require__(135); + var warning = __webpack_require__(8); var ReactComponentTreeHook; @@ -15373,7 +15346,7 @@ // https://github.com/facebook/react/issues/7240 // Remove the inline requires when we don't need them anymore: // https://github.com/facebook/react/pull/7178 - ReactComponentTreeHook = __webpack_require__(26); + ReactComponentTreeHook = __webpack_require__(24); } function instantiateChild(childInstances, child, name, selfDebugID) { @@ -15381,7 +15354,7 @@ var keyUnique = childInstances[name] === undefined; if (process.env.NODE_ENV !== 'production') { if (!ReactComponentTreeHook) { - ReactComponentTreeHook = __webpack_require__(26); + ReactComponentTreeHook = __webpack_require__(24); } if (!keyUnique) { process.env.NODE_ENV !== 'production' ? warning(false, 'flattenChildren(...): Encountered two children with the same key, ' + '`%s`. Child keys must be unique; when two children share a key, only ' + 'the first child will be used.%s', KeyEscapeUtils.unescape(name), ReactComponentTreeHook.getStackAddendumByID(selfDebugID)) : void 0; @@ -15406,8 +15379,8 @@ * @return {?object} A set of child instances. * @internal */ - instantiateChildren: function (nestedChildNodes, transaction, context, selfDebugID // 0 in production and for roots - ) { + instantiateChildren: function (nestedChildNodes, transaction, context, selfDebugID) // 0 in production and for roots + { if (nestedChildNodes == null) { return null; } @@ -15433,8 +15406,8 @@ * @return {?object} A new set of child instances. * @internal */ - updateChildren: function (prevChildren, nextChildren, mountImages, removedNodes, transaction, hostParent, hostContainerInfo, context, selfDebugID // 0 in production and for roots - ) { + updateChildren: function (prevChildren, nextChildren, mountImages, removedNodes, transaction, hostParent, hostContainerInfo, context, selfDebugID) // 0 in production and for roots + { // We currently don't have a way to track moves here but if we use iterators // instead of for..in we can zip the iterators and check if an item has // moved. @@ -15494,38 +15467,35 @@ } } } - }; module.exports = ReactChildReconciler; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 128 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 124 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var _prodInvariant = __webpack_require__(42), + var _prodInvariant = __webpack_require__(40), _assign = __webpack_require__(4); - var ReactCompositeComponent = __webpack_require__(129); - var ReactEmptyComponent = __webpack_require__(136); - var ReactHostComponent = __webpack_require__(137); + var ReactCompositeComponent = __webpack_require__(125); + var ReactEmptyComponent = __webpack_require__(131); + var ReactHostComponent = __webpack_require__(132); - var getNextDebugID = __webpack_require__(138); - var invariant = __webpack_require__(44); - var warning = __webpack_require__(54); + var getNextDebugID = __webpack_require__(133); + var invariant = __webpack_require__(12); + var warning = __webpack_require__(8); // To avoid a cyclic dependency, we create the final class in this module var ReactCompositeComponentWrapper = function (element) { @@ -15573,7 +15543,7 @@ var info = ''; if (process.env.NODE_ENV !== 'production') { if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) { - info += ' You likely forgot to export your component from the file ' + 'it\'s defined in.'; + info += ' You likely forgot to export your component from the file ' + "it's defined in."; } } info += getDeclarationErrorAddendum(element._owner); @@ -15634,43 +15604,41 @@ module.exports = instantiateReactComponent; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 129 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 125 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var _prodInvariant = __webpack_require__(42), + var _prodInvariant = __webpack_require__(40), _assign = __webpack_require__(4); var React = __webpack_require__(2); - var ReactComponentEnvironment = __webpack_require__(125); - var ReactCurrentOwner = __webpack_require__(10); - var ReactErrorUtils = __webpack_require__(53); - var ReactInstanceMap = __webpack_require__(126); - var ReactInstrumentation = __webpack_require__(72); - var ReactNodeTypes = __webpack_require__(130); - var ReactReconciler = __webpack_require__(69); + var ReactComponentEnvironment = __webpack_require__(121); + var ReactCurrentOwner = __webpack_require__(17); + var ReactErrorUtils = __webpack_require__(50); + var ReactInstanceMap = __webpack_require__(122); + var ReactInstrumentation = __webpack_require__(67); + var ReactNodeTypes = __webpack_require__(126); + var ReactReconciler = __webpack_require__(64); if (process.env.NODE_ENV !== 'production') { - var checkReactTypeSpec = __webpack_require__(131); + var checkReactTypeSpec = __webpack_require__(127); } - var emptyObject = __webpack_require__(133); - var invariant = __webpack_require__(44); - var shallowEqual = __webpack_require__(134); - var shouldUpdateReactComponent = __webpack_require__(135); - var warning = __webpack_require__(54); + var emptyObject = __webpack_require__(11); + var invariant = __webpack_require__(12); + var shallowEqual = __webpack_require__(129); + var shouldUpdateReactComponent = __webpack_require__(130); + var warning = __webpack_require__(8); var CompositeTypes = { ImpureClass: 0, @@ -15757,7 +15725,6 @@ * @lends {ReactCompositeComponent.prototype} */ var ReactCompositeComponent = { - /** * Base constructor for all composite component. * @@ -15853,7 +15820,7 @@ var propsMutated = inst.props !== publicProps; var componentName = Component.displayName || Component.name || 'Component'; - process.env.NODE_ENV !== 'production' ? warning(inst.props === undefined || !propsMutated, '%s(...): When calling super() in `%s`, make sure to pass ' + 'up the same props that your component\'s constructor was passed.', componentName, componentName) : void 0; + process.env.NODE_ENV !== 'production' ? warning(inst.props === undefined || !propsMutated, '%s(...): When calling super() in `%s`, make sure to pass ' + "up the same props that your component's constructor was passed.", componentName, componentName) : void 0; } // These should be set up in the constructor, but as a convenience for @@ -15914,7 +15881,7 @@ }, _constructComponent: function (doConstruct, publicProps, publicContext, updateQueue) { - if (process.env.NODE_ENV !== 'production') { + if (process.env.NODE_ENV !== 'production' && !doConstruct) { ReactCurrentOwner.current = this; try { return this._constructComponentWithoutOwner(doConstruct, publicProps, publicContext, updateQueue); @@ -16535,34 +16502,31 @@ // Stub _instantiateReactComponent: null - }; module.exports = ReactCompositeComponent; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 130 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 126 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * */ 'use strict'; - var _prodInvariant = __webpack_require__(42); + var _prodInvariant = __webpack_require__(40); var React = __webpack_require__(2); - var invariant = __webpack_require__(44); + var invariant = __webpack_require__(12); var ReactNodeTypes = { HOST: 0, @@ -16586,29 +16550,27 @@ module.exports = ReactNodeTypes; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 131 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 127 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var _prodInvariant = __webpack_require__(42); + var _prodInvariant = __webpack_require__(40); - var ReactPropTypeLocationNames = __webpack_require__(132); - var ReactPropTypesSecret = __webpack_require__(120); + var ReactPropTypeLocationNames = __webpack_require__(128); + var ReactPropTypesSecret = __webpack_require__(116); - var invariant = __webpack_require__(44); - var warning = __webpack_require__(54); + var invariant = __webpack_require__(12); + var warning = __webpack_require__(8); var ReactComponentTreeHook; @@ -16618,7 +16580,7 @@ // https://github.com/facebook/react/issues/7240 // Remove the inline requires when we don't need them anymore: // https://github.com/facebook/react/pull/7178 - ReactComponentTreeHook = __webpack_require__(26); + ReactComponentTreeHook = __webpack_require__(24); } var loggedTypeFailures = {}; @@ -16660,7 +16622,7 @@ if (process.env.NODE_ENV !== 'production') { if (!ReactComponentTreeHook) { - ReactComponentTreeHook = __webpack_require__(26); + ReactComponentTreeHook = __webpack_require__(24); } if (debugID !== null) { componentStackInfo = ReactComponentTreeHook.getStackAddendumByID(debugID); @@ -16678,17 +16640,15 @@ module.exports = checkReactTypeSpec; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 132 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 128 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * */ @@ -16708,42 +16668,15 @@ module.exports = ReactPropTypeLocationNames; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 133 */ -/***/ 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'; - - var emptyObject = {}; - - if (process.env.NODE_ENV !== 'production') { - Object.freeze(emptyObject); - } - - module.exports = emptyObject; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) - -/***/ }, -/* 134 */ -/***/ function(module, exports) { +/***/ }), +/* 129 */ +/***/ (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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * @typechecks * @@ -16805,17 +16738,15 @@ module.exports = shallowEqual; -/***/ }, -/* 135 */ -/***/ function(module, exports) { +/***/ }), +/* 130 */ +/***/ (function(module, exports) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ @@ -16851,17 +16782,15 @@ module.exports = shouldUpdateReactComponent; -/***/ }, -/* 136 */ -/***/ function(module, exports) { +/***/ }), +/* 131 */ +/***/ (function(module, exports) { /** - * Copyright 2014-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2014-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ @@ -16885,25 +16814,23 @@ module.exports = ReactEmptyComponent; -/***/ }, -/* 137 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 132 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2014-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2014-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var _prodInvariant = __webpack_require__(42); + var _prodInvariant = __webpack_require__(40); - var invariant = __webpack_require__(44); + var invariant = __webpack_require__(12); var genericComponentClass = null; var textComponentClass = null; @@ -16958,17 +16885,15 @@ module.exports = ReactHostComponent; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 138 */ -/***/ function(module, exports) { +/***/ }), +/* 133 */ +/***/ (function(module, exports) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * */ @@ -16983,17 +16908,15 @@ module.exports = getNextDebugID; -/***/ }, -/* 139 */ -/***/ function(module, exports) { +/***/ }), +/* 134 */ +/***/ (function(module, exports) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * */ @@ -17046,31 +16969,29 @@ module.exports = KeyEscapeUtils; -/***/ }, -/* 140 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 135 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var _prodInvariant = __webpack_require__(42); + var _prodInvariant = __webpack_require__(40); - var ReactCurrentOwner = __webpack_require__(10); - var REACT_ELEMENT_TYPE = __webpack_require__(141); + var ReactCurrentOwner = __webpack_require__(17); + var REACT_ELEMENT_TYPE = __webpack_require__(136); - var getIteratorFn = __webpack_require__(142); - var invariant = __webpack_require__(44); - var KeyEscapeUtils = __webpack_require__(139); - var warning = __webpack_require__(54); + var getIteratorFn = __webpack_require__(137); + var invariant = __webpack_require__(12); + var KeyEscapeUtils = __webpack_require__(134); + var warning = __webpack_require__(8); var SEPARATOR = '.'; var SUBSEPARATOR = ':'; @@ -17183,7 +17104,7 @@ if (process.env.NODE_ENV !== 'production') { addendum = ' If you meant to render a collection of children, use an array ' + 'instead or wrap the object using createFragment(object) from the ' + 'React add-ons.'; if (children._isReactElement) { - addendum = ' It looks like you\'re using an element created by a different ' + 'version of React. Make sure to use only one copy of React.'; + addendum = " It looks like you're using an element created by a different " + 'version of React. Make sure to use only one copy of React.'; } if (ReactCurrentOwner.current) { var name = ReactCurrentOwner.current.getName(); @@ -17227,17 +17148,15 @@ module.exports = traverseAllChildren; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 141 */ -/***/ function(module, exports) { +/***/ }), +/* 136 */ +/***/ (function(module, exports) { /** - * Copyright 2014-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2014-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * */ @@ -17251,17 +17170,15 @@ module.exports = REACT_ELEMENT_TYPE; -/***/ }, -/* 142 */ -/***/ function(module, exports) { +/***/ }), +/* 137 */ +/***/ (function(module, exports) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * */ @@ -17296,26 +17213,24 @@ module.exports = getIteratorFn; -/***/ }, -/* 143 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 138 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * */ 'use strict'; - var KeyEscapeUtils = __webpack_require__(139); - var traverseAllChildren = __webpack_require__(140); - var warning = __webpack_require__(54); + var KeyEscapeUtils = __webpack_require__(134); + var traverseAllChildren = __webpack_require__(135); + var warning = __webpack_require__(8); var ReactComponentTreeHook; @@ -17325,7 +17240,7 @@ // https://github.com/facebook/react/issues/7240 // Remove the inline requires when we don't need them anymore: // https://github.com/facebook/react/pull/7178 - ReactComponentTreeHook = __webpack_require__(26); + ReactComponentTreeHook = __webpack_require__(24); } /** @@ -17341,7 +17256,7 @@ var keyUnique = result[name] === undefined; if (process.env.NODE_ENV !== 'production') { if (!ReactComponentTreeHook) { - ReactComponentTreeHook = __webpack_require__(26); + ReactComponentTreeHook = __webpack_require__(24); } if (!keyUnique) { process.env.NODE_ENV !== 'production' ? warning(false, 'flattenChildren(...): Encountered two children with the same key, ' + '`%s`. Child keys must be unique; when two children share a key, only ' + 'the first child will be used.%s', KeyEscapeUtils.unescape(name), ReactComponentTreeHook.getStackAddendumByID(selfDebugID)) : void 0; @@ -17377,17 +17292,15 @@ module.exports = flattenChildren; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 144 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 139 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2014-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2014-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ @@ -17395,10 +17308,10 @@ var _assign = __webpack_require__(4); - var PooledClass = __webpack_require__(60); - var Transaction = __webpack_require__(78); - var ReactInstrumentation = __webpack_require__(72); - var ReactServerUpdateQueue = __webpack_require__(145); + var PooledClass = __webpack_require__(55); + var Transaction = __webpack_require__(73); + var ReactInstrumentation = __webpack_require__(67); + var ReactServerUpdateQueue = __webpack_require__(140); /** * Executed within the scope of the `Transaction` instance. Consider these as @@ -17472,17 +17385,15 @@ module.exports = ReactServerRenderingTransaction; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 145 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 140 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2015-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2015-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * */ @@ -17491,9 +17402,9 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - var ReactUpdateQueue = __webpack_require__(146); + var ReactUpdateQueue = __webpack_require__(141); - var warning = __webpack_require__(54); + var warning = __webpack_require__(8); function warnNoop(publicInstance, callerName) { if (process.env.NODE_ENV !== 'production') { @@ -17616,31 +17527,29 @@ module.exports = ReactServerUpdateQueue; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 146 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 141 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2015-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2015-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var _prodInvariant = __webpack_require__(42); + var _prodInvariant = __webpack_require__(40); - var ReactCurrentOwner = __webpack_require__(10); - var ReactInstanceMap = __webpack_require__(126); - var ReactInstrumentation = __webpack_require__(72); - var ReactUpdates = __webpack_require__(66); + var ReactCurrentOwner = __webpack_require__(17); + var ReactInstanceMap = __webpack_require__(122); + var ReactInstrumentation = __webpack_require__(67); + var ReactUpdates = __webpack_require__(61); - var invariant = __webpack_require__(44); - var warning = __webpack_require__(54); + var invariant = __webpack_require__(12); + var warning = __webpack_require__(8); function enqueueUpdate(internalInstance) { ReactUpdates.enqueueUpdate(internalInstance); @@ -17673,7 +17582,7 @@ } if (process.env.NODE_ENV !== 'production') { - process.env.NODE_ENV !== 'production' ? warning(ReactCurrentOwner.current == null, '%s(...): Cannot update during an existing state transition (such as ' + 'within `render` or another component\'s constructor). Render methods ' + 'should be a pure function of props and state; constructor ' + 'side-effects are an anti-pattern, but can be moved to ' + '`componentWillMount`.', callerName) : void 0; + process.env.NODE_ENV !== 'production' ? warning(ReactCurrentOwner.current == null, '%s(...): Cannot update during an existing state transition (such as ' + "within `render` or another component's constructor). Render methods " + 'should be a pure function of props and state; constructor ' + 'side-effects are an anti-pattern, but can be moved to ' + '`componentWillMount`.', callerName) : void 0; } return internalInstance; @@ -17684,7 +17593,6 @@ * reconciliation step. */ var ReactUpdateQueue = { - /** * Checks whether or not this composite component is mounted. * @param {ReactClass} publicInstance The instance we want to test. @@ -17851,23 +17759,20 @@ validateCallback: function (callback, callerName) { !(!callback || typeof callback === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s(...): Expected the last optional `callback` argument to be a function. Instead received: %s.', callerName, formatUnexpectedArgument(callback)) : _prodInvariant('122', callerName, formatUnexpectedArgument(callback)) : void 0; } - }; module.exports = ReactUpdateQueue; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 147 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 142 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2015-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2015-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ @@ -17875,8 +17780,8 @@ var _assign = __webpack_require__(4); - var emptyFunction = __webpack_require__(55); - var warning = __webpack_require__(54); + var emptyFunction = __webpack_require__(9); + var warning = __webpack_require__(8); var validateDOMNesting = emptyFunction; @@ -17984,7 +17889,6 @@ // but case 'option': return tag === '#text'; - // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intd // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-incaption // No special behavior since these rules fall back to "in body" mode for @@ -17993,25 +17897,20 @@ // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intr case 'tr': return tag === 'th' || tag === 'td' || tag === 'style' || tag === 'script' || tag === 'template'; - // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intbody case 'tbody': case 'thead': case 'tfoot': return tag === 'tr' || tag === 'style' || tag === 'script' || tag === 'template'; - // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-incolgroup case 'colgroup': return tag === 'col' || tag === 'template'; - // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intable case 'table': return tag === 'caption' || tag === 'colgroup' || tag === 'tbody' || tag === 'tfoot' || tag === 'thead' || tag === 'style' || tag === 'script' || tag === 'template'; - // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inhead case 'head': return tag === 'base' || tag === 'basefont' || tag === 'bgsound' || tag === 'link' || tag === 'meta' || tag === 'title' || tag === 'noscript' || tag === 'noframes' || tag === 'style' || tag === 'script' || tag === 'template'; - // https://html.spec.whatwg.org/multipage/semantics.html#the-html-element case 'html': return tag === 'head' || tag === 'body'; @@ -18207,7 +18106,7 @@ tagDisplayName = 'Text nodes'; } else { tagDisplayName = 'Whitespace text nodes'; - whitespaceInfo = ' Make sure you don\'t have any extra whitespace between tags on ' + 'each line of your source code.'; + whitespaceInfo = " Make sure you don't have any extra whitespace between tags on " + 'each line of your source code.'; } } else { tagDisplayName = '<' + childTag + '>'; @@ -18239,17 +18138,15 @@ module.exports = validateDOMNesting; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 148 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 143 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2014-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2014-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ @@ -18257,8 +18154,8 @@ var _assign = __webpack_require__(4); - var DOMLazyTree = __webpack_require__(91); - var ReactDOMComponentTree = __webpack_require__(41); + var DOMLazyTree = __webpack_require__(87); + var ReactDOMComponentTree = __webpack_require__(39); var ReactDOMEmptyComponent = function (instantiate) { // ReactCompositeComponent uses this: @@ -18303,25 +18200,23 @@ module.exports = ReactDOMEmptyComponent; -/***/ }, -/* 149 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 144 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2015-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2015-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var _prodInvariant = __webpack_require__(42); + var _prodInvariant = __webpack_require__(40); - var invariant = __webpack_require__(44); + var invariant = __webpack_require__(12); /** * Return the lowest common ancestor of A and B, or null if they are in @@ -18444,32 +18339,30 @@ }; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 150 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 145 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var _prodInvariant = __webpack_require__(42), + var _prodInvariant = __webpack_require__(40), _assign = __webpack_require__(4); - var DOMChildrenOperations = __webpack_require__(90); - var DOMLazyTree = __webpack_require__(91); - var ReactDOMComponentTree = __webpack_require__(41); + var DOMChildrenOperations = __webpack_require__(86); + var DOMLazyTree = __webpack_require__(87); + var ReactDOMComponentTree = __webpack_require__(39); - var escapeTextContentForBrowser = __webpack_require__(96); - var invariant = __webpack_require__(44); - var validateDOMNesting = __webpack_require__(147); + var escapeTextContentForBrowser = __webpack_require__(92); + var invariant = __webpack_require__(12); + var validateDOMNesting = __webpack_require__(142); /** * Text nodes violate a couple assumptions that React makes about components: @@ -18502,7 +18395,6 @@ }; _assign(ReactDOMTextComponent.prototype, { - /** * Creates the markup for this text node. This node is not intended to have * any features besides containing text content. @@ -18607,23 +18499,20 @@ this._commentNodes = null; ReactDOMComponentTree.uncacheNode(this); } - }); module.exports = ReactDOMTextComponent; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 151 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 146 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ @@ -18631,10 +18520,10 @@ var _assign = __webpack_require__(4); - var ReactUpdates = __webpack_require__(66); - var Transaction = __webpack_require__(78); + var ReactUpdates = __webpack_require__(61); + var Transaction = __webpack_require__(73); - var emptyFunction = __webpack_require__(55); + var emptyFunction = __webpack_require__(9); var RESET_BATCHED_UPDATES = { initialize: emptyFunction, @@ -18685,17 +18574,15 @@ module.exports = ReactDefaultBatchingStrategy; -/***/ }, -/* 152 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 147 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ @@ -18703,14 +18590,14 @@ var _assign = __webpack_require__(4); - var EventListener = __webpack_require__(153); - var ExecutionEnvironment = __webpack_require__(58); - var PooledClass = __webpack_require__(60); - var ReactDOMComponentTree = __webpack_require__(41); - var ReactUpdates = __webpack_require__(66); + var EventListener = __webpack_require__(148); + var ExecutionEnvironment = __webpack_require__(53); + var PooledClass = __webpack_require__(55); + var ReactDOMComponentTree = __webpack_require__(39); + var ReactUpdates = __webpack_require__(61); - var getEventTarget = __webpack_require__(79); - var getUnboundedScrollPosition = __webpack_require__(154); + var getEventTarget = __webpack_require__(75); + var getUnboundedScrollPosition = __webpack_require__(149); /** * Find the deepest React component completely containing the root of the @@ -18844,31 +18731,22 @@ module.exports = ReactEventListener; -/***/ }, -/* 153 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 148 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {'use strict'; /** * Copyright (c) 2013-present, Facebook, Inc. * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * @typechecks */ - var emptyFunction = __webpack_require__(55); + var emptyFunction = __webpack_require__(9); /** * Upstream version of event listener. Does not take into account specific @@ -18933,17 +18811,15 @@ module.exports = EventListener; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 154 */ -/***/ function(module, exports) { +/***/ }), +/* 149 */ +/***/ (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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * @typechecks */ @@ -18976,30 +18852,28 @@ module.exports = getUnboundedScrollPosition; -/***/ }, -/* 155 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 150 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var DOMProperty = __webpack_require__(43); - var EventPluginHub = __webpack_require__(50); - var EventPluginUtils = __webpack_require__(52); - var ReactComponentEnvironment = __webpack_require__(125); - var ReactEmptyComponent = __webpack_require__(136); - var ReactBrowserEventEmitter = __webpack_require__(115); - var ReactHostComponent = __webpack_require__(137); - var ReactUpdates = __webpack_require__(66); + var DOMProperty = __webpack_require__(41); + var EventPluginHub = __webpack_require__(47); + var EventPluginUtils = __webpack_require__(49); + var ReactComponentEnvironment = __webpack_require__(121); + var ReactEmptyComponent = __webpack_require__(131); + var ReactBrowserEventEmitter = __webpack_require__(111); + var ReactHostComponent = __webpack_require__(132); + var ReactUpdates = __webpack_require__(61); var ReactInjection = { Component: ReactComponentEnvironment.injection, @@ -19014,17 +18888,15 @@ module.exports = ReactInjection; -/***/ }, -/* 156 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 151 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ @@ -19032,13 +18904,13 @@ var _assign = __webpack_require__(4); - var CallbackQueue = __webpack_require__(67); - var PooledClass = __webpack_require__(60); - var ReactBrowserEventEmitter = __webpack_require__(115); - var ReactInputSelection = __webpack_require__(157); - var ReactInstrumentation = __webpack_require__(72); - var Transaction = __webpack_require__(78); - var ReactUpdateQueue = __webpack_require__(146); + var CallbackQueue = __webpack_require__(62); + var PooledClass = __webpack_require__(55); + var ReactBrowserEventEmitter = __webpack_require__(111); + var ReactInputSelection = __webpack_require__(152); + var ReactInstrumentation = __webpack_require__(67); + var Transaction = __webpack_require__(73); + var ReactUpdateQueue = __webpack_require__(141); /** * Ensures that, when possible, the selection range (currently selected text @@ -19197,27 +19069,25 @@ module.exports = ReactReconcileTransaction; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 157 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 152 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var ReactDOMSelection = __webpack_require__(158); + var ReactDOMSelection = __webpack_require__(153); - var containsNode = __webpack_require__(160); - var focusNode = __webpack_require__(104); - var getActiveElement = __webpack_require__(163); + var containsNode = __webpack_require__(155); + var focusNode = __webpack_require__(100); + var getActiveElement = __webpack_require__(158); function isInDocument(node) { return containsNode(document.documentElement, node); @@ -19230,7 +19100,6 @@ * Input selection module for React. */ var ReactInputSelection = { - hasSelectionCapabilities: function (elem) { var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase(); return nodeName && (nodeName === 'input' && elem.type === 'text' || nodeName === 'textarea' || elem.contentEditable === 'true'); @@ -19325,26 +19194,24 @@ module.exports = ReactInputSelection; -/***/ }, -/* 158 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 153 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var ExecutionEnvironment = __webpack_require__(58); + var ExecutionEnvironment = __webpack_require__(53); - var getNodeForCharacterOffset = __webpack_require__(159); - var getTextContentAccessor = __webpack_require__(61); + var getNodeForCharacterOffset = __webpack_require__(154); + var getTextContentAccessor = __webpack_require__(56); /** * While `isCollapsed` is available on the Selection object and `collapsed` @@ -19541,17 +19408,15 @@ module.exports = ReactDOMSelection; -/***/ }, -/* 159 */ -/***/ function(module, exports) { +/***/ }), +/* 154 */ +/***/ (function(module, exports) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ @@ -19619,24 +19484,22 @@ module.exports = getNodeForCharacterOffset; -/***/ }, -/* 160 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 155 */ +/***/ (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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * */ - var isTextNode = __webpack_require__(161); + var isTextNode = __webpack_require__(156); /*eslint-disable no-bitwise */ @@ -19663,24 +19526,22 @@ module.exports = containsNode; -/***/ }, -/* 161 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 156 */ +/***/ (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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * @typechecks */ - var isNode = __webpack_require__(162); + var isNode = __webpack_require__(157); /** * @param {*} object The object to check. @@ -19692,19 +19553,17 @@ module.exports = isTextNode; -/***/ }, -/* 162 */ -/***/ function(module, exports) { +/***/ }), +/* 157 */ +/***/ (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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * @typechecks */ @@ -19721,19 +19580,17 @@ module.exports = isNode; -/***/ }, -/* 163 */ -/***/ function(module, exports) { +/***/ }), +/* 158 */ +/***/ (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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * @typechecks */ @@ -19764,17 +19621,15 @@ module.exports = getActiveElement; -/***/ }, -/* 164 */ -/***/ function(module, exports) { +/***/ }), +/* 159 */ +/***/ (function(module, exports) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ @@ -20070,31 +19925,29 @@ module.exports = SVGDOMPropertyConfig; -/***/ }, -/* 165 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 160 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var EventPropagators = __webpack_require__(49); - var ExecutionEnvironment = __webpack_require__(58); - var ReactDOMComponentTree = __webpack_require__(41); - var ReactInputSelection = __webpack_require__(157); - var SyntheticEvent = __webpack_require__(63); + var EventPropagators = __webpack_require__(46); + var ExecutionEnvironment = __webpack_require__(53); + var ReactDOMComponentTree = __webpack_require__(39); + var ReactInputSelection = __webpack_require__(152); + var SyntheticEvent = __webpack_require__(58); - var getActiveElement = __webpack_require__(163); - var isTextInputElement = __webpack_require__(81); - var shallowEqual = __webpack_require__(134); + var getActiveElement = __webpack_require__(158); + var isTextInputElement = __webpack_require__(77); + var shallowEqual = __webpack_require__(129); var skipSelectionChangeEvent = ExecutionEnvironment.canUseDOM && 'documentMode' in document && document.documentMode <= 11; @@ -20199,7 +20052,6 @@ * - Fires after user input. */ var SelectEventPlugin = { - eventTypes: eventTypes, extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) { @@ -20223,7 +20075,6 @@ activeElementInst = null; lastSelection = null; break; - // Don't fire the event while the user is dragging. This matches the // semantics of the native select event. case 'topMouseDown': @@ -20233,7 +20084,6 @@ case 'topMouseUp': mouseDown = false; return constructSelectEvent(nativeEvent, nativeEventTarget); - // Chrome and IE fire non-standard event when selection is changed (and // sometimes when it hasn't). IE's event fires out of order with respect // to key and input events on deletion, so we discard it. @@ -20265,43 +20115,41 @@ module.exports = SelectEventPlugin; -/***/ }, -/* 166 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 161 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * */ 'use strict'; - var _prodInvariant = __webpack_require__(42); + var _prodInvariant = __webpack_require__(40); - var EventListener = __webpack_require__(153); - var EventPropagators = __webpack_require__(49); - var ReactDOMComponentTree = __webpack_require__(41); - var SyntheticAnimationEvent = __webpack_require__(167); - var SyntheticClipboardEvent = __webpack_require__(168); - var SyntheticEvent = __webpack_require__(63); - var SyntheticFocusEvent = __webpack_require__(169); - var SyntheticKeyboardEvent = __webpack_require__(170); - var SyntheticMouseEvent = __webpack_require__(84); - var SyntheticDragEvent = __webpack_require__(173); - var SyntheticTouchEvent = __webpack_require__(174); - var SyntheticTransitionEvent = __webpack_require__(175); - var SyntheticUIEvent = __webpack_require__(85); - var SyntheticWheelEvent = __webpack_require__(176); + var EventListener = __webpack_require__(148); + var EventPropagators = __webpack_require__(46); + var ReactDOMComponentTree = __webpack_require__(39); + var SyntheticAnimationEvent = __webpack_require__(162); + var SyntheticClipboardEvent = __webpack_require__(163); + var SyntheticEvent = __webpack_require__(58); + var SyntheticFocusEvent = __webpack_require__(164); + var SyntheticKeyboardEvent = __webpack_require__(165); + var SyntheticMouseEvent = __webpack_require__(80); + var SyntheticDragEvent = __webpack_require__(168); + var SyntheticTouchEvent = __webpack_require__(169); + var SyntheticTransitionEvent = __webpack_require__(170); + var SyntheticUIEvent = __webpack_require__(81); + var SyntheticWheelEvent = __webpack_require__(171); - var emptyFunction = __webpack_require__(55); - var getEventCharCode = __webpack_require__(171); - var invariant = __webpack_require__(44); + var emptyFunction = __webpack_require__(9); + var getEventCharCode = __webpack_require__(166); + var invariant = __webpack_require__(12); /** * Turns @@ -20352,7 +20200,6 @@ } var SimpleEventPlugin = { - eventTypes: eventTypes, extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) { @@ -20492,29 +20339,26 @@ delete onClickListeners[key]; } } - }; module.exports = SimpleEventPlugin; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 167 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 162 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var SyntheticEvent = __webpack_require__(63); + var SyntheticEvent = __webpack_require__(58); /** * @interface Event @@ -20541,23 +20385,21 @@ module.exports = SyntheticAnimationEvent; -/***/ }, -/* 168 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 163 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var SyntheticEvent = __webpack_require__(63); + var SyntheticEvent = __webpack_require__(58); /** * @interface Event @@ -20583,23 +20425,21 @@ module.exports = SyntheticClipboardEvent; -/***/ }, -/* 169 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 164 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var SyntheticUIEvent = __webpack_require__(85); + var SyntheticUIEvent = __webpack_require__(81); /** * @interface FocusEvent @@ -20623,27 +20463,25 @@ module.exports = SyntheticFocusEvent; -/***/ }, -/* 170 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 165 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var SyntheticUIEvent = __webpack_require__(85); + var SyntheticUIEvent = __webpack_require__(81); - var getEventCharCode = __webpack_require__(171); - var getEventKey = __webpack_require__(172); - var getEventModifierState = __webpack_require__(87); + var getEventCharCode = __webpack_require__(166); + var getEventKey = __webpack_require__(167); + var getEventModifierState = __webpack_require__(83); /** * @interface KeyboardEvent @@ -20711,17 +20549,15 @@ module.exports = SyntheticKeyboardEvent; -/***/ }, -/* 171 */ -/***/ function(module, exports) { +/***/ }), +/* 166 */ +/***/ (function(module, exports) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ @@ -20765,41 +20601,39 @@ module.exports = getEventCharCode; -/***/ }, -/* 172 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 167 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var getEventCharCode = __webpack_require__(171); + var getEventCharCode = __webpack_require__(166); /** * Normalization of deprecated HTML5 `key` values * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names */ var normalizeKey = { - 'Esc': 'Escape', - 'Spacebar': ' ', - 'Left': 'ArrowLeft', - 'Up': 'ArrowUp', - 'Right': 'ArrowRight', - 'Down': 'ArrowDown', - 'Del': 'Delete', - 'Win': 'OS', - 'Menu': 'ContextMenu', - 'Apps': 'ContextMenu', - 'Scroll': 'ScrollLock', - 'MozPrintableKey': 'Unidentified' + Esc: 'Escape', + Spacebar: ' ', + Left: 'ArrowLeft', + Up: 'ArrowUp', + Right: 'ArrowRight', + Down: 'ArrowDown', + Del: 'Delete', + Win: 'OS', + Menu: 'ContextMenu', + Apps: 'ContextMenu', + Scroll: 'ScrollLock', + MozPrintableKey: 'Unidentified' }; /** @@ -20829,8 +20663,18 @@ 40: 'ArrowDown', 45: 'Insert', 46: 'Delete', - 112: 'F1', 113: 'F2', 114: 'F3', 115: 'F4', 116: 'F5', 117: 'F6', - 118: 'F7', 119: 'F8', 120: 'F9', 121: 'F10', 122: 'F11', 123: 'F12', + 112: 'F1', + 113: 'F2', + 114: 'F3', + 115: 'F4', + 116: 'F5', + 117: 'F6', + 118: 'F7', + 119: 'F8', + 120: 'F9', + 121: 'F10', + 122: 'F11', + 123: 'F12', 144: 'NumLock', 145: 'ScrollLock', 224: 'Meta' @@ -20871,23 +20715,21 @@ module.exports = getEventKey; -/***/ }, -/* 173 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 168 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var SyntheticMouseEvent = __webpack_require__(84); + var SyntheticMouseEvent = __webpack_require__(80); /** * @interface DragEvent @@ -20911,25 +20753,23 @@ module.exports = SyntheticDragEvent; -/***/ }, -/* 174 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 169 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var SyntheticUIEvent = __webpack_require__(85); + var SyntheticUIEvent = __webpack_require__(81); - var getEventModifierState = __webpack_require__(87); + var getEventModifierState = __webpack_require__(83); /** * @interface TouchEvent @@ -20960,23 +20800,21 @@ module.exports = SyntheticTouchEvent; -/***/ }, -/* 175 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 170 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var SyntheticEvent = __webpack_require__(63); + var SyntheticEvent = __webpack_require__(58); /** * @interface Event @@ -21003,23 +20841,21 @@ module.exports = SyntheticTransitionEvent; -/***/ }, -/* 176 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 171 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var SyntheticMouseEvent = __webpack_require__(84); + var SyntheticMouseEvent = __webpack_require__(80); /** * @interface WheelEvent @@ -21027,15 +20863,12 @@ */ var WheelEventInterface = { deltaX: function (event) { - return 'deltaX' in event ? event.deltaX : - // Fallback to `wheelDeltaX` for Webkit and normalize (right is positive). + return 'deltaX' in event ? event.deltaX : // Fallback to `wheelDeltaX` for Webkit and normalize (right is positive). 'wheelDeltaX' in event ? -event.wheelDeltaX : 0; }, deltaY: function (event) { - return 'deltaY' in event ? event.deltaY : - // Fallback to `wheelDeltaY` for Webkit and normalize (down is positive). - 'wheelDeltaY' in event ? -event.wheelDeltaY : - // Fallback to `wheelDelta` for IE<9 and normalize (down is positive). + return 'deltaY' in event ? event.deltaY : // Fallback to `wheelDeltaY` for Webkit and normalize (down is positive). + 'wheelDeltaY' in event ? -event.wheelDeltaY : // Fallback to `wheelDelta` for IE<9 and normalize (down is positive). 'wheelDelta' in event ? -event.wheelDelta : 0; }, deltaZ: null, @@ -21061,46 +20894,44 @@ module.exports = SyntheticWheelEvent; -/***/ }, -/* 177 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 172 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var _prodInvariant = __webpack_require__(42); + var _prodInvariant = __webpack_require__(40); - var DOMLazyTree = __webpack_require__(91); - var DOMProperty = __webpack_require__(43); + var DOMLazyTree = __webpack_require__(87); + var DOMProperty = __webpack_require__(41); var React = __webpack_require__(2); - var ReactBrowserEventEmitter = __webpack_require__(115); - var ReactCurrentOwner = __webpack_require__(10); - var ReactDOMComponentTree = __webpack_require__(41); - var ReactDOMContainerInfo = __webpack_require__(178); - var ReactDOMFeatureFlags = __webpack_require__(179); - var ReactFeatureFlags = __webpack_require__(68); - var ReactInstanceMap = __webpack_require__(126); - var ReactInstrumentation = __webpack_require__(72); - var ReactMarkupChecksum = __webpack_require__(180); - var ReactReconciler = __webpack_require__(69); - var ReactUpdateQueue = __webpack_require__(146); - var ReactUpdates = __webpack_require__(66); - - var emptyObject = __webpack_require__(133); - var instantiateReactComponent = __webpack_require__(128); - var invariant = __webpack_require__(44); - var setInnerHTML = __webpack_require__(93); - var shouldUpdateReactComponent = __webpack_require__(135); - var warning = __webpack_require__(54); + var ReactBrowserEventEmitter = __webpack_require__(111); + var ReactCurrentOwner = __webpack_require__(17); + var ReactDOMComponentTree = __webpack_require__(39); + var ReactDOMContainerInfo = __webpack_require__(173); + var ReactDOMFeatureFlags = __webpack_require__(174); + var ReactFeatureFlags = __webpack_require__(63); + var ReactInstanceMap = __webpack_require__(122); + var ReactInstrumentation = __webpack_require__(67); + var ReactMarkupChecksum = __webpack_require__(175); + var ReactReconciler = __webpack_require__(64); + var ReactUpdateQueue = __webpack_require__(141); + var ReactUpdates = __webpack_require__(61); + + var emptyObject = __webpack_require__(11); + var instantiateReactComponent = __webpack_require__(124); + var invariant = __webpack_require__(12); + var setInnerHTML = __webpack_require__(89); + var shouldUpdateReactComponent = __webpack_require__(130); + var warning = __webpack_require__(8); var ATTR_NAME = DOMProperty.ID_ATTRIBUTE_NAME; var ROOT_ATTR_NAME = DOMProperty.ROOT_ATTRIBUTE_NAME; @@ -21323,7 +21154,6 @@ * Inside of `container`, the first element rendered is the "reactRoot". */ var ReactMount = { - TopLevelWrapper: TopLevelWrapper, /** @@ -21412,13 +21242,14 @@ _renderSubtreeIntoContainer: function (parentComponent, nextElement, container, callback) { ReactUpdateQueue.validateCallback(callback, 'ReactDOM.render'); - !React.isValidElement(nextElement) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactDOM.render(): Invalid component element.%s', typeof nextElement === 'string' ? ' Instead of passing a string like \'div\', pass ' + 'React.createElement(\'div\') or
.' : typeof nextElement === 'function' ? ' Instead of passing a class like Foo, pass ' + 'React.createElement(Foo) or .' : - // Check if it quacks like an element - nextElement != null && nextElement.props !== undefined ? ' This may be caused by unintentionally loading two independent ' + 'copies of React.' : '') : _prodInvariant('39', typeof nextElement === 'string' ? ' Instead of passing a string like \'div\', pass ' + 'React.createElement(\'div\') or
.' : typeof nextElement === 'function' ? ' Instead of passing a class like Foo, pass ' + 'React.createElement(Foo) or .' : nextElement != null && nextElement.props !== undefined ? ' This may be caused by unintentionally loading two independent ' + 'copies of React.' : '') : void 0; + !React.isValidElement(nextElement) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactDOM.render(): Invalid component element.%s', typeof nextElement === 'string' ? " Instead of passing a string like 'div', pass " + "React.createElement('div') or
." : typeof nextElement === 'function' ? ' Instead of passing a class like Foo, pass ' + 'React.createElement(Foo) or .' : // Check if it quacks like an element + nextElement != null && nextElement.props !== undefined ? ' This may be caused by unintentionally loading two independent ' + 'copies of React.' : '') : _prodInvariant('39', typeof nextElement === 'string' ? " Instead of passing a string like 'div', pass " + "React.createElement('div') or
." : typeof nextElement === 'function' ? ' Instead of passing a class like Foo, pass ' + 'React.createElement(Foo) or .' : nextElement != null && nextElement.props !== undefined ? ' This may be caused by unintentionally loading two independent ' + 'copies of React.' : '') : void 0; process.env.NODE_ENV !== 'production' ? warning(!container || !container.tagName || container.tagName.toUpperCase() !== 'BODY', 'render(): Rendering components directly into document.body is ' + 'discouraged, since its children are often manipulated by third-party ' + 'scripts and browser extensions. This may lead to subtle ' + 'reconciliation issues. Try rendering into a container element created ' + 'for your app.') : void 0; - var nextWrappedElement = React.createElement(TopLevelWrapper, { child: nextElement }); + var nextWrappedElement = React.createElement(TopLevelWrapper, { + child: nextElement + }); var nextContext; if (parentComponent) { @@ -21507,7 +21338,7 @@ !isValidContainer(container) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'unmountComponentAtNode(...): Target container is not a DOM element.') : _prodInvariant('40') : void 0; if (process.env.NODE_ENV !== 'production') { - process.env.NODE_ENV !== 'production' ? warning(!nodeIsRenderedByOtherInstance(container), 'unmountComponentAtNode(): The node you\'re attempting to unmount ' + 'was rendered by another copy of React.') : void 0; + process.env.NODE_ENV !== 'production' ? warning(!nodeIsRenderedByOtherInstance(container), "unmountComponentAtNode(): The node you're attempting to unmount " + 'was rendered by another copy of React.') : void 0; } var prevComponent = getTopLevelWrapperInContainer(container); @@ -21520,7 +21351,7 @@ var isContainerReactRoot = container.nodeType === 1 && container.hasAttribute(ROOT_ATTR_NAME); if (process.env.NODE_ENV !== 'production') { - process.env.NODE_ENV !== 'production' ? warning(!containerHasNonRootReactChild, 'unmountComponentAtNode(): The node you\'re attempting to unmount ' + 'was rendered by React and is not a top-level container. %s', isContainerReactRoot ? 'You may have accidentally passed in a React root node instead ' + 'of its container.' : 'Instead, have the parent component update its state and ' + 'rerender in order to remove this component.') : void 0; + process.env.NODE_ENV !== 'production' ? warning(!containerHasNonRootReactChild, "unmountComponentAtNode(): The node you're attempting to unmount " + 'was rendered by React and is not a top-level container. %s', isContainerReactRoot ? 'You may have accidentally passed in a React root node instead ' + 'of its container.' : 'Instead, have the parent component update its state and ' + 'rerender in order to remove this component.') : void 0; } return false; @@ -21604,23 +21435,21 @@ module.exports = ReactMount; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 178 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 173 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var validateDOMNesting = __webpack_require__(147); + var validateDOMNesting = __webpack_require__(142); var DOC_NODE_TYPE = 9; @@ -21642,17 +21471,15 @@ module.exports = ReactDOMContainerInfo; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 179 */ -/***/ function(module, exports) { +/***/ }), +/* 174 */ +/***/ (function(module, exports) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ @@ -21665,23 +21492,21 @@ module.exports = ReactDOMFeatureFlags; -/***/ }, -/* 180 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 175 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var adler32 = __webpack_require__(181); + var adler32 = __webpack_require__(176); var TAG_END = /\/?>/; var COMMENT_START = /^<\!\-\-/; @@ -21719,17 +21544,15 @@ module.exports = ReactMarkupChecksum; -/***/ }, -/* 181 */ -/***/ function(module, exports) { +/***/ }), +/* 176 */ +/***/ (function(module, exports) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * * */ @@ -21767,49 +21590,45 @@ module.exports = adler32; -/***/ }, -/* 182 */ -/***/ function(module, exports) { +/***/ }), +/* 177 */ +/***/ (function(module, exports) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - module.exports = '15.5.4'; + module.exports = '15.6.2'; -/***/ }, -/* 183 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 178 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var _prodInvariant = __webpack_require__(42); + var _prodInvariant = __webpack_require__(40); - var ReactCurrentOwner = __webpack_require__(10); - var ReactDOMComponentTree = __webpack_require__(41); - var ReactInstanceMap = __webpack_require__(126); + var ReactCurrentOwner = __webpack_require__(17); + var ReactDOMComponentTree = __webpack_require__(39); + var ReactInstanceMap = __webpack_require__(122); - var getHostComponentFromComposite = __webpack_require__(184); - var invariant = __webpack_require__(44); - var warning = __webpack_require__(54); + var getHostComponentFromComposite = __webpack_require__(179); + var invariant = __webpack_require__(12); + var warning = __webpack_require__(8); /** * Returns the DOM node rendered by this element. @@ -21850,23 +21669,21 @@ module.exports = findDOMNode; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 184 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 179 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var ReactNodeTypes = __webpack_require__(130); + var ReactNodeTypes = __webpack_require__(126); function getHostComponentFromComposite(inst) { var type; @@ -21884,47 +21701,43 @@ module.exports = getHostComponentFromComposite; -/***/ }, -/* 185 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 180 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var ReactMount = __webpack_require__(177); + var ReactMount = __webpack_require__(172); module.exports = ReactMount.renderSubtreeIntoContainer; -/***/ }, -/* 186 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 181 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var DOMProperty = __webpack_require__(43); - var EventPluginRegistry = __webpack_require__(51); - var ReactComponentTreeHook = __webpack_require__(26); + var DOMProperty = __webpack_require__(41); + var EventPluginRegistry = __webpack_require__(48); + var ReactComponentTreeHook = __webpack_require__(24); - var warning = __webpack_require__(54); + var warning = __webpack_require__(8); if (process.env.NODE_ENV !== 'production') { var reactProps = { @@ -22021,25 +21834,23 @@ module.exports = ReactDOMUnknownPropertyHook; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 187 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 182 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var ReactComponentTreeHook = __webpack_require__(26); + var ReactComponentTreeHook = __webpack_require__(24); - var warning = __webpack_require__(54); + var warning = __webpack_require__(8); var didWarnValueNull = false; @@ -22069,26 +21880,24 @@ module.exports = ReactDOMNullInputValuePropHook; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 188 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 183 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. * */ 'use strict'; - var DOMProperty = __webpack_require__(43); - var ReactComponentTreeHook = __webpack_require__(26); + var DOMProperty = __webpack_require__(41); + var ReactComponentTreeHook = __webpack_require__(24); - var warning = __webpack_require__(54); + var warning = __webpack_require__(8); var warnedProperties = {}; var rARIA = new RegExp('^(aria)-[' + DOMProperty.ATTRIBUTE_NAME_CHAR + ']*$'); @@ -22167,9 +21976,9 @@ module.exports = ReactDOMInvalidARIAHook; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 189 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 184 */ +/***/ (function(module, exports, __webpack_require__) { 'use strict'; @@ -22185,31 +21994,31 @@ var _react2 = _interopRequireDefault(_react); - var _main = __webpack_require__(190); + var _main = __webpack_require__(185); var _main2 = _interopRequireDefault(_main); - var _Step = __webpack_require__(203); + var _Step = __webpack_require__(198); var _Step2 = _interopRequireDefault(_Step); - var _Step3 = __webpack_require__(204); + var _Step3 = __webpack_require__(199); var _Step4 = _interopRequireDefault(_Step3); - var _Step5 = __webpack_require__(205); + var _Step5 = __webpack_require__(200); var _Step6 = _interopRequireDefault(_Step5); - var _Step7 = __webpack_require__(206); + var _Step7 = __webpack_require__(201); var _Step8 = _interopRequireDefault(_Step7); - var _Step9 = __webpack_require__(335); + var _Step9 = __webpack_require__(332); var _Step10 = _interopRequireDefault(_Step9); - var _Step11 = __webpack_require__(336); + var _Step11 = __webpack_require__(333); var _Step12 = _interopRequireDefault(_Step11); @@ -22312,9 +22121,9 @@ exports.default = Example; -/***/ }, -/* 190 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 185 */ +/***/ (function(module, exports, __webpack_require__) { 'use strict'; @@ -22322,8 +22131,6 @@ value: true }); - var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); @@ -22332,11 +22139,11 @@ var _react2 = _interopRequireDefault(_react); - var _propTypes = __webpack_require__(191); + var _propTypes = __webpack_require__(186); var _propTypes2 = _interopRequireDefault(_propTypes); - var _promise = __webpack_require__(193); + var _promise = __webpack_require__(188); var _promise2 = _interopRequireDefault(_promise); @@ -22494,76 +22301,70 @@ // a child step wants to invoke a jump between steps. in this case 'evt' is the numeric step number and not the JS event this.setNavState(evt); } else { - var _ret = function () { - // the main navigation step ui is invoking a jump between steps - // if stepsNavigation is turned off or user clicked on existing step again (on step 2 and clicked on 2 again) then ignore - if (!_this3.props.stepsNavigation || evt.target.value === _this3.state.compState) { - evt.preventDefault(); - evt.stopPropagation(); + // the main navigation step ui is invoking a jump between steps + // if stepsNavigation is turned off or user clicked on existing step again (on step 2 and clicked on 2 again) then ignore + if (!this.props.stepsNavigation || evt.target.value === this.state.compState) { + evt.preventDefault(); + evt.stopPropagation(); - return { - v: void 0 - }; - } + return; + } - // evt is a react event so we need to persist it as we deal with aync promises which nullifies these events (https://facebook.github.io/react/docs/events.html#event-pooling) - evt.persist(); + // evt is a react event so we need to persist it as we deal with aync promises which nullifies these events (https://facebook.github.io/react/docs/events.html#event-pooling) + evt.persist(); - var movingBack = evt.target.value < _this3.state.compState; // are we trying to move back or front? - var passThroughStepsNotValid = false; // if we are jumping forward, only allow that if inbetween steps are all validated. This flag informs the logic... - var proceed = false; // flag on if we should move on + var movingBack = evt.target.value < this.state.compState; // are we trying to move back or front? + var passThroughStepsNotValid = false; // if we are jumping forward, only allow that if inbetween steps are all validated. This flag informs the logic... + var proceed = false; // flag on if we should move on - _this3.abstractStepMoveAllowedToPromise(movingBack).then(function () { - var valid = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; + this.abstractStepMoveAllowedToPromise(movingBack).then(function () { + var valid = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; - // validation was a success (promise or sync validation). In it was a Promise's resolve() - // ... then proceed will be undefined, so make it true. Or else 'proceed' will carry the true/false value from sync - proceed = valid; + // validation was a success (promise or sync validation). In it was a Promise's resolve() + // ... then proceed will be undefined, so make it true. Or else 'proceed' will carry the true/false value from sync + proceed = valid; - if (!movingBack) { - _this3.updateStepValidationFlag(proceed); - } + if (!movingBack) { + _this3.updateStepValidationFlag(proceed); + } - if (proceed) { - if (!movingBack) { - // looks like we are moving forward, 'reduce' a new array of step>validated values we need to check and - // ... 'some' that to get a decision on if we should allow moving forward - passThroughStepsNotValid = _this3.props.steps.reduce(function (a, c, i) { - if (i >= _this3.state.compState && i < evt.target.value) { - a.push(c.validated); - } - return a; - }, []).some(function (c) { - return c === false; - }); - } - } - }).catch(function () { - // Promise based validation was a fail (i.e reject()) + if (proceed) { if (!movingBack) { - _this3.updateStepValidationFlag(false); - } - }).then(function () { - // this is like finally(), executes if error no no error - if (proceed && !passThroughStepsNotValid) { - if (evt.target.value === _this3.props.steps.length - 1 && _this3.state.compState === _this3.props.steps.length - 1) { - _this3.setNavState(_this3.props.steps.length); - } else { - _this3.setNavState(evt.target.value); - } - } - }).catch(function (e) { - if (e) { - // see note below called "CatchRethrowing" - // ... plus the finally then() above is what throws the JS Error so we need to catch that here specifically - setTimeout(function () { - throw e; + // looks like we are moving forward, 'reduce' a new array of step>validated values we need to check and + // ... 'some' that to get a decision on if we should allow moving forward + passThroughStepsNotValid = _this3.props.steps.reduce(function (a, c, i) { + if (i >= _this3.state.compState && i < evt.target.value) { + a.push(c.validated); + } + return a; + }, []).some(function (c) { + return c === false; }); } - }); - }(); - - if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === "object") return _ret.v; + } + }).catch(function () { + // Promise based validation was a fail (i.e reject()) + if (!movingBack) { + _this3.updateStepValidationFlag(false); + } + }).then(function () { + // this is like finally(), executes if error no no error + if (proceed && !passThroughStepsNotValid) { + if (evt.target.value === _this3.props.steps.length - 1 && _this3.state.compState === _this3.props.steps.length - 1) { + _this3.setNavState(_this3.props.steps.length); + } else { + _this3.setNavState(evt.target.value); + } + } + }).catch(function (e) { + if (e) { + // see note below called "CatchRethrowing" + // ... plus the finally then() above is what throws the JS Error so we need to catch that here specifically + setTimeout(function () { + throw e; + }); + } + }); } } @@ -22799,7 +22600,7 @@ StepZilla.propTypes = { steps: _propTypes2.default.arrayOf(_propTypes2.default.shape({ - name: _propTypes2.default.string.isRequired, + name: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]).isRequired, component: _propTypes2.default.element.isRequired })).isRequired, showSteps: _propTypes2.default.bool, @@ -22817,17 +22618,15 @@ onStepChange: _propTypes2.default.func }; -/***/ }, -/* 191 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 186 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. */ if (process.env.NODE_ENV !== 'production') { @@ -22845,48 +22644,52 @@ // By explicitly using `prop-types` you are opting into new development behavior. // http://fb.me/prop-types-in-prod var throwOnDirectAccess = true; - module.exports = __webpack_require__(31)(isValidElement, throwOnDirectAccess); + module.exports = __webpack_require__(30)(isValidElement, throwOnDirectAccess); } else { // By explicitly using `prop-types` you are opting into new production behavior. // http://fb.me/prop-types-in-prod - module.exports = __webpack_require__(192)(); + module.exports = __webpack_require__(187)(); } /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 192 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 187 */ +/***/ (function(module, exports, __webpack_require__) { /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. */ 'use strict'; - var emptyFunction = __webpack_require__(32); - var invariant = __webpack_require__(33); + var ReactPropTypesSecret = __webpack_require__(31); + + function emptyFunction() {} module.exports = function() { - // Important! - // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`. - function shim() { - invariant( - false, + function shim(props, propName, componentName, location, propFullName, secret) { + if (secret === ReactPropTypesSecret) { + // It is still safe when called from React. + return; + } + var err = new Error( 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' + 'Use PropTypes.checkPropTypes() to call them. ' + 'Read more at http://fb.me/use-check-prop-types' ); + err.name = 'Invariant Violation'; + throw err; }; shim.isRequired = shim; function getShim() { return shim; }; + // Important! + // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`. var ReactPropTypes = { array: shim, bool: shim, @@ -22904,7 +22707,8 @@ objectOf: getShim, oneOf: getShim, oneOfType: getShim, - shape: getShim + shape: getShim, + exact: getShim }; ReactPropTypes.checkPropTypes = emptyFunction; @@ -22914,36 +22718,36 @@ }; -/***/ }, -/* 193 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 188 */ +/***/ (function(module, exports, __webpack_require__) { 'use strict'; - module.exports = __webpack_require__(194) + module.exports = __webpack_require__(189) -/***/ }, -/* 194 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 189 */ +/***/ (function(module, exports, __webpack_require__) { 'use strict'; - module.exports = __webpack_require__(195); + module.exports = __webpack_require__(190); + __webpack_require__(192); + __webpack_require__(193); + __webpack_require__(194); + __webpack_require__(195); __webpack_require__(197); - __webpack_require__(198); - __webpack_require__(199); - __webpack_require__(200); - __webpack_require__(202); -/***/ }, -/* 195 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 190 */ +/***/ (function(module, exports, __webpack_require__) { 'use strict'; - var asap = __webpack_require__(196); + var asap = __webpack_require__(191); function noop() {} @@ -22999,17 +22803,17 @@ throw new TypeError('Promises must be constructed via new'); } if (typeof fn !== 'function') { - throw new TypeError('not a function'); + throw new TypeError('Promise constructor\'s argument is not a function'); } - this._45 = 0; - this._81 = 0; - this._65 = null; - this._54 = null; + this._40 = 0; + this._65 = 0; + this._55 = null; + this._72 = null; if (fn === noop) return; doResolve(fn, this); } - Promise._10 = null; - Promise._97 = null; + Promise._37 = null; + Promise._87 = null; Promise._61 = noop; Promise.prototype.then = function(onFulfilled, onRejected) { @@ -23027,26 +22831,26 @@ res.then(resolve, reject); handle(self, new Handler(onFulfilled, onRejected, res)); }); - }; + } function handle(self, deferred) { - while (self._81 === 3) { - self = self._65; + while (self._65 === 3) { + self = self._55; } - if (Promise._10) { - Promise._10(self); + if (Promise._37) { + Promise._37(self); } - if (self._81 === 0) { - if (self._45 === 0) { - self._45 = 1; - self._54 = deferred; + if (self._65 === 0) { + if (self._40 === 0) { + self._40 = 1; + self._72 = deferred; return; } - if (self._45 === 1) { - self._45 = 2; - self._54 = [self._54, deferred]; + if (self._40 === 1) { + self._40 = 2; + self._72 = [self._72, deferred]; return; } - self._54.push(deferred); + self._72.push(deferred); return; } handleResolved(self, deferred); @@ -23054,16 +22858,16 @@ function handleResolved(self, deferred) { asap(function() { - var cb = self._81 === 1 ? deferred.onFulfilled : deferred.onRejected; + var cb = self._65 === 1 ? deferred.onFulfilled : deferred.onRejected; if (cb === null) { - if (self._81 === 1) { - resolve(deferred.promise, self._65); + if (self._65 === 1) { + resolve(deferred.promise, self._55); } else { - reject(deferred.promise, self._65); + reject(deferred.promise, self._55); } return; } - var ret = tryCallOne(cb, self._65); + var ret = tryCallOne(cb, self._55); if (ret === IS_ERROR) { reject(deferred.promise, LAST_ERROR); } else { @@ -23091,8 +22895,8 @@ then === self.then && newValue instanceof Promise ) { - self._81 = 3; - self._65 = newValue; + self._65 = 3; + self._55 = newValue; finale(self); return; } else if (typeof then === 'function') { @@ -23100,29 +22904,29 @@ return; } } - self._81 = 1; - self._65 = newValue; + self._65 = 1; + self._55 = newValue; finale(self); } function reject(self, newValue) { - self._81 = 2; - self._65 = newValue; - if (Promise._97) { - Promise._97(self, newValue); + self._65 = 2; + self._55 = newValue; + if (Promise._87) { + Promise._87(self, newValue); } finale(self); } function finale(self) { - if (self._45 === 1) { - handle(self, self._54); - self._54 = null; + if (self._40 === 1) { + handle(self, self._72); + self._72 = null; } - if (self._45 === 2) { - for (var i = 0; i < self._54.length; i++) { - handle(self, self._54[i]); + if (self._40 === 2) { + for (var i = 0; i < self._72.length; i++) { + handle(self, self._72[i]); } - self._54 = null; + self._72 = null; } } @@ -23148,7 +22952,7 @@ if (done) return; done = true; reject(promise, reason); - }) + }); if (!done && res === IS_ERROR) { done = true; reject(promise, LAST_ERROR); @@ -23156,9 +22960,9 @@ } -/***/ }, -/* 196 */ -/***/ function(module, exports) { +/***/ }), +/* 191 */ +/***/ (function(module, exports) { /* WEBPACK VAR INJECTION */(function(global) {"use strict"; @@ -23386,13 +23190,13 @@ /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()))) -/***/ }, -/* 197 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 192 */ +/***/ (function(module, exports, __webpack_require__) { 'use strict'; - var Promise = __webpack_require__(195); + var Promise = __webpack_require__(190); module.exports = Promise; Promise.prototype.done = function (onFulfilled, onRejected) { @@ -23405,13 +23209,13 @@ }; -/***/ }, -/* 198 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 193 */ +/***/ (function(module, exports, __webpack_require__) { 'use strict'; - var Promise = __webpack_require__(195); + var Promise = __webpack_require__(190); module.exports = Promise; Promise.prototype['finally'] = function (f) { @@ -23427,15 +23231,15 @@ }; -/***/ }, -/* 199 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 194 */ +/***/ (function(module, exports, __webpack_require__) { 'use strict'; //This file contains the ES6 extensions to the core Promises/A+ API - var Promise = __webpack_require__(195); + var Promise = __webpack_require__(190); module.exports = Promise; @@ -23450,8 +23254,8 @@ function valuePromise(value) { var p = new Promise(Promise._61); - p._81 = 1; - p._65 = value; + p._65 = 1; + p._55 = value; return p; } Promise.resolve = function (value) { @@ -23488,11 +23292,11 @@ function res(i, val) { if (val && (typeof val === 'object' || typeof val === 'function')) { if (val instanceof Promise && val.then === Promise.prototype.then) { - while (val._81 === 3) { - val = val._65; + while (val._65 === 3) { + val = val._55; } - if (val._81 === 1) return res(i, val._65); - if (val._81 === 2) reject(val._65); + if (val._65 === 1) return res(i, val._55); + if (val._65 === 2) reject(val._55); val.then(function (val) { res(i, val); }, reject); @@ -23540,17 +23344,17 @@ }; -/***/ }, -/* 200 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 195 */ +/***/ (function(module, exports, __webpack_require__) { 'use strict'; // This file contains then/promise specific extensions that are only useful // for node.js interop - var Promise = __webpack_require__(195); - var asap = __webpack_require__(201); + var Promise = __webpack_require__(190); + var asap = __webpack_require__(196); module.exports = Promise; @@ -23564,7 +23368,7 @@ } else { return denodeifyWithoutCount(fn); } - } + }; var callbackFn = ( 'function (err, res) {' + @@ -23659,7 +23463,7 @@ } } } - } + }; Promise.prototype.nodeify = function (callback, ctx) { if (typeof callback != 'function') return this; @@ -23673,17 +23477,17 @@ callback.call(ctx, err); }); }); - } + }; -/***/ }, -/* 201 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 196 */ +/***/ (function(module, exports, __webpack_require__) { "use strict"; // rawAsap provides everything we need except exception management. - var rawAsap = __webpack_require__(196); + var rawAsap = __webpack_require__(191); // RawTasks are recycled to reduce GC churn. var freeTasks = []; // We queue errors to ensure they are thrown in right order (FIFO). @@ -23748,13 +23552,13 @@ }; -/***/ }, -/* 202 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 197 */ +/***/ (function(module, exports, __webpack_require__) { 'use strict'; - var Promise = __webpack_require__(195); + var Promise = __webpack_require__(190); module.exports = Promise; Promise.enableSynchronous = function () { @@ -23771,38 +23575,38 @@ }; Promise.prototype.getValue = function () { - if (this._81 === 3) { - return this._65.getValue(); + if (this._65 === 3) { + return this._55.getValue(); } if (!this.isFulfilled()) { throw new Error('Cannot get a value of an unfulfilled promise.'); } - return this._65; + return this._55; }; Promise.prototype.getReason = function () { - if (this._81 === 3) { - return this._65.getReason(); + if (this._65 === 3) { + return this._55.getReason(); } if (!this.isRejected()) { throw new Error('Cannot get a rejection reason of a non-rejected promise.'); } - return this._65; + return this._55; }; Promise.prototype.getState = function () { - if (this._81 === 3) { - return this._65.getState(); + if (this._65 === 3) { + return this._55.getState(); } - if (this._81 === -1 || this._81 === -2) { + if (this._65 === -1 || this._65 === -2) { return 0; } - return this._81; + return this._65; }; }; @@ -23816,9 +23620,9 @@ }; -/***/ }, -/* 203 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 198 */ +/***/ (function(module, exports, __webpack_require__) { 'use strict'; @@ -23976,9 +23780,9 @@ exports.default = Step1; -/***/ }, -/* 204 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 199 */ +/***/ (function(module, exports, __webpack_require__) { 'use strict'; @@ -24068,9 +23872,9 @@ exports.default = Step2; -/***/ }, -/* 205 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 200 */ +/***/ (function(module, exports, __webpack_require__) { 'use strict'; @@ -24161,7 +23965,8 @@ value: function _validateData(data) { return { genderVal: data.gender != 0, // required: anything besides N/A - emailVal: /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(data.email) }; + emailVal: /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(data.email) // required: regex w3c uses in html5 + }; } }, { key: '_validationErrors', @@ -24317,9 +24122,9 @@ exports.default = Step3; -/***/ }, -/* 206 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 201 */ +/***/ (function(module, exports, __webpack_require__) { 'use strict'; @@ -24335,19 +24140,19 @@ var _react2 = _interopRequireDefault(_react); - var _propTypes = __webpack_require__(191); + var _propTypes = __webpack_require__(186); var _propTypes2 = _interopRequireDefault(_propTypes); - var _reactValidationMixin = __webpack_require__(207); + var _reactValidationMixin = __webpack_require__(202); var _reactValidationMixin2 = _interopRequireDefault(_reactValidationMixin); - var _joiValidationStrategy = __webpack_require__(222); + var _joiValidationStrategy = __webpack_require__(217); var _joiValidationStrategy2 = _interopRequireDefault(_joiValidationStrategy); - var _joi = __webpack_require__(223); + var _joi = __webpack_require__(218); var _joi2 = _interopRequireDefault(_joi); @@ -24533,13 +24338,13 @@ exports.default = (0, _reactValidationMixin2.default)(_joiValidationStrategy2.default)(Step4); -/***/ }, -/* 207 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 202 */ +/***/ (function(module, exports, __webpack_require__) { 'use strict'; - var _validationMixin = __webpack_require__(208); + var _validationMixin = __webpack_require__(203); var _validationMixin2 = _interopRequireDefault(_validationMixin); @@ -24547,9 +24352,9 @@ module.exports = _validationMixin2.default; -/***/ }, -/* 208 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 203 */ +/***/ (function(module, exports, __webpack_require__) { 'use strict'; @@ -24563,23 +24368,23 @@ var _react2 = _interopRequireDefault(_react); - var _invariant = __webpack_require__(209); + var _invariant = __webpack_require__(204); var _invariant2 = _interopRequireDefault(_invariant); - var _lodash = __webpack_require__(210); + var _lodash = __webpack_require__(205); var _lodash2 = _interopRequireDefault(_lodash); - var _validationFactory = __webpack_require__(211); + var _validationFactory = __webpack_require__(206); var _validationFactory2 = _interopRequireDefault(_validationFactory); - var _reactDisplayName = __webpack_require__(221); + var _reactDisplayName = __webpack_require__(216); var _reactDisplayName2 = _interopRequireDefault(_reactDisplayName); - var _utils = __webpack_require__(215); + var _utils = __webpack_require__(210); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -24731,17 +24536,15 @@ }; } -/***/ }, -/* 209 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 204 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-2015, Facebook, Inc. - * All rights reserved. + * Copyright (c) 2013-present, Facebook, Inc. * - * 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. + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. */ 'use strict'; @@ -24789,9 +24592,9 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 210 */ -/***/ function(module, exports) { +/***/ }), +/* 205 */ +/***/ (function(module, exports) { /* WEBPACK VAR INJECTION */(function(global) {/** * lodash (Custom Build) @@ -25728,9 +25531,9 @@ /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()))) -/***/ }, -/* 211 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 206 */ +/***/ (function(module, exports, __webpack_require__) { 'use strict'; @@ -25740,19 +25543,19 @@ exports.default = validationFactory; - var _invariant = __webpack_require__(209); + var _invariant = __webpack_require__(204); var _invariant2 = _interopRequireDefault(_invariant); - var _lodash = __webpack_require__(212); + var _lodash = __webpack_require__(207); var _lodash2 = _interopRequireDefault(_lodash); - var _lodash3 = __webpack_require__(214); + var _lodash3 = __webpack_require__(209); var _lodash4 = _interopRequireDefault(_lodash3); - var _utils = __webpack_require__(215); + var _utils = __webpack_require__(210); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -25780,9 +25583,9 @@ }, _strategy); } -/***/ }, -/* 212 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 207 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(global, module) {/** * lodash (Custom Build) @@ -26367,11 +26170,11 @@ module.exports = isEmpty; - /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(213)(module))) + /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(208)(module))) -/***/ }, -/* 213 */ -/***/ function(module, exports) { +/***/ }), +/* 208 */ +/***/ (function(module, exports) { module.exports = function(module) { if(!module.webpackPolyfill) { @@ -26385,9 +26188,9 @@ } -/***/ }, -/* 214 */ -/***/ function(module, exports) { +/***/ }), +/* 209 */ +/***/ (function(module, exports) { /* WEBPACK VAR INJECTION */(function(global) {/** * lodash (Custom Build) @@ -27323,21 +27126,21 @@ /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()))) -/***/ }, -/* 215 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 210 */ +/***/ (function(module, exports, __webpack_require__) { 'use strict'; - var _defined = __webpack_require__(216); + var _defined = __webpack_require__(211); var _defined2 = _interopRequireDefault(_defined); - var _isSome = __webpack_require__(217); + var _isSome = __webpack_require__(212); var _isSome2 = _interopRequireDefault(_isSome); - var _flattenErrorsObject = __webpack_require__(218); + var _flattenErrorsObject = __webpack_require__(213); var _flattenErrorsObject2 = _interopRequireDefault(_flattenErrorsObject); @@ -27349,16 +27152,16 @@ flattenErrorsObject: _flattenErrorsObject2.default }; -/***/ }, -/* 216 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 211 */ +/***/ (function(module, exports, __webpack_require__) { 'use strict'; exports.__esModule = true; exports.default = defined; - var _isSome = __webpack_require__(217); + var _isSome = __webpack_require__(212); var _isSome2 = _interopRequireDefault(_isSome); @@ -27377,9 +27180,9 @@ return false; } -/***/ }, -/* 217 */ -/***/ function(module, exports) { +/***/ }), +/* 212 */ +/***/ (function(module, exports) { "use strict"; @@ -27398,20 +27201,20 @@ return false; } -/***/ }, -/* 218 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 213 */ +/***/ (function(module, exports, __webpack_require__) { 'use strict'; exports.__esModule = true; exports.default = flattenErrorsObject; - var _lodash = __webpack_require__(219); + var _lodash = __webpack_require__(214); var _lodash2 = _interopRequireDefault(_lodash); - var _lodash3 = __webpack_require__(220); + var _lodash3 = __webpack_require__(215); var _lodash4 = _interopRequireDefault(_lodash3); @@ -27430,9 +27233,9 @@ })); } -/***/ }, -/* 219 */ -/***/ function(module, exports) { +/***/ }), +/* 214 */ +/***/ (function(module, exports) { /** * lodash (Custom Build) @@ -27903,9 +27706,9 @@ module.exports = values; -/***/ }, -/* 220 */ -/***/ function(module, exports) { +/***/ }), +/* 215 */ +/***/ (function(module, exports) { /* WEBPACK VAR INJECTION */(function(global) {/** * lodash (Custom Build) @@ -28259,9 +28062,9 @@ /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()))) -/***/ }, -/* 221 */ -/***/ function(module, exports) { +/***/ }), +/* 216 */ +/***/ (function(module, exports) { 'use strict'; @@ -28272,9 +28075,9 @@ exports.default = getDisplayName; -/***/ }, -/* 222 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 217 */ +/***/ (function(module, exports, __webpack_require__) { 'use strict'; @@ -28284,31 +28087,31 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - var _joi = __webpack_require__(223); + var _joi = __webpack_require__(218); var _joi2 = _interopRequireDefault(_joi); - var _lodashSet = __webpack_require__(308); + var _lodashSet = __webpack_require__(305); var _lodashSet2 = _interopRequireDefault(_lodashSet); - var _lodashGet = __webpack_require__(311); + var _lodashGet = __webpack_require__(308); var _lodashGet2 = _interopRequireDefault(_lodashGet); - var _lodashIsempty = __webpack_require__(313); + var _lodashIsempty = __webpack_require__(310); var _lodashIsempty2 = _interopRequireDefault(_lodashIsempty); - var _lodashCompose = __webpack_require__(319); + var _lodashCompose = __webpack_require__(316); var _lodashCompose2 = _interopRequireDefault(_lodashCompose); - var _invariant = __webpack_require__(209); + var _invariant = __webpack_require__(204); var _invariant2 = _interopRequireDefault(_invariant); - var _utils = __webpack_require__(321); + var _utils = __webpack_require__(318); exports['default'] = function (joiOptions) { return { @@ -28339,33 +28142,33 @@ module.exports = exports['default']; -/***/ }, -/* 223 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 218 */ +/***/ (function(module, exports, __webpack_require__) { 'use strict'; // Load modules - const Hoek = __webpack_require__(224); - const Any = __webpack_require__(285); - const Cast = __webpack_require__(290); - const Errors = __webpack_require__(287); - const Lazy = __webpack_require__(304); - const Ref = __webpack_require__(286); + const Hoek = __webpack_require__(219); + const Any = __webpack_require__(282); + const Cast = __webpack_require__(287); + const Errors = __webpack_require__(284); + const Lazy = __webpack_require__(301); + const Ref = __webpack_require__(283); // Declare internals const internals = { - alternatives: __webpack_require__(300), - array: __webpack_require__(305), - boolean: __webpack_require__(299), - binary: __webpack_require__(306), - date: __webpack_require__(291), - number: __webpack_require__(298), - object: __webpack_require__(301), - string: __webpack_require__(292) + alternatives: __webpack_require__(297), + array: __webpack_require__(302), + boolean: __webpack_require__(296), + binary: __webpack_require__(303), + date: __webpack_require__(288), + number: __webpack_require__(295), + object: __webpack_require__(298), + string: __webpack_require__(289) }; @@ -28496,12 +28299,16 @@ const error = result.error; if (error) { if (!message) { - error.message = error.annotate(); + if (typeof error.annotate === 'function') { + error.message = error.annotate(); + } throw error; } if (!(message instanceof Error)) { - error.message = message + ' ' + error.annotate(); + if (typeof error.annotate === 'function') { + error.message = `${message} ${error.annotate()}`; + } throw error; } @@ -28547,10 +28354,18 @@ this.assert(extensions, root.extensionsSchema); - const joi = Object.create(this); + const joi = Object.create(this.any()); + Object.assign(joi, this); for (let i = 0; i < extensions.length; ++i) { - const extension = extensions[i]; + let extension = extensions[i]; + + if (typeof extension === 'function') { + extension = extension(joi); + } + + this.assert(extension, root.extensionSchema); + const base = (extension.base || this.any()).clone(); // Cloning because we're going to override language afterwards const ctor = base.constructor; const type = class extends ctor { // eslint-disable-line no-loop-func @@ -28663,7 +28478,11 @@ } if (rule.setup) { - rule.setup.call(schema, arg); + const newSchema = rule.setup.call(schema, arg); + if (newSchema !== undefined) { + Hoek.assert(newSchema instanceof Any, `Setup of extension Joi.${this._type}().${rule.name}() must return undefined or a Joi object`); + schema = newSchema; + } } return schema; @@ -28689,7 +28508,7 @@ return joi; }; - root.extensionsSchema = internals.array.items(internals.object.keys({ + root.extensionSchema = internals.object.keys({ base: internals.object.type(Any, 'Joi object'), name: internals.string.required(), coerce: internals.object._func().arity(3), @@ -28706,9 +28525,11 @@ ], description: [internals.string, internals.object._func().arity(1)] }).or('setup', 'validate')) - })).strict(); + }).strict(); + + root.extensionsSchema = internals.array.items([internals.object, internals.object._func().arity(1)]).strict(); - root.version = __webpack_require__(307).version; + root.version = __webpack_require__(304).version; return root; }; @@ -28717,18 +28538,18 @@ module.exports = internals.root(); -/***/ }, -/* 224 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 219 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(Buffer, process) {'use strict'; // Load modules - const Crypto = __webpack_require__(229); - const Path = __webpack_require__(283); - const Util = __webpack_require__(236); - const Escape = __webpack_require__(284); + const Crypto = __webpack_require__(224); + const Path = __webpack_require__(280); + const Util = __webpack_require__(231); + const Escape = __webpack_require__(281); // Declare internals @@ -28836,6 +28657,10 @@ const keys = Object.keys(source); for (let i = 0; i < keys.length; ++i) { const key = keys[i]; + if (key === '__proto__') { + continue; + } + const value = source[key]; if (value && typeof value === 'object') { @@ -29566,6 +29391,10 @@ return Escape.escapeJavaScript(string); }; + exports.escapeJson = function (string) { + + return Escape.escapeJson(string); + }; exports.nextTick = function (callback) { @@ -29601,12 +29430,7 @@ }; - exports.isInteger = function (value) { - - return (typeof value === 'number' && - parseFloat(value) === parseInt(value, 10) && - !isNaN(value)); - }; + exports.isInteger = Number.isSafeInteger; exports.ignore = function () { }; @@ -29697,11 +29521,11 @@ return target; }; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(225).Buffer, __webpack_require__(3))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(220).Buffer, __webpack_require__(3))) -/***/ }, -/* 225 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 220 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(global) {/*! * The buffer module from node.js, for the browser. @@ -29713,9 +29537,9 @@ 'use strict' - var base64 = __webpack_require__(226) - var ieee754 = __webpack_require__(227) - var isArray = __webpack_require__(228) + var base64 = __webpack_require__(221) + var ieee754 = __webpack_require__(222) + var isArray = __webpack_require__(223) exports.Buffer = Buffer exports.SlowBuffer = SlowBuffer @@ -31495,9 +31319,9 @@ /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()))) -/***/ }, -/* 226 */ -/***/ function(module, exports) { +/***/ }), +/* 221 */ +/***/ (function(module, exports) { 'use strict' @@ -31515,68 +31339,102 @@ revLookup[code.charCodeAt(i)] = i } + // Support decoding URL-safe base64 strings, as Node.js does. + // See: https://en.wikipedia.org/wiki/Base64#URL_applications revLookup['-'.charCodeAt(0)] = 62 revLookup['_'.charCodeAt(0)] = 63 - function placeHoldersCount (b64) { + function getLens (b64) { var len = b64.length + if (len % 4 > 0) { throw new Error('Invalid string. Length must be a multiple of 4') } - // the number of equal signs (place holders) - // if there are two placeholders, than the two characters before it - // represent one byte - // if there is only one, then the three characters before it represent 2 bytes - // this is just a cheap hack to not do indexOf twice - return b64[len - 2] === '=' ? 2 : b64[len - 1] === '=' ? 1 : 0 + // Trim off extra bytes after placeholder bytes are found + // See: https://github.com/beatgammit/base64-js/issues/42 + var validLen = b64.indexOf('=') + if (validLen === -1) validLen = len + + var placeHoldersLen = validLen === len + ? 0 + : 4 - (validLen % 4) + + return [validLen, placeHoldersLen] } + // base64 is 4/3 + up to two characters of the original data function byteLength (b64) { - // base64 is 4/3 + up to two characters of the original data - return b64.length * 3 / 4 - placeHoldersCount(b64) + var lens = getLens(b64) + var validLen = lens[0] + var placeHoldersLen = lens[1] + return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen + } + + function _byteLength (b64, validLen, placeHoldersLen) { + return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen } function toByteArray (b64) { - var i, j, l, tmp, placeHolders, arr - var len = b64.length - placeHolders = placeHoldersCount(b64) + var tmp + var lens = getLens(b64) + var validLen = lens[0] + var placeHoldersLen = lens[1] + + var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen)) - arr = new Arr(len * 3 / 4 - placeHolders) + var curByte = 0 // if there are placeholders, only get up to the last complete 4 chars - l = placeHolders > 0 ? len - 4 : len + var len = placeHoldersLen > 0 + ? validLen - 4 + : validLen - var L = 0 + for (var i = 0; i < len; i += 4) { + tmp = + (revLookup[b64.charCodeAt(i)] << 18) | + (revLookup[b64.charCodeAt(i + 1)] << 12) | + (revLookup[b64.charCodeAt(i + 2)] << 6) | + revLookup[b64.charCodeAt(i + 3)] + arr[curByte++] = (tmp >> 16) & 0xFF + arr[curByte++] = (tmp >> 8) & 0xFF + arr[curByte++] = tmp & 0xFF + } - for (i = 0, j = 0; i < l; i += 4, j += 3) { - tmp = (revLookup[b64.charCodeAt(i)] << 18) | (revLookup[b64.charCodeAt(i + 1)] << 12) | (revLookup[b64.charCodeAt(i + 2)] << 6) | revLookup[b64.charCodeAt(i + 3)] - arr[L++] = (tmp >> 16) & 0xFF - arr[L++] = (tmp >> 8) & 0xFF - arr[L++] = tmp & 0xFF + if (placeHoldersLen === 2) { + tmp = + (revLookup[b64.charCodeAt(i)] << 2) | + (revLookup[b64.charCodeAt(i + 1)] >> 4) + arr[curByte++] = tmp & 0xFF } - if (placeHolders === 2) { - tmp = (revLookup[b64.charCodeAt(i)] << 2) | (revLookup[b64.charCodeAt(i + 1)] >> 4) - arr[L++] = tmp & 0xFF - } else if (placeHolders === 1) { - tmp = (revLookup[b64.charCodeAt(i)] << 10) | (revLookup[b64.charCodeAt(i + 1)] << 4) | (revLookup[b64.charCodeAt(i + 2)] >> 2) - arr[L++] = (tmp >> 8) & 0xFF - arr[L++] = tmp & 0xFF + if (placeHoldersLen === 1) { + tmp = + (revLookup[b64.charCodeAt(i)] << 10) | + (revLookup[b64.charCodeAt(i + 1)] << 4) | + (revLookup[b64.charCodeAt(i + 2)] >> 2) + arr[curByte++] = (tmp >> 8) & 0xFF + arr[curByte++] = tmp & 0xFF } return arr } function tripletToBase64 (num) { - return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F] + return lookup[num >> 18 & 0x3F] + + lookup[num >> 12 & 0x3F] + + lookup[num >> 6 & 0x3F] + + lookup[num & 0x3F] } function encodeChunk (uint8, start, end) { var tmp var output = [] for (var i = start; i < end; i += 3) { - tmp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2]) + tmp = + ((uint8[i] << 16) & 0xFF0000) + + ((uint8[i + 1] << 8) & 0xFF00) + + (uint8[i + 2] & 0xFF) output.push(tripletToBase64(tmp)) } return output.join('') @@ -31586,42 +31444,45 @@ var tmp var len = uint8.length var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes - var output = '' var parts = [] var maxChunkLength = 16383 // must be multiple of 3 // go through the array every three bytes, we'll deal with trailing stuff later for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) { - parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength))) + parts.push(encodeChunk( + uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength) + )) } // pad the end with zeros, but make sure to not forget the extra bytes if (extraBytes === 1) { tmp = uint8[len - 1] - output += lookup[tmp >> 2] - output += lookup[(tmp << 4) & 0x3F] - output += '==' + parts.push( + lookup[tmp >> 2] + + lookup[(tmp << 4) & 0x3F] + + '==' + ) } else if (extraBytes === 2) { - tmp = (uint8[len - 2] << 8) + (uint8[len - 1]) - output += lookup[tmp >> 10] - output += lookup[(tmp >> 4) & 0x3F] - output += lookup[(tmp << 2) & 0x3F] - output += '=' + tmp = (uint8[len - 2] << 8) + uint8[len - 1] + parts.push( + lookup[tmp >> 10] + + lookup[(tmp >> 4) & 0x3F] + + lookup[(tmp << 2) & 0x3F] + + '=' + ) } - parts.push(output) - return parts.join('') } -/***/ }, -/* 227 */ -/***/ function(module, exports) { +/***/ }), +/* 222 */ +/***/ (function(module, exports) { exports.read = function (buffer, offset, isLE, mLen, nBytes) { var e, m - var eLen = nBytes * 8 - mLen - 1 + var eLen = (nBytes * 8) - mLen - 1 var eMax = (1 << eLen) - 1 var eBias = eMax >> 1 var nBits = -7 @@ -31634,12 +31495,12 @@ e = s & ((1 << (-nBits)) - 1) s >>= (-nBits) nBits += eLen - for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {} + for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {} m = e & ((1 << (-nBits)) - 1) e >>= (-nBits) nBits += mLen - for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {} + for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {} if (e === 0) { e = 1 - eBias @@ -31654,7 +31515,7 @@ exports.write = function (buffer, value, offset, isLE, mLen, nBytes) { var e, m, c - var eLen = nBytes * 8 - mLen - 1 + var eLen = (nBytes * 8) - mLen - 1 var eMax = (1 << eLen) - 1 var eBias = eMax >> 1 var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0) @@ -31687,7 +31548,7 @@ m = 0 e = eMax } else if (e + eBias >= 1) { - m = (value * c - 1) * Math.pow(2, mLen) + m = ((value * c) - 1) * Math.pow(2, mLen) e = e + eBias } else { m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen) @@ -31705,9 +31566,9 @@ } -/***/ }, -/* 228 */ -/***/ function(module, exports) { +/***/ }), +/* 223 */ +/***/ (function(module, exports) { var toString = {}.toString; @@ -31716,11 +31577,11 @@ }; -/***/ }, -/* 229 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 224 */ +/***/ (function(module, exports, __webpack_require__) { - /* WEBPACK VAR INJECTION */(function(Buffer) {var rng = __webpack_require__(230) + /* WEBPACK VAR INJECTION */(function(Buffer) {var rng = __webpack_require__(225) function error () { var m = [].slice.call(arguments).join(' ') @@ -31731,9 +31592,9 @@ ].join('\n')) } - exports.createHash = __webpack_require__(232) + exports.createHash = __webpack_require__(227) - exports.createHmac = __webpack_require__(244) + exports.createHmac = __webpack_require__(239) exports.randomBytes = function(size, callback) { if (callback && callback.call) { @@ -31754,10 +31615,10 @@ return ['sha1', 'sha256', 'sha512', 'md5', 'rmd160'] } - var p = __webpack_require__(245)(exports) + var p = __webpack_require__(240)(exports) exports.pbkdf2 = p.pbkdf2 exports.pbkdf2Sync = p.pbkdf2Sync - __webpack_require__(247)(exports, module.exports); + __webpack_require__(242)(exports, module.exports); // the least I can do is make error messages for the rest of the node.js/crypto api. each(['createCredentials' @@ -31770,16 +31631,16 @@ } }) - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(225).Buffer)) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(220).Buffer)) -/***/ }, -/* 230 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 225 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(global, Buffer) {(function() { var g = ('undefined' === typeof window ? global : window) || {} _crypto = ( - g.crypto || g.msCrypto || __webpack_require__(231) + g.crypto || g.msCrypto || __webpack_require__(226) ) module.exports = function(size) { // Modern Browsers @@ -31803,22 +31664,22 @@ } }()) - /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(225).Buffer)) + /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(220).Buffer)) -/***/ }, -/* 231 */ -/***/ function(module, exports) { +/***/ }), +/* 226 */ +/***/ (function(module, exports) { /* (ignored) */ -/***/ }, -/* 232 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 227 */ +/***/ (function(module, exports, __webpack_require__) { - /* WEBPACK VAR INJECTION */(function(Buffer) {var createHash = __webpack_require__(233) + /* WEBPACK VAR INJECTION */(function(Buffer) {var createHash = __webpack_require__(228) - var md5 = toConstructor(__webpack_require__(241)) - var rmd160 = toConstructor(__webpack_require__(243)) + var md5 = toConstructor(__webpack_require__(236)) + var rmd160 = toConstructor(__webpack_require__(238)) function toConstructor (fn) { return function () { @@ -31846,11 +31707,11 @@ return createHash(alg) } - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(225).Buffer)) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(220).Buffer)) -/***/ }, -/* 233 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 228 */ +/***/ (function(module, exports, __webpack_require__) { var exports = module.exports = function (alg) { var Alg = exports[alg] @@ -31858,17 +31719,17 @@ return new Alg() } - var Buffer = __webpack_require__(225).Buffer - var Hash = __webpack_require__(234)(Buffer) + var Buffer = __webpack_require__(220).Buffer + var Hash = __webpack_require__(229)(Buffer) - exports.sha1 = __webpack_require__(235)(Buffer, Hash) - exports.sha256 = __webpack_require__(239)(Buffer, Hash) - exports.sha512 = __webpack_require__(240)(Buffer, Hash) + exports.sha1 = __webpack_require__(230)(Buffer, Hash) + exports.sha256 = __webpack_require__(234)(Buffer, Hash) + exports.sha512 = __webpack_require__(235)(Buffer, Hash) -/***/ }, -/* 234 */ -/***/ function(module, exports) { +/***/ }), +/* 229 */ +/***/ (function(module, exports) { module.exports = function (Buffer) { @@ -31949,9 +31810,9 @@ } -/***/ }, -/* 235 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 230 */ +/***/ (function(module, exports, __webpack_require__) { /* * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined @@ -31962,7 +31823,7 @@ * See http://pajhome.org.uk/crypt/md5 for details. */ - var inherits = __webpack_require__(236).inherits + var inherits = __webpack_require__(231).inherits module.exports = function (Buffer, Hash) { @@ -32093,9 +31954,9 @@ } -/***/ }, -/* 236 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 231 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(global, process) {// Copyright Joyent, Inc. and other Node contributors. // @@ -32118,6 +31979,16 @@ // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE // USE OR OTHER DEALINGS IN THE SOFTWARE. + var getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors || + function getOwnPropertyDescriptors(obj) { + var keys = Object.keys(obj); + var descriptors = {}; + for (var i = 0; i < keys.length; i++) { + descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]); + } + return descriptors; + }; + var formatRegExp = /%[sdj%]/g; exports.format = function(f) { if (!isString(f)) { @@ -32622,7 +32493,7 @@ } exports.isPrimitive = isPrimitive; - exports.isBuffer = __webpack_require__(237); + exports.isBuffer = __webpack_require__(232); function objectToString(o) { return Object.prototype.toString.call(o); @@ -32666,7 +32537,7 @@ * prototype. * @param {function} superCtor Constructor function to inherit prototype from. */ - exports.inherits = __webpack_require__(238); + exports.inherits = __webpack_require__(233); exports._extend = function(origin, add) { // Don't do anything if add isn't an object @@ -32684,11 +32555,118 @@ return Object.prototype.hasOwnProperty.call(obj, prop); } + var kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined; + + exports.promisify = function promisify(original) { + if (typeof original !== 'function') + throw new TypeError('The "original" argument must be of type Function'); + + if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) { + var fn = original[kCustomPromisifiedSymbol]; + if (typeof fn !== 'function') { + throw new TypeError('The "util.promisify.custom" argument must be of type Function'); + } + Object.defineProperty(fn, kCustomPromisifiedSymbol, { + value: fn, enumerable: false, writable: false, configurable: true + }); + return fn; + } + + function fn() { + var promiseResolve, promiseReject; + var promise = new Promise(function (resolve, reject) { + promiseResolve = resolve; + promiseReject = reject; + }); + + var args = []; + for (var i = 0; i < arguments.length; i++) { + args.push(arguments[i]); + } + args.push(function (err, value) { + if (err) { + promiseReject(err); + } else { + promiseResolve(value); + } + }); + + try { + original.apply(this, args); + } catch (err) { + promiseReject(err); + } + + return promise; + } + + Object.setPrototypeOf(fn, Object.getPrototypeOf(original)); + + if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, { + value: fn, enumerable: false, writable: false, configurable: true + }); + return Object.defineProperties( + fn, + getOwnPropertyDescriptors(original) + ); + } + + exports.promisify.custom = kCustomPromisifiedSymbol + + function callbackifyOnRejected(reason, cb) { + // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M). + // Because `null` is a special error value in callbacks which means "no error + // occurred", we error-wrap so the callback consumer can distinguish between + // "the promise rejected with null" or "the promise fulfilled with undefined". + if (!reason) { + var newReason = new Error('Promise was rejected with a falsy value'); + newReason.reason = reason; + reason = newReason; + } + return cb(reason); + } + + function callbackify(original) { + if (typeof original !== 'function') { + throw new TypeError('The "original" argument must be of type Function'); + } + + // We DO NOT return the promise as it gives the user a false sense that + // the promise is actually somehow related to the callback's execution + // and that the callback throwing will reject the promise. + function callbackified() { + var args = []; + for (var i = 0; i < arguments.length; i++) { + args.push(arguments[i]); + } + + var maybeCb = args.pop(); + if (typeof maybeCb !== 'function') { + throw new TypeError('The last argument must be of type Function'); + } + var self = this; + var cb = function() { + return maybeCb.apply(self, arguments); + }; + // In true node style we process the callback on `nextTick` with all the + // implications (stack, `uncaughtException`, `async_hooks`) + original.apply(this, args) + .then(function(ret) { process.nextTick(cb, null, ret) }, + function(rej) { process.nextTick(callbackifyOnRejected, rej, cb) }); + } + + Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original)); + Object.defineProperties(callbackified, + getOwnPropertyDescriptors(original)); + return callbackified; + } + exports.callbackify = callbackify; + /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(3))) -/***/ }, -/* 237 */ -/***/ function(module, exports) { +/***/ }), +/* 232 */ +/***/ (function(module, exports) { module.exports = function isBuffer(arg) { return arg && typeof arg === 'object' @@ -32697,9 +32675,9 @@ && typeof arg.readUInt8 === 'function'; } -/***/ }, -/* 238 */ -/***/ function(module, exports) { +/***/ }), +/* 233 */ +/***/ (function(module, exports) { if (typeof Object.create === 'function') { // implementation from standard node.js 'util' module @@ -32726,9 +32704,9 @@ } -/***/ }, -/* 239 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 234 */ +/***/ (function(module, exports, __webpack_require__) { /** @@ -32739,7 +32717,7 @@ * */ - var inherits = __webpack_require__(236).inherits + var inherits = __webpack_require__(231).inherits module.exports = function (Buffer, Hash) { @@ -32879,11 +32857,11 @@ } -/***/ }, -/* 240 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 235 */ +/***/ (function(module, exports, __webpack_require__) { - var inherits = __webpack_require__(236).inherits + var inherits = __webpack_require__(231).inherits module.exports = function (Buffer, Hash) { var K = [ @@ -33129,9 +33107,9 @@ } -/***/ }, -/* 241 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 236 */ +/***/ (function(module, exports, __webpack_require__) { /* * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message @@ -33142,7 +33120,7 @@ * See http://pajhome.org.uk/crypt/md5 for more info. */ - var helpers = __webpack_require__(242); + var helpers = __webpack_require__(237); /* * Calculate the MD5 of an array of little-endian words, and a bit length @@ -33290,9 +33268,9 @@ }; -/***/ }, -/* 242 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 237 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(Buffer) {var intSize = 4; var zeroBuffer = new Buffer(intSize); zeroBuffer.fill(0); @@ -33329,11 +33307,11 @@ module.exports = { hash: hash }; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(225).Buffer)) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(220).Buffer)) -/***/ }, -/* 243 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 238 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(Buffer) { module.exports = ripemd160 @@ -33541,13 +33519,13 @@ - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(225).Buffer)) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(220).Buffer)) -/***/ }, -/* 244 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 239 */ +/***/ (function(module, exports, __webpack_require__) { - /* WEBPACK VAR INJECTION */(function(Buffer) {var createHash = __webpack_require__(232) + /* WEBPACK VAR INJECTION */(function(Buffer) {var createHash = __webpack_require__(227) var zeroBuffer = new Buffer(128) zeroBuffer.fill(0) @@ -33591,13 +33569,13 @@ } - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(225).Buffer)) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(220).Buffer)) -/***/ }, -/* 245 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 240 */ +/***/ (function(module, exports, __webpack_require__) { - var pbkdf2Export = __webpack_require__(246) + var pbkdf2Export = __webpack_require__(241) module.exports = function (crypto, exports) { exports = exports || {} @@ -33611,9 +33589,9 @@ } -/***/ }, -/* 246 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 241 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(Buffer) {module.exports = function(crypto) { function pbkdf2(password, salt, iterations, keylen, digest, callback) { @@ -33700,21 +33678,21 @@ } } - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(225).Buffer)) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(220).Buffer)) -/***/ }, -/* 247 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 242 */ +/***/ (function(module, exports, __webpack_require__) { module.exports = function (crypto, exports) { exports = exports || {}; - var ciphers = __webpack_require__(248)(crypto); + var ciphers = __webpack_require__(243)(crypto); exports.createCipher = ciphers.createCipher; exports.createCipheriv = ciphers.createCipheriv; - var deciphers = __webpack_require__(282)(crypto); + var deciphers = __webpack_require__(279)(crypto); exports.createDecipher = deciphers.createDecipher; exports.createDecipheriv = deciphers.createDecipheriv; - var modes = __webpack_require__(273); + var modes = __webpack_require__(270); function listCiphers () { return Object.keys(modes); } @@ -33723,16 +33701,16 @@ -/***/ }, -/* 248 */ -/***/ function(module, exports, __webpack_require__) { - - /* WEBPACK VAR INJECTION */(function(Buffer) {var aes = __webpack_require__(249); - var Transform = __webpack_require__(250); - var inherits = __webpack_require__(253); - var modes = __webpack_require__(273); - var ebtk = __webpack_require__(274); - var StreamCipher = __webpack_require__(275); +/***/ }), +/* 243 */ +/***/ (function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(Buffer) {var aes = __webpack_require__(244); + var Transform = __webpack_require__(245); + var inherits = __webpack_require__(233); + var modes = __webpack_require__(270); + var ebtk = __webpack_require__(271); + var StreamCipher = __webpack_require__(272); inherits(Cipher, Transform); function Cipher(mode, key, iv) { if (!(this instanceof Cipher)) { @@ -33793,11 +33771,11 @@ return out; }; var modelist = { - ECB: __webpack_require__(276), - CBC: __webpack_require__(277), - CFB: __webpack_require__(279), - OFB: __webpack_require__(280), - CTR: __webpack_require__(281) + ECB: __webpack_require__(273), + CBC: __webpack_require__(274), + CFB: __webpack_require__(276), + OFB: __webpack_require__(277), + CTR: __webpack_require__(278) }; module.exports = function (crypto) { function createCipheriv(suite, password, iv) { @@ -33836,11 +33814,11 @@ }; }; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(225).Buffer)) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(220).Buffer)) -/***/ }, -/* 249 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 244 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(Buffer) {var uint_max = Math.pow(2, 32); function fixup_uint32(x) { @@ -34038,14 +34016,14 @@ exports.AES = AES; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(225).Buffer)) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(220).Buffer)) -/***/ }, -/* 250 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 245 */ +/***/ (function(module, exports, __webpack_require__) { - /* WEBPACK VAR INJECTION */(function(Buffer) {var Transform = __webpack_require__(251).Transform; - var inherits = __webpack_require__(253); + /* WEBPACK VAR INJECTION */(function(Buffer) {var Transform = __webpack_require__(246).Transform; + var inherits = __webpack_require__(233); module.exports = CipherBase; inherits(CipherBase, Transform); @@ -34076,11 +34054,11 @@ } return outData; }; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(225).Buffer)) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(220).Buffer)) -/***/ }, -/* 251 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 246 */ +/***/ (function(module, exports, __webpack_require__) { // Copyright Joyent, Inc. and other Node contributors. // @@ -34105,15 +34083,15 @@ module.exports = Stream; - var EE = __webpack_require__(252).EventEmitter; - var inherits = __webpack_require__(253); + var EE = __webpack_require__(247).EventEmitter; + var inherits = __webpack_require__(233); inherits(Stream, EE); - Stream.Readable = __webpack_require__(254); - Stream.Writable = __webpack_require__(269); - Stream.Duplex = __webpack_require__(270); - Stream.Transform = __webpack_require__(271); - Stream.PassThrough = __webpack_require__(272); + Stream.Readable = __webpack_require__(248); + Stream.Writable = __webpack_require__(266); + Stream.Duplex = __webpack_require__(267); + Stream.Transform = __webpack_require__(268); + Stream.PassThrough = __webpack_require__(269); // Backwards-compat with node 0.4.x Stream.Stream = Stream; @@ -34211,9 +34189,9 @@ }; -/***/ }, -/* 252 */ -/***/ function(module, exports) { +/***/ }), +/* 247 */ +/***/ (function(module, exports) { // Copyright Joyent, Inc. and other Node contributors. // @@ -34519,72 +34497,55 @@ } -/***/ }, -/* 253 */ -/***/ function(module, exports) { - - if (typeof Object.create === 'function') { - // implementation from standard node.js 'util' module - module.exports = function inherits(ctor, superCtor) { - ctor.super_ = superCtor - ctor.prototype = Object.create(superCtor.prototype, { - constructor: { - value: ctor, - enumerable: false, - writable: true, - configurable: true - } - }); - }; - } else { - // old school shim for old browsers - module.exports = function inherits(ctor, superCtor) { - ctor.super_ = superCtor - var TempCtor = function () {} - TempCtor.prototype = superCtor.prototype - ctor.prototype = new TempCtor() - ctor.prototype.constructor = ctor - } - } - - -/***/ }, -/* 254 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 248 */ +/***/ (function(module, exports, __webpack_require__) { - /* WEBPACK VAR INJECTION */(function(process) {var Stream = (function (){ - try { - return __webpack_require__(251); // hack to fix a circular dependency issue when used with browserify - } catch(_){} - }()); - exports = module.exports = __webpack_require__(255); - exports.Stream = Stream || exports; + exports = module.exports = __webpack_require__(249); + exports.Stream = exports; exports.Readable = exports; - exports.Writable = __webpack_require__(262); - exports.Duplex = __webpack_require__(261); - exports.Transform = __webpack_require__(267); - exports.PassThrough = __webpack_require__(268); + exports.Writable = __webpack_require__(259); + exports.Duplex = __webpack_require__(258); + exports.Transform = __webpack_require__(264); + exports.PassThrough = __webpack_require__(265); - if (!process.browser && process.env.READABLE_STREAM === 'disable' && Stream) { - module.exports = Stream; - } - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) - -/***/ }, -/* 255 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 249 */ +/***/ (function(module, exports, __webpack_require__) { - /* WEBPACK VAR INJECTION */(function(process) {'use strict'; + /* WEBPACK VAR INJECTION */(function(global, process) {// Copyright Joyent, Inc. and other Node contributors. + // + // 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. - module.exports = Readable; + 'use strict'; /**/ - var processNextTick = __webpack_require__(256); + + var pna = __webpack_require__(250); /**/ + module.exports = Readable; + /**/ - var isArray = __webpack_require__(228); + var isArray = __webpack_require__(223); /**/ /**/ @@ -34594,7 +34555,7 @@ Readable.ReadableState = ReadableState; /**/ - var EE = __webpack_require__(252).EventEmitter; + var EE = __webpack_require__(247).EventEmitter; var EElistenerCount = function (emitter, type) { return emitter.listeners(type).length; @@ -34602,28 +34563,29 @@ /**/ /**/ - var Stream; - (function () { - try { - Stream = __webpack_require__(251); - } catch (_) {} finally { - if (!Stream) Stream = __webpack_require__(252).EventEmitter; - } - })(); + var Stream = __webpack_require__(251); /**/ - var Buffer = __webpack_require__(225).Buffer; /**/ - var bufferShim = __webpack_require__(257); + + var Buffer = __webpack_require__(252).Buffer; + var OurUint8Array = global.Uint8Array || function () {}; + function _uint8ArrayToBuffer(chunk) { + return Buffer.from(chunk); + } + function _isUint8Array(obj) { + return Buffer.isBuffer(obj) || obj instanceof OurUint8Array; + } + /**/ /**/ - var util = __webpack_require__(258); - util.inherits = __webpack_require__(253); + var util = __webpack_require__(253); + util.inherits = __webpack_require__(233); /**/ /**/ - var debugUtil = __webpack_require__(259); + var debugUtil = __webpack_require__(254); var debug = void 0; if (debugUtil && debugUtil.debuglog) { debug = debugUtil.debuglog('stream'); @@ -34632,44 +34594,54 @@ } /**/ - var BufferList = __webpack_require__(260); + var BufferList = __webpack_require__(255); + var destroyImpl = __webpack_require__(257); var StringDecoder; util.inherits(Readable, Stream); + var kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume']; + function prependListener(emitter, event, fn) { // Sadly this is not cacheable as some libraries bundle their own // event emitter implementation with them. - if (typeof emitter.prependListener === 'function') { - return emitter.prependListener(event, fn); - } else { - // This is a hack to make sure that our error handler is attached before any - // userland ones. NEVER DO THIS. This is here only because this code needs - // to continue to work with older versions of Node.js that do not include - // the prependListener() method. The goal is to eventually remove this hack. - if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]]; - } + if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn); + + // This is a hack to make sure that our error handler is attached before any + // userland ones. NEVER DO THIS. This is here only because this code needs + // to continue to work with older versions of Node.js that do not include + // the prependListener() method. The goal is to eventually remove this hack. + if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]]; } function ReadableState(options, stream) { - Duplex = Duplex || __webpack_require__(261); + Duplex = Duplex || __webpack_require__(258); options = options || {}; + // Duplex streams are both readable and writable, but share + // the same options object. + // However, some cases require setting options to different + // values for the readable and the writable sides of the duplex stream. + // These options can be provided separately as readableXXX and writableXXX. + var isDuplex = stream instanceof Duplex; + // object stream flag. Used to make read(n) ignore n and to // make all the buffer merging and length checks go away this.objectMode = !!options.objectMode; - if (stream instanceof Duplex) this.objectMode = this.objectMode || !!options.readableObjectMode; + if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode; // the point at which it stops calling _read() to fill the buffer // Note: 0 is a valid value, means "don't call _read preemptively ever" var hwm = options.highWaterMark; + var readableHwm = options.readableHighWaterMark; var defaultHwm = this.objectMode ? 16 : 16 * 1024; - this.highWaterMark = hwm || hwm === 0 ? hwm : defaultHwm; + + if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (readableHwm || readableHwm === 0)) this.highWaterMark = readableHwm;else this.highWaterMark = defaultHwm; // cast to ints. - this.highWaterMark = ~ ~this.highWaterMark; + this.highWaterMark = Math.floor(this.highWaterMark); // A linked list is used to store data chunks instead of an array because the // linked list can remove elements from the beginning faster than @@ -34683,10 +34655,10 @@ this.endEmitted = false; this.reading = false; - // a flag to be able to tell if the onwrite cb is called immediately, - // or on a later tick. We set this to true at first, because any - // actions that shouldn't happen until "later" should generally also - // not happen before the first write call. + // a flag to be able to tell if the event 'readable'/'data' is emitted + // immediately, or on a later tick. We set this to true at first, because + // any actions that shouldn't happen until "later" should generally also + // not happen before the first read call. this.sync = true; // whenever we return null, then we set a flag to say @@ -34696,15 +34668,14 @@ this.readableListening = false; this.resumeScheduled = false; + // has it been destroyed + this.destroyed = false; + // Crypto is kind of old and crusty. Historically, its default string // encoding is 'binary' so we have to make this configurable. // Everything else in the universe uses 'utf8', though. this.defaultEncoding = options.defaultEncoding || 'utf8'; - // when piping, we only care about 'readable' events that happen - // after read()ing all the bytes and not getting any pushback. - this.ranOut = false; - // the number of writers that are awaiting a drain event in .pipe()s this.awaitDrain = 0; @@ -34714,14 +34685,14 @@ this.decoder = null; this.encoding = null; if (options.encoding) { - if (!StringDecoder) StringDecoder = __webpack_require__(266).StringDecoder; + if (!StringDecoder) StringDecoder = __webpack_require__(263).StringDecoder; this.decoder = new StringDecoder(options.encoding); this.encoding = options.encoding; } } function Readable(options) { - Duplex = Duplex || __webpack_require__(261); + Duplex = Duplex || __webpack_require__(258); if (!(this instanceof Readable)) return new Readable(options); @@ -34730,87 +34701,129 @@ // legacy this.readable = true; - if (options && typeof options.read === 'function') this._read = options.read; + if (options) { + if (typeof options.read === 'function') this._read = options.read; + + if (typeof options.destroy === 'function') this._destroy = options.destroy; + } Stream.call(this); } + Object.defineProperty(Readable.prototype, 'destroyed', { + get: function () { + if (this._readableState === undefined) { + return false; + } + return this._readableState.destroyed; + }, + set: function (value) { + // we ignore the value if the stream + // has not been initialized yet + if (!this._readableState) { + return; + } + + // backward compatibility, the user is explicitly + // managing destroyed + this._readableState.destroyed = value; + } + }); + + Readable.prototype.destroy = destroyImpl.destroy; + Readable.prototype._undestroy = destroyImpl.undestroy; + Readable.prototype._destroy = function (err, cb) { + this.push(null); + cb(err); + }; + // Manually shove something into the read() buffer. // This returns true if the highWaterMark has not been hit yet, // similar to how Writable.write() returns true if you should // write() some more. Readable.prototype.push = function (chunk, encoding) { var state = this._readableState; + var skipChunkCheck; - if (!state.objectMode && typeof chunk === 'string') { - encoding = encoding || state.defaultEncoding; - if (encoding !== state.encoding) { - chunk = bufferShim.from(chunk, encoding); - encoding = ''; + if (!state.objectMode) { + if (typeof chunk === 'string') { + encoding = encoding || state.defaultEncoding; + if (encoding !== state.encoding) { + chunk = Buffer.from(chunk, encoding); + encoding = ''; + } + skipChunkCheck = true; } + } else { + skipChunkCheck = true; } - return readableAddChunk(this, state, chunk, encoding, false); + return readableAddChunk(this, chunk, encoding, false, skipChunkCheck); }; // Unshift should *always* be something directly out of read() Readable.prototype.unshift = function (chunk) { - var state = this._readableState; - return readableAddChunk(this, state, chunk, '', true); - }; - - Readable.prototype.isPaused = function () { - return this._readableState.flowing === false; + return readableAddChunk(this, chunk, null, true, false); }; - function readableAddChunk(stream, state, chunk, encoding, addToFront) { - var er = chunkInvalid(state, chunk); - if (er) { - stream.emit('error', er); - } else if (chunk === null) { + function readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) { + var state = stream._readableState; + if (chunk === null) { state.reading = false; onEofChunk(stream, state); - } else if (state.objectMode || chunk && chunk.length > 0) { - if (state.ended && !addToFront) { - var e = new Error('stream.push() after EOF'); - stream.emit('error', e); - } else if (state.endEmitted && addToFront) { - var _e = new Error('stream.unshift() after end event'); - stream.emit('error', _e); - } else { - var skipAdd; - if (state.decoder && !addToFront && !encoding) { - chunk = state.decoder.write(chunk); - skipAdd = !state.objectMode && chunk.length === 0; - } - - if (!addToFront) state.reading = false; - - // Don't add to the buffer if we've decoded to an empty string chunk and - // we're not in object mode - if (!skipAdd) { - // if we want the data now, just emit it. - if (state.flowing && state.length === 0 && !state.sync) { - stream.emit('data', chunk); - stream.read(0); + } else { + var er; + if (!skipChunkCheck) er = chunkInvalid(state, chunk); + if (er) { + stream.emit('error', er); + } else if (state.objectMode || chunk && chunk.length > 0) { + if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) { + chunk = _uint8ArrayToBuffer(chunk); + } + + if (addToFront) { + if (state.endEmitted) stream.emit('error', new Error('stream.unshift() after end event'));else addChunk(stream, state, chunk, true); + } else if (state.ended) { + stream.emit('error', new Error('stream.push() after EOF')); + } else { + state.reading = false; + if (state.decoder && !encoding) { + chunk = state.decoder.write(chunk); + if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state); } else { - // update the buffer info. - state.length += state.objectMode ? 1 : chunk.length; - if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk); - - if (state.needReadable) emitReadable(stream); + addChunk(stream, state, chunk, false); } } - - maybeReadMore(stream, state); + } else if (!addToFront) { + state.reading = false; } - } else if (!addToFront) { - state.reading = false; } return needMoreData(state); } + function addChunk(stream, state, chunk, addToFront) { + if (state.flowing && state.length === 0 && !state.sync) { + stream.emit('data', chunk); + stream.read(0); + } else { + // update the buffer info. + state.length += state.objectMode ? 1 : chunk.length; + if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk); + + if (state.needReadable) emitReadable(stream); + } + maybeReadMore(stream, state); + } + + function chunkInvalid(state, chunk) { + var er; + if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) { + er = new TypeError('Invalid non-string/buffer chunk'); + } + return er; + } + // if it's past the high water mark, we can push in some more. // Also, if we have no data yet, we can stand some // more bytes. This is to work around cases where hwm=0, @@ -34822,9 +34835,13 @@ return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0); } + Readable.prototype.isPaused = function () { + return this._readableState.flowing === false; + }; + // backwards compatibility. Readable.prototype.setEncoding = function (enc) { - if (!StringDecoder) StringDecoder = __webpack_require__(266).StringDecoder; + if (!StringDecoder) StringDecoder = __webpack_require__(263).StringDecoder; this._readableState.decoder = new StringDecoder(enc); this._readableState.encoding = enc; return this; @@ -34970,14 +34987,6 @@ return ret; }; - function chunkInvalid(state, chunk) { - var er = null; - if (!Buffer.isBuffer(chunk) && typeof chunk !== 'string' && chunk !== null && chunk !== undefined && !state.objectMode) { - er = new TypeError('Invalid non-string/buffer chunk'); - } - return er; - } - function onEofChunk(stream, state) { if (state.ended) return; if (state.decoder) { @@ -35002,7 +35011,7 @@ if (!state.emittedReadable) { debug('emitReadable', state.flowing); state.emittedReadable = true; - if (state.sync) processNextTick(emitReadable_, stream);else emitReadable_(stream); + if (state.sync) pna.nextTick(emitReadable_, stream);else emitReadable_(stream); } } @@ -35021,7 +35030,7 @@ function maybeReadMore(stream, state) { if (!state.readingMore) { state.readingMore = true; - processNextTick(maybeReadMore_, stream, state); + pna.nextTick(maybeReadMore_, stream, state); } } @@ -35065,14 +35074,17 @@ var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr; - var endFn = doEnd ? onend : cleanup; - if (state.endEmitted) processNextTick(endFn);else src.once('end', endFn); + var endFn = doEnd ? onend : unpipe; + if (state.endEmitted) pna.nextTick(endFn);else src.once('end', endFn); dest.on('unpipe', onunpipe); - function onunpipe(readable) { + function onunpipe(readable, unpipeInfo) { debug('onunpipe'); if (readable === src) { - cleanup(); + if (unpipeInfo && unpipeInfo.hasUnpiped === false) { + unpipeInfo.hasUnpiped = true; + cleanup(); + } } } @@ -35098,7 +35110,7 @@ dest.removeListener('error', onerror); dest.removeListener('unpipe', onunpipe); src.removeListener('end', onend); - src.removeListener('end', cleanup); + src.removeListener('end', unpipe); src.removeListener('data', ondata); cleanedUp = true; @@ -35191,6 +35203,7 @@ Readable.prototype.unpipe = function (dest) { var state = this._readableState; + var unpipeInfo = { hasUnpiped: false }; // if we're not piping anywhere, then do nothing. if (state.pipesCount === 0) return this; @@ -35206,7 +35219,7 @@ state.pipes = null; state.pipesCount = 0; state.flowing = false; - if (dest) dest.emit('unpipe', this); + if (dest) dest.emit('unpipe', this, unpipeInfo); return this; } @@ -35221,7 +35234,7 @@ state.flowing = false; for (var i = 0; i < len; i++) { - dests[i].emit('unpipe', this); + dests[i].emit('unpipe', this, unpipeInfo); }return this; } @@ -35233,7 +35246,7 @@ state.pipesCount -= 1; if (state.pipesCount === 1) state.pipes = state.pipes[0]; - dest.emit('unpipe', this); + dest.emit('unpipe', this, unpipeInfo); return this; }; @@ -35252,9 +35265,9 @@ state.readableListening = state.needReadable = true; state.emittedReadable = false; if (!state.reading) { - processNextTick(nReadingNextTick, this); + pna.nextTick(nReadingNextTick, this); } else if (state.length) { - emitReadable(this, state); + emitReadable(this); } } } @@ -35283,7 +35296,7 @@ function resume(stream, state) { if (!state.resumeScheduled) { state.resumeScheduled = true; - processNextTick(resume_, stream, state); + pna.nextTick(resume_, stream, state); } } @@ -35320,18 +35333,19 @@ // This is *not* part of the readable stream interface. // It is an ugly unfortunate mess of history. Readable.prototype.wrap = function (stream) { + var _this = this; + var state = this._readableState; var paused = false; - var self = this; stream.on('end', function () { debug('wrapped end'); if (state.decoder && !state.ended) { var chunk = state.decoder.end(); - if (chunk && chunk.length) self.push(chunk); + if (chunk && chunk.length) _this.push(chunk); } - self.push(null); + _this.push(null); }); stream.on('data', function (chunk) { @@ -35341,7 +35355,7 @@ // don't skip over falsy values in objectMode if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return; - var ret = self.push(chunk); + var ret = _this.push(chunk); if (!ret) { paused = true; stream.pause(); @@ -35361,14 +35375,13 @@ } // proxy certain important events. - var events = ['error', 'close', 'destroy', 'pause', 'resume']; - forEach(events, function (ev) { - stream.on(ev, self.emit.bind(self, ev)); - }); + for (var n = 0; n < kProxyEvents.length; n++) { + stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n])); + } // when we try to consume some more bytes, simply unpause the // underlying stream. - self._read = function (n) { + this._read = function (n) { debug('wrapped _read', n); if (paused) { paused = false; @@ -35376,9 +35389,19 @@ } }; - return self; + return this; }; + Object.defineProperty(Readable.prototype, 'readableHighWaterMark', { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function () { + return this._readableState.highWaterMark; + } + }); + // exposed for testing purposes only. Readable._fromList = fromList; @@ -35456,7 +35479,7 @@ // This function is designed to be inlinable, so please take care when making // changes to the function body. function copyFromBuffer(n, list) { - var ret = bufferShim.allocUnsafe(n); + var ret = Buffer.allocUnsafe(n); var p = list.head; var c = 1; p.data.copy(ret); @@ -35491,7 +35514,7 @@ if (!state.endEmitted) { state.ended = true; - processNextTick(endReadableNT, state, stream); + pna.nextTick(endReadableNT, state, stream); } } @@ -35504,32 +35527,26 @@ } } - function forEach(xs, f) { - for (var i = 0, l = xs.length; i < l; i++) { - f(xs[i], i); - } - } - function indexOf(xs, x) { for (var i = 0, l = xs.length; i < l; i++) { if (xs[i] === x) return i; } return -1; } - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) + /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(3))) -/***/ }, -/* 256 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 250 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {'use strict'; if (!process.version || process.version.indexOf('v0.') === 0 || process.version.indexOf('v1.') === 0 && process.version.indexOf('v1.8.') !== 0) { - module.exports = nextTick; + module.exports = { nextTick: nextTick }; } else { - module.exports = process.nextTick; + module.exports = process } function nextTick(fn, arg1, arg2, arg3) { @@ -35566,126 +35583,87 @@ } } + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 257 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 251 */ +/***/ (function(module, exports, __webpack_require__) { + + module.exports = __webpack_require__(247).EventEmitter; + + +/***/ }), +/* 252 */ +/***/ (function(module, exports, __webpack_require__) { - /* WEBPACK VAR INJECTION */(function(global) {'use strict'; + /* eslint-disable node/no-deprecated-api */ + var buffer = __webpack_require__(220) + var Buffer = buffer.Buffer - var buffer = __webpack_require__(225); - var Buffer = buffer.Buffer; - var SlowBuffer = buffer.SlowBuffer; - var MAX_LEN = buffer.kMaxLength || 2147483647; - exports.alloc = function alloc(size, fill, encoding) { - if (typeof Buffer.alloc === 'function') { - return Buffer.alloc(size, fill, encoding); + // alternative to using Object.keys for old browsers + function copyProps (src, dst) { + for (var key in src) { + dst[key] = src[key] } - if (typeof encoding === 'number') { - throw new TypeError('encoding must not be number'); + } + if (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) { + module.exports = buffer + } else { + // Copy properties from require('buffer') + copyProps(buffer, exports) + exports.Buffer = SafeBuffer + } + + function SafeBuffer (arg, encodingOrOffset, length) { + return Buffer(arg, encodingOrOffset, length) + } + + // Copy static methods from Buffer + copyProps(Buffer, SafeBuffer) + + SafeBuffer.from = function (arg, encodingOrOffset, length) { + if (typeof arg === 'number') { + throw new TypeError('Argument must not be a number') } + return Buffer(arg, encodingOrOffset, length) + } + + SafeBuffer.alloc = function (size, fill, encoding) { if (typeof size !== 'number') { - throw new TypeError('size must be a number'); - } - if (size > MAX_LEN) { - throw new RangeError('size is too large'); + throw new TypeError('Argument must be a number') } - var enc = encoding; - var _fill = fill; - if (_fill === undefined) { - enc = undefined; - _fill = 0; - } - var buf = new Buffer(size); - if (typeof _fill === 'string') { - var fillBuf = new Buffer(_fill, enc); - var flen = fillBuf.length; - var i = -1; - while (++i < size) { - buf[i] = fillBuf[i % flen]; + var buf = Buffer(size) + if (fill !== undefined) { + if (typeof encoding === 'string') { + buf.fill(fill, encoding) + } else { + buf.fill(fill) } } else { - buf.fill(_fill); + buf.fill(0) } - return buf; + return buf } - exports.allocUnsafe = function allocUnsafe(size) { - if (typeof Buffer.allocUnsafe === 'function') { - return Buffer.allocUnsafe(size); - } + + SafeBuffer.allocUnsafe = function (size) { if (typeof size !== 'number') { - throw new TypeError('size must be a number'); - } - if (size > MAX_LEN) { - throw new RangeError('size is too large'); + throw new TypeError('Argument must be a number') } - return new Buffer(size); + return Buffer(size) } - exports.from = function from(value, encodingOrOffset, length) { - if (typeof Buffer.from === 'function' && (!global.Uint8Array || Uint8Array.from !== Buffer.from)) { - return Buffer.from(value, encodingOrOffset, length); - } - if (typeof value === 'number') { - throw new TypeError('"value" argument must not be a number'); - } - if (typeof value === 'string') { - return new Buffer(value, encodingOrOffset); - } - if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) { - var offset = encodingOrOffset; - if (arguments.length === 1) { - return new Buffer(value); - } - if (typeof offset === 'undefined') { - offset = 0; - } - var len = length; - if (typeof len === 'undefined') { - len = value.byteLength - offset; - } - if (offset >= value.byteLength) { - throw new RangeError('\'offset\' is out of bounds'); - } - if (len > value.byteLength - offset) { - throw new RangeError('\'length\' is out of bounds'); - } - return new Buffer(value.slice(offset, offset + len)); - } - if (Buffer.isBuffer(value)) { - var out = new Buffer(value.length); - value.copy(out, 0, 0, value.length); - return out; - } - if (value) { - if (Array.isArray(value) || (typeof ArrayBuffer !== 'undefined' && value.buffer instanceof ArrayBuffer) || 'length' in value) { - return new Buffer(value); - } - if (value.type === 'Buffer' && Array.isArray(value.data)) { - return new Buffer(value.data); - } - } - throw new TypeError('First argument must be a string, Buffer, ' + 'ArrayBuffer, Array, or array-like object.'); - } - exports.allocUnsafeSlow = function allocUnsafeSlow(size) { - if (typeof Buffer.allocUnsafeSlow === 'function') { - return Buffer.allocUnsafeSlow(size); - } + SafeBuffer.allocUnsafeSlow = function (size) { if (typeof size !== 'number') { - throw new TypeError('size must be a number'); + throw new TypeError('Argument must be a number') } - if (size >= MAX_LEN) { - throw new RangeError('size is too large'); - } - return new SlowBuffer(size); + return buffer.SlowBuffer(size) } - /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()))) -/***/ }, -/* 258 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 253 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(Buffer) {// Copyright Joyent, Inc. and other Node contributors. // @@ -35795,86 +35773,207 @@ return Object.prototype.toString.call(o); } - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(225).Buffer)) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(220).Buffer)) -/***/ }, -/* 259 */ -/***/ function(module, exports) { +/***/ }), +/* 254 */ +/***/ (function(module, exports) { /* (ignored) */ -/***/ }, -/* 260 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 255 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + var Buffer = __webpack_require__(252).Buffer; + var util = __webpack_require__(256); + + function copyBuffer(src, target, offset) { + src.copy(target, offset); + } + + module.exports = function () { + function BufferList() { + _classCallCheck(this, BufferList); + + this.head = null; + this.tail = null; + this.length = 0; + } + + BufferList.prototype.push = function push(v) { + var entry = { data: v, next: null }; + if (this.length > 0) this.tail.next = entry;else this.head = entry; + this.tail = entry; + ++this.length; + }; + + BufferList.prototype.unshift = function unshift(v) { + var entry = { data: v, next: this.head }; + if (this.length === 0) this.tail = entry; + this.head = entry; + ++this.length; + }; + + BufferList.prototype.shift = function shift() { + if (this.length === 0) return; + var ret = this.head.data; + if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next; + --this.length; + return ret; + }; + + BufferList.prototype.clear = function clear() { + this.head = this.tail = null; + this.length = 0; + }; + + BufferList.prototype.join = function join(s) { + if (this.length === 0) return ''; + var p = this.head; + var ret = '' + p.data; + while (p = p.next) { + ret += s + p.data; + }return ret; + }; + + BufferList.prototype.concat = function concat(n) { + if (this.length === 0) return Buffer.alloc(0); + if (this.length === 1) return this.head.data; + var ret = Buffer.allocUnsafe(n >>> 0); + var p = this.head; + var i = 0; + while (p) { + copyBuffer(p.data, ret, i); + i += p.data.length; + p = p.next; + } + return ret; + }; + + return BufferList; + }(); + + if (util && util.inspect && util.inspect.custom) { + module.exports.prototype[util.inspect.custom] = function () { + var obj = util.inspect({ length: this.length }); + return this.constructor.name + ' ' + obj; + }; + } + +/***/ }), +/* 256 */ +/***/ (function(module, exports) { + + /* (ignored) */ + +/***/ }), +/* 257 */ +/***/ (function(module, exports, __webpack_require__) { 'use strict'; - var Buffer = __webpack_require__(225).Buffer; /**/ - var bufferShim = __webpack_require__(257); + + var pna = __webpack_require__(250); /**/ - module.exports = BufferList; + // undocumented cb() API, needed for core, not for public API + function destroy(err, cb) { + var _this = this; - function BufferList() { - this.head = null; - this.tail = null; - this.length = 0; - } + var readableDestroyed = this._readableState && this._readableState.destroyed; + var writableDestroyed = this._writableState && this._writableState.destroyed; - BufferList.prototype.push = function (v) { - var entry = { data: v, next: null }; - if (this.length > 0) this.tail.next = entry;else this.head = entry; - this.tail = entry; - ++this.length; - }; + if (readableDestroyed || writableDestroyed) { + if (cb) { + cb(err); + } else if (err && (!this._writableState || !this._writableState.errorEmitted)) { + pna.nextTick(emitErrorNT, this, err); + } + return this; + } - BufferList.prototype.unshift = function (v) { - var entry = { data: v, next: this.head }; - if (this.length === 0) this.tail = entry; - this.head = entry; - ++this.length; - }; + // we set destroyed to true before firing error callbacks in order + // to make it re-entrance safe in case destroy() is called within callbacks - BufferList.prototype.shift = function () { - if (this.length === 0) return; - var ret = this.head.data; - if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next; - --this.length; - return ret; - }; + if (this._readableState) { + this._readableState.destroyed = true; + } - BufferList.prototype.clear = function () { - this.head = this.tail = null; - this.length = 0; - }; + // if this is a duplex stream mark the writable part as destroyed as well + if (this._writableState) { + this._writableState.destroyed = true; + } - BufferList.prototype.join = function (s) { - if (this.length === 0) return ''; - var p = this.head; - var ret = '' + p.data; - while (p = p.next) { - ret += s + p.data; - }return ret; - }; + this._destroy(err || null, function (err) { + if (!cb && err) { + pna.nextTick(emitErrorNT, _this, err); + if (_this._writableState) { + _this._writableState.errorEmitted = true; + } + } else if (cb) { + cb(err); + } + }); - BufferList.prototype.concat = function (n) { - if (this.length === 0) return bufferShim.alloc(0); - if (this.length === 1) return this.head.data; - var ret = bufferShim.allocUnsafe(n >>> 0); - var p = this.head; - var i = 0; - while (p) { - p.data.copy(ret, i); - i += p.data.length; - p = p.next; + return this; + } + + function undestroy() { + if (this._readableState) { + this._readableState.destroyed = false; + this._readableState.reading = false; + this._readableState.ended = false; + this._readableState.endEmitted = false; } - return ret; + + if (this._writableState) { + this._writableState.destroyed = false; + this._writableState.ended = false; + this._writableState.ending = false; + this._writableState.finished = false; + this._writableState.errorEmitted = false; + } + } + + function emitErrorNT(self, err) { + self.emit('error', err); + } + + module.exports = { + destroy: destroy, + undestroy: undestroy }; -/***/ }, -/* 261 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 258 */ +/***/ (function(module, exports, __webpack_require__) { + + // Copyright Joyent, Inc. and other Node contributors. + // + // 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. // a duplex stream is just a stream that is both readable and writable. // Since JS doesn't have multiple prototypal inheritance, this class @@ -35885,6 +35984,10 @@ /**/ + var pna = __webpack_require__(250); + /**/ + + /**/ var objectKeys = Object.keys || function (obj) { var keys = []; for (var key in obj) { @@ -35896,23 +35999,22 @@ module.exports = Duplex; /**/ - var processNextTick = __webpack_require__(256); - /**/ - - /**/ - var util = __webpack_require__(258); - util.inherits = __webpack_require__(253); + var util = __webpack_require__(253); + util.inherits = __webpack_require__(233); /**/ - var Readable = __webpack_require__(255); - var Writable = __webpack_require__(262); + var Readable = __webpack_require__(249); + var Writable = __webpack_require__(259); util.inherits(Duplex, Readable); - var keys = objectKeys(Writable.prototype); - for (var v = 0; v < keys.length; v++) { - var method = keys[v]; - if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method]; + { + // avoid scope creep, the keys array can then be collected + var keys = objectKeys(Writable.prototype); + for (var v = 0; v < keys.length; v++) { + var method = keys[v]; + if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method]; + } } function Duplex(options) { @@ -35931,6 +36033,16 @@ this.once('end', onend); } + Object.defineProperty(Duplex.prototype, 'writableHighWaterMark', { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function () { + return this._writableState.highWaterMark; + } + }); + // the no-half-open enforcer function onend() { // if we allow half-open state, or if the writable side ended, @@ -35939,37 +36051,102 @@ // no more data can be written. // But allow more writes to happen in this tick. - processNextTick(onEndNT, this); + pna.nextTick(onEndNT, this); } function onEndNT(self) { self.end(); } - function forEach(xs, f) { - for (var i = 0, l = xs.length; i < l; i++) { - f(xs[i], i); + Object.defineProperty(Duplex.prototype, 'destroyed', { + get: function () { + if (this._readableState === undefined || this._writableState === undefined) { + return false; + } + return this._readableState.destroyed && this._writableState.destroyed; + }, + set: function (value) { + // we ignore the value if the stream + // has not been initialized yet + if (this._readableState === undefined || this._writableState === undefined) { + return; + } + + // backward compatibility, the user is explicitly + // managing destroyed + this._readableState.destroyed = value; + this._writableState.destroyed = value; } - } + }); -/***/ }, -/* 262 */ -/***/ function(module, exports, __webpack_require__) { + Duplex.prototype._destroy = function (err, cb) { + this.push(null); + this.end(); + + pna.nextTick(cb, err); + }; + +/***/ }), +/* 259 */ +/***/ (function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process, setImmediate, global) {// Copyright Joyent, Inc. and other Node contributors. + // + // 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. - /* WEBPACK VAR INJECTION */(function(process, setImmediate) {// A bit simpler than readable streams. + // A bit simpler than readable streams. // Implement an async ._write(chunk, encoding, cb), and it'll handle all // the drain event emission and buffering. 'use strict'; - module.exports = Writable; - /**/ - var processNextTick = __webpack_require__(256); + + var pna = __webpack_require__(250); /**/ + module.exports = Writable; + + /* */ + function WriteReq(chunk, encoding, cb) { + this.chunk = chunk; + this.encoding = encoding; + this.callback = cb; + this.next = null; + } + + // It seems a linked list but it is not + // there will be only 2 of these for each stream + function CorkedRequest(state) { + var _this = this; + + this.next = null; + this.entry = null; + this.finish = function () { + onCorkedFinish(_this, state); + }; + } + /* */ + /**/ - var asyncWrite = !process.browser && ['v0.10', 'v0.9.'].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : processNextTick; + var asyncWrite = !process.browser && ['v0.10', 'v0.9.'].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick; /**/ /**/ @@ -35979,63 +36156,71 @@ Writable.WritableState = WritableState; /**/ - var util = __webpack_require__(258); - util.inherits = __webpack_require__(253); + var util = __webpack_require__(253); + util.inherits = __webpack_require__(233); /**/ /**/ var internalUtil = { - deprecate: __webpack_require__(265) + deprecate: __webpack_require__(262) }; /**/ /**/ - var Stream; - (function () { - try { - Stream = __webpack_require__(251); - } catch (_) {} finally { - if (!Stream) Stream = __webpack_require__(252).EventEmitter; - } - })(); + var Stream = __webpack_require__(251); /**/ - var Buffer = __webpack_require__(225).Buffer; /**/ - var bufferShim = __webpack_require__(257); + + var Buffer = __webpack_require__(252).Buffer; + var OurUint8Array = global.Uint8Array || function () {}; + function _uint8ArrayToBuffer(chunk) { + return Buffer.from(chunk); + } + function _isUint8Array(obj) { + return Buffer.isBuffer(obj) || obj instanceof OurUint8Array; + } + /**/ + var destroyImpl = __webpack_require__(257); + util.inherits(Writable, Stream); function nop() {} - function WriteReq(chunk, encoding, cb) { - this.chunk = chunk; - this.encoding = encoding; - this.callback = cb; - this.next = null; - } - function WritableState(options, stream) { - Duplex = Duplex || __webpack_require__(261); + Duplex = Duplex || __webpack_require__(258); options = options || {}; + // Duplex streams are both readable and writable, but share + // the same options object. + // However, some cases require setting options to different + // values for the readable and the writable sides of the duplex stream. + // These options can be provided separately as readableXXX and writableXXX. + var isDuplex = stream instanceof Duplex; + // object stream flag to indicate whether or not this stream // contains buffers or objects. this.objectMode = !!options.objectMode; - if (stream instanceof Duplex) this.objectMode = this.objectMode || !!options.writableObjectMode; + if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode; // the point at which write() starts returning false // Note: 0 is a valid value, means that we always return false if // the entire buffer is not flushed immediately on write() var hwm = options.highWaterMark; + var writableHwm = options.writableHighWaterMark; var defaultHwm = this.objectMode ? 16 : 16 * 1024; - this.highWaterMark = hwm || hwm === 0 ? hwm : defaultHwm; + + if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (writableHwm || writableHwm === 0)) this.highWaterMark = writableHwm;else this.highWaterMark = defaultHwm; // cast to ints. - this.highWaterMark = ~ ~this.highWaterMark; + this.highWaterMark = Math.floor(this.highWaterMark); + + // if _final has been called + this.finalCalled = false; // drain event flag. this.needDrain = false; @@ -36046,6 +36231,9 @@ // when 'finish' is emitted this.finished = false; + // has it been destroyed + this.destroyed = false; + // should we decode strings into buffers before passing to _write? // this is here so that some node-core streams can optimize string // handling at a lower level. @@ -36127,7 +36315,7 @@ Object.defineProperty(WritableState.prototype, 'buffer', { get: internalUtil.deprecate(function () { return this.getBuffer(); - }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.') + }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003') }); } catch (_) {} })(); @@ -36140,6 +36328,7 @@ Object.defineProperty(Writable, Symbol.hasInstance, { value: function (object) { if (realHasInstance.call(this, object)) return true; + if (this !== Writable) return false; return object && object._writableState instanceof WritableState; } @@ -36151,7 +36340,7 @@ } function Writable(options) { - Duplex = Duplex || __webpack_require__(261); + Duplex = Duplex || __webpack_require__(258); // Writable ctor is applied to Duplexes, too. // `realHasInstance` is necessary because using plain `instanceof` @@ -36173,6 +36362,10 @@ if (typeof options.write === 'function') this._write = options.write; if (typeof options.writev === 'function') this._writev = options.writev; + + if (typeof options.destroy === 'function') this._destroy = options.destroy; + + if (typeof options.final === 'function') this._final = options.final; } Stream.call(this); @@ -36187,28 +36380,24 @@ var er = new Error('write after end'); // TODO: defer error events consistently everywhere, not just the cb stream.emit('error', er); - processNextTick(cb, er); + pna.nextTick(cb, er); } - // If we get something that is not a buffer, string, null, or undefined, - // and we're not in objectMode, then that's an error. - // Otherwise stream chunks are all considered to be of length=1, and the - // watermarks determine how many objects to keep in the buffer, rather than - // how many bytes or characters. + // Checks that a user-supplied chunk is valid, especially for the particular + // mode the stream is in. Currently this means that `null` is never accepted + // and undefined/non-string values are only allowed in object mode. function validChunk(stream, state, chunk, cb) { var valid = true; var er = false; - // Always throw error if a null is written - // if we are not in object mode then throw - // if it is not a buffer, string, or undefined. + if (chunk === null) { er = new TypeError('May not write null values to stream'); - } else if (!Buffer.isBuffer(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) { + } else if (typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) { er = new TypeError('Invalid non-string/buffer chunk'); } if (er) { stream.emit('error', er); - processNextTick(cb, er); + pna.nextTick(cb, er); valid = false; } return valid; @@ -36217,19 +36406,24 @@ Writable.prototype.write = function (chunk, encoding, cb) { var state = this._writableState; var ret = false; + var isBuf = !state.objectMode && _isUint8Array(chunk); + + if (isBuf && !Buffer.isBuffer(chunk)) { + chunk = _uint8ArrayToBuffer(chunk); + } if (typeof encoding === 'function') { cb = encoding; encoding = null; } - if (Buffer.isBuffer(chunk)) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding; + if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding; if (typeof cb !== 'function') cb = nop; - if (state.ended) writeAfterEnd(this, cb);else if (validChunk(this, state, chunk, cb)) { + if (state.ended) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) { state.pendingcb++; - ret = writeOrBuffer(this, state, chunk, encoding, cb); + ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb); } return ret; @@ -36261,18 +36455,33 @@ function decodeChunk(state, chunk, encoding) { if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') { - chunk = bufferShim.from(chunk, encoding); + chunk = Buffer.from(chunk, encoding); } return chunk; } + Object.defineProperty(Writable.prototype, 'writableHighWaterMark', { + // making it explicit this property is not enumerable + // because otherwise some prototype manipulation in + // userland will fail + enumerable: false, + get: function () { + return this._writableState.highWaterMark; + } + }); + // if we're already writing something, then just put this // in the queue, and wait our turn. Otherwise, call _write // If we return false, then we need a drain event, so set that flag. - function writeOrBuffer(stream, state, chunk, encoding, cb) { - chunk = decodeChunk(state, chunk, encoding); - - if (Buffer.isBuffer(chunk)) encoding = 'buffer'; + function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) { + if (!isBuf) { + var newChunk = decodeChunk(state, chunk, encoding); + if (chunk !== newChunk) { + isBuf = true; + encoding = 'buffer'; + chunk = newChunk; + } + } var len = state.objectMode ? 1 : chunk.length; state.length += len; @@ -36283,7 +36492,13 @@ if (state.writing || state.corked) { var last = state.lastBufferedRequest; - state.lastBufferedRequest = new WriteReq(chunk, encoding, cb); + state.lastBufferedRequest = { + chunk: chunk, + encoding: encoding, + isBuf: isBuf, + callback: cb, + next: null + }; if (last) { last.next = state.lastBufferedRequest; } else { @@ -36308,10 +36523,26 @@ function onwriteError(stream, state, sync, er, cb) { --state.pendingcb; - if (sync) processNextTick(cb, er);else cb(er); - stream._writableState.errorEmitted = true; - stream.emit('error', er); + if (sync) { + // defer the callback if we are being called synchronously + // to avoid piling up things on the stack + pna.nextTick(cb, er); + // this can emit finish, and it will always happen + // after error + pna.nextTick(finishMaybe, stream, state); + stream._writableState.errorEmitted = true; + stream.emit('error', er); + } else { + // the caller expect this to happen before if + // it is async + cb(er); + stream._writableState.errorEmitted = true; + stream.emit('error', er); + // this can emit finish, but finish must + // always follow error + finishMaybe(stream, state); + } } function onwriteStateUpdate(state) { @@ -36341,8 +36572,8 @@ asyncWrite(afterWrite, stream, state, finished, cb); /**/ } else { - afterWrite(stream, state, finished, cb); - } + afterWrite(stream, state, finished, cb); + } } } @@ -36376,11 +36607,14 @@ holder.entry = entry; var count = 0; + var allBuffers = true; while (entry) { buffer[count] = entry; + if (!entry.isBuf) allBuffers = false; entry = entry.next; count += 1; } + buffer.allBuffers = allBuffers; doWrite(stream, state, true, state.length, buffer, '', holder.finish); @@ -36394,6 +36628,7 @@ } else { state.corkedRequestsFree = new CorkedRequest(state); } + state.bufferedRequestCount = 0; } else { // Slow case, write chunks one-by-one while (entry) { @@ -36404,6 +36639,7 @@ doWrite(stream, state, false, len, chunk, encoding, cb); entry = entry.next; + state.bufferedRequestCount--; // if we didn't call the onwrite immediately, then // it means that we need to wait until it does. // also, that means that the chunk and cb are currently @@ -36416,7 +36652,6 @@ if (entry === null) state.lastBufferedRequest = null; } - state.bufferedRequestCount = 0; state.bufferedRequest = entry; state.bufferProcessing = false; } @@ -36454,23 +36689,37 @@ function needFinish(state) { return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing; } - - function prefinish(stream, state) { - if (!state.prefinished) { + function callFinal(stream, state) { + stream._final(function (err) { + state.pendingcb--; + if (err) { + stream.emit('error', err); + } state.prefinished = true; stream.emit('prefinish'); + finishMaybe(stream, state); + }); + } + function prefinish(stream, state) { + if (!state.prefinished && !state.finalCalled) { + if (typeof stream._final === 'function') { + state.pendingcb++; + state.finalCalled = true; + pna.nextTick(callFinal, stream, state); + } else { + state.prefinished = true; + stream.emit('prefinish'); + } } } function finishMaybe(stream, state) { var need = needFinish(state); if (need) { + prefinish(stream, state); if (state.pendingcb === 0) { - prefinish(stream, state); state.finished = true; stream.emit('finish'); - } else { - prefinish(stream, state); } } return need; @@ -36480,51 +36729,72 @@ state.ending = true; finishMaybe(stream, state); if (cb) { - if (state.finished) processNextTick(cb);else stream.once('finish', cb); + if (state.finished) pna.nextTick(cb);else stream.once('finish', cb); } state.ended = true; stream.writable = false; } - // It seems a linked list but it is not - // there will be only 2 of these for each stream - function CorkedRequest(state) { - var _this = this; - - this.next = null; - this.entry = null; + function onCorkedFinish(corkReq, state, err) { + var entry = corkReq.entry; + corkReq.entry = null; + while (entry) { + var cb = entry.callback; + state.pendingcb--; + cb(err); + entry = entry.next; + } + if (state.corkedRequestsFree) { + state.corkedRequestsFree.next = corkReq; + } else { + state.corkedRequestsFree = corkReq; + } + } - this.finish = function (err) { - var entry = _this.entry; - _this.entry = null; - while (entry) { - var cb = entry.callback; - state.pendingcb--; - cb(err); - entry = entry.next; + Object.defineProperty(Writable.prototype, 'destroyed', { + get: function () { + if (this._writableState === undefined) { + return false; } - if (state.corkedRequestsFree) { - state.corkedRequestsFree.next = _this; - } else { - state.corkedRequestsFree = _this; + return this._writableState.destroyed; + }, + set: function (value) { + // we ignore the value if the stream + // has not been initialized yet + if (!this._writableState) { + return; } - }; - } - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3), __webpack_require__(263).setImmediate)) -/***/ }, -/* 263 */ -/***/ function(module, exports, __webpack_require__) { + // backward compatibility, the user is explicitly + // managing destroyed + this._writableState.destroyed = value; + } + }); + + Writable.prototype.destroy = destroyImpl.destroy; + Writable.prototype._undestroy = destroyImpl.undestroy; + Writable.prototype._destroy = function (err, cb) { + this.end(); + cb(err); + }; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3), __webpack_require__(260).setImmediate, (function() { return this; }()))) + +/***/ }), +/* 260 */ +/***/ (function(module, exports, __webpack_require__) { + /* WEBPACK VAR INJECTION */(function(global) {var scope = (typeof global !== "undefined" && global) || + (typeof self !== "undefined" && self) || + window; var apply = Function.prototype.apply; // DOM APIs, for completeness exports.setTimeout = function() { - return new Timeout(apply.call(setTimeout, window, arguments), clearTimeout); + return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout); }; exports.setInterval = function() { - return new Timeout(apply.call(setInterval, window, arguments), clearInterval); + return new Timeout(apply.call(setInterval, scope, arguments), clearInterval); }; exports.clearTimeout = exports.clearInterval = function(timeout) { @@ -36539,7 +36809,7 @@ } Timeout.prototype.unref = Timeout.prototype.ref = function() {}; Timeout.prototype.close = function() { - this._clearFn.call(window, this._id); + this._clearFn.call(scope, this._id); }; // Does not start the time, just sets up the members needed. @@ -36566,14 +36836,22 @@ }; // setimmediate attaches itself to the global object - __webpack_require__(264); - exports.setImmediate = setImmediate; - exports.clearImmediate = clearImmediate; + __webpack_require__(261); + // On some exotic environments, it's not clear which object `setimmediate` was + // able to install onto. Search each possibility in the same order as the + // `setimmediate` library. + exports.setImmediate = (typeof self !== "undefined" && self.setImmediate) || + (typeof global !== "undefined" && global.setImmediate) || + (this && this.setImmediate); + exports.clearImmediate = (typeof self !== "undefined" && self.clearImmediate) || + (typeof global !== "undefined" && global.clearImmediate) || + (this && this.clearImmediate); + /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()))) -/***/ }, -/* 264 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 261 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(global, process) {(function (global, undefined) { "use strict"; @@ -36764,9 +37042,9 @@ /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(3))) -/***/ }, -/* 265 */ -/***/ function(module, exports) { +/***/ }), +/* 262 */ +/***/ (function(module, exports) { /* WEBPACK VAR INJECTION */(function(global) { /** @@ -36838,9 +37116,310 @@ /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()))) -/***/ }, -/* 266 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 263 */ +/***/ (function(module, exports, __webpack_require__) { + + // Copyright Joyent, Inc. and other Node contributors. + // + // 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. + + 'use strict'; + + /**/ + + var Buffer = __webpack_require__(252).Buffer; + /**/ + + var isEncoding = Buffer.isEncoding || function (encoding) { + encoding = '' + encoding; + switch (encoding && encoding.toLowerCase()) { + case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw': + return true; + default: + return false; + } + }; + + function _normalizeEncoding(enc) { + if (!enc) return 'utf8'; + var retried; + while (true) { + switch (enc) { + case 'utf8': + case 'utf-8': + return 'utf8'; + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return 'utf16le'; + case 'latin1': + case 'binary': + return 'latin1'; + case 'base64': + case 'ascii': + case 'hex': + return enc; + default: + if (retried) return; // undefined + enc = ('' + enc).toLowerCase(); + retried = true; + } + } + }; + + // Do not cache `Buffer.isEncoding` when checking encoding names as some + // modules monkey-patch it to support additional encodings + function normalizeEncoding(enc) { + var nenc = _normalizeEncoding(enc); + if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc); + return nenc || enc; + } + + // StringDecoder provides an interface for efficiently splitting a series of + // buffers into a series of JS strings without breaking apart multi-byte + // characters. + exports.StringDecoder = StringDecoder; + function StringDecoder(encoding) { + this.encoding = normalizeEncoding(encoding); + var nb; + switch (this.encoding) { + case 'utf16le': + this.text = utf16Text; + this.end = utf16End; + nb = 4; + break; + case 'utf8': + this.fillLast = utf8FillLast; + nb = 4; + break; + case 'base64': + this.text = base64Text; + this.end = base64End; + nb = 3; + break; + default: + this.write = simpleWrite; + this.end = simpleEnd; + return; + } + this.lastNeed = 0; + this.lastTotal = 0; + this.lastChar = Buffer.allocUnsafe(nb); + } + + StringDecoder.prototype.write = function (buf) { + if (buf.length === 0) return ''; + var r; + var i; + if (this.lastNeed) { + r = this.fillLast(buf); + if (r === undefined) return ''; + i = this.lastNeed; + this.lastNeed = 0; + } else { + i = 0; + } + if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i); + return r || ''; + }; + + StringDecoder.prototype.end = utf8End; + + // Returns only complete characters in a Buffer + StringDecoder.prototype.text = utf8Text; + + // Attempts to complete a partial non-UTF-8 character using bytes from a Buffer + StringDecoder.prototype.fillLast = function (buf) { + if (this.lastNeed <= buf.length) { + buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed); + return this.lastChar.toString(this.encoding, 0, this.lastTotal); + } + buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length); + this.lastNeed -= buf.length; + }; + + // Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a + // continuation byte. If an invalid byte is detected, -2 is returned. + function utf8CheckByte(byte) { + if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4; + return byte >> 6 === 0x02 ? -1 : -2; + } + + // Checks at most 3 bytes at the end of a Buffer in order to detect an + // incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4) + // needed to complete the UTF-8 character (if applicable) are returned. + function utf8CheckIncomplete(self, buf, i) { + var j = buf.length - 1; + if (j < i) return 0; + var nb = utf8CheckByte(buf[j]); + if (nb >= 0) { + if (nb > 0) self.lastNeed = nb - 1; + return nb; + } + if (--j < i || nb === -2) return 0; + nb = utf8CheckByte(buf[j]); + if (nb >= 0) { + if (nb > 0) self.lastNeed = nb - 2; + return nb; + } + if (--j < i || nb === -2) return 0; + nb = utf8CheckByte(buf[j]); + if (nb >= 0) { + if (nb > 0) { + if (nb === 2) nb = 0;else self.lastNeed = nb - 3; + } + return nb; + } + return 0; + } + + // Validates as many continuation bytes for a multi-byte UTF-8 character as + // needed or are available. If we see a non-continuation byte where we expect + // one, we "replace" the validated continuation bytes we've seen so far with + // a single UTF-8 replacement character ('\ufffd'), to match v8's UTF-8 decoding + // behavior. The continuation byte check is included three times in the case + // where all of the continuation bytes for a character exist in the same buffer. + // It is also done this way as a slight performance increase instead of using a + // loop. + function utf8CheckExtraBytes(self, buf, p) { + if ((buf[0] & 0xC0) !== 0x80) { + self.lastNeed = 0; + return '\ufffd'; + } + if (self.lastNeed > 1 && buf.length > 1) { + if ((buf[1] & 0xC0) !== 0x80) { + self.lastNeed = 1; + return '\ufffd'; + } + if (self.lastNeed > 2 && buf.length > 2) { + if ((buf[2] & 0xC0) !== 0x80) { + self.lastNeed = 2; + return '\ufffd'; + } + } + } + } + + // Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer. + function utf8FillLast(buf) { + var p = this.lastTotal - this.lastNeed; + var r = utf8CheckExtraBytes(this, buf, p); + if (r !== undefined) return r; + if (this.lastNeed <= buf.length) { + buf.copy(this.lastChar, p, 0, this.lastNeed); + return this.lastChar.toString(this.encoding, 0, this.lastTotal); + } + buf.copy(this.lastChar, p, 0, buf.length); + this.lastNeed -= buf.length; + } + + // Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a + // partial character, the character's bytes are buffered until the required + // number of bytes are available. + function utf8Text(buf, i) { + var total = utf8CheckIncomplete(this, buf, i); + if (!this.lastNeed) return buf.toString('utf8', i); + this.lastTotal = total; + var end = buf.length - (total - this.lastNeed); + buf.copy(this.lastChar, 0, end); + return buf.toString('utf8', i, end); + } + + // For UTF-8, a replacement character is added when ending on a partial + // character. + function utf8End(buf) { + var r = buf && buf.length ? this.write(buf) : ''; + if (this.lastNeed) return r + '\ufffd'; + return r; + } + + // UTF-16LE typically needs two bytes per character, but even if we have an even + // number of bytes available, we need to check if we end on a leading/high + // surrogate. In that case, we need to wait for the next two bytes in order to + // decode the last character properly. + function utf16Text(buf, i) { + if ((buf.length - i) % 2 === 0) { + var r = buf.toString('utf16le', i); + if (r) { + var c = r.charCodeAt(r.length - 1); + if (c >= 0xD800 && c <= 0xDBFF) { + this.lastNeed = 2; + this.lastTotal = 4; + this.lastChar[0] = buf[buf.length - 2]; + this.lastChar[1] = buf[buf.length - 1]; + return r.slice(0, -1); + } + } + return r; + } + this.lastNeed = 1; + this.lastTotal = 2; + this.lastChar[0] = buf[buf.length - 1]; + return buf.toString('utf16le', i, buf.length - 1); + } + + // For UTF-16LE we do not explicitly append special replacement characters if we + // end on a partial character, we simply let v8 handle that. + function utf16End(buf) { + var r = buf && buf.length ? this.write(buf) : ''; + if (this.lastNeed) { + var end = this.lastTotal - this.lastNeed; + return r + this.lastChar.toString('utf16le', 0, end); + } + return r; + } + + function base64Text(buf, i) { + var n = (buf.length - i) % 3; + if (n === 0) return buf.toString('base64', i); + this.lastNeed = 3 - n; + this.lastTotal = 3; + if (n === 1) { + this.lastChar[0] = buf[buf.length - 1]; + } else { + this.lastChar[0] = buf[buf.length - 2]; + this.lastChar[1] = buf[buf.length - 1]; + } + return buf.toString('base64', i, buf.length - n); + } + + function base64End(buf) { + var r = buf && buf.length ? this.write(buf) : ''; + if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed); + return r; + } + + // Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex) + function simpleWrite(buf) { + return buf.toString(this.encoding); + } + + function simpleEnd(buf) { + return buf && buf.length ? this.write(buf) : ''; + } + +/***/ }), +/* 264 */ +/***/ (function(module, exports, __webpack_require__) { // Copyright Joyent, Inc. and other Node contributors. // @@ -36863,212 +37442,6 @@ // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE // USE OR OTHER DEALINGS IN THE SOFTWARE. - var Buffer = __webpack_require__(225).Buffer; - - var isBufferEncoding = Buffer.isEncoding - || function(encoding) { - switch (encoding && encoding.toLowerCase()) { - case 'hex': case 'utf8': case 'utf-8': case 'ascii': case 'binary': case 'base64': case 'ucs2': case 'ucs-2': case 'utf16le': case 'utf-16le': case 'raw': return true; - default: return false; - } - } - - - function assertEncoding(encoding) { - if (encoding && !isBufferEncoding(encoding)) { - throw new Error('Unknown encoding: ' + encoding); - } - } - - // StringDecoder provides an interface for efficiently splitting a series of - // buffers into a series of JS strings without breaking apart multi-byte - // characters. CESU-8 is handled as part of the UTF-8 encoding. - // - // @TODO Handling all encodings inside a single object makes it very difficult - // to reason about this code, so it should be split up in the future. - // @TODO There should be a utf8-strict encoding that rejects invalid UTF-8 code - // points as used by CESU-8. - var StringDecoder = exports.StringDecoder = function(encoding) { - this.encoding = (encoding || 'utf8').toLowerCase().replace(/[-_]/, ''); - assertEncoding(encoding); - switch (this.encoding) { - case 'utf8': - // CESU-8 represents each of Surrogate Pair by 3-bytes - this.surrogateSize = 3; - break; - case 'ucs2': - case 'utf16le': - // UTF-16 represents each of Surrogate Pair by 2-bytes - this.surrogateSize = 2; - this.detectIncompleteChar = utf16DetectIncompleteChar; - break; - case 'base64': - // Base-64 stores 3 bytes in 4 chars, and pads the remainder. - this.surrogateSize = 3; - this.detectIncompleteChar = base64DetectIncompleteChar; - break; - default: - this.write = passThroughWrite; - return; - } - - // Enough space to store all bytes of a single character. UTF-8 needs 4 - // bytes, but CESU-8 may require up to 6 (3 bytes per surrogate). - this.charBuffer = new Buffer(6); - // Number of bytes received for the current incomplete multi-byte character. - this.charReceived = 0; - // Number of bytes expected for the current incomplete multi-byte character. - this.charLength = 0; - }; - - - // write decodes the given buffer and returns it as JS string that is - // guaranteed to not contain any partial multi-byte characters. Any partial - // character found at the end of the buffer is buffered up, and will be - // returned when calling write again with the remaining bytes. - // - // Note: Converting a Buffer containing an orphan surrogate to a String - // currently works, but converting a String to a Buffer (via `new Buffer`, or - // Buffer#write) will replace incomplete surrogates with the unicode - // replacement character. See https://codereview.chromium.org/121173009/ . - StringDecoder.prototype.write = function(buffer) { - var charStr = ''; - // if our last write ended with an incomplete multibyte character - while (this.charLength) { - // determine how many remaining bytes this buffer has to offer for this char - var available = (buffer.length >= this.charLength - this.charReceived) ? - this.charLength - this.charReceived : - buffer.length; - - // add the new bytes to the char buffer - buffer.copy(this.charBuffer, this.charReceived, 0, available); - this.charReceived += available; - - if (this.charReceived < this.charLength) { - // still not enough chars in this buffer? wait for more ... - return ''; - } - - // remove bytes belonging to the current character from the buffer - buffer = buffer.slice(available, buffer.length); - - // get the character that was split - charStr = this.charBuffer.slice(0, this.charLength).toString(this.encoding); - - // CESU-8: lead surrogate (D800-DBFF) is also the incomplete character - var charCode = charStr.charCodeAt(charStr.length - 1); - if (charCode >= 0xD800 && charCode <= 0xDBFF) { - this.charLength += this.surrogateSize; - charStr = ''; - continue; - } - this.charReceived = this.charLength = 0; - - // if there are no more bytes in this buffer, just emit our char - if (buffer.length === 0) { - return charStr; - } - break; - } - - // determine and set charLength / charReceived - this.detectIncompleteChar(buffer); - - var end = buffer.length; - if (this.charLength) { - // buffer the incomplete character bytes we got - buffer.copy(this.charBuffer, 0, buffer.length - this.charReceived, end); - end -= this.charReceived; - } - - charStr += buffer.toString(this.encoding, 0, end); - - var end = charStr.length - 1; - var charCode = charStr.charCodeAt(end); - // CESU-8: lead surrogate (D800-DBFF) is also the incomplete character - if (charCode >= 0xD800 && charCode <= 0xDBFF) { - var size = this.surrogateSize; - this.charLength += size; - this.charReceived += size; - this.charBuffer.copy(this.charBuffer, size, 0, size); - buffer.copy(this.charBuffer, 0, 0, size); - return charStr.substring(0, end); - } - - // or just emit the charStr - return charStr; - }; - - // detectIncompleteChar determines if there is an incomplete UTF-8 character at - // the end of the given buffer. If so, it sets this.charLength to the byte - // length that character, and sets this.charReceived to the number of bytes - // that are available for this character. - StringDecoder.prototype.detectIncompleteChar = function(buffer) { - // determine how many bytes we have to check at the end of this buffer - var i = (buffer.length >= 3) ? 3 : buffer.length; - - // Figure out if one of the last i bytes of our buffer announces an - // incomplete char. - for (; i > 0; i--) { - var c = buffer[buffer.length - i]; - - // See http://en.wikipedia.org/wiki/UTF-8#Description - - // 110XXXXX - if (i == 1 && c >> 5 == 0x06) { - this.charLength = 2; - break; - } - - // 1110XXXX - if (i <= 2 && c >> 4 == 0x0E) { - this.charLength = 3; - break; - } - - // 11110XXX - if (i <= 3 && c >> 3 == 0x1E) { - this.charLength = 4; - break; - } - } - this.charReceived = i; - }; - - StringDecoder.prototype.end = function(buffer) { - var res = ''; - if (buffer && buffer.length) - res = this.write(buffer); - - if (this.charReceived) { - var cr = this.charReceived; - var buf = this.charBuffer; - var enc = this.encoding; - res += buf.slice(0, cr).toString(enc); - } - - return res; - }; - - function passThroughWrite(buffer) { - return buffer.toString(this.encoding); - } - - function utf16DetectIncompleteChar(buffer) { - this.charReceived = buffer.length % 2; - this.charLength = this.charReceived ? 2 : 0; - } - - function base64DetectIncompleteChar(buffer) { - this.charReceived = buffer.length % 3; - this.charLength = this.charReceived ? 3 : 0; - } - - -/***/ }, -/* 267 */ -/***/ function(module, exports, __webpack_require__) { - // a transform stream is a readable/writable stream where you do // something with the data. Sometimes it's called a "filter", // but that's not a great name for it, since that implies a thing where @@ -37115,46 +37488,37 @@ module.exports = Transform; - var Duplex = __webpack_require__(261); + var Duplex = __webpack_require__(258); /**/ - var util = __webpack_require__(258); - util.inherits = __webpack_require__(253); + var util = __webpack_require__(253); + util.inherits = __webpack_require__(233); /**/ util.inherits(Transform, Duplex); - function TransformState(stream) { - this.afterTransform = function (er, data) { - return afterTransform(stream, er, data); - }; - - this.needTransform = false; - this.transforming = false; - this.writecb = null; - this.writechunk = null; - this.writeencoding = null; - } - - function afterTransform(stream, er, data) { - var ts = stream._transformState; + function afterTransform(er, data) { + var ts = this._transformState; ts.transforming = false; var cb = ts.writecb; - if (!cb) return stream.emit('error', new Error('no writecb in Transform class')); + if (!cb) { + return this.emit('error', new Error('write callback called multiple times')); + } ts.writechunk = null; ts.writecb = null; - if (data !== null && data !== undefined) stream.push(data); + if (data != null) // single equals check for both `null` and `undefined` + this.push(data); cb(er); - var rs = stream._readableState; + var rs = this._readableState; rs.reading = false; if (rs.needReadable || rs.length < rs.highWaterMark) { - stream._read(rs.highWaterMark); + this._read(rs.highWaterMark); } } @@ -37163,9 +37527,14 @@ Duplex.call(this, options); - this._transformState = new TransformState(this); - - var stream = this; + this._transformState = { + afterTransform: afterTransform.bind(this), + needTransform: false, + transforming: false, + writecb: null, + writechunk: null, + writeencoding: null + }; // start out asking for a readable event once data is transformed. this._readableState.needReadable = true; @@ -37182,11 +37551,19 @@ } // When the writable side finishes, then flush out anything remaining. - this.once('prefinish', function () { - if (typeof this._flush === 'function') this._flush(function (er, data) { - done(stream, er, data); - });else done(stream); - }); + this.on('prefinish', prefinish); + } + + function prefinish() { + var _this = this; + + if (typeof this._flush === 'function') { + this._flush(function (er, data) { + done(_this, er, data); + }); + } else { + done(this, null, null); + } } Transform.prototype.push = function (chunk, encoding) { @@ -37235,26 +37612,54 @@ } }; + Transform.prototype._destroy = function (err, cb) { + var _this2 = this; + + Duplex.prototype._destroy.call(this, err, function (err2) { + cb(err2); + _this2.emit('close'); + }); + }; + function done(stream, er, data) { if (er) return stream.emit('error', er); - if (data !== null && data !== undefined) stream.push(data); + if (data != null) // single equals check for both `null` and `undefined` + stream.push(data); // if there's nothing in the write buffer, then that means // that nothing more will ever be provided - var ws = stream._writableState; - var ts = stream._transformState; + if (stream._writableState.length) throw new Error('Calling transform done when ws.length != 0'); - if (ws.length) throw new Error('Calling transform done when ws.length != 0'); - - if (ts.transforming) throw new Error('Calling transform done when still transforming'); + if (stream._transformState.transforming) throw new Error('Calling transform done when still transforming'); return stream.push(null); } -/***/ }, -/* 268 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 265 */ +/***/ (function(module, exports, __webpack_require__) { + + // Copyright Joyent, Inc. and other Node contributors. + // + // 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. // a passthrough stream. // basically just the most minimal sort of Transform stream. @@ -37264,11 +37669,11 @@ module.exports = PassThrough; - var Transform = __webpack_require__(267); + var Transform = __webpack_require__(264); /**/ - var util = __webpack_require__(258); - util.inherits = __webpack_require__(253); + var util = __webpack_require__(253); + util.inherits = __webpack_require__(233); /**/ util.inherits(PassThrough, Transform); @@ -37283,37 +37688,37 @@ cb(null, chunk); }; -/***/ }, -/* 269 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 266 */ +/***/ (function(module, exports, __webpack_require__) { - module.exports = __webpack_require__(262) + module.exports = __webpack_require__(259); -/***/ }, -/* 270 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 267 */ +/***/ (function(module, exports, __webpack_require__) { - module.exports = __webpack_require__(261) + module.exports = __webpack_require__(258); -/***/ }, -/* 271 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 268 */ +/***/ (function(module, exports, __webpack_require__) { - module.exports = __webpack_require__(267) + module.exports = __webpack_require__(248).Transform -/***/ }, -/* 272 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 269 */ +/***/ (function(module, exports, __webpack_require__) { - module.exports = __webpack_require__(268) + module.exports = __webpack_require__(248).PassThrough -/***/ }, -/* 273 */ -/***/ function(module, exports) { +/***/ }), +/* 270 */ +/***/ (function(module, exports) { exports['aes-128-ecb'] = { cipher: 'AES', @@ -37424,9 +37829,9 @@ type: 'stream' }; -/***/ }, -/* 274 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 271 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(Buffer) { module.exports = function (crypto, password, keyLen, ivLen) { @@ -37485,15 +37890,15 @@ iv: iv }; }; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(225).Buffer)) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(220).Buffer)) -/***/ }, -/* 275 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 272 */ +/***/ (function(module, exports, __webpack_require__) { - /* WEBPACK VAR INJECTION */(function(Buffer) {var aes = __webpack_require__(249); - var Transform = __webpack_require__(250); - var inherits = __webpack_require__(253); + /* WEBPACK VAR INJECTION */(function(Buffer) {var aes = __webpack_require__(244); + var Transform = __webpack_require__(245); + var inherits = __webpack_require__(233); inherits(StreamCipher, Transform); module.exports = StreamCipher; @@ -37517,11 +37922,11 @@ this._cipher.scrub(); next(); }; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(225).Buffer)) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(220).Buffer)) -/***/ }, -/* 276 */ -/***/ function(module, exports) { +/***/ }), +/* 273 */ +/***/ (function(module, exports) { exports.encrypt = function (self, block) { return self._cipher.encryptBlock(block); @@ -37530,11 +37935,11 @@ return self._cipher.decryptBlock(block); }; -/***/ }, -/* 277 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 274 */ +/***/ (function(module, exports, __webpack_require__) { - var xor = __webpack_require__(278); + var xor = __webpack_require__(275); exports.encrypt = function (self, block) { var data = xor(block, self._prev); self._prev = self._cipher.encryptBlock(data); @@ -37547,9 +37952,9 @@ return xor(out, pad); }; -/***/ }, -/* 278 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 275 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(Buffer) {module.exports = xor; function xor(a, b) { @@ -37561,13 +37966,13 @@ } return out; } - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(225).Buffer)) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(220).Buffer)) -/***/ }, -/* 279 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 276 */ +/***/ (function(module, exports, __webpack_require__) { - /* WEBPACK VAR INJECTION */(function(Buffer) {var xor = __webpack_require__(278); + /* WEBPACK VAR INJECTION */(function(Buffer) {var xor = __webpack_require__(275); exports.encrypt = function (self, data, decrypt) { var out = new Buffer(''); var len; @@ -37594,13 +37999,13 @@ self._prev = Buffer.concat([self._prev, decrypt?data:out]); return out; } - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(225).Buffer)) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(220).Buffer)) -/***/ }, -/* 280 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 277 */ +/***/ (function(module, exports, __webpack_require__) { - /* WEBPACK VAR INJECTION */(function(Buffer) {var xor = __webpack_require__(278); + /* WEBPACK VAR INJECTION */(function(Buffer) {var xor = __webpack_require__(275); function getBlock(self) { self._prev = self._cipher.encryptBlock(self._prev); return self._prev; @@ -37613,13 +38018,13 @@ self._cache = self._cache.slice(chunk.length); return xor(chunk, pad); }; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(225).Buffer)) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(220).Buffer)) -/***/ }, -/* 281 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 278 */ +/***/ (function(module, exports, __webpack_require__) { - /* WEBPACK VAR INJECTION */(function(Buffer) {var xor = __webpack_require__(278); + /* WEBPACK VAR INJECTION */(function(Buffer) {var xor = __webpack_require__(275); function getBlock(self) { var out = self._cipher.encryptBlock(self._prev); incr32(self._prev); @@ -37647,18 +38052,18 @@ } } } - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(225).Buffer)) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(220).Buffer)) -/***/ }, -/* 282 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 279 */ +/***/ (function(module, exports, __webpack_require__) { - /* WEBPACK VAR INJECTION */(function(Buffer) {var aes = __webpack_require__(249); - var Transform = __webpack_require__(250); - var inherits = __webpack_require__(253); - var modes = __webpack_require__(273); - var StreamCipher = __webpack_require__(275); - var ebtk = __webpack_require__(274); + /* WEBPACK VAR INJECTION */(function(Buffer) {var aes = __webpack_require__(244); + var Transform = __webpack_require__(245); + var inherits = __webpack_require__(233); + var modes = __webpack_require__(270); + var StreamCipher = __webpack_require__(272); + var ebtk = __webpack_require__(271); inherits(Decipher, Transform); function Decipher(mode, key, iv) { @@ -37726,11 +38131,11 @@ } var modelist = { - ECB: __webpack_require__(276), - CBC: __webpack_require__(277), - CFB: __webpack_require__(279), - OFB: __webpack_require__(280), - CTR: __webpack_require__(281) + ECB: __webpack_require__(273), + CBC: __webpack_require__(274), + CFB: __webpack_require__(276), + OFB: __webpack_require__(277), + CTR: __webpack_require__(278) }; module.exports = function (crypto) { @@ -37771,11 +38176,11 @@ }; }; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(225).Buffer)) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(220).Buffer)) -/***/ }, -/* 283 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 280 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {// Copyright Joyent, Inc. and other Node contributors. // @@ -38004,9 +38409,9 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, -/* 284 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 281 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(Buffer) {'use strict'; @@ -38063,6 +38468,40 @@ }; + exports.escapeJson = function (input) { + + if (!input) { + return ''; + } + + const lessThan = 0x3C; + const greaterThan = 0x3E; + const andSymbol = 0x26; + const lineSeperator = 0x2028; + + // replace method + let charCode; + return input.replace(/[<>&\u2028\u2029]/g, (match) => { + + charCode = match.charCodeAt(0); + + if (charCode === lessThan) { + return '\\u003c'; + } + else if (charCode === greaterThan) { + return '\\u003e'; + } + else if (charCode === andSymbol) { + return '\\u0026'; + } + else if (charCode === lineSeperator) { + return '\\u2028'; + } + return '\\u2029'; + }); + }; + + internals.escapeJavaScriptChar = function (charCode) { if (charCode >= 256) { @@ -38143,19 +38582,19 @@ return safe; }()); - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(225).Buffer)) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(220).Buffer)) -/***/ }, -/* 285 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 282 */ +/***/ (function(module, exports, __webpack_require__) { 'use strict'; // Load modules - const Hoek = __webpack_require__(224); - const Ref = __webpack_require__(286); - const Errors = __webpack_require__(287); + const Hoek = __webpack_require__(219); + const Ref = __webpack_require__(283); + const Errors = __webpack_require__(284); let Alternatives = null; // Delay-loaded to prevent circular dependencies let Cast = null; @@ -38163,7 +38602,7 @@ // Declare internals const internals = { - Set: __webpack_require__(289) + Set: __webpack_require__(286) }; @@ -38186,7 +38625,7 @@ constructor() { - Cast = Cast || __webpack_require__(290); + Cast = Cast || __webpack_require__(287); this.isJoi = true; this._type = 'any'; @@ -38227,9 +38666,14 @@ return Errors.create(type, context, state, options, this._flags); } + createOverrideError(type, context, state, options, message, template) { + + return Errors.create(type, context, state, options, this._flags, message, template); + } + checkOptions(options) { - const Schemas = __webpack_require__(303); + const Schemas = __webpack_require__(300); const result = Schemas.options.validate(options); if (result.error) { throw new Error(result.error.details[0].message); @@ -38243,6 +38687,7 @@ obj.isJoi = true; obj._type = this._type; obj._settings = internals.concatSettings(this._settings); + obj._baseType = this._baseType; obj._valids = Hoek.clone(this._valids); obj._invalids = Hoek.clone(this._invalids); obj._tests = this._tests.slice(); @@ -38369,14 +38814,20 @@ raw(isRaw) { + const value = isRaw === undefined ? true : isRaw; + + if (this._flags.raw === value) { + return this; + } + const obj = this.clone(); - obj._flags.raw = isRaw === undefined ? true : isRaw; + obj._flags.raw = value; return obj; } error(err) { - Hoek.assert(err && err instanceof Error, 'Must provide a valid Error object'); + Hoek.assert(err && (err instanceof Error || typeof err === 'function'), 'Must provide a valid Error object or a function'); const obj = this.clone(); obj._flags.error = err; @@ -38421,6 +38872,10 @@ required() { + if (this._flags.presence === 'required') { + return this; + } + const obj = this.clone(); obj._flags.presence = 'required'; return obj; @@ -38428,6 +38883,10 @@ optional() { + if (this._flags.presence === 'optional') { + return this; + } + const obj = this.clone(); obj._flags.presence = 'optional'; return obj; @@ -38436,6 +38895,10 @@ forbidden() { + if (this._flags.presence === 'forbidden') { + return this; + } + const obj = this.clone(); obj._flags.presence = 'forbidden'; return obj; @@ -38444,6 +38907,10 @@ strip() { + if (this._flags.strip) { + return this; + } + const obj = this.clone(); obj._flags.strip = true; return obj; @@ -38504,10 +38971,10 @@ const then = options.hasOwnProperty('then') ? this.concat(Cast.schema(options.then)) : undefined; const otherwise = options.hasOwnProperty('otherwise') ? this.concat(Cast.schema(options.otherwise)) : undefined; - Alternatives = Alternatives || __webpack_require__(300); + Alternatives = Alternatives || __webpack_require__(297); const obj = Alternatives.when(ref, { is: options.is, then, otherwise }); obj._flags.presence = 'ignore'; - obj._settings = internals.concatSettings(obj._settings, { baseType: this }); + obj._baseType = this; return obj; } @@ -38594,40 +39061,56 @@ let finalValue; - if (!this._flags.strip) { - if (value !== undefined) { - finalValue = this._flags.raw ? originalValue : value; - } - else if (options.noDefaults) { - finalValue = value; - } - else if (Ref.isRef(this._flags.default)) { - finalValue = this._flags.default(state.parent, options); - } - else if (typeof this._flags.default === 'function' && - !(this._flags.func && !this._flags.default.description)) { + if (value !== undefined) { + finalValue = this._flags.raw ? originalValue : value; + } + else if (options.noDefaults) { + finalValue = value; + } + else if (Ref.isRef(this._flags.default)) { + finalValue = this._flags.default(state.parent, options); + } + else if (typeof this._flags.default === 'function' && + !(this._flags.func && !this._flags.default.description)) { - let args; + let args; - if (state.parent !== null && - this._flags.default.length > 0) { + if (state.parent !== null && + this._flags.default.length > 0) { - args = [Hoek.clone(state.parent), options]; - } + args = [Hoek.clone(state.parent), options]; + } - const defaultValue = internals._try(this._flags.default, args); - finalValue = defaultValue.value; - if (defaultValue.error) { - errors.push(this.createError('any.default', defaultValue.error, state, options)); - } + const defaultValue = internals._try(this._flags.default, args); + finalValue = defaultValue.value; + if (defaultValue.error) { + errors.push(this.createError('any.default', defaultValue.error, state, options)); + } + } + else { + finalValue = Hoek.clone(this._flags.default); + } + + if (errors.length && typeof this._flags.error === 'function') { + const change = this._flags.error.call(this, errors); + + if (typeof change === 'string') { + errors = [this.createOverrideError('override', { reason: errors }, state, options, change)]; } else { - finalValue = Hoek.clone(this._flags.default); + errors = [].concat(change) + .map((err) => { + + return err instanceof Error ? + err : + this.createOverrideError(err.type || 'override', err.context, state, options, err.message, err.template); + }); } } return { - value: finalValue, + value: this._flags.strip ? undefined : finalValue, + finalValue, errors: errors.length ? errors : null }; }; @@ -38812,6 +39295,14 @@ } } + if (this._settings) { + description.options = Hoek.clone(this._settings); + } + + if (this._baseType) { + description.base = this._baseType.describe(); + } + if (this._description) { description.description = this._description; } @@ -38976,15 +39467,15 @@ }; -/***/ }, -/* 286 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 283 */ +/***/ (function(module, exports, __webpack_require__) { 'use strict'; // Load modules - const Hoek = __webpack_require__(224); + const Hoek = __webpack_require__(219); // Declare internals @@ -39035,21 +39526,23 @@ }; -/***/ }, -/* 287 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 284 */ +/***/ (function(module, exports, __webpack_require__) { 'use strict'; // Load modules - const Hoek = __webpack_require__(224); - const Language = __webpack_require__(288); + const Hoek = __webpack_require__(219); + const Language = __webpack_require__(285); // Declare internals - const internals = {}; + const internals = { + annotations: Symbol('joi-annotations') + }; internals.stringify = function (value, wrapArrays) { @@ -39086,7 +39579,7 @@ exports.Err = class { - constructor(type, context, state, options, flags) { + constructor(type, context, state, options, flags, message, template) { this.isJoi = true; this.type = type; @@ -39095,10 +39588,22 @@ this.path = state.path; this.options = options; this.flags = flags; + this.message = message; + this.template = template; } toString() { + if (this.message) { + return this.message; + } + + let format; + + if (this.template) { + format = this.template; + } + const localized = this.options.language; if (this.flags.label) { @@ -39108,7 +39613,21 @@ this.context.key = localized.root || Language.errors.root; } - let format = Hoek.reach(localized, this.type) || Hoek.reach(Language.errors, this.type); + format = format || Hoek.reach(localized, this.type) || Hoek.reach(Language.errors, this.type); + + let wrapArrays = Hoek.reach(localized, 'messages.wrapArrays'); + if (typeof wrapArrays !== 'boolean') { + wrapArrays = Language.errors.messages.wrapArrays; + } + + if (format === null) { + const childrenString = internals.stringify(this.context.reason, wrapArrays); + if (wrapArrays) { + return childrenString.slice(1, -1); + } + return childrenString; + } + const hasKey = /\{\{\!?key\}\}/.test(format); const skipKey = format.length > 2 && format[0] === '!' && format[1] === '!'; @@ -39120,11 +39639,6 @@ format = (Hoek.reach(localized, 'key') || Hoek.reach(Language.errors, 'key')) + format; } - let wrapArrays = Hoek.reach(localized, 'messages.wrapArrays'); - if (typeof wrapArrays !== 'boolean') { - wrapArrays = Language.errors.messages.wrapArrays; - } - return format.replace(/\{\{(\!?)([^}]+)\}\}/g, ($0, isSecure, name) => { const value = Hoek.reach(this.context, name); @@ -39136,9 +39650,9 @@ }; - exports.create = function (type, context, state, options, flags) { + exports.create = function (type, context, state, options, flags, message, template) { - return new exports.Err(type, context, state, options, flags); + return new exports.Err(type, context, state, options, flags, message, template); }; @@ -39158,7 +39672,11 @@ for (let i = 0; i < localErrors.length; ++i) { const item = localErrors[i]; - if (item.flags.error) { + if (item instanceof Error) { + return item; + } + + if (item.flags.error && typeof item.flags.error !== 'function') { return item.flags.error; } @@ -39250,17 +39768,38 @@ stack.push(value); } - if (Array.isArray(value) && value.placeholders) { - const placeholders = value.placeholders; - const arrWithPlaceholders = []; - for (let i = 0; i < value.length; ++i) { - if (placeholders[i]) { - arrWithPlaceholders.push(placeholders[i]); + if (value) { + const annotations = value[internals.annotations]; + if (annotations) { + if (Array.isArray(value)) { + const annotated = []; + + for (let i = 0; i < value.length; ++i) { + if (annotations.errors[i]) { + annotated.push(`_$idx$_${annotations.errors[i].sort().join(', ')}_$end$_`); + } + annotated.push(value[i]); + } + + value = annotated; + } + else { + const errorKeys = Object.keys(annotations.errors); + for (let i = 0; i < errorKeys.length; ++i) { + const errorKey = errorKeys[i]; + value[`${errorKey}_$key$_${annotations.errors[errorKey].sort().join(', ')}_$end$_`] = value[errorKey]; + value[errorKey] = undefined; + } + + const missingKeys = Object.keys(annotations.missing); + for (let i = 0; i < missingKeys.length; ++i) { + const missingKey = missingKeys[i]; + value[`_$miss$_${missingKey}|${annotations.missing[missingKey]}_$end$_`] = '__missing__'; + } } - arrWithPlaceholders.push(value[i]); - } - value = arrWithPlaceholders; + return value; + } } if (value === Infinity || value === -Infinity || Number.isNaN(value) || @@ -39285,50 +39824,37 @@ const obj = Hoek.clone(this._object || {}); - const lookup = {}; for (let i = this.details.length - 1; i >= 0; --i) { // Reverse order to process deepest child first const pos = i + 1; const error = this.details[i]; const path = error.path.split('.'); let ref = obj; - for (let j = 0; j < path.length && ref; ++j) { + for (let j = 0; ; ++j) { const seg = path[j]; - if (j + 1 < path.length) { + + if (ref.isImmutable) { + ref = ref.clone(); // joi schemas are not cloned by hoek, we have to take this extra step + } + + if (j + 1 < path.length && + ref[seg] && + typeof ref[seg] !== 'string') { + ref = ref[seg]; } else { + const refAnnotations = ref[internals.annotations] = ref[internals.annotations] || { errors: {}, missing: {} }; const value = ref[seg]; - if (Array.isArray(ref)) { - const arrayLabel = `_$idx$_${pos}_$end$_`; - if (!ref.placeholders) { - ref.placeholders = {}; - } - if (ref.placeholders[seg]) { - ref.placeholders[seg] = ref.placeholders[seg].replace('_$end$_', `, ${pos}_$end$_`); - } - else { - ref.placeholders[seg] = arrayLabel; - } + if (value !== undefined) { + refAnnotations.errors[seg] = refAnnotations.errors[seg] || []; + refAnnotations.errors[seg].push(pos); } else { - if (value !== undefined) { - delete ref[seg]; - const objectLabel = `${seg}_$key$_${pos}_$end$_`; - ref[objectLabel] = value; - lookup[error.path] = objectLabel; - } - else if (lookup[error.path]) { - const replacement = lookup[error.path]; - const appended = replacement.replace('_$end$_', `, ${pos}_$end$_`); - ref[appended] = ref[replacement]; - lookup[error.path] = appended; - delete ref[replacement]; - } - else { - ref[`_$miss$_${seg}|${pos}_$end$_`] = '__missing__'; - } + refAnnotations.missing[seg] = pos; } + + break; } } } @@ -39359,9 +39885,9 @@ }; -/***/ }, -/* 288 */ -/***/ function(module, exports) { +/***/ }), +/* 285 */ +/***/ (function(module, exports) { 'use strict'; @@ -39388,7 +39914,8 @@ default: 'threw an error when running default method' }, alternatives: { - base: 'not matching any of the allowed alternatives' + base: 'not matching any of the allowed alternatives', + child: null }, array: { base: 'must be an array', @@ -39406,6 +39933,7 @@ length: 'must contain {{limit}} items', ordered: 'at position {{pos}} fails because {{reason}}', orderedLength: 'at position {{pos}} fails because array must contain at most {{limit}} items', + ref: 'references "{{ref}}" which is not a positive integer', sparse: 'must not be a sparse array', unique: 'position {{pos}} contains a duplicate value' }, @@ -39449,13 +39977,13 @@ max: 'must have less than or equal to {{limit}} children', length: 'must have {{limit}} children', allowUnknown: '!!"{{!child}}" is not allowed', - with: 'missing required peer "{{peer}}"', - without: 'conflict with forbidden peer "{{peer}}"', - missing: 'must contain at least one of {{peers}}', - xor: 'contains a conflict between exclusive peers {{peers}}', - or: 'must contain at least one of {{peers}}', - and: 'contains {{present}} without its required peers {{missing}}', - nand: '!!"{{main}}" must not exist simultaneously with {{peers}}', + with: '!!"{{mainWithLabel}}" missing required peer "{{peerWithLabel}}"', + without: '!!"{{mainWithLabel}}" conflict with forbidden peer "{{peerWithLabel}}"', + missing: 'must contain at least one of {{peersWithLabels}}', + xor: 'contains a conflict between exclusive peers {{peersWithLabels}}', + or: 'must contain at least one of {{peersWithLabels}}', + and: 'contains {{presentWithLabels}} without its required peers {{missingWithLabels}}', + nand: '!!"{{mainWithLabel}}" must not exist simultaneously with {{peersWithLabels}}', assert: '!!"{{ref}}" validation failed because "{{ref}}" failed to {{message}}', rename: { multiple: 'cannot rename child "{{from}}" because multiple renames are disabled and another key was already renamed to "{{to}}"', @@ -39513,13 +40041,13 @@ }; -/***/ }, -/* 289 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 286 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(Buffer) {'use strict'; - const Ref = __webpack_require__(286); + const Ref = __webpack_require__(283); module.exports = class Set { @@ -39629,18 +40157,18 @@ } }; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(225).Buffer)) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(220).Buffer)) -/***/ }, -/* 290 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 287 */ +/***/ (function(module, exports, __webpack_require__) { 'use strict'; // Load modules - const Hoek = __webpack_require__(224); - const Ref = __webpack_require__(286); + const Hoek = __webpack_require__(219); + const Ref = __webpack_require__(283); // Type modules are delay-loaded to prevent circular dependencies @@ -39649,10 +40177,10 @@ const internals = { any: null, - date: __webpack_require__(291), - string: __webpack_require__(292), - number: __webpack_require__(298), - boolean: __webpack_require__(299), + date: __webpack_require__(288), + string: __webpack_require__(289), + number: __webpack_require__(295), + boolean: __webpack_require__(296), alt: null, object: null }; @@ -39660,9 +40188,9 @@ exports.schema = function (config) { - internals.any = internals.any || new (__webpack_require__(285))(); - internals.alt = internals.alt || __webpack_require__(300); - internals.object = internals.object || __webpack_require__(301); + internals.any = internals.any || new (__webpack_require__(282))(); + internals.alt = internals.alt || __webpack_require__(297); + internals.object = internals.object || __webpack_require__(298); if (config !== undefined && config !== null && typeof config === 'object') { @@ -39713,17 +40241,17 @@ }; -/***/ }, -/* 291 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 288 */ +/***/ (function(module, exports, __webpack_require__) { 'use strict'; // Load modules - const Any = __webpack_require__(285); - const Ref = __webpack_require__(286); - const Hoek = __webpack_require__(224); + const Any = __webpack_require__(282); + const Ref = __webpack_require__(283); + const Hoek = __webpack_require__(219); // Declare internals @@ -39816,6 +40344,10 @@ iso() { + if (this._flags.format === internals.isoDate) { + return this; + } + const obj = this.clone(); obj._flags.format = internals.isoDate; return obj; @@ -39828,6 +40360,10 @@ const allowed = ['javascript', 'unix']; Hoek.assert(allowed.indexOf(type) !== -1, '"type" must be one of "' + allowed.join('", "') + '"'); + if (this._flags.timestamp === type) { + return this; + } + const obj = this.clone(); obj._flags.timestamp = type; obj._flags.multiplier = type === 'unix' ? 1000 : 1; @@ -39888,28 +40424,38 @@ module.exports = new internals.Date(); -/***/ }, -/* 292 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 289 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(Buffer) {'use strict'; // Load modules - const Net = __webpack_require__(293); - const Hoek = __webpack_require__(224); - const Isemail = __webpack_require__(294); - const Any = __webpack_require__(285); - const Ref = __webpack_require__(286); - const JoiDate = __webpack_require__(291); - const Uri = __webpack_require__(295); - const Ip = __webpack_require__(297); + const Net = __webpack_require__(290); + const Hoek = __webpack_require__(219); + let Isemail; // Loaded on demand + const Any = __webpack_require__(282); + const Ref = __webpack_require__(283); + const JoiDate = __webpack_require__(288); + const Uri = __webpack_require__(291); + const Ip = __webpack_require__(293); // Declare internals const internals = { uriRegex: Uri.createUriRegex(), - ipRegex: Ip.createIpRegex(['ipv4', 'ipv6', 'ipvfuture'], 'optional') + ipRegex: Ip.createIpRegex(['ipv4', 'ipv6', 'ipvfuture'], 'optional'), + guidBrackets: { + '{': '}', '[': ']', '(': ')', '': '' + }, + guidVersions: { + uuidv1: '1', + uuidv2: '2', + uuidv3: '3', + uuidv4: '4', + uuidv5: '5' + } }; internals.String = class extends Any { @@ -39961,6 +40507,10 @@ insensitive() { + if (this._flags.insensitive) { + return this; + } + const obj = this.clone(); obj._flags.insensitive = true; return obj; @@ -40050,15 +40600,17 @@ Hoek.assert(typeof isEmailOptions.tldWhitelist === 'undefined' || typeof isEmailOptions.tldWhitelist === 'object', 'tldWhitelist must be an array or object'); Hoek.assert(typeof isEmailOptions.minDomainAtoms === 'undefined' || - Hoek.isInteger(isEmailOptions.minDomainAtoms) && isEmailOptions.minDomainAtoms > 0, + Number.isSafeInteger(isEmailOptions.minDomainAtoms) && isEmailOptions.minDomainAtoms > 0, 'minDomainAtoms must be a positive integer'); Hoek.assert(typeof isEmailOptions.errorLevel === 'undefined' || typeof isEmailOptions.errorLevel === 'boolean' || - (Hoek.isInteger(isEmailOptions.errorLevel) && isEmailOptions.errorLevel >= 0), + (Number.isSafeInteger(isEmailOptions.errorLevel) && isEmailOptions.errorLevel >= 0), 'errorLevel must be a non-negative integer or boolean'); } return this._test('email', isEmailOptions, function (value, state, options) { + Isemail = Isemail || __webpack_require__(294); + try { const result = Isemail.validate(value, isEmailOptions); if (result === true || result === 0) { @@ -40214,19 +40766,7 @@ guid(guidOptions) { - const brackets = { - '{': '}', '[': ']', '(': ')', '': '' - }; - - const uuids = { - 'uuidv1': '1', - 'uuidv2': '2', - 'uuidv3': '3', - 'uuidv4': '4', - 'uuidv5': '5' - }; - - const versions = []; + let versionNumbers = ''; if (guidOptions && guidOptions.version) { if (!Array.isArray(guidOptions.version)) { @@ -40234,50 +40774,36 @@ } Hoek.assert(guidOptions.version.length >= 1, 'version must have at least 1 valid version specified'); + const versions = new Set(); for (let i = 0; i < guidOptions.version.length; ++i) { let version = guidOptions.version[i]; Hoek.assert(typeof version === 'string', 'version at position ' + i + ' must be a string'); version = version.toLowerCase(); - Hoek.assert(uuids[version], 'version at position ' + i + ' must be one of ' + Object.keys(uuids).join(', ')); - Hoek.assert(versions.indexOf(version) === -1, 'version at position ' + i + ' must not be a duplicate.'); - versions.push(version); + const versionNumber = internals.guidVersions[version]; + Hoek.assert(versionNumber, 'version at position ' + i + ' must be one of ' + Object.keys(internals.guidVersions).join(', ')); + Hoek.assert(!(versions.has(versionNumber)), 'version at position ' + i + ' must not be a duplicate.'); + + versionNumbers += versionNumber; + versions.add(versionNumber); } } - const regex = /^([\[{\(]?)([0-9A-F]{8})([:-]?)([0-9A-F]{4})([:-]?)([0-9A-F]{4})([:-]?)([0-9A-F]{4})([:-]?)([0-9A-F]{12})([\]}\)]?)$/i; + const guidRegex = new RegExp(`^([\\[{\\(]?)[0-9A-F]{8}([:-]?)[0-9A-F]{4}\\2?[${versionNumbers || '0-9A-F'}][0-9A-F]{3}\\2?[${versionNumbers ? '89AB' : '0-9A-F'}][0-9A-F]{3}\\2?[0-9A-F]{12}([\\]}\\)]?)$`, 'i'); return this._test('guid', guidOptions, function (value, state, options) { - const results = regex.exec(value); + const results = guidRegex.exec(value); if (!results) { return this.createError('string.guid', { value }, state, options); } // Matching braces - if (brackets[results[1]] !== results[11]) { + if (internals.guidBrackets[results[1]] !== results[results.length - 1]) { return this.createError('string.guid', { value }, state, options); } - // Matching separators - if (results[3] !== results[5] || results[3] !== results[7] || results[3] !== results[9]) { - return this.createError('string.guid', { value }, state, options); - } - - // Specific UUID versions - if (versions.length) { - const validVersions = versions.some((uuidVersion) => { - - return results[6][0] === uuids[uuidVersion]; - }); - - // Valid version and 89AB check - if (!(validVersions && /[89AB]/i.test(results[8][0]))) { - return this.createError('string.guid', { value }, state, options); - } - } - return value; }); } @@ -40296,9 +40822,26 @@ }); } - base64() { + base64(base64Options) { + + base64Options = base64Options || {}; - const regex = /^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/; + // Validation. + Hoek.assert(typeof base64Options === 'object', 'base64 options must be an object'); + Hoek.assert(typeof base64Options.paddingRequired === 'undefined' || typeof base64Options.paddingRequired === 'boolean', + 'paddingRequired must be boolean'); + + // Determine if padding is required. + const paddingRequired = base64Options.paddingRequired === false ? + base64Options.paddingRequired + : base64Options.paddingRequired || true; + + // Set validation based on preference. + const regex = paddingRequired ? + // Padding is required. + /^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/ + // Padding is optional. + : /^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}(==)?|[A-Za-z0-9+\/]{3}=?)?$/; return this._test('base64', regex, function (value, state, options) { @@ -40404,8 +40947,14 @@ truncate(enabled) { + const value = enabled === undefined ? true : !!enabled; + + if (this._flags.truncate === value) { + return this; + } + const obj = this.clone(); - obj._flags.truncate = enabled === undefined ? true : !!enabled; + obj._flags.truncate = value; return obj; } @@ -40417,7 +40966,7 @@ const isRef = Ref.isRef(limit); - Hoek.assert((Hoek.isInteger(limit) && limit >= 0) || isRef, 'limit must be a positive integer or reference'); + Hoek.assert((Number.isSafeInteger(limit) && limit >= 0) || isRef, 'limit must be a positive integer or reference'); Hoek.assert(!encoding || Buffer.isEncoding(encoding), 'Invalid encoding:', encoding); return this._test(type, limit, function (value, state, options) { @@ -40426,7 +40975,7 @@ if (isRef) { compareTo = limit(state.reference || state.parent, options); - if (!Hoek.isInteger(compareTo)) { + if (!Number.isSafeInteger(compareTo)) { return this.createError('string.ref', { ref: limit.key }, state, options); } } @@ -40470,23 +41019,326 @@ module.exports = new internals.String(); - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(225).Buffer)) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(220).Buffer)) -/***/ }, -/* 293 */ -/***/ function(module, exports) { +/***/ }), +/* 290 */ +/***/ (function(module, exports) { -/***/ }, +/***/ }), +/* 291 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + // Load Modules + + const RFC3986 = __webpack_require__(292); + + + // Declare internals + + const internals = { + Uri: { + createUriRegex: function (optionalScheme, allowRelative, relativeOnly) { + + let scheme = RFC3986.scheme; + let prefix; + + if (relativeOnly) { + prefix = '(?:' + RFC3986.relativeRef + ')'; + } + else { + // If we were passed a scheme, use it instead of the generic one + if (optionalScheme) { + + // Have to put this in a non-capturing group to handle the OR statements + scheme = '(?:' + optionalScheme + ')'; + } + + const withScheme = '(?:' + scheme + ':' + RFC3986.hierPart + ')'; + + prefix = allowRelative ? '(?:' + withScheme + '|' + RFC3986.relativeRef + ')' : withScheme; + } + + /** + * URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ] + * + * OR + * + * relative-ref = relative-part [ "?" query ] [ "#" fragment ] + */ + return new RegExp('^' + prefix + '(?:\\?' + RFC3986.query + ')?' + '(?:#' + RFC3986.fragment + ')?$'); + } + } + }; + + + module.exports = internals.Uri; + + +/***/ }), +/* 292 */ +/***/ (function(module, exports) { + + 'use strict'; + + // Load modules + + + // Delcare internals + + const internals = { + rfc3986: {} + }; + + + internals.generate = function () { + + /** + * elements separated by forward slash ("/") are alternatives. + */ + const or = '|'; + + /** + * DIGIT = %x30-39 ; 0-9 + */ + const digit = '0-9'; + const digitOnly = '[' + digit + ']'; + + /** + * ALPHA = %x41-5A / %x61-7A ; A-Z / a-z + */ + const alpha = 'a-zA-Z'; + const alphaOnly = '[' + alpha + ']'; + + /** + * cidr = DIGIT ; 0-9 + * / %x31-32 DIGIT ; 10-29 + * / "3" %x30-32 ; 30-32 + */ + internals.rfc3986.cidr = digitOnly + or + '[1-2]' + digitOnly + or + '3' + '[0-2]'; + + /** + * HEXDIG = DIGIT / "A" / "B" / "C" / "D" / "E" / "F" + */ + const hexDigit = digit + 'A-Fa-f'; + const hexDigitOnly = '[' + hexDigit + ']'; + + /** + * unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~" + */ + const unreserved = alpha + digit + '-\\._~'; + + /** + * sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "=" + */ + const subDelims = '!\\$&\'\\(\\)\\*\\+,;='; + + /** + * pct-encoded = "%" HEXDIG HEXDIG + */ + const pctEncoded = '%' + hexDigit; + + /** + * pchar = unreserved / pct-encoded / sub-delims / ":" / "@" + */ + const pchar = unreserved + pctEncoded + subDelims + ':@'; + const pcharOnly = '[' + pchar + ']'; + + /** + * Rule to support zero-padded addresses. + */ + const zeroPad = '0?'; + + /** + * dec-octet = DIGIT ; 0-9 + * / %x31-39 DIGIT ; 10-99 + * / "1" 2DIGIT ; 100-199 + * / "2" %x30-34 DIGIT ; 200-249 + * / "25" %x30-35 ; 250-255 + */ + const decOctect = '(?:' + zeroPad + zeroPad + digitOnly + or + zeroPad + '[1-9]' + digitOnly + or + '1' + digitOnly + digitOnly + or + '2' + '[0-4]' + digitOnly + or + '25' + '[0-5])'; + + /** + * IPv4address = dec-octet "." dec-octet "." dec-octet "." dec-octet + */ + internals.rfc3986.IPv4address = '(?:' + decOctect + '\\.){3}' + decOctect; + + /** + * h16 = 1*4HEXDIG ; 16 bits of address represented in hexadecimal + * ls32 = ( h16 ":" h16 ) / IPv4address ; least-significant 32 bits of address + * IPv6address = 6( h16 ":" ) ls32 + * / "::" 5( h16 ":" ) ls32 + * / [ h16 ] "::" 4( h16 ":" ) ls32 + * / [ *1( h16 ":" ) h16 ] "::" 3( h16 ":" ) ls32 + * / [ *2( h16 ":" ) h16 ] "::" 2( h16 ":" ) ls32 + * / [ *3( h16 ":" ) h16 ] "::" h16 ":" ls32 + * / [ *4( h16 ":" ) h16 ] "::" ls32 + * / [ *5( h16 ":" ) h16 ] "::" h16 + * / [ *6( h16 ":" ) h16 ] "::" + */ + const h16 = hexDigitOnly + '{1,4}'; + const ls32 = '(?:' + h16 + ':' + h16 + '|' + internals.rfc3986.IPv4address + ')'; + const IPv6SixHex = '(?:' + h16 + ':){6}' + ls32; + const IPv6FiveHex = '::(?:' + h16 + ':){5}' + ls32; + const IPv6FourHex = '(?:' + h16 + ')?::(?:' + h16 + ':){4}' + ls32; + const IPv6ThreeHex = '(?:(?:' + h16 + ':){0,1}' + h16 + ')?::(?:' + h16 + ':){3}' + ls32; + const IPv6TwoHex = '(?:(?:' + h16 + ':){0,2}' + h16 + ')?::(?:' + h16 + ':){2}' + ls32; + const IPv6OneHex = '(?:(?:' + h16 + ':){0,3}' + h16 + ')?::' + h16 + ':' + ls32; + const IPv6NoneHex = '(?:(?:' + h16 + ':){0,4}' + h16 + ')?::' + ls32; + const IPv6NoneHex2 = '(?:(?:' + h16 + ':){0,5}' + h16 + ')?::' + h16; + const IPv6NoneHex3 = '(?:(?:' + h16 + ':){0,6}' + h16 + ')?::'; + internals.rfc3986.IPv6address = '(?:' + IPv6SixHex + or + IPv6FiveHex + or + IPv6FourHex + or + IPv6ThreeHex + or + IPv6TwoHex + or + IPv6OneHex + or + IPv6NoneHex + or + IPv6NoneHex2 + or + IPv6NoneHex3 + ')'; + + /** + * IPvFuture = "v" 1*HEXDIG "." 1*( unreserved / sub-delims / ":" ) + */ + internals.rfc3986.IPvFuture = 'v' + hexDigitOnly + '+\\.[' + unreserved + subDelims + ':]+'; + + /** + * scheme = ALPHA *( ALPHA / DIGIT / "+" / "-" / "." ) + */ + internals.rfc3986.scheme = alphaOnly + '[' + alpha + digit + '+-\\.]*'; + + /** + * userinfo = *( unreserved / pct-encoded / sub-delims / ":" ) + */ + const userinfo = '[' + unreserved + pctEncoded + subDelims + ':]*'; + + /** + * IP-literal = "[" ( IPv6address / IPvFuture ) "]" + */ + const IPLiteral = '\\[(?:' + internals.rfc3986.IPv6address + or + internals.rfc3986.IPvFuture + ')\\]'; + + /** + * reg-name = *( unreserved / pct-encoded / sub-delims ) + */ + const regName = '[' + unreserved + pctEncoded + subDelims + ']{0,255}'; + + /** + * host = IP-literal / IPv4address / reg-name + */ + const host = '(?:' + IPLiteral + or + internals.rfc3986.IPv4address + or + regName + ')'; + + /** + * port = *DIGIT + */ + const port = digitOnly + '*'; + + /** + * authority = [ userinfo "@" ] host [ ":" port ] + */ + const authority = '(?:' + userinfo + '@)?' + host + '(?::' + port + ')?'; + + /** + * segment = *pchar + * segment-nz = 1*pchar + * path = path-abempty ; begins with "/" or is empty + * / path-absolute ; begins with "/" but not "//" + * / path-noscheme ; begins with a non-colon segment + * / path-rootless ; begins with a segment + * / path-empty ; zero characters + * path-abempty = *( "/" segment ) + * path-absolute = "/" [ segment-nz *( "/" segment ) ] + * path-rootless = segment-nz *( "/" segment ) + */ + const segment = pcharOnly + '*'; + const segmentNz = pcharOnly + '+'; + const segmentNzNc = '[' + unreserved + pctEncoded + subDelims + '@' + ']+'; + const pathEmpty = ''; + const pathAbEmpty = '(?:\\/' + segment + ')*'; + const pathAbsolute = '\\/(?:' + segmentNz + pathAbEmpty + ')?'; + const pathRootless = segmentNz + pathAbEmpty; + const pathNoScheme = segmentNzNc + pathAbEmpty; + + /** + * hier-part = "//" authority path + */ + internals.rfc3986.hierPart = '(?:' + '(?:\\/\\/' + authority + pathAbEmpty + ')' + or + pathAbsolute + or + pathRootless + ')'; + + /** + * relative-part = "//" authority path-abempty + * / path-absolute + * / path-noscheme + * / path-empty + */ + internals.rfc3986.relativeRef = '(?:' + '(?:\\/\\/' + authority + pathAbEmpty + ')' + or + pathAbsolute + or + pathNoScheme + or + pathEmpty + ')'; + + /** + * query = *( pchar / "/" / "?" ) + */ + internals.rfc3986.query = '[' + pchar + '\\/\\?]*(?=#|$)'; //Finish matching either at the fragment part or end of the line. + + /** + * fragment = *( pchar / "/" / "?" ) + */ + internals.rfc3986.fragment = '[' + pchar + '\\/\\?]*'; + }; + + + internals.generate(); + + module.exports = internals.rfc3986; + + +/***/ }), +/* 293 */ +/***/ (function(module, exports, __webpack_require__) { + + 'use strict'; + + // Load modules + + const RFC3986 = __webpack_require__(292); + + + // Declare internals + + const internals = { + Ip: { + cidrs: { + required: '\\/(?:' + RFC3986.cidr + ')', + optional: '(?:\\/(?:' + RFC3986.cidr + '))?', + forbidden: '' + }, + versions: { + ipv4: RFC3986.IPv4address, + ipv6: RFC3986.IPv6address, + ipvfuture: RFC3986.IPvFuture + } + } + }; + + + internals.Ip.createIpRegex = function (versions, cidr) { + + let regex; + for (let i = 0; i < versions.length; ++i) { + const version = versions[i]; + if (!regex) { + regex = '^(?:' + internals.Ip.versions[version]; + } + regex = regex + '|' + internals.Ip.versions[version]; + } + + return new RegExp(regex + ')' + internals.Ip.cidrs[cidr] + '$'); + }; + + module.exports = internals.Ip; + + +/***/ }), /* 294 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {'use strict'; // Load modules - const Dns = __webpack_require__(293); + const Dns = __webpack_require__(290); // Declare internals @@ -41863,320 +42715,17 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(3))) -/***/ }, +/***/ }), /* 295 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - - // Load Modules - - const RFC3986 = __webpack_require__(296); - - - // Declare internals - - const internals = { - Uri: { - createUriRegex: function (optionalScheme, allowRelative, relativeOnly) { - - let scheme = RFC3986.scheme; - let prefix; - - if (relativeOnly) { - prefix = '(?:' + RFC3986.relativeRef + ')'; - } - else { - // If we were passed a scheme, use it instead of the generic one - if (optionalScheme) { - - // Have to put this in a non-capturing group to handle the OR statements - scheme = '(?:' + optionalScheme + ')'; - } - - const withScheme = '(?:' + scheme + ':' + RFC3986.hierPart + ')'; - - prefix = allowRelative ? '(?:' + withScheme + '|' + RFC3986.relativeRef + ')' : withScheme; - } - - /** - * URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ] - * - * OR - * - * relative-ref = relative-part [ "?" query ] [ "#" fragment ] - */ - return new RegExp('^' + prefix + '(?:\\?' + RFC3986.query + ')?' + '(?:#' + RFC3986.fragment + ')?$'); - } - } - }; - - - module.exports = internals.Uri; - - -/***/ }, -/* 296 */ -/***/ function(module, exports) { - - 'use strict'; - - // Load modules - - - // Delcare internals - - const internals = { - rfc3986: {} - }; - - - internals.generate = function () { - - /** - * elements separated by forward slash ("/") are alternatives. - */ - const or = '|'; - - /** - * DIGIT = %x30-39 ; 0-9 - */ - const digit = '0-9'; - const digitOnly = '[' + digit + ']'; - - /** - * ALPHA = %x41-5A / %x61-7A ; A-Z / a-z - */ - const alpha = 'a-zA-Z'; - const alphaOnly = '[' + alpha + ']'; - - /** - * cidr = DIGIT ; 0-9 - * / %x31-32 DIGIT ; 10-29 - * / "3" %x30-32 ; 30-32 - */ - internals.rfc3986.cidr = digitOnly + or + '[1-2]' + digitOnly + or + '3' + '[0-2]'; - - /** - * HEXDIG = DIGIT / "A" / "B" / "C" / "D" / "E" / "F" - */ - const hexDigit = digit + 'A-Fa-f'; - const hexDigitOnly = '[' + hexDigit + ']'; - - /** - * unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~" - */ - const unreserved = alpha + digit + '-\\._~'; - - /** - * sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "=" - */ - const subDelims = '!\\$&\'\\(\\)\\*\\+,;='; - - /** - * pct-encoded = "%" HEXDIG HEXDIG - */ - const pctEncoded = '%' + hexDigit; - - /** - * pchar = unreserved / pct-encoded / sub-delims / ":" / "@" - */ - const pchar = unreserved + pctEncoded + subDelims + ':@'; - const pcharOnly = '[' + pchar + ']'; - - /** - * Rule to support zero-padded addresses. - */ - const zeroPad = '0?'; - - /** - * dec-octet = DIGIT ; 0-9 - * / %x31-39 DIGIT ; 10-99 - * / "1" 2DIGIT ; 100-199 - * / "2" %x30-34 DIGIT ; 200-249 - * / "25" %x30-35 ; 250-255 - */ - const decOctect = '(?:' + zeroPad + zeroPad + digitOnly + or + zeroPad + '[1-9]' + digitOnly + or + '1' + digitOnly + digitOnly + or + '2' + '[0-4]' + digitOnly + or + '25' + '[0-5])'; - - /** - * IPv4address = dec-octet "." dec-octet "." dec-octet "." dec-octet - */ - internals.rfc3986.IPv4address = '(?:' + decOctect + '\\.){3}' + decOctect; - - /** - * h16 = 1*4HEXDIG ; 16 bits of address represented in hexadecimal - * ls32 = ( h16 ":" h16 ) / IPv4address ; least-significant 32 bits of address - * IPv6address = 6( h16 ":" ) ls32 - * / "::" 5( h16 ":" ) ls32 - * / [ h16 ] "::" 4( h16 ":" ) ls32 - * / [ *1( h16 ":" ) h16 ] "::" 3( h16 ":" ) ls32 - * / [ *2( h16 ":" ) h16 ] "::" 2( h16 ":" ) ls32 - * / [ *3( h16 ":" ) h16 ] "::" h16 ":" ls32 - * / [ *4( h16 ":" ) h16 ] "::" ls32 - * / [ *5( h16 ":" ) h16 ] "::" h16 - * / [ *6( h16 ":" ) h16 ] "::" - */ - const h16 = hexDigitOnly + '{1,4}'; - const ls32 = '(?:' + h16 + ':' + h16 + '|' + internals.rfc3986.IPv4address + ')'; - const IPv6SixHex = '(?:' + h16 + ':){6}' + ls32; - const IPv6FiveHex = '::(?:' + h16 + ':){5}' + ls32; - const IPv6FourHex = '(?:' + h16 + ')?::(?:' + h16 + ':){4}' + ls32; - const IPv6ThreeHex = '(?:(?:' + h16 + ':){0,1}' + h16 + ')?::(?:' + h16 + ':){3}' + ls32; - const IPv6TwoHex = '(?:(?:' + h16 + ':){0,2}' + h16 + ')?::(?:' + h16 + ':){2}' + ls32; - const IPv6OneHex = '(?:(?:' + h16 + ':){0,3}' + h16 + ')?::' + h16 + ':' + ls32; - const IPv6NoneHex = '(?:(?:' + h16 + ':){0,4}' + h16 + ')?::' + ls32; - const IPv6NoneHex2 = '(?:(?:' + h16 + ':){0,5}' + h16 + ')?::' + h16; - const IPv6NoneHex3 = '(?:(?:' + h16 + ':){0,6}' + h16 + ')?::'; - internals.rfc3986.IPv6address = '(?:' + IPv6SixHex + or + IPv6FiveHex + or + IPv6FourHex + or + IPv6ThreeHex + or + IPv6TwoHex + or + IPv6OneHex + or + IPv6NoneHex + or + IPv6NoneHex2 + or + IPv6NoneHex3 + ')'; - - /** - * IPvFuture = "v" 1*HEXDIG "." 1*( unreserved / sub-delims / ":" ) - */ - internals.rfc3986.IPvFuture = 'v' + hexDigitOnly + '+\\.[' + unreserved + subDelims + ':]+'; - - /** - * scheme = ALPHA *( ALPHA / DIGIT / "+" / "-" / "." ) - */ - internals.rfc3986.scheme = alphaOnly + '[' + alpha + digit + '+-\\.]*'; - - /** - * userinfo = *( unreserved / pct-encoded / sub-delims / ":" ) - */ - const userinfo = '[' + unreserved + pctEncoded + subDelims + ':]*'; - - /** - * IP-literal = "[" ( IPv6address / IPvFuture ) "]" - */ - const IPLiteral = '\\[(?:' + internals.rfc3986.IPv6address + or + internals.rfc3986.IPvFuture + ')\\]'; - - /** - * reg-name = *( unreserved / pct-encoded / sub-delims ) - */ - const regName = '[' + unreserved + pctEncoded + subDelims + ']{0,255}'; - - /** - * host = IP-literal / IPv4address / reg-name - */ - const host = '(?:' + IPLiteral + or + internals.rfc3986.IPv4address + or + regName + ')'; - - /** - * port = *DIGIT - */ - const port = digitOnly + '*'; - - /** - * authority = [ userinfo "@" ] host [ ":" port ] - */ - const authority = '(?:' + userinfo + '@)?' + host + '(?::' + port + ')?'; - - /** - * segment = *pchar - * segment-nz = 1*pchar - * path = path-abempty ; begins with "/" or is empty - * / path-absolute ; begins with "/" but not "//" - * / path-noscheme ; begins with a non-colon segment - * / path-rootless ; begins with a segment - * / path-empty ; zero characters - * path-abempty = *( "/" segment ) - * path-absolute = "/" [ segment-nz *( "/" segment ) ] - * path-rootless = segment-nz *( "/" segment ) - */ - const segment = pcharOnly + '*'; - const segmentNz = pcharOnly + '+'; - const segmentNzNc = '[' + unreserved + pctEncoded + subDelims + '@' + ']+'; - const pathEmpty = ''; - const pathAbEmpty = '(?:\\/' + segment + ')*'; - const pathAbsolute = '\\/(?:' + segmentNz + pathAbEmpty + ')?'; - const pathRootless = segmentNz + pathAbEmpty; - const pathNoScheme = segmentNzNc + pathAbEmpty; - - /** - * hier-part = "//" authority path - */ - internals.rfc3986.hierPart = '(?:' + '(?:\\/\\/' + authority + pathAbEmpty + ')' + or + pathAbsolute + or + pathRootless + ')'; - - /** - * relative-part = "//" authority path-abempty - * / path-absolute - * / path-noscheme - * / path-empty - */ - internals.rfc3986.relativeRef = '(?:' + '(?:\\/\\/' + authority + pathAbEmpty + ')' + or + pathAbsolute + or + pathNoScheme + or + pathEmpty + ')'; - - /** - * query = *( pchar / "/" / "?" ) - */ - internals.rfc3986.query = '[' + pchar + '\\/\\?]*(?=#|$)'; //Finish matching either at the fragment part or end of the line. - - /** - * fragment = *( pchar / "/" / "?" ) - */ - internals.rfc3986.fragment = '[' + pchar + '\\/\\?]*'; - }; - - - internals.generate(); - - module.exports = internals.rfc3986; - - -/***/ }, -/* 297 */ -/***/ function(module, exports, __webpack_require__) { - - 'use strict'; - - // Load modules - - const RFC3986 = __webpack_require__(296); - - - // Declare internals - - const internals = { - Ip: { - cidrs: { - required: '\\/(?:' + RFC3986.cidr + ')', - optional: '(?:\\/(?:' + RFC3986.cidr + '))?', - forbidden: '' - }, - versions: { - ipv4: RFC3986.IPv4address, - ipv6: RFC3986.IPv6address, - ipvfuture: RFC3986.IPvFuture - } - } - }; - - - internals.Ip.createIpRegex = function (versions, cidr) { - - let regex; - for (let i = 0; i < versions.length; ++i) { - const version = versions[i]; - if (!regex) { - regex = '^(?:' + internals.Ip.versions[version]; - } - regex = regex + '|' + internals.Ip.versions[version]; - } - - return new RegExp(regex + ')' + internals.Ip.cidrs[cidr] + '$'); - }; - - module.exports = internals.Ip; - - -/***/ }, -/* 298 */ -/***/ function(module, exports, __webpack_require__) { +/***/ (function(module, exports, __webpack_require__) { 'use strict'; // Load modules - const Any = __webpack_require__(285); - const Ref = __webpack_require__(286); - const Hoek = __webpack_require__(224); + const Any = __webpack_require__(282); + const Ref = __webpack_require__(283); + const Hoek = __webpack_require__(219); // Declare internals @@ -42252,7 +42801,7 @@ return this._test('integer', undefined, function (value, state, options) { - return Hoek.isInteger(value) ? value : this.createError('number.integer', { value }, state, options); + return Number.isSafeInteger(value) ? value : this.createError('number.integer', { value }, state, options); }); } @@ -42282,7 +42831,7 @@ precision(limit) { - Hoek.assert(Hoek.isInteger(limit), 'limit must be an integer'); + Hoek.assert(Number.isSafeInteger(limit), 'limit must be an integer'); Hoek.assert(!('precision' in this._flags), 'precision already set'); const obj = this._test('precision', limit, function (value, state, options) { @@ -42345,22 +42894,22 @@ module.exports = new internals.Number(); -/***/ }, -/* 299 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 296 */ +/***/ (function(module, exports, __webpack_require__) { 'use strict'; // Load modules - const Any = __webpack_require__(285); - const Hoek = __webpack_require__(224); + const Any = __webpack_require__(282); + const Hoek = __webpack_require__(219); // Declare internals const internals = { - Set: __webpack_require__(289) + Set: __webpack_require__(286) }; @@ -42427,13 +42976,13 @@ const insensitive = enabled === undefined ? true : !!enabled; - if (insensitive !== this._flags.insensitive) { - const obj = this.clone(); - obj._flags.insensitive = insensitive; - return obj; + if (this._flags.insensitive === insensitive) { + return this; } - return this; + const obj = this.clone(); + obj._flags.insensitive = insensitive; + return obj; } describe() { @@ -42449,18 +42998,18 @@ module.exports = new internals.Boolean(); -/***/ }, -/* 300 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 297 */ +/***/ (function(module, exports, __webpack_require__) { 'use strict'; // Load modules - const Hoek = __webpack_require__(224); - const Any = __webpack_require__(285); - const Cast = __webpack_require__(290); - const Ref = __webpack_require__(286); + const Hoek = __webpack_require__(219); + const Any = __webpack_require__(282); + const Cast = __webpack_require__(287); + const Ref = __webpack_require__(283); // Declare internals @@ -42482,7 +43031,7 @@ let errors = []; const il = this._inner.matches.length; - const baseType = this._settings && this._settings.baseType; + const baseType = this._baseType; for (let i = 0; i < il; ++i) { const item = this._inner.matches[i]; @@ -42494,12 +43043,13 @@ if (item.otherwise) { return item.otherwise._validate(value, state, options); } - else if (baseType && i === (il - 1)) { - return baseType._validate(value, state, options); - } } - else if (item.then || baseType) { - return (item.then || baseType)._validate(value, state, options); + else if (item.then) { + return item.then._validate(value, state, options); + } + + if (i === (il - 1) && baseType) { + return baseType._validate(value, state, options); } continue; @@ -42513,7 +43063,11 @@ errors = errors.concat(result.errors); } - return { errors: errors.length ? errors : this.createError('alternatives.base', null, state, options) }; + if (errors.length) { + return { errors: this.createError('alternatives.child', { reason: errors }, state, options) }; + } + + return { errors: this.createError('alternatives.base', null, state, options) }; } try(/* schemas */) { @@ -42558,9 +43112,10 @@ otherwise: options.otherwise !== undefined ? Cast.schema(options.otherwise) : undefined }; - if (obj._settings && obj._settings.baseType) { - item.then = item.then && obj._settings.baseType.concat(item.then); - item.otherwise = item.otherwise && obj._settings.baseType.concat(item.otherwise); + if (obj._baseType) { + + item.then = item.then && obj._baseType.concat(item.then); + item.otherwise = item.otherwise && obj._baseType.concat(item.otherwise); } Ref.push(obj._refs, item.ref); @@ -42622,20 +43177,20 @@ module.exports = new internals.Alternatives(); -/***/ }, -/* 301 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 298 */ +/***/ (function(module, exports, __webpack_require__) { 'use strict'; // Load modules - const Hoek = __webpack_require__(224); - const Topo = __webpack_require__(302); - const Any = __webpack_require__(285); - const Errors = __webpack_require__(287); - const Cast = __webpack_require__(290); - const Ref = __webpack_require__(286); + const Hoek = __webpack_require__(219); + const Topo = __webpack_require__(299); + const Any = __webpack_require__(282); + const Errors = __webpack_require__(284); + const Cast = __webpack_require__(287); + const Ref = __webpack_require__(283); // Declare internals @@ -42772,6 +43327,8 @@ const unprocessed = Hoek.mapToObject(Object.keys(target)); if (this._inner.children) { + const stripProps = []; + for (let i = 0; i < this._inner.children.length; ++i) { const child = this._inner.children[i]; const key = child.key; @@ -42788,14 +43345,20 @@ return finish(); } } - - if (child.schema._flags.strip || (result.value === undefined && result.value !== item)) { - delete target[key]; - } - else if (result.value !== undefined) { - target[key] = result.value; + else { + if (child.schema._flags.strip || (result.value === undefined && result.value !== item)) { + stripProps.push(key); + target[key] = result.finalValue; + } + else if (result.value !== undefined) { + target[key] = result.value; + } } } + + for (let i = 0; i < stripProps.length; ++i) { + delete target[stripProps[i]]; + } } // Unknown keys @@ -42835,7 +43398,7 @@ } if ((this._inner.children || this._inner.patterns.length) && unprocessedKeys.length) { - if (options.stripUnknown || + if ((options.stripUnknown && this._flags.allowUnknown !== true) || options.skipFunctions) { const stripUnknown = options.stripUnknown @@ -42947,14 +43510,20 @@ unknown(allow) { + const value = allow !== false; + + if (this._flags.allowUnknown === value) { + return this; + } + const obj = this.clone(); - obj._flags.allowUnknown = (allow !== false); + obj._flags.allowUnknown = value; return obj; } length(limit) { - Hoek.assert(Hoek.isInteger(limit) && limit >= 0, 'limit must be a positive integer'); + Hoek.assert(Number.isSafeInteger(limit) && limit >= 0, 'limit must be a positive integer'); return this._test('length', limit, function (value, state, options) { @@ -42968,7 +43537,7 @@ arity(n) { - Hoek.assert(Hoek.isInteger(n) && n >= 0, 'n must be a positive integer'); + Hoek.assert(Number.isSafeInteger(n) && n >= 0, 'n must be a positive integer'); return this._test('arity', n, function (value, state, options) { @@ -42982,7 +43551,7 @@ minArity(n) { - Hoek.assert(Hoek.isInteger(n) && n > 0, 'n must be a strict positive integer'); + Hoek.assert(Number.isSafeInteger(n) && n > 0, 'n must be a strict positive integer'); return this._test('minArity', n, function (value, state, options) { @@ -42996,7 +43565,7 @@ maxArity(n) { - Hoek.assert(Hoek.isInteger(n) && n >= 0, 'n must be a positive integer'); + Hoek.assert(Number.isSafeInteger(n) && n >= 0, 'n must be a positive integer'); return this._test('maxArity', n, function (value, state, options) { @@ -43010,7 +43579,7 @@ min(limit) { - Hoek.assert(Hoek.isInteger(limit) && limit >= 0, 'limit must be a positive integer'); + Hoek.assert(Number.isSafeInteger(limit) && limit >= 0, 'limit must be a positive integer'); return this._test('min', limit, function (value, state, options) { @@ -43024,7 +43593,7 @@ max(limit) { - Hoek.assert(Hoek.isInteger(limit) && limit >= 0, 'limit must be a positive integer'); + Hoek.assert(Number.isSafeInteger(limit) && limit >= 0, 'limit must be a positive integer'); return this._test('max', limit, function (value, state, options) { @@ -43118,6 +43687,12 @@ return this.applyFunctionToChildren(children, 'optional'); } + forbiddenKeys(children) { + + children = Hoek.flatten(Array.prototype.slice.call(arguments)); + return this.applyFunctionToChildren(children, 'forbidden'); + } + rename(from, to, options) { Hoek.assert(typeof from === 'string', 'Rename missing the from argument'); @@ -43343,6 +43918,28 @@ }; + internals.keysToLabels = function (schema, keys) { + + const children = schema._inner.children; + + if (!children) { + return keys; + } + + const findLabel = function (key) { + + const matchingChild = children.find((child) => child.key === key); + return matchingChild ? matchingChild.schema._getLabel(key) : key; + }; + + if (Array.isArray(keys)) { + return keys.map(findLabel); + } + + return findLabel(keys); + }; + + internals.with = function (value, peers, parent, state, options) { if (value === undefined) { @@ -43354,7 +43951,12 @@ if (!Object.prototype.hasOwnProperty.call(parent, peer) || parent[peer] === undefined) { - return this.createError('object.with', { peer }, state, options); + return this.createError('object.with', { + main: state.key, + mainWithLabel: internals.keysToLabels(this, state.key), + peer, + peerWithLabel: internals.keysToLabels(this, peer) + }, state, options); } } @@ -43373,7 +43975,12 @@ if (Object.prototype.hasOwnProperty.call(parent, peer) && parent[peer] !== undefined) { - return this.createError('object.without', { peer }, state, options); + return this.createError('object.without', { + main: state.key, + mainWithLabel: internals.keysToLabels(this, state.key), + peer, + peerWithLabel: internals.keysToLabels(this, peer) + }, state, options); } } @@ -43397,11 +44004,13 @@ return value; } + const context = { peers, peersWithLabels: internals.keysToLabels(this, peers) }; + if (present.length === 0) { - return this.createError('object.missing', { peers }, state, options); + return this.createError('object.missing', context, state, options); } - return this.createError('object.xor', { peers }, state, options); + return this.createError('object.xor', context, state, options); }; @@ -43415,7 +44024,10 @@ } } - return this.createError('object.missing', { peers }, state, options); + return this.createError('object.missing', { + peers, + peersWithLabels: internals.keysToLabels(this, peers) + }, state, options); }; @@ -43437,7 +44049,16 @@ } const aon = (missing.length === count || present.length === count); - return !aon ? this.createError('object.and', { present, missing }, state, options) : null; + + if (!aon) { + + return this.createError('object.and', { + present, + presentWithLabels: internals.keysToLabels(this, present), + missing, + missingWithLabels: internals.keysToLabels(this, missing) + }, state, options); + } }; @@ -43456,22 +44077,27 @@ const values = Hoek.clone(peers); const main = values.splice(0, 1)[0]; const allPresent = (present.length === peers.length); - return allPresent ? this.createError('object.nand', { main, peers: values }, state, options) : null; + return allPresent ? this.createError('object.nand', { + main, + mainWithLabel: internals.keysToLabels(this, main), + peers: values, + peersWithLabels: internals.keysToLabels(this, values) + }, state, options) : null; }; module.exports = new internals.Object(); -/***/ }, -/* 302 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 299 */ +/***/ (function(module, exports, __webpack_require__) { 'use strict'; // Load modules - const Hoek = __webpack_require__(224); + const Hoek = __webpack_require__(219); // Declare internals @@ -43698,15 +44324,15 @@ }; -/***/ }, -/* 303 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 300 */ +/***/ (function(module, exports, __webpack_require__) { 'use strict'; // Load modules - const Joi = __webpack_require__(223); + const Joi = __webpack_require__(218); // Declare internals @@ -43728,16 +44354,16 @@ }).strict(); -/***/ }, -/* 304 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 301 */ +/***/ (function(module, exports, __webpack_require__) { 'use strict'; // Load modules - const Any = __webpack_require__(285); - const Hoek = __webpack_require__(224); + const Any = __webpack_require__(282); + const Hoek = __webpack_require__(219); // Declare internals @@ -43787,17 +44413,18 @@ module.exports = new internals.Lazy(); -/***/ }, -/* 305 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 302 */ +/***/ (function(module, exports, __webpack_require__) { 'use strict'; // Load modules - const Any = __webpack_require__(285); - const Cast = __webpack_require__(290); - const Hoek = __webpack_require__(224); + const Any = __webpack_require__(282); + const Cast = __webpack_require__(287); + const Ref = __webpack_require__(283); + const Hoek = __webpack_require__(219); // Declare internals @@ -44183,11 +44810,25 @@ min(limit) { - Hoek.assert(Hoek.isInteger(limit) && limit >= 0, 'limit must be a positive integer'); + const isRef = Ref.isRef(limit); + + Hoek.assert((Number.isSafeInteger(limit) && limit >= 0) || isRef, 'limit must be a positive integer or reference'); return this._test('min', limit, function (value, state, options) { - if (value.length >= limit) { + let compareTo; + if (isRef) { + compareTo = limit(state.reference || state.parent, options); + + if (!(Number.isSafeInteger(compareTo) && compareTo >= 0)) { + return this.createError('array.ref', { ref: limit.key }, state, options); + } + } + else { + compareTo = limit; + } + + if (value.length >= compareTo) { return value; } @@ -44197,11 +44838,25 @@ max(limit) { - Hoek.assert(Hoek.isInteger(limit) && limit >= 0, 'limit must be a positive integer'); + const isRef = Ref.isRef(limit); + + Hoek.assert((Number.isSafeInteger(limit) && limit >= 0) || isRef, 'limit must be a positive integer or reference'); return this._test('max', limit, function (value, state, options) { - if (value.length <= limit) { + let compareTo; + if (isRef) { + compareTo = limit(state.reference || state.parent, options); + + if (!(Number.isSafeInteger(compareTo) && compareTo >= 0)) { + return this.createError('array.ref', { ref: limit.key }, state, options); + } + } + else { + compareTo = limit; + } + + if (value.length <= compareTo) { return value; } @@ -44211,11 +44866,25 @@ length(limit) { - Hoek.assert(Hoek.isInteger(limit) && limit >= 0, 'limit must be a positive integer'); + const isRef = Ref.isRef(limit); + + Hoek.assert((Number.isSafeInteger(limit) && limit >= 0) || isRef, 'limit must be a positive integer or reference'); return this._test('length', limit, function (value, state, options) { - if (value.length === limit) { + let compareTo; + if (isRef) { + compareTo = limit(state.reference || state.parent, options); + + if (!(Number.isSafeInteger(compareTo) && compareTo >= 0)) { + return this.createError('array.ref', { ref: limit.key }, state, options); + } + } + else { + compareTo = limit; + } + + if (value.length === compareTo) { return value; } @@ -44322,15 +44991,27 @@ sparse(enabled) { + const value = enabled === undefined ? true : !!enabled; + + if (this._flags.sparse === value) { + return this; + } + const obj = this.clone(); - obj._flags.sparse = enabled === undefined ? true : !!enabled; + obj._flags.sparse = value; return obj; } single(enabled) { + const value = enabled === undefined ? true : !!enabled; + + if (this._flags.single === value) { + return this; + } + const obj = this.clone(); - obj._flags.single = enabled === undefined ? true : !!enabled; + obj._flags.single = value; return obj; } @@ -44396,16 +45077,16 @@ module.exports = new internals.Array(); -/***/ }, -/* 306 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 303 */ +/***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(Buffer) {'use strict'; // Load modules - const Any = __webpack_require__(285); - const Hoek = __webpack_require__(224); + const Any = __webpack_require__(282); + const Hoek = __webpack_require__(219); // Declare internals @@ -44445,6 +45126,10 @@ Hoek.assert(Buffer.isEncoding(encoding), 'Invalid encoding:', encoding); + if (this._flags.encoding === encoding) { + return this; + } + const obj = this.clone(); obj._flags.encoding = encoding; return obj; @@ -44452,7 +45137,7 @@ min(limit) { - Hoek.assert(Hoek.isInteger(limit) && limit >= 0, 'limit must be a positive integer'); + Hoek.assert(Number.isSafeInteger(limit) && limit >= 0, 'limit must be a positive integer'); return this._test('min', limit, function (value, state, options) { @@ -44466,7 +45151,7 @@ max(limit) { - Hoek.assert(Hoek.isInteger(limit) && limit >= 0, 'limit must be a positive integer'); + Hoek.assert(Number.isSafeInteger(limit) && limit >= 0, 'limit must be a positive integer'); return this._test('max', limit, function (value, state, options) { @@ -44480,7 +45165,7 @@ length(limit) { - Hoek.assert(Hoek.isInteger(limit) && limit >= 0, 'limit must be a positive integer'); + Hoek.assert(Number.isSafeInteger(limit) && limit >= 0, 'limit must be a positive integer'); return this._test('length', limit, function (value, state, options) { @@ -44497,122 +45182,17 @@ module.exports = new internals.Binary(); - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(225).Buffer)) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(220).Buffer)) -/***/ }, -/* 307 */ -/***/ function(module, exports) { +/***/ }), +/* 304 */ +/***/ (function(module, exports) { - module.exports = { - "_args": [ - [ - { - "raw": "joi", - "scope": null, - "escapedName": "joi", - "name": "joi", - "rawSpec": "", - "spec": "latest", - "type": "tag" - }, - "/Users/markpaul/Documents/Source/Software/react-stepzilla" - ] - ], - "_from": "joi@latest", - "_id": "joi@10.2.2", - "_inCache": true, - "_location": "/joi", - "_nodeVersion": "6.9.5", - "_npmOperationalInternal": { - "host": "packages-12-west.internal.npmjs.com", - "tmp": "tmp/joi-10.2.2.tgz_1486673707533_0.3707918550353497" - }, - "_npmUser": { - "name": "marsup", - "email": "nicolas@morel.io" - }, - "_npmVersion": "3.10.10", - "_phantomChildren": {}, - "_requested": { - "raw": "joi", - "scope": null, - "escapedName": "joi", - "name": "joi", - "rawSpec": "", - "spec": "latest", - "type": "tag" - }, - "_requiredBy": [ - "#DEV:/", - "#USER" - ], - "_resolved": "https://registry.npmjs.org/joi/-/joi-10.2.2.tgz", - "_shasum": "dc5a792b7b4c6fffa562242a95b55d9d3f077e24", - "_shrinkwrap": null, - "_spec": "joi", - "_where": "/Users/markpaul/Documents/Source/Software/react-stepzilla", - "bugs": { - "url": "https://github.com/hapijs/joi/issues" - }, - "dependencies": { - "hoek": "4.x.x", - "isemail": "2.x.x", - "items": "2.x.x", - "topo": "2.x.x" - }, - "description": "Object schema validation", - "devDependencies": { - "code": "4.x.x", - "lab": "11.x.x", - "markdown-toc": "0.13.x" - }, - "directories": {}, - "dist": { - "shasum": "dc5a792b7b4c6fffa562242a95b55d9d3f077e24", - "tarball": "https://registry.npmjs.org/joi/-/joi-10.2.2.tgz" - }, - "engines": { - "node": ">=4.0.0" - }, - "gitHead": "ef2cb827d346b036e9b16630177f47cce05812e9", - "homepage": "https://github.com/hapijs/joi", - "keywords": [ - "hapi", - "schema", - "validation" - ], - "license": "BSD-3-Clause", - "main": "lib/index.js", - "maintainers": [ - { - "name": "hueniverse", - "email": "eran@hueniverse.com" - }, - { - "name": "marsup", - "email": "marsup@gmail.com" - } - ], - "name": "joi", - "optionalDependencies": {}, - "readme": "ERROR: No README data found!", - "repository": { - "type": "git", - "url": "git://github.com/hapijs/joi.git" - }, - "scripts": { - "test": "lab -t 100 -a code -L", - "test-cov-html": "lab -r html -o coverage.html -a code", - "test-debug": "node $NODE_DEBUG_OPTION ./node_modules/.bin/lab -a code", - "toc": "node generate-readme-toc.js", - "version": "npm run toc && git add API.md README.md" - }, - "version": "10.2.2" - }; + module.exports = {"_args":[[{"raw":"joi@^10.2.2","scope":null,"escapedName":"joi","name":"joi","rawSpec":"^10.2.2","spec":">=10.2.2 <11.0.0","type":"range"},"/Users/mark.paul/Documents/Source/Software/react-stepzilla"]],"_from":"joi@>=10.2.2 <11.0.0","_id":"joi@10.6.0","_inCache":true,"_location":"/joi","_nodeVersion":"6.11.0","_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/joi-10.6.0.tgz_1497548465053_0.7665833418723196"},"_npmUser":{"name":"marsup","email":"nicolas@morel.io"},"_npmVersion":"5.0.3","_phantomChildren":{},"_requested":{"raw":"joi@^10.2.2","scope":null,"escapedName":"joi","name":"joi","rawSpec":"^10.2.2","spec":">=10.2.2 <11.0.0","type":"range"},"_requiredBy":["#DEV:/"],"_resolved":"https://registry.npmjs.org/joi/-/joi-10.6.0.tgz","_shasum":"52587f02d52b8b75cdb0c74f0b164a191a0e1fc2","_shrinkwrap":null,"_spec":"joi@^10.2.2","_where":"/Users/mark.paul/Documents/Source/Software/react-stepzilla","bugs":{"url":"https://github.com/hapijs/joi/issues"},"dependencies":{"hoek":"4.x.x","isemail":"2.x.x","items":"2.x.x","topo":"2.x.x"},"description":"Object schema validation","devDependencies":{"code":"4.x.x","hapitoc":"1.x.x","lab":"13.x.x"},"directories":{},"dist":{"integrity":"sha512-hBF3LcqyAid+9X/pwg+eXjD2QBZI5eXnBFJYaAkH4SK3mp9QSRiiQnDYlmlz5pccMvnLcJRS4whhDOTCkmsAdQ==","shasum":"52587f02d52b8b75cdb0c74f0b164a191a0e1fc2","tarball":"https://registry.npmjs.org/joi/-/joi-10.6.0.tgz"},"engines":{"node":">=4.0.0"},"gitHead":"069bb6c04063cba202544dacf9da3bbe21fa3074","homepage":"https://github.com/hapijs/joi","keywords":["hapi","schema","validation"],"license":"BSD-3-Clause","main":"lib/index.js","maintainers":[{"name":"hueniverse","email":"eran@hammer.io"},{"name":"marsup","email":"nicolas@morel.io"},{"name":"nlf","email":"quitlahok@gmail.com"},{"name":"wyatt","email":"wpreul@gmail.com"}],"name":"joi","optionalDependencies":{},"readme":"ERROR: No README data found!","repository":{"type":"git","url":"git://github.com/hapijs/joi.git"},"scripts":{"test":"lab -t 100 -a code -L","test-cov-html":"lab -r html -o coverage.html -a code","test-debug":"lab -a code","toc":"hapitoc","version":"npm run toc && git add API.md README.md"},"version":"10.6.0"} -/***/ }, -/* 308 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 305 */ +/***/ (function(module, exports, __webpack_require__) { /** * lodash 3.7.4 (Custom Build) @@ -44622,8 +45202,8 @@ * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Available under MIT license */ - var toPath = __webpack_require__(309), - isArray = __webpack_require__(310); + var toPath = __webpack_require__(306), + isArray = __webpack_require__(307); /** Used to match property names within property paths. */ var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/, @@ -44762,9 +45342,9 @@ module.exports = set; -/***/ }, -/* 309 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 306 */ +/***/ (function(module, exports, __webpack_require__) { /** * lodash 3.8.1 (Custom Build) @@ -44774,7 +45354,7 @@ * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Available under MIT license */ - var isArray = __webpack_require__(310); + var isArray = __webpack_require__(307); /** Used to match property names within property paths. */ var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\n\\]|\\.)*?)\2)\]/g; @@ -44815,9 +45395,9 @@ module.exports = toPath; -/***/ }, -/* 310 */ -/***/ function(module, exports) { +/***/ }), +/* 307 */ +/***/ (function(module, exports) { /** * lodash 3.0.4 (Custom Build) @@ -45001,9 +45581,9 @@ module.exports = isArray; -/***/ }, -/* 311 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 308 */ +/***/ (function(module, exports, __webpack_require__) { /** * lodash 3.7.0 (Custom Build) @@ -45013,8 +45593,8 @@ * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Available under MIT license */ - var baseGet = __webpack_require__(312), - toPath = __webpack_require__(309); + var baseGet = __webpack_require__(309), + toPath = __webpack_require__(306); /** * Gets the property value of `path` on `object`. If the resolved value is @@ -45048,9 +45628,9 @@ module.exports = get; -/***/ }, -/* 312 */ -/***/ function(module, exports) { +/***/ }), +/* 309 */ +/***/ (function(module, exports) { /** * lodash 3.7.2 (Custom Build) @@ -45128,9 +45708,9 @@ module.exports = baseGet; -/***/ }, -/* 313 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 310 */ +/***/ (function(module, exports, __webpack_require__) { /** * lodash 3.0.4 (Custom Build) @@ -45140,11 +45720,11 @@ * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Available under MIT license */ - var isArguments = __webpack_require__(314), - isArray = __webpack_require__(310), - isFunction = __webpack_require__(315), - isString = __webpack_require__(316), - keys = __webpack_require__(317); + var isArguments = __webpack_require__(311), + isArray = __webpack_require__(307), + isFunction = __webpack_require__(312), + isString = __webpack_require__(313), + keys = __webpack_require__(314); /** * Checks if `value` is object-like. @@ -45253,9 +45833,9 @@ module.exports = isEmpty; -/***/ }, -/* 314 */ -/***/ function(module, exports) { +/***/ }), +/* 311 */ +/***/ (function(module, exports) { /** * lodash (Custom Build) @@ -45488,40 +46068,116 @@ module.exports = isArguments; -/***/ }, -/* 315 */ -/***/ function(module, exports) { +/***/ }), +/* 312 */ +/***/ (function(module, exports) { - /** - * lodash 3.0.8 (Custom Build) + /* WEBPACK VAR INJECTION */(function(global) {/** + * Lodash (Custom Build) * Build: `lodash modularize exports="npm" -o ./` - * Copyright 2012-2016 The Dojo Foundation + * Copyright JS Foundation and other contributors + * Released under MIT license * Based on Underscore.js 1.8.3 - * Copyright 2009-2016 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - * Available under MIT license + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors */ /** `Object#toString` result references. */ - var funcTag = '[object Function]', - genTag = '[object GeneratorFunction]'; + var asyncTag = '[object AsyncFunction]', + funcTag = '[object Function]', + genTag = '[object GeneratorFunction]', + nullTag = '[object Null]', + proxyTag = '[object Proxy]', + undefinedTag = '[object Undefined]'; + + /** Detect free variable `global` from Node.js. */ + var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; + + /** Detect free variable `self`. */ + var freeSelf = typeof self == 'object' && self && self.Object === Object && self; + + /** Used as a reference to the global object. */ + var root = freeGlobal || freeSelf || Function('return this')(); /** Used for built-in method references. */ var objectProto = Object.prototype; + /** Used to check objects for own properties. */ + var hasOwnProperty = objectProto.hasOwnProperty; + /** - * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring) + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) * of values. */ - var objectToString = objectProto.toString; + var nativeObjectToString = objectProto.toString; + + /** Built-in value references. */ + var Symbol = root.Symbol, + symToStringTag = Symbol ? Symbol.toStringTag : undefined; + + /** + * The base implementation of `getTag` without fallbacks for buggy environments. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ + function baseGetTag(value) { + if (value == null) { + return value === undefined ? undefinedTag : nullTag; + } + return (symToStringTag && symToStringTag in Object(value)) + ? getRawTag(value) + : objectToString(value); + } + + /** + * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the raw `toStringTag`. + */ + function getRawTag(value) { + var isOwn = hasOwnProperty.call(value, symToStringTag), + tag = value[symToStringTag]; + + try { + value[symToStringTag] = undefined; + var unmasked = true; + } catch (e) {} + + var result = nativeObjectToString.call(value); + if (unmasked) { + if (isOwn) { + value[symToStringTag] = tag; + } else { + delete value[symToStringTag]; + } + } + return result; + } + + /** + * Converts `value` to a string using `Object.prototype.toString`. + * + * @private + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + */ + function objectToString(value) { + return nativeObjectToString.call(value); + } /** * Checks if `value` is classified as a `Function` object. * * @static * @memberOf _ + * @since 0.1.0 * @category Lang * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. + * @returns {boolean} Returns `true` if `value` is a function, else `false`. * @example * * _.isFunction(_); @@ -45531,19 +46187,23 @@ * // => false */ function isFunction(value) { + if (!isObject(value)) { + return false; + } // The use of `Object#toString` avoids issues with the `typeof` operator - // in Safari 8 which returns 'object' for typed array constructors, and - // PhantomJS 1.9 which returns 'function' for `NodeList` instances. - var tag = isObject(value) ? objectToString.call(value) : ''; - return tag == funcTag || tag == genTag; + // in Safari 9 which returns 'object' for typed arrays and other constructors. + var tag = baseGetTag(value); + return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; } /** - * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`. - * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * Checks if `value` is the + * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) + * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) * * @static * @memberOf _ + * @since 0.1.0 * @category Lang * @param {*} value The value to check. * @returns {boolean} Returns `true` if `value` is an object, else `false`. @@ -45563,15 +46223,16 @@ */ function isObject(value) { var type = typeof value; - return !!value && (type == 'object' || type == 'function'); + return value != null && (type == 'object' || type == 'function'); } module.exports = isFunction; + /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()))) -/***/ }, -/* 316 */ -/***/ function(module, exports) { +/***/ }), +/* 313 */ +/***/ (function(module, exports) { /** * lodash 3.0.1 (Custom Build) @@ -45628,9 +46289,9 @@ module.exports = isString; -/***/ }, -/* 317 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 314 */ +/***/ (function(module, exports, __webpack_require__) { /** * lodash 3.1.2 (Custom Build) @@ -45640,9 +46301,9 @@ * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Available under MIT license */ - var getNative = __webpack_require__(318), - isArguments = __webpack_require__(314), - isArray = __webpack_require__(310); + var getNative = __webpack_require__(315), + isArguments = __webpack_require__(311), + isArray = __webpack_require__(307); /** Used to detect unsigned integer values. */ var reIsUint = /^\d+$/; @@ -45870,9 +46531,9 @@ module.exports = keys; -/***/ }, -/* 318 */ -/***/ function(module, exports) { +/***/ }), +/* 315 */ +/***/ (function(module, exports) { /** * lodash 3.9.1 (Custom Build) @@ -46013,9 +46674,9 @@ module.exports = getNative; -/***/ }, -/* 319 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 316 */ +/***/ (function(module, exports, __webpack_require__) { /** * Lo-Dash 2.4.1 (Custom Build) @@ -46025,7 +46686,7 @@ * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Available under MIT license */ - var isFunction = __webpack_require__(320); + var isFunction = __webpack_require__(317); /** * Creates a function that is the composition of the provided functions, @@ -46080,9 +46741,9 @@ module.exports = compose; -/***/ }, -/* 320 */ -/***/ function(module, exports) { +/***/ }), +/* 317 */ +/***/ (function(module, exports) { /** * Lo-Dash 2.4.1 (Custom Build) @@ -46113,9 +46774,9 @@ module.exports = isFunction; -/***/ }, -/* 321 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 318 */ +/***/ (function(module, exports, __webpack_require__) { 'use strict'; @@ -46123,28 +46784,28 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - var _hydrate = __webpack_require__(322); + var _hydrate = __webpack_require__(319); var _hydrate2 = _interopRequireDefault(_hydrate); - var _decodeMessages = __webpack_require__(323); + var _decodeMessages = __webpack_require__(320); var _decodeMessages2 = _interopRequireDefault(_decodeMessages); - var _collectErrors = __webpack_require__(325); + var _collectErrors = __webpack_require__(322); var _collectErrors2 = _interopRequireDefault(_collectErrors); - var _pickMessages = __webpack_require__(334); + var _pickMessages = __webpack_require__(331); var _pickMessages2 = _interopRequireDefault(_pickMessages); exports['default'] = { hydrate: _hydrate2['default'], decodeMessages: _decodeMessages2['default'], collectErrors: _collectErrors2['default'], pickMessages: _pickMessages2['default'] }; module.exports = exports['default']; -/***/ }, -/* 322 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 319 */ +/***/ (function(module, exports, __webpack_require__) { 'use strict'; @@ -46153,7 +46814,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - var _lodashSet = __webpack_require__(308); + var _lodashSet = __webpack_require__(305); var _lodashSet2 = _interopRequireDefault(_lodashSet); @@ -46165,9 +46826,9 @@ module.exports = exports['default']; -/***/ }, -/* 323 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 320 */ +/***/ (function(module, exports, __webpack_require__) { 'use strict'; @@ -46179,7 +46840,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - var _he = __webpack_require__(324); + var _he = __webpack_require__(321); var _he2 = _interopRequireDefault(_he); @@ -46197,9 +46858,9 @@ module.exports = exports['default']; -/***/ }, -/* 324 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 321 */ +/***/ (function(module, exports, __webpack_require__) { var __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(module, global) {/*! http://mths.be/he v0.5.0 by @mathias | MIT license */ ;(function(root) { @@ -46529,11 +47190,11 @@ }(this)); - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(213)(module), (function() { return this; }()))) + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(208)(module), (function() { return this; }()))) -/***/ }, -/* 325 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 322 */ +/***/ (function(module, exports, __webpack_require__) { 'use strict'; @@ -46542,7 +47203,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - var _lodashGroupby = __webpack_require__(326); + var _lodashGroupby = __webpack_require__(323); var _lodashGroupby2 = _interopRequireDefault(_lodashGroupby); @@ -46555,9 +47216,9 @@ module.exports = exports['default']; -/***/ }, -/* 326 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 323 */ +/***/ (function(module, exports, __webpack_require__) { /** * lodash 3.1.1 (Custom Build) @@ -46567,7 +47228,7 @@ * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Available under MIT license */ - var createAggregator = __webpack_require__(327); + var createAggregator = __webpack_require__(324); /** Used for native method references. */ var objectProto = Object.prototype; @@ -46628,9 +47289,9 @@ module.exports = groupBy; -/***/ }, -/* 327 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 324 */ +/***/ (function(module, exports, __webpack_require__) { /** * lodash 3.0.0 (Custom Build) @@ -46640,9 +47301,9 @@ * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Available under MIT license */ - var baseCallback = __webpack_require__(328), - baseEach = __webpack_require__(333), - isArray = __webpack_require__(310); + var baseCallback = __webpack_require__(325), + baseEach = __webpack_require__(330), + isArray = __webpack_require__(307); /** * Creates a function that aggregates a collection, creating an accumulator @@ -46680,9 +47341,9 @@ module.exports = createAggregator; -/***/ }, -/* 328 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 325 */ +/***/ (function(module, exports, __webpack_require__) { /** * lodash 3.3.1 (Custom Build) @@ -46692,10 +47353,10 @@ * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Available under MIT license */ - var baseIsEqual = __webpack_require__(329), - bindCallback = __webpack_require__(331), - isArray = __webpack_require__(310), - pairs = __webpack_require__(332); + var baseIsEqual = __webpack_require__(326), + bindCallback = __webpack_require__(328), + isArray = __webpack_require__(307), + pairs = __webpack_require__(329); /** Used to match property names within property paths. */ var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/, @@ -47108,9 +47769,9 @@ module.exports = baseCallback; -/***/ }, -/* 329 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 326 */ +/***/ (function(module, exports, __webpack_require__) { /** * lodash 3.0.7 (Custom Build) @@ -47120,9 +47781,9 @@ * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Available under MIT license */ - var isArray = __webpack_require__(310), - isTypedArray = __webpack_require__(330), - keys = __webpack_require__(317); + var isArray = __webpack_require__(307), + isTypedArray = __webpack_require__(327), + keys = __webpack_require__(314); /** `Object#toString` result references. */ var argsTag = '[object Arguments]', @@ -47456,9 +48117,9 @@ module.exports = baseIsEqual; -/***/ }, -/* 330 */ -/***/ function(module, exports) { +/***/ }), +/* 327 */ +/***/ (function(module, exports) { /** * lodash 3.0.6 (Custom Build) @@ -47610,9 +48271,9 @@ module.exports = isTypedArray; -/***/ }, -/* 331 */ -/***/ function(module, exports) { +/***/ }), +/* 328 */ +/***/ (function(module, exports) { /** * lodash 3.0.1 (Custom Build) @@ -47681,9 +48342,9 @@ module.exports = bindCallback; -/***/ }, -/* 332 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 329 */ +/***/ (function(module, exports, __webpack_require__) { /** * lodash 3.0.1 (Custom Build) @@ -47693,7 +48354,7 @@ * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Available under MIT license */ - var keys = __webpack_require__(317); + var keys = __webpack_require__(314); /** * Converts `value` to an object if it's not one. @@ -47765,9 +48426,9 @@ module.exports = pairs; -/***/ }, -/* 333 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 330 */ +/***/ (function(module, exports, __webpack_require__) { /** * lodash 3.0.4 (Custom Build) @@ -47777,7 +48438,7 @@ * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors * Available under MIT license */ - var keys = __webpack_require__(317); + var keys = __webpack_require__(314); /** * Used as the [maximum length](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.max_safe_integer) @@ -47952,9 +48613,9 @@ module.exports = baseEach; -/***/ }, -/* 334 */ -/***/ function(module, exports) { +/***/ }), +/* 331 */ +/***/ (function(module, exports) { "use strict"; @@ -47975,9 +48636,9 @@ module.exports = exports["default"]; -/***/ }, -/* 335 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 332 */ +/***/ (function(module, exports, __webpack_require__) { 'use strict'; @@ -47991,7 +48652,7 @@ var _react2 = _interopRequireDefault(_react); - var _promise = __webpack_require__(193); + var _promise = __webpack_require__(188); var _promise2 = _interopRequireDefault(_promise); @@ -48177,9 +48838,9 @@ exports.default = Step5; -/***/ }, -/* 336 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 333 */ +/***/ (function(module, exports, __webpack_require__) { 'use strict'; @@ -48284,24 +48945,24 @@ exports.default = Step6; -/***/ }, -/* 337 */ -/***/ function(module, exports, __webpack_require__) { +/***/ }), +/* 334 */ +/***/ (function(module, exports, __webpack_require__) { // style-loader: Adds some css to the DOM by adding a