diff --git a/package.json b/package.json index 7bd6279..392f988 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ "webpack": "^2.6.1" }, "dependencies": { + "axios": "^0.16.1", "babel-core": "^6.24.1", "babel-loader": "^7.0.0", "babel-preset-es2015": "^6.24.1", @@ -29,6 +30,7 @@ "react-redux": "^5.0.5", "react-router": "^3.0.2", "redux": "^3.6.0", + "redux-thunk": "^2.2.0", "serve-favicon": "~2.4.2" } } diff --git a/public/bundle.js b/public/bundle.js index 350f21c..199e1d7 100644 --- a/public/bundle.js +++ b/public/bundle.js @@ -66,52326 +66,13 @@ /******/ return __webpack_require__(__webpack_require__.s = 538); /******/ }) /************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports, __webpack_require__) { +/******/ ({ -"use strict"; - - -// shim for using process in browser -var process = module.exports = {}; - -// cached from whatever global is present so that test runners that stub it -// don't break things. But we need to wrap it in a try catch in case it is -// wrapped in strict mode code which doesn't define any globals. It's inside a -// function because try/catches deoptimize in certain engines. - -var cachedSetTimeout; -var cachedClearTimeout; - -function defaultSetTimout() { - throw new Error('setTimeout has not been defined'); -} -function defaultClearTimeout() { - throw new Error('clearTimeout has not been defined'); -} -(function () { - try { - if (typeof setTimeout === 'function') { - cachedSetTimeout = setTimeout; - } else { - cachedSetTimeout = defaultSetTimout; - } - } catch (e) { - cachedSetTimeout = defaultSetTimout; - } - try { - if (typeof clearTimeout === 'function') { - cachedClearTimeout = clearTimeout; - } else { - cachedClearTimeout = defaultClearTimeout; - } - } catch (e) { - cachedClearTimeout = defaultClearTimeout; - } -})(); -function runTimeout(fun) { - if (cachedSetTimeout === setTimeout) { - //normal enviroments in sane situations - return setTimeout(fun, 0); - } - // if setTimeout wasn't available but was latter defined - if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { - cachedSetTimeout = setTimeout; - return setTimeout(fun, 0); - } - try { - // when when somebody has screwed with setTimeout but no I.E. maddness - return cachedSetTimeout(fun, 0); - } catch (e) { - try { - // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally - return cachedSetTimeout.call(null, fun, 0); - } catch (e) { - // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error - return cachedSetTimeout.call(this, fun, 0); - } - } -} -function runClearTimeout(marker) { - if (cachedClearTimeout === clearTimeout) { - //normal enviroments in sane situations - return clearTimeout(marker); - } - // if clearTimeout wasn't available but was latter defined - if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { - cachedClearTimeout = clearTimeout; - return clearTimeout(marker); - } - try { - // when when somebody has screwed with setTimeout but no I.E. maddness - return cachedClearTimeout(marker); - } catch (e) { - try { - // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally - return cachedClearTimeout.call(null, marker); - } catch (e) { - // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error. - // Some versions of I.E. have different rules for clearTimeout vs setTimeout - return cachedClearTimeout.call(this, marker); - } - } -} -var queue = []; -var draining = false; -var currentQueue; -var queueIndex = -1; - -function cleanUpNextTick() { - if (!draining || !currentQueue) { - return; - } - draining = false; - if (currentQueue.length) { - queue = currentQueue.concat(queue); - } else { - queueIndex = -1; - } - if (queue.length) { - drainQueue(); - } -} - -function drainQueue() { - if (draining) { - return; - } - var timeout = runTimeout(cleanUpNextTick); - draining = true; - - var len = queue.length; - while (len) { - currentQueue = queue; - queue = []; - while (++queueIndex < len) { - if (currentQueue) { - currentQueue[queueIndex].run(); - } - } - queueIndex = -1; - len = queue.length; - } - currentQueue = null; - draining = false; - runClearTimeout(timeout); -} - -process.nextTick = function (fun) { - var args = new Array(arguments.length - 1); - if (arguments.length > 1) { - for (var i = 1; i < arguments.length; i++) { - args[i - 1] = arguments[i]; - } - } - queue.push(new Item(fun, args)); - if (queue.length === 1 && !draining) { - runTimeout(drainQueue); - } -}; - -// v8 likes predictible objects -function Item(fun, array) { - this.fun = fun; - this.array = array; -} -Item.prototype.run = function () { - this.fun.apply(null, this.array); -}; -process.title = 'browser'; -process.browser = true; -process.env = {}; -process.argv = []; -process.version = ''; // empty string to avoid regexp issues -process.versions = {}; - -function noop() {} - -process.on = noop; -process.addListener = noop; -process.once = noop; -process.off = noop; -process.removeListener = noop; -process.removeAllListeners = noop; -process.emit = noop; -process.prependListener = noop; -process.prependOnceListener = noop; - -process.listeners = function (name) { - return []; -}; - -process.binding = function (name) { - throw new Error('process.binding is not supported'); -}; - -process.cwd = function () { - return '/'; -}; -process.chdir = function (dir) { - throw new Error('process.chdir is not supported'); -}; -process.umask = function () { - return 0; -}; - -/***/ }), -/* 1 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = __webpack_require__(61); - -/***/ }), -/* 2 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.__esModule = true; - -exports.default = function (instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -}; - -/***/ }), -/* 3 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.__esModule = true; - -var _setPrototypeOf = __webpack_require__(256); - -var _setPrototypeOf2 = _interopRequireDefault(_setPrototypeOf); - -var _create = __webpack_require__(255); - -var _create2 = _interopRequireDefault(_create); - -var _typeof2 = __webpack_require__(96); - -var _typeof3 = _interopRequireDefault(_typeof2); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -exports.default = function (subClass, superClass) { - if (typeof superClass !== "function" && superClass !== null) { - throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : (0, _typeof3.default)(superClass))); - } - - subClass.prototype = (0, _create2.default)(superClass && superClass.prototype, { - constructor: { - value: subClass, - enumerable: false, - writable: true, - configurable: true - } - }); - if (superClass) _setPrototypeOf2.default ? (0, _setPrototypeOf2.default)(subClass, superClass) : subClass.__proto__ = superClass; -}; - -/***/ }), -/* 4 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.__esModule = true; - -var _typeof2 = __webpack_require__(96); - -var _typeof3 = _interopRequireDefault(_typeof2); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -exports.default = function (self, call) { - if (!self) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - } - - return call && ((typeof call === "undefined" ? "undefined" : (0, _typeof3.default)(call)) === "object" || typeof call === "function") ? call : self; -}; - -/***/ }), -/* 5 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.__esModule = true; - -var _assign = __webpack_require__(152); - -var _assign2 = _interopRequireDefault(_assign); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -exports.default = _assign2.default || 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; -}; - -/***/ }), -/* 6 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.__esModule = true; - -exports.default = function (obj, keys) { - var target = {}; - - for (var i in obj) { - if (keys.indexOf(i) >= 0) continue; - if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; - target[i] = obj[i]; - } - - return target; -}; - -/***/ }), -/* 7 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -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; }; - -/** - * 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. - */ - -if (process.env.NODE_ENV !== 'production') { - var REACT_ELEMENT_TYPE = typeof Symbol === 'function' && Symbol.for && Symbol.for('react.element') || 0xeac7; - - var isValidElement = function isValidElement(object) { - return (typeof object === 'undefined' ? 'undefined' : _typeof(object)) === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; - }; - - // 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__(181)(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__(348)(); -} -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 8 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - -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; }; - -/*! - Copyright (c) 2016 Jed Watson. - Licensed under the MIT License (MIT), see - http://jedwatson.github.io/classnames -*/ -/* global define */ - -(function () { - 'use strict'; - - var hasOwn = {}.hasOwnProperty; - - function classNames() { - var classes = []; - - for (var i = 0; i < arguments.length; i++) { - var arg = arguments[i]; - if (!arg) continue; - - var argType = typeof arg === 'undefined' ? 'undefined' : _typeof(arg); - - if (argType === 'string' || argType === 'number') { - classes.push(arg); - } else if (Array.isArray(arg)) { - classes.push(classNames.apply(null, arg)); - } else if (argType === 'object') { - for (var key in arg) { - if (hasOwn.call(arg, key) && arg[key]) { - classes.push(key); - } - } - } - } - - return classes.join(' '); - } - - if (typeof module !== 'undefined' && module.exports) { - module.exports = classNames; - } else if ("function" === 'function' && _typeof(__webpack_require__(247)) === 'object' && __webpack_require__(247)) { - // register as 'classnames', consistent with npm package name - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = function () { - return classNames; - }.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); - } else { - window.classNames = classNames; - } -})(); - -/***/ }), -/* 9 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports._curry = exports.bsSizes = exports.bsStyles = exports.bsClass = undefined; -exports.prefix = prefix; -exports.getClassSet = getClassSet; -exports.splitBsProps = splitBsProps; -exports.splitBsPropsAndOmit = splitBsPropsAndOmit; -exports.addStyle = addStyle; - -var _entries = __webpack_require__(153); - -var _entries2 = _interopRequireDefault(_entries); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _invariant = __webpack_require__(17); - -var _invariant2 = _interopRequireDefault(_invariant); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _StyleConfig = __webpack_require__(20); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function curry(fn) { - return function () { - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - var last = args[args.length - 1]; - if (typeof last === 'function') { - return fn.apply(undefined, args); - } - return function (Component) { - return fn.apply(undefined, args.concat([Component])); - }; - }; -} -// TODO: The publicly exposed parts of this should be in lib/BootstrapUtils. - -function prefix(props, variant) { - !(props.bsClass != null) ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'A `bsClass` prop is required for this component') : (0, _invariant2.default)(false) : void 0; - return props.bsClass + (variant ? '-' + variant : ''); -} - -var bsClass = exports.bsClass = curry(function (defaultClass, Component) { - var propTypes = Component.propTypes || (Component.propTypes = {}); - var defaultProps = Component.defaultProps || (Component.defaultProps = {}); - - propTypes.bsClass = _propTypes2.default.string; - defaultProps.bsClass = defaultClass; - - return Component; -}); - -var bsStyles = exports.bsStyles = curry(function (styles, defaultStyle, Component) { - if (typeof defaultStyle !== 'string') { - Component = defaultStyle; - defaultStyle = undefined; - } - - var existing = Component.STYLES || []; - var propTypes = Component.propTypes || {}; - - styles.forEach(function (style) { - if (existing.indexOf(style) === -1) { - existing.push(style); - } - }); - - var propType = _propTypes2.default.oneOf(existing); - - // expose the values on the propType function for documentation - Component.STYLES = propType._values = existing; - - Component.propTypes = (0, _extends3.default)({}, propTypes, { - bsStyle: propType - }); - - if (defaultStyle !== undefined) { - var defaultProps = Component.defaultProps || (Component.defaultProps = {}); - defaultProps.bsStyle = defaultStyle; - } - - return Component; -}); - -var bsSizes = exports.bsSizes = curry(function (sizes, defaultSize, Component) { - if (typeof defaultSize !== 'string') { - Component = defaultSize; - defaultSize = undefined; - } - - var existing = Component.SIZES || []; - var propTypes = Component.propTypes || {}; - - sizes.forEach(function (size) { - if (existing.indexOf(size) === -1) { - existing.push(size); - } - }); - - var values = []; - existing.forEach(function (size) { - var mappedSize = _StyleConfig.SIZE_MAP[size]; - if (mappedSize && mappedSize !== size) { - values.push(mappedSize); - } - - values.push(size); - }); - - var propType = _propTypes2.default.oneOf(values); - propType._values = values; - - // expose the values on the propType function for documentation - Component.SIZES = existing; - - Component.propTypes = (0, _extends3.default)({}, propTypes, { - bsSize: propType - }); - - if (defaultSize !== undefined) { - if (!Component.defaultProps) { - Component.defaultProps = {}; - } - Component.defaultProps.bsSize = defaultSize; - } - - return Component; -}); - -function getClassSet(props) { - var _classes; - - var classes = (_classes = {}, _classes[prefix(props)] = true, _classes); - - if (props.bsSize) { - var bsSize = _StyleConfig.SIZE_MAP[props.bsSize] || props.bsSize; - classes[prefix(props, bsSize)] = true; - } - - if (props.bsStyle) { - classes[prefix(props, props.bsStyle)] = true; - } - - return classes; -} - -function getBsProps(props) { - return { - bsClass: props.bsClass, - bsSize: props.bsSize, - bsStyle: props.bsStyle, - bsRole: props.bsRole - }; -} - -function isBsProp(propName) { - return propName === 'bsClass' || propName === 'bsSize' || propName === 'bsStyle' || propName === 'bsRole'; -} - -function splitBsProps(props) { - var elementProps = {}; - (0, _entries2.default)(props).forEach(function (_ref) { - var propName = _ref[0], - propValue = _ref[1]; - - if (!isBsProp(propName)) { - elementProps[propName] = propValue; - } - }); - - return [getBsProps(props), elementProps]; -} - -function splitBsPropsAndOmit(props, omittedPropNames) { - var isOmittedProp = {}; - omittedPropNames.forEach(function (propName) { - isOmittedProp[propName] = true; - }); - - var elementProps = {}; - (0, _entries2.default)(props).forEach(function (_ref2) { - var propName = _ref2[0], - propValue = _ref2[1]; - - if (!isBsProp(propName) && !isOmittedProp[propName]) { - elementProps[propName] = propValue; - } - }); - - return [getBsProps(props), elementProps]; -} - -/** - * Add a style variant to a Component. Mutates the propTypes of the component - * in order to validate the new variant. - */ -function addStyle(Component) { - for (var _len2 = arguments.length, styleVariant = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { - styleVariant[_key2 - 1] = arguments[_key2]; - } - - bsStyles(styleVariant, Component); -} - -var _curry = exports._curry = curry; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 10 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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 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__(0))) - -/***/ }), -/* 11 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -var emptyFunction = __webpack_require__(24); - -/** - * 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__(0))) - -/***/ }), -/* 12 */ -/***/ (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. - * - * - */ - - -/** - * 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; - -/***/ }), -/* 13 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var _typeof2 = 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; }; - -exports.__esModule = true; - -var _typeof = typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol" ? function (obj) { - return typeof obj === "undefined" ? "undefined" : _typeof2(obj); -} : function (obj) { - return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof2(obj); -}; - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _createChainableTypeChecker = __webpack_require__(92); - -var _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -function elementType(props, propName, componentName, location, propFullName) { - var propValue = props[propName]; - var propType = typeof propValue === 'undefined' ? 'undefined' : _typeof(propValue); - - if (_react2.default.isValidElement(propValue)) { - return new Error('Invalid ' + location + ' `' + propFullName + '` of type ReactElement ' + ('supplied to `' + componentName + '`, expected an element type (a string ') + 'or a ReactClass).'); - } - - if (propType !== 'function' && propType !== 'string') { - return new Error('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected an element type (a string ') + 'or a ReactClass).'); - } - - return null; -} - -exports.default = (0, _createChainableTypeChecker2.default)(elementType); - -/***/ }), -/* 14 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* -object-assign -(c) Sindre Sorhus -@license MIT -*/ - - -/* eslint-disable no-unused-vars */ - -var getOwnPropertySymbols = Object.getOwnPropertySymbols; -var hasOwnProperty = Object.prototype.hasOwnProperty; -var propIsEnumerable = Object.prototype.propertyIsEnumerable; - -function toObject(val) { - if (val === null || val === undefined) { - throw new TypeError('Object.assign cannot be called with null or undefined'); - } - - return Object(val); -} - -function shouldUseNative() { - try { - if (!Object.assign) { - return false; - } - - // Detect buggy property enumeration order in older V8 versions. - - // https://bugs.chromium.org/p/v8/issues/detail?id=4118 - var test1 = new String('abc'); // eslint-disable-line no-new-wrappers - test1[5] = 'de'; - if (Object.getOwnPropertyNames(test1)[0] === '5') { - return false; - } - - // https://bugs.chromium.org/p/v8/issues/detail?id=3056 - var test2 = {}; - for (var i = 0; i < 10; i++) { - test2['_' + String.fromCharCode(i)] = i; - } - var order2 = Object.getOwnPropertyNames(test2).map(function (n) { - return test2[n]; - }); - if (order2.join('') !== '0123456789') { - return false; - } - - // https://bugs.chromium.org/p/v8/issues/detail?id=3056 - var test3 = {}; - 'abcdefghijklmnopqrst'.split('').forEach(function (letter) { - test3[letter] = letter; - }); - if (Object.keys(Object.assign({}, test3)).join('') !== 'abcdefghijklmnopqrst') { - return false; - } - - return true; - } catch (err) { - // We don't expect any of the above to throw, but better to be safe. - return false; - } -} - -module.exports = shouldUseNative() ? Object.assign : function (target, source) { - var from; - var to = toObject(target); - var symbols; - - for (var s = 1; s < arguments.length; s++) { - from = Object(arguments[s]); - - for (var key in from) { - if (hasOwnProperty.call(from, key)) { - to[key] = from[key]; - } - } - - if (getOwnPropertySymbols) { - symbols = getOwnPropertySymbols(from); - for (var i = 0; i < symbols.length; i++) { - if (propIsEnumerable.call(from, symbols[i])) { - to[symbols[i]] = from[symbols[i]]; - } - } - } - } - - return to; -}; - -/***/ }), -/* 15 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -var _prodInvariant = __webpack_require__(12); - -var DOMProperty = __webpack_require__(39); -var ReactDOMComponentFlags = __webpack_require__(205); - -var invariant = __webpack_require__(10); - -var ATTR_NAME = DOMProperty.ID_ATTRIBUTE_NAME; -var Flags = ReactDOMComponentFlags; - -var internalInstanceKey = '__reactInternalInstance$' + Math.random().toString(36).slice(2); - -/** - * Check if a given node should be cached. - */ -function shouldPrecacheNode(node, nodeID) { - return node.nodeType === 1 && node.getAttribute(ATTR_NAME) === String(nodeID) || node.nodeType === 8 && node.nodeValue === ' react-text: ' + nodeID + ' ' || node.nodeType === 8 && node.nodeValue === ' react-empty: ' + nodeID + ' '; -} - -/** - * Drill down (through composites and empty components) until we get a host or - * host text component. - * - * This is pretty polymorphic but unavoidable with the current structure we have - * for `_renderedChildren`. - */ -function getRenderedHostOrTextFromComponent(component) { - var rendered; - while (rendered = component._renderedComponent) { - component = rendered; - } - return component; -} - -/** - * Populate `_hostNode` on the rendered host/text component with the given - * DOM node. The passed `inst` can be a composite. - */ -function precacheNode(inst, node) { - var hostInst = getRenderedHostOrTextFromComponent(inst); - hostInst._hostNode = node; - node[internalInstanceKey] = hostInst; -} - -function uncacheNode(inst) { - var node = inst._hostNode; - if (node) { - delete node[internalInstanceKey]; - inst._hostNode = null; - } -} - -/** - * Populate `_hostNode` on each child of `inst`, assuming that the children - * match up with the DOM (element) children of `node`. - * - * We cache entire levels at once to avoid an n^2 problem where we access the - * children of a node sequentially and have to walk from the start to our target - * node every time. - * - * Since we update `_renderedChildren` and the actual DOM at (slightly) - * different times, we could race here and see a newer `_renderedChildren` than - * the DOM nodes we see. To avoid this, ReactMultiChild calls - * `prepareToManageChildren` before we change `_renderedChildren`, at which - * time the container's child nodes are always cached (until it unmounts). - */ -function precacheChildNodes(inst, node) { - if (inst._flags & Flags.hasCachedChildNodes) { - return; - } - var children = inst._renderedChildren; - var childNode = node.firstChild; - outer: for (var name in children) { - if (!children.hasOwnProperty(name)) { - continue; - } - var childInst = children[name]; - var childID = getRenderedHostOrTextFromComponent(childInst)._domID; - if (childID === 0) { - // We're currently unmounting this child in ReactMultiChild; skip it. - continue; - } - // We assume the child nodes are in the same order as the child instances. - for (; childNode !== null; childNode = childNode.nextSibling) { - if (shouldPrecacheNode(childNode, childID)) { - precacheNode(childInst, childNode); - continue outer; - } - } - // We reached the end of the DOM children without finding an ID match. - true ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Unable to find element with ID %s.', childID) : _prodInvariant('32', childID) : void 0; - } - inst._flags |= Flags.hasCachedChildNodes; -} - -/** - * Given a DOM node, return the closest ReactDOMComponent or - * ReactDOMTextComponent instance ancestor. - */ -function getClosestInstanceFromNode(node) { - if (node[internalInstanceKey]) { - return node[internalInstanceKey]; - } - - // Walk up the tree until we find an ancestor whose instance we have cached. - var parents = []; - while (!node[internalInstanceKey]) { - parents.push(node); - if (node.parentNode) { - node = node.parentNode; - } else { - // Top of the tree. This node must not be part of a React tree (or is - // unmounted, potentially). - return null; - } - } - - var closest; - var inst; - for (; node && (inst = node[internalInstanceKey]); node = parents.pop()) { - closest = inst; - if (parents.length) { - precacheChildNodes(inst, node); - } - } - - return closest; -} - -/** - * Given a DOM node, return the ReactDOMComponent or ReactDOMTextComponent - * instance, or null if the node was not rendered by this React. - */ -function getInstanceFromNode(node) { - var inst = getClosestInstanceFromNode(node); - if (inst != null && inst._hostNode === node) { - return inst; - } else { - return null; - } -} - -/** - * Given a ReactDOMComponent or ReactDOMTextComponent, return the corresponding - * DOM node. - */ -function getNodeFromInstance(inst) { - // Without this first invariant, passing a non-DOM-component triggers the next - // invariant for a missing parent, which is super confusing. - !(inst._hostNode !== undefined) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'getNodeFromInstance: Invalid argument.') : _prodInvariant('33') : void 0; - - if (inst._hostNode) { - return inst._hostNode; - } - - // Walk up the tree until we find an ancestor whose DOM node we have cached. - var parents = []; - while (!inst._hostNode) { - parents.push(inst); - !inst._hostParent ? process.env.NODE_ENV !== 'production' ? invariant(false, 'React DOM tree root should always have a node reference.') : _prodInvariant('34') : void 0; - inst = inst._hostParent; - } - - // Now parents contains each ancestor that does *not* have a cached native - // node, and `inst` is the deepest ancestor that does. - for (; parents.length; inst = parents.pop()) { - precacheChildNodes(inst, inst._hostNode); - } - - return inst._hostNode; -} - -var ReactDOMComponentTree = { - getClosestInstanceFromNode: getClosestInstanceFromNode, - getInstanceFromNode: getInstanceFromNode, - getNodeFromInstance: getNodeFromInstance, - precacheChildNodes: precacheChildNodes, - precacheNode: precacheNode, - uncacheNode: uncacheNode -}; - -module.exports = ReactDOMComponentTree; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 16 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - */ - - - -/** - * 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 = function warning() {}; - -if (process.env.NODE_ENV !== 'production') { - warning = function warning(condition, format, args) { - var len = arguments.length; - args = new Array(len > 2 ? len - 2 : 0); - for (var key = 2; key < len; key++) { - args[key - 2] = arguments[key]; - } - if (format === undefined) { - throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument'); - } - - if (format.length < 10 || /^[s\W]*$/.test(format)) { - throw new Error('The warning format should be able to uniquely identify this ' + 'warning. Please, use a more descriptive format than: ' + format); - } - - if (!condition) { - var argIndex = 0; - var message = 'Warning: ' + format.replace(/%s/g, function () { - return args[argIndex++]; - }); - if (typeof console !== 'undefined') { - console.error(message); - } - try { - // This error was thrown as a convenience so that you can use this stack - // to find the callsite that caused this warning to fire. - throw new Error(message); - } catch (x) {} - } - }; -} - -module.exports = warning; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 17 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-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 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 invariant = function invariant(condition, format, a, b, c, d, e, f) { - if (process.env.NODE_ENV !== 'production') { - if (format === undefined) { - throw new Error('invariant requires an error message argument'); - } - } - - if (!condition) { - var error; - if (format === undefined) { - error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.'); - } else { - var args = [a, b, c, d, e, f]; - var argIndex = 0; - error = new Error(format.replace(/%s/g, function () { - return args[argIndex++]; - })); - error.name = 'Invariant Violation'; - } - - error.framesToPop = 1; // we don't care about invariant's own frame - throw error; - } -}; - -module.exports = invariant; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 18 */ -/***/ (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. - * - */ - - - -var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement); - -/** - * Simple, lightweight module assisting with the detection and context of - * Worker. Helps avoid circular dependencies and allows code to reason about - * whether or not they are in a Worker, even if they never include the main - * `ReactWorker` dependency. - */ -var ExecutionEnvironment = { - - canUseDOM: canUseDOM, - - canUseWorkers: typeof Worker !== 'undefined', - - canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent), - - canUseViewport: canUseDOM && !!window.screen, - - isInWorker: !canUseDOM // For now, this is true - might change in the future. - -}; - -module.exports = ExecutionEnvironment; - -/***/ }), -/* 19 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -/** - * Safe chained function - * - * Will only create a new function if needed, - * otherwise will pass back existing functions or null. - * - * @param {function} functions to chain - * @returns {function|null} - */ -function createChainedFunction() { - for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) { - funcs[_key] = arguments[_key]; - } - - return funcs.filter(function (f) { - return f != null; - }).reduce(function (acc, f) { - if (typeof f !== 'function') { - throw new Error('Invalid Argument Type, must only provide functions, undefined, or null.'); - } - - if (acc === null) { - return f; - } - - return function chainedFunction() { - for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { - args[_key2] = arguments[_key2]; - } - - acc.apply(this, args); - f.apply(this, args); - }; - }, null); -} - -exports.default = createChainedFunction; - -/***/ }), -/* 20 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -var Size = exports.Size = { - LARGE: 'large', - SMALL: 'small', - XSMALL: 'xsmall' -}; - -var SIZE_MAP = exports.SIZE_MAP = { - large: 'lg', - medium: 'md', - small: 'sm', - xsmall: 'xs', - lg: 'lg', - md: 'md', - sm: 'sm', - xs: 'xs' -}; - -var DEVICE_SIZES = exports.DEVICE_SIZES = ['lg', 'md', 'sm', 'xs']; - -var State = exports.State = { - SUCCESS: 'success', - WARNING: 'warning', - DANGER: 'danger', - INFO: 'info' -}; - -var Style = exports.Style = { - DEFAULT: 'default', - PRIMARY: 'primary', - LINK: 'link', - INVERSE: 'inverse' -}; - -/***/ }), -/* 21 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = __webpack_require__(426); - -/***/ }), -/* 22 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * Iterates through children that are typically specified as `props.children`, - * but only maps over children that are "valid components". - * - * The mapFunction provided index will be normalised to the components mapped, - * so an invalid component would not increase the index. - * - * @param {?*} children Children tree container. - * @param {function(*, int)} func. - * @param {*} context Context for func. - * @return {object} Object containing the ordered map of results. - */ -function map(children, func, context) { - var index = 0; - - return _react2.default.Children.map(children, function (child) { - if (!_react2.default.isValidElement(child)) { - return child; - } - - return func.call(context, child, index++); - }); -} - -/** - * Iterates through children that are "valid components". - * - * The provided forEachFunc(child, index) will be called for each - * leaf child with the index reflecting the position relative to "valid components". - * - * @param {?*} children Children tree container. - * @param {function(*, int)} func. - * @param {*} context Context for context. - */ -// TODO: This module should be ElementChildren, and should use named exports. - -function forEach(children, func, context) { - var index = 0; - - _react2.default.Children.forEach(children, function (child) { - if (!_react2.default.isValidElement(child)) { - return; - } - - func.call(context, child, index++); - }); -} - -/** - * Count the number of "valid components" in the Children container. - * - * @param {?*} children Children tree container. - * @returns {number} - */ -function count(children) { - var result = 0; - - _react2.default.Children.forEach(children, function (child) { - if (!_react2.default.isValidElement(child)) { - return; - } - - ++result; - }); - - return result; -} - -/** - * Finds children that are typically specified as `props.children`, - * but only iterates over children that are "valid components". - * - * The provided forEachFunc(child, index) will be called for each - * leaf child with the index reflecting the position relative to "valid components". - * - * @param {?*} children Children tree container. - * @param {function(*, int)} func. - * @param {*} context Context for func. - * @returns {array} of children that meet the func return statement - */ -function filter(children, func, context) { - var index = 0; - var result = []; - - _react2.default.Children.forEach(children, function (child) { - if (!_react2.default.isValidElement(child)) { - return; - } - - if (func.call(context, child, index++)) { - result.push(child); - } - }); - - return result; -} - -function find(children, func, context) { - var index = 0; - var result = undefined; - - _react2.default.Children.forEach(children, function (child) { - if (result) { - return; - } - if (!_react2.default.isValidElement(child)) { - return; - } - - if (func.call(context, child, index++)) { - result = child; - } - }); - - return result; -} - -function every(children, func, context) { - var index = 0; - var result = true; - - _react2.default.Children.forEach(children, function (child) { - if (!result) { - return; - } - if (!_react2.default.isValidElement(child)) { - return; - } - - if (!func.call(context, child, index++)) { - result = false; - } - }); - - return result; -} - -function some(children, func, context) { - var index = 0; - var result = false; - - _react2.default.Children.forEach(children, function (child) { - if (result) { - return; - } - if (!_react2.default.isValidElement(child)) { - return; - } - - if (func.call(context, child, index++)) { - result = true; - } - }); - - return result; -} - -function toArray(children) { - var result = []; - - _react2.default.Children.forEach(children, function (child) { - if (!_react2.default.isValidElement(child)) { - return; - } - - result.push(child); - }); - - return result; -} - -exports.default = { - map: map, - forEach: forEach, - count: count, - find: find, - filter: filter, - every: every, - some: some, - toArray: toArray -}; - -/***/ }), -/* 23 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2016-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * - */ - - - -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 _prodInvariant = __webpack_require__(46); - -var ReactCurrentOwner = __webpack_require__(30); - -var invariant = __webpack_require__(10); -var warning = __webpack_require__(11); - -function isNative(fn) { - // Based on isNative() from Lodash - var funcToString = Function.prototype.toString; - var hasOwnProperty = Object.prototype.hasOwnProperty; - var reIsNative = RegExp('^' + funcToString - // Take an example native function source for comparison - .call(hasOwnProperty) - // Strip regex characters so we can use it for regex - .replace(/[\\^$.*+?()[\]{}|]/g, '\\$&') - // Remove hasOwnProperty from the template to make it generic - .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'); - try { - var source = funcToString.call(fn); - return reIsNative.test(source); - } catch (err) { - return false; - } -} - -var canUseCollections = -// Array.from -typeof Array.from === 'function' && -// Map -typeof Map === 'function' && isNative(Map) && -// Map.prototype.keys -Map.prototype != null && typeof Map.prototype.keys === 'function' && isNative(Map.prototype.keys) && -// Set -typeof Set === 'function' && isNative(Set) && -// Set.prototype.keys -Set.prototype != null && typeof Set.prototype.keys === 'function' && isNative(Set.prototype.keys); - -var setItem; -var getItem; -var removeItem; -var getItemIDs; -var addRoot; -var removeRoot; -var getRootIDs; - -if (canUseCollections) { - var itemMap = new Map(); - var rootIDSet = new Set(); - - setItem = function setItem(id, item) { - itemMap.set(id, item); - }; - getItem = function getItem(id) { - return itemMap.get(id); - }; - removeItem = function removeItem(id) { - itemMap['delete'](id); - }; - getItemIDs = function getItemIDs() { - return Array.from(itemMap.keys()); - }; - - addRoot = function addRoot(id) { - rootIDSet.add(id); - }; - removeRoot = function removeRoot(id) { - rootIDSet['delete'](id); - }; - getRootIDs = function getRootIDs() { - return Array.from(rootIDSet.keys()); - }; -} else { - var itemByKey = {}; - var rootByKey = {}; - - // Use non-numeric keys to prevent V8 performance issues: - // https://github.com/facebook/react/pull/7232 - var getKeyFromID = function getKeyFromID(id) { - return '.' + id; - }; - var getIDFromKey = function getIDFromKey(key) { - return parseInt(key.substr(1), 10); - }; - - setItem = function setItem(id, item) { - var key = getKeyFromID(id); - itemByKey[key] = item; - }; - getItem = function getItem(id) { - var key = getKeyFromID(id); - return itemByKey[key]; - }; - removeItem = function removeItem(id) { - var key = getKeyFromID(id); - delete itemByKey[key]; - }; - getItemIDs = function getItemIDs() { - return Object.keys(itemByKey).map(getIDFromKey); - }; - - addRoot = function addRoot(id) { - var key = getKeyFromID(id); - rootByKey[key] = true; - }; - removeRoot = function removeRoot(id) { - var key = getKeyFromID(id); - delete rootByKey[key]; - }; - getRootIDs = function getRootIDs() { - return Object.keys(rootByKey).map(getIDFromKey); - }; -} - -var unmountedIDs = []; - -function purgeDeep(id) { - var item = getItem(id); - if (item) { - var childIDs = item.childIDs; - - removeItem(id); - childIDs.forEach(purgeDeep); - } -} - -function describeComponentFrame(name, source, ownerName) { - return '\n in ' + (name || 'Unknown') + (source ? ' (at ' + source.fileName.replace(/^.*[\\\/]/, '') + ':' + source.lineNumber + ')' : ownerName ? ' (created by ' + ownerName + ')' : ''); -} - -function _getDisplayName(element) { - if (element == null) { - return '#empty'; - } else if (typeof element === 'string' || typeof element === 'number') { - return '#text'; - } else if (typeof element.type === 'string') { - return element.type; - } else { - return element.type.displayName || element.type.name || 'Unknown'; - } -} - -function describeID(id) { - var name = ReactComponentTreeHook.getDisplayName(id); - var element = ReactComponentTreeHook.getElement(id); - var ownerID = ReactComponentTreeHook.getOwnerID(id); - var ownerName; - if (ownerID) { - ownerName = ReactComponentTreeHook.getDisplayName(ownerID); - } - process.env.NODE_ENV !== 'production' ? warning(element, 'ReactComponentTreeHook: Missing React element for debugID %s when ' + 'building stack', id) : void 0; - return describeComponentFrame(name, element && element._source, ownerName); -} - -var ReactComponentTreeHook = { - onSetChildren: function onSetChildren(id, nextChildIDs) { - var item = getItem(id); - !item ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Item must have been set') : _prodInvariant('144') : void 0; - item.childIDs = nextChildIDs; - - for (var i = 0; i < nextChildIDs.length; i++) { - var nextChildID = nextChildIDs[i]; - var nextChild = getItem(nextChildID); - !nextChild ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected hook events to fire for the child before its parent includes it in onSetChildren().') : _prodInvariant('140') : void 0; - !(nextChild.childIDs != null || _typeof(nextChild.element) !== 'object' || nextChild.element == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected onSetChildren() to fire for a container child before its parent includes it in onSetChildren().') : _prodInvariant('141') : void 0; - !nextChild.isMounted ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected onMountComponent() to fire for the child before its parent includes it in onSetChildren().') : _prodInvariant('71') : void 0; - if (nextChild.parentID == null) { - nextChild.parentID = id; - // TODO: This shouldn't be necessary but mounting a new root during in - // componentWillMount currently causes not-yet-mounted components to - // be purged from our tree data so their parent id is missing. - } - !(nextChild.parentID === id) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected onBeforeMountComponent() parent and onSetChildren() to be consistent (%s has parents %s and %s).', nextChildID, nextChild.parentID, id) : _prodInvariant('142', nextChildID, nextChild.parentID, id) : void 0; - } - }, - onBeforeMountComponent: function onBeforeMountComponent(id, element, parentID) { - var item = { - element: element, - parentID: parentID, - text: null, - childIDs: [], - isMounted: false, - updateCount: 0 - }; - setItem(id, item); - }, - onBeforeUpdateComponent: function onBeforeUpdateComponent(id, element) { - var item = getItem(id); - if (!item || !item.isMounted) { - // We may end up here as a result of setState() in componentWillUnmount(). - // In this case, ignore the element. - return; - } - item.element = element; - }, - onMountComponent: function onMountComponent(id) { - var item = getItem(id); - !item ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Item must have been set') : _prodInvariant('144') : void 0; - item.isMounted = true; - var isRoot = item.parentID === 0; - if (isRoot) { - addRoot(id); - } - }, - onUpdateComponent: function onUpdateComponent(id) { - var item = getItem(id); - if (!item || !item.isMounted) { - // We may end up here as a result of setState() in componentWillUnmount(). - // In this case, ignore the element. - return; - } - item.updateCount++; - }, - onUnmountComponent: function onUnmountComponent(id) { - var item = getItem(id); - if (item) { - // We need to check if it exists. - // `item` might not exist if it is inside an error boundary, and a sibling - // error boundary child threw while mounting. Then this instance never - // got a chance to mount, but it still gets an unmounting event during - // the error boundary cleanup. - item.isMounted = false; - var isRoot = item.parentID === 0; - if (isRoot) { - removeRoot(id); - } - } - unmountedIDs.push(id); - }, - purgeUnmountedComponents: function purgeUnmountedComponents() { - if (ReactComponentTreeHook._preventPurging) { - // Should only be used for testing. - return; - } - - for (var i = 0; i < unmountedIDs.length; i++) { - var id = unmountedIDs[i]; - purgeDeep(id); - } - unmountedIDs.length = 0; - }, - isMounted: function isMounted(id) { - var item = getItem(id); - return item ? item.isMounted : false; - }, - getCurrentStackAddendum: function getCurrentStackAddendum(topElement) { - var info = ''; - if (topElement) { - var name = _getDisplayName(topElement); - var owner = topElement._owner; - info += describeComponentFrame(name, topElement._source, owner && owner.getName()); - } - - var currentOwner = ReactCurrentOwner.current; - var id = currentOwner && currentOwner._debugID; - - info += ReactComponentTreeHook.getStackAddendumByID(id); - return info; - }, - getStackAddendumByID: function getStackAddendumByID(id) { - var info = ''; - while (id) { - info += describeID(id); - id = ReactComponentTreeHook.getParentID(id); - } - return info; - }, - getChildIDs: function getChildIDs(id) { - var item = getItem(id); - return item ? item.childIDs : []; - }, - getDisplayName: function getDisplayName(id) { - var element = ReactComponentTreeHook.getElement(id); - if (!element) { - return null; - } - return _getDisplayName(element); - }, - getElement: function getElement(id) { - var item = getItem(id); - return item ? item.element : null; - }, - getOwnerID: function getOwnerID(id) { - var element = ReactComponentTreeHook.getElement(id); - if (!element || !element._owner) { - return null; - } - return element._owner._debugID; - }, - getParentID: function getParentID(id) { - var item = getItem(id); - return item ? item.parentID : null; - }, - getSource: function getSource(id) { - var item = getItem(id); - var element = item ? item.element : null; - var source = element != null ? element._source : null; - return source; - }, - getText: function getText(id) { - var element = ReactComponentTreeHook.getElement(id); - if (typeof element === 'string') { - return element; - } else if (typeof element === 'number') { - return '' + element; - } else { - return null; - } - }, - getUpdateCount: function getUpdateCount(id) { - var item = getItem(id); - return item ? item.updateCount : 0; - }, - - getRootIDs: getRootIDs, - getRegisteredIDs: getItemIDs -}; - -module.exports = ReactComponentTreeHook; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 24 */ -/***/ (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. - * - * - */ - -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; - -/***/ }), -/* 25 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2016-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * - */ - - - -// Trust the developer to only use ReactInstrumentation with a __DEV__ check - -var debugTool = null; - -if (process.env.NODE_ENV !== 'production') { - var ReactDebugTool = __webpack_require__(441); - debugTool = ReactDebugTool; -} - -module.exports = { debugTool: debugTool }; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 26 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var core = module.exports = { version: '2.4.0' }; -if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef - -/***/ }), -/* 27 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var store = __webpack_require__(106)('wks'), - uid = __webpack_require__(75), - _Symbol = __webpack_require__(35).Symbol, - USE_SYMBOL = typeof _Symbol == 'function'; - -var $exports = module.exports = function (name) { - return store[name] || (store[name] = USE_SYMBOL && _Symbol[name] || (USE_SYMBOL ? _Symbol : uid)('Symbol.' + name)); -}; - -$exports.store = store; - -/***/ }), -/* 28 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _elementType = __webpack_require__(13); - -var _elementType2 = _interopRequireDefault(_elementType); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - href: _propTypes2.default.string, - onClick: _propTypes2.default.func, - disabled: _propTypes2.default.bool, - role: _propTypes2.default.string, - tabIndex: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.string]), - /** - * this is sort of silly but needed for Button - */ - componentClass: _elementType2.default -}; - -var defaultProps = { - componentClass: 'a' -}; - -function isTrivialHref(href) { - return !href || href.trim() === '#'; -} - -/** - * There are situations due to browser quirks or Bootstrap CSS where - * an anchor tag is needed, when semantically a button tag is the - * better choice. SafeAnchor ensures that when an anchor is used like a - * button its accessible. It also emulates input `disabled` behavior for - * links, which is usually desirable for Buttons, NavItems, MenuItems, etc. - */ - -var SafeAnchor = function (_React$Component) { - (0, _inherits3.default)(SafeAnchor, _React$Component); - - function SafeAnchor(props, context) { - (0, _classCallCheck3.default)(this, SafeAnchor); - - var _this = (0, _possibleConstructorReturn3.default)(this, _React$Component.call(this, props, context)); - - _this.handleClick = _this.handleClick.bind(_this); - return _this; - } - - SafeAnchor.prototype.handleClick = function handleClick(event) { - var _props = this.props, - disabled = _props.disabled, - href = _props.href, - onClick = _props.onClick; - - if (disabled || isTrivialHref(href)) { - event.preventDefault(); - } - - if (disabled) { - event.stopPropagation(); - return; - } - - if (onClick) { - onClick(event); - } - }; - - SafeAnchor.prototype.render = function render() { - var _props2 = this.props, - Component = _props2.componentClass, - disabled = _props2.disabled, - props = (0, _objectWithoutProperties3.default)(_props2, ['componentClass', 'disabled']); - - if (isTrivialHref(props.href)) { - props.role = props.role || 'button'; - // we want to make sure there is a href attribute on the node - // otherwise, the cursor incorrectly styled (except with role='button') - props.href = props.href || '#'; - } - - if (disabled) { - props.tabIndex = -1; - props.style = (0, _extends3.default)({ pointerEvents: 'none' }, props.style); - } - - return _react2.default.createElement(Component, (0, _extends3.default)({}, props, { - onClick: this.handleClick - })); - }; - - return SafeAnchor; -}(_react2.default.Component); - -SafeAnchor.propTypes = propTypes; -SafeAnchor.defaultProps = defaultProps; - -exports.default = SafeAnchor; - -/***/ }), -/* 29 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -var _prodInvariant = __webpack_require__(12), - _assign = __webpack_require__(14); - -var CallbackQueue = __webpack_require__(203); -var PooledClass = __webpack_require__(44); -var ReactFeatureFlags = __webpack_require__(208); -var ReactReconciler = __webpack_require__(58); -var Transaction = __webpack_require__(87); - -var invariant = __webpack_require__(10); - -var dirtyComponents = []; -var updateBatchNumber = 0; -var asapCallbackQueue = CallbackQueue.getPooled(); -var asapEnqueued = false; - -var batchingStrategy = null; - -function ensureInjected() { - !(ReactUpdates.ReactReconcileTransaction && batchingStrategy) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must inject a reconcile transaction class and batching strategy') : _prodInvariant('123') : void 0; -} - -var NESTED_UPDATES = { - initialize: function initialize() { - this.dirtyComponentsLength = dirtyComponents.length; - }, - close: function close() { - if (this.dirtyComponentsLength !== dirtyComponents.length) { - // Additional updates were enqueued by componentDidUpdate handlers or - // similar; before our own UPDATE_QUEUEING wrapper closes, we want to run - // these new updates so that if A's componentDidUpdate calls setState on - // B, B will update before the callback A's updater provided when calling - // setState. - dirtyComponents.splice(0, this.dirtyComponentsLength); - flushBatchedUpdates(); - } else { - dirtyComponents.length = 0; - } - } -}; - -var UPDATE_QUEUEING = { - initialize: function initialize() { - this.callbackQueue.reset(); - }, - close: function close() { - this.callbackQueue.notifyAll(); - } -}; - -var TRANSACTION_WRAPPERS = [NESTED_UPDATES, UPDATE_QUEUEING]; - -function ReactUpdatesFlushTransaction() { - this.reinitializeTransaction(); - this.dirtyComponentsLength = null; - this.callbackQueue = CallbackQueue.getPooled(); - this.reconcileTransaction = ReactUpdates.ReactReconcileTransaction.getPooled( - /* useCreateElement */true); -} - -_assign(ReactUpdatesFlushTransaction.prototype, Transaction, { - getTransactionWrappers: function getTransactionWrappers() { - return TRANSACTION_WRAPPERS; - }, - - destructor: function destructor() { - this.dirtyComponentsLength = null; - CallbackQueue.release(this.callbackQueue); - this.callbackQueue = null; - ReactUpdates.ReactReconcileTransaction.release(this.reconcileTransaction); - this.reconcileTransaction = null; - }, - - perform: function perform(method, scope, a) { - // Essentially calls `this.reconcileTransaction.perform(method, scope, a)` - // with this transaction's wrappers around it. - return Transaction.perform.call(this, this.reconcileTransaction.perform, this.reconcileTransaction, method, scope, a); - } -}); - -PooledClass.addPoolingTo(ReactUpdatesFlushTransaction); - -function batchedUpdates(callback, a, b, c, d, e) { - ensureInjected(); - return batchingStrategy.batchedUpdates(callback, a, b, c, d, e); -} - -/** - * Array comparator for ReactComponents by mount ordering. - * - * @param {ReactComponent} c1 first component you're comparing - * @param {ReactComponent} c2 second component you're comparing - * @return {number} Return value usable by Array.prototype.sort(). - */ -function mountOrderComparator(c1, c2) { - return c1._mountOrder - c2._mountOrder; -} - -function runBatchedUpdates(transaction) { - var len = transaction.dirtyComponentsLength; - !(len === dirtyComponents.length) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected flush transaction\'s stored dirty-components length (%s) to match dirty-components array length (%s).', len, dirtyComponents.length) : _prodInvariant('124', len, dirtyComponents.length) : void 0; - - // Since reconciling a component higher in the owner hierarchy usually (not - // always -- see shouldComponentUpdate()) will reconcile children, reconcile - // them before their children by sorting the array. - dirtyComponents.sort(mountOrderComparator); - - // Any updates enqueued while reconciling must be performed after this entire - // batch. Otherwise, if dirtyComponents is [A, B] where A has children B and - // C, B could update twice in a single batch if C's render enqueues an update - // to B (since B would have already updated, we should skip it, and the only - // way we can know to do so is by checking the batch counter). - updateBatchNumber++; - - for (var i = 0; i < len; i++) { - // If a component is unmounted before pending changes apply, it will still - // be here, but we assume that it has cleared its _pendingCallbacks and - // that performUpdateIfNecessary is a noop. - var component = dirtyComponents[i]; - - // If performUpdateIfNecessary happens to enqueue any new updates, we - // shouldn't execute the callbacks until the next render happens, so - // stash the callbacks first - var callbacks = component._pendingCallbacks; - component._pendingCallbacks = null; - - var markerName; - if (ReactFeatureFlags.logTopLevelRenders) { - var namedComponent = component; - // Duck type TopLevelWrapper. This is probably always true. - if (component._currentElement.type.isReactTopLevelWrapper) { - namedComponent = component._renderedComponent; - } - markerName = 'React update: ' + namedComponent.getName(); - console.time(markerName); - } - - ReactReconciler.performUpdateIfNecessary(component, transaction.reconcileTransaction, updateBatchNumber); - - if (markerName) { - console.timeEnd(markerName); - } - - if (callbacks) { - for (var j = 0; j < callbacks.length; j++) { - transaction.callbackQueue.enqueue(callbacks[j], component.getPublicInstance()); - } - } - } -} - -var flushBatchedUpdates = function flushBatchedUpdates() { - // ReactUpdatesFlushTransaction's wrappers will clear the dirtyComponents - // array and perform any updates enqueued by mount-ready handlers (i.e., - // componentDidUpdate) but we need to check here too in order to catch - // updates enqueued by setState callbacks and asap calls. - while (dirtyComponents.length || asapEnqueued) { - if (dirtyComponents.length) { - var transaction = ReactUpdatesFlushTransaction.getPooled(); - transaction.perform(runBatchedUpdates, null, transaction); - ReactUpdatesFlushTransaction.release(transaction); - } - - if (asapEnqueued) { - asapEnqueued = false; - var queue = asapCallbackQueue; - asapCallbackQueue = CallbackQueue.getPooled(); - queue.notifyAll(); - CallbackQueue.release(queue); - } - } -}; - -/** - * Mark a component as needing a rerender, adding an optional callback to a - * list of functions which will be executed once the rerender occurs. - */ -function enqueueUpdate(component) { - ensureInjected(); - - // Various parts of our code (such as ReactCompositeComponent's - // _renderValidatedComponent) assume that calls to render aren't nested; - // verify that that's the case. (This is called by each top-level update - // function, like setState, forceUpdate, etc.; creation and - // destruction of top-level components is guarded in ReactMount.) - - if (!batchingStrategy.isBatchingUpdates) { - batchingStrategy.batchedUpdates(enqueueUpdate, component); - return; - } - - dirtyComponents.push(component); - if (component._updateBatchNumber == null) { - component._updateBatchNumber = updateBatchNumber + 1; - } -} - -/** - * Enqueue a callback to be run at the end of the current batching cycle. Throws - * if no updates are currently being performed. - */ -function asap(callback, context) { - !batchingStrategy.isBatchingUpdates ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates.asap: Can\'t enqueue an asap callback in a context whereupdates are not being batched.') : _prodInvariant('125') : void 0; - asapCallbackQueue.enqueue(callback, context); - asapEnqueued = true; -} - -var ReactUpdatesInjection = { - injectReconcileTransaction: function injectReconcileTransaction(ReconcileTransaction) { - !ReconcileTransaction ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a reconcile transaction class') : _prodInvariant('126') : void 0; - ReactUpdates.ReactReconcileTransaction = ReconcileTransaction; - }, - - injectBatchingStrategy: function injectBatchingStrategy(_batchingStrategy) { - !_batchingStrategy ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a batching strategy') : _prodInvariant('127') : void 0; - !(typeof _batchingStrategy.batchedUpdates === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a batchedUpdates() function') : _prodInvariant('128') : void 0; - !(typeof _batchingStrategy.isBatchingUpdates === 'boolean') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide an isBatchingUpdates boolean attribute') : _prodInvariant('129') : void 0; - batchingStrategy = _batchingStrategy; - } -}; - -var ReactUpdates = { - /** - * React references `ReactReconcileTransaction` using this property in order - * to allow dependency injection. - * - * @internal - */ - ReactReconcileTransaction: null, - - batchedUpdates: batchedUpdates, - enqueueUpdate: enqueueUpdate, - flushBatchedUpdates: flushBatchedUpdates, - injection: ReactUpdatesInjection, - asap: asap -}; - -module.exports = ReactUpdates; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 30 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - * - */ - - - -/** - * Keeps track of the current owner. - * - * The current owner is the component who should own any components that are - * currently being constructed. - */ - -var ReactCurrentOwner = { - - /** - * @internal - * @type {ReactComponent} - */ - current: null - -}; - -module.exports = ReactCurrentOwner; - -/***/ }), -/* 31 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var React = __webpack_require__(1); -var factory = __webpack_require__(302); - -// Hack to grab NoopUpdateQueue from isomorphic React -var ReactNoopUpdateQueue = new React.Component().updater; - -module.exports = factory(React.Component, React.isValidElement, ReactNoopUpdateQueue); - -/***/ }), -/* 32 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -var _assign = __webpack_require__(14); - -var PooledClass = __webpack_require__(44); - -var emptyFunction = __webpack_require__(24); -var warning = __webpack_require__(11); - -var didWarnForAddedNewProperty = false; -var isProxySupported = typeof Proxy === 'function'; - -var shouldBeReleasedProperties = ['dispatchConfig', '_targetInst', 'nativeEvent', 'isDefaultPrevented', 'isPropagationStopped', '_dispatchListeners', '_dispatchInstances']; - -/** - * @interface Event - * @see http://www.w3.org/TR/DOM-Level-3-Events/ - */ -var EventInterface = { - type: null, - target: null, - // currentTarget is set when dispatching; no use in copying it here - currentTarget: emptyFunction.thatReturnsNull, - eventPhase: null, - bubbles: null, - cancelable: null, - timeStamp: function timeStamp(event) { - return event.timeStamp || Date.now(); - }, - defaultPrevented: null, - isTrusted: null -}; - -/** - * Synthetic events are dispatched by event plugins, typically in response to a - * top-level event delegation handler. - * - * These systems should generally use pooling to reduce the frequency of garbage - * collection. The system should check `isPersistent` to determine whether the - * event should be released into the pool after being dispatched. Users that - * need a persisted event should invoke `persist`. - * - * Synthetic events (and subclasses) implement the DOM Level 3 Events API by - * normalizing browser quirks. Subclasses do not necessarily have to implement a - * DOM interface; custom application-specific events can also subclass this. - * - * @param {object} dispatchConfig Configuration used to dispatch this event. - * @param {*} targetInst Marker identifying the event target. - * @param {object} nativeEvent Native browser event. - * @param {DOMEventTarget} nativeEventTarget Target node. - */ -function SyntheticEvent(dispatchConfig, targetInst, nativeEvent, nativeEventTarget) { - if (process.env.NODE_ENV !== 'production') { - // these have a getter/setter for warnings - delete this.nativeEvent; - delete this.preventDefault; - delete this.stopPropagation; - } - - this.dispatchConfig = dispatchConfig; - this._targetInst = targetInst; - this.nativeEvent = nativeEvent; - - var Interface = this.constructor.Interface; - for (var propName in Interface) { - if (!Interface.hasOwnProperty(propName)) { - continue; - } - if (process.env.NODE_ENV !== 'production') { - delete this[propName]; // this has a getter/setter for warnings - } - var normalize = Interface[propName]; - if (normalize) { - this[propName] = normalize(nativeEvent); - } else { - if (propName === 'target') { - this.target = nativeEventTarget; - } else { - this[propName] = nativeEvent[propName]; - } - } - } - - var defaultPrevented = nativeEvent.defaultPrevented != null ? nativeEvent.defaultPrevented : nativeEvent.returnValue === false; - if (defaultPrevented) { - this.isDefaultPrevented = emptyFunction.thatReturnsTrue; - } else { - this.isDefaultPrevented = emptyFunction.thatReturnsFalse; - } - this.isPropagationStopped = emptyFunction.thatReturnsFalse; - return this; -} - -_assign(SyntheticEvent.prototype, { - - preventDefault: function preventDefault() { - this.defaultPrevented = true; - var event = this.nativeEvent; - if (!event) { - return; - } - - if (event.preventDefault) { - event.preventDefault(); - } else if (typeof event.returnValue !== 'unknown') { - // eslint-disable-line valid-typeof - event.returnValue = false; - } - this.isDefaultPrevented = emptyFunction.thatReturnsTrue; - }, - - stopPropagation: function stopPropagation() { - var event = this.nativeEvent; - if (!event) { - return; - } - - if (event.stopPropagation) { - event.stopPropagation(); - } 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 - // typeof check of "unknown" circumvents this issue (and is also - // IE specific). - event.cancelBubble = true; - } - - this.isPropagationStopped = emptyFunction.thatReturnsTrue; - }, - - /** - * We release all dispatched `SyntheticEvent`s after each event loop, adding - * them back into the pool. This allows a way to hold onto a reference that - * won't be added back into the pool. - */ - persist: function persist() { - this.isPersistent = emptyFunction.thatReturnsTrue; - }, - - /** - * Checks if this event should be released back into the pool. - * - * @return {boolean} True if this should not be released, false otherwise. - */ - isPersistent: emptyFunction.thatReturnsFalse, - - /** - * `PooledClass` looks for `destructor` on each instance it releases. - */ - destructor: function destructor() { - var Interface = this.constructor.Interface; - for (var propName in Interface) { - if (process.env.NODE_ENV !== 'production') { - Object.defineProperty(this, propName, getPooledWarningPropertyDefinition(propName, Interface[propName])); - } else { - this[propName] = null; - } - } - for (var i = 0; i < shouldBeReleasedProperties.length; i++) { - this[shouldBeReleasedProperties[i]] = null; - } - if (process.env.NODE_ENV !== 'production') { - Object.defineProperty(this, 'nativeEvent', getPooledWarningPropertyDefinition('nativeEvent', null)); - Object.defineProperty(this, 'preventDefault', getPooledWarningPropertyDefinition('preventDefault', emptyFunction)); - Object.defineProperty(this, 'stopPropagation', getPooledWarningPropertyDefinition('stopPropagation', emptyFunction)); - } - } - -}); - -SyntheticEvent.Interface = EventInterface; - -if (process.env.NODE_ENV !== 'production') { - if (isProxySupported) { - /*eslint-disable no-func-assign */ - SyntheticEvent = new Proxy(SyntheticEvent, { - construct: function construct(target, args) { - return this.apply(target, Object.create(target.prototype), args); - }, - apply: function apply(constructor, that, args) { - return new Proxy(constructor.apply(that, args), { - set: function set(target, prop, value) { - if (prop !== 'isPersistent' && !target.constructor.Interface.hasOwnProperty(prop) && shouldBeReleasedProperties.indexOf(prop) === -1) { - process.env.NODE_ENV !== 'production' ? warning(didWarnForAddedNewProperty || target.isPersistent(), 'This synthetic event is reused for performance reasons. If you\'re ' + 'seeing this, you\'re adding a new property in the synthetic event object. ' + 'The property is never released. See ' + 'https://fb.me/react-event-pooling for more information.') : void 0; - didWarnForAddedNewProperty = true; - } - target[prop] = value; - return true; - } - }); - } - }); - /*eslint-enable no-func-assign */ - } -} -/** - * Helper to reduce boilerplate when creating subclasses. - * - * @param {function} Class - * @param {?object} Interface - */ -SyntheticEvent.augmentClass = function (Class, Interface) { - var Super = this; - - var E = function E() {}; - E.prototype = Super.prototype; - var prototype = new E(); - - _assign(prototype, Class.prototype); - Class.prototype = prototype; - Class.prototype.constructor = Class; - - Class.Interface = _assign({}, Super.Interface, Interface); - Class.augmentClass = Super.augmentClass; - - PooledClass.addPoolingTo(Class, PooledClass.fourArgumentPooler); -}; - -PooledClass.addPoolingTo(SyntheticEvent, PooledClass.fourArgumentPooler); - -module.exports = SyntheticEvent; - -/** - * Helper to nullify syntheticEvent instance properties when destructing - * - * @param {object} SyntheticEvent - * @param {String} propName - * @return {object} defineProperty object - */ -function getPooledWarningPropertyDefinition(propName, getVal) { - var isFunction = typeof getVal === 'function'; - return { - configurable: true, - set: set, - get: get - }; - - function set(val) { - var action = isFunction ? 'setting the method' : 'setting the property'; - warn(action, 'This is effectively a no-op'); - return val; - } - - function get() { - var action = isFunction ? 'accessing the method' : 'accessing the property'; - var result = isFunction ? 'This is a no-op function' : 'This is set to null'; - warn(action, result); - return getVal; - } - - function warn(action, result) { - var warningCondition = false; - process.env.NODE_ENV !== 'production' ? warning(warningCondition, 'This synthetic event is reused for performance reasons. If you\'re seeing this, ' + 'you\'re %s `%s` on a released/nullified synthetic event. %s. ' + 'If you must keep the original synthetic event around, use event.persist(). ' + 'See https://fb.me/react-event-pooling for more information.', action, propName, result) : void 0; - } -} -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 33 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.compose = exports.applyMiddleware = exports.bindActionCreators = exports.combineReducers = exports.createStore = undefined; - -var _createStore = __webpack_require__(245); - -var _createStore2 = _interopRequireDefault(_createStore); - -var _combineReducers = __webpack_require__(530); - -var _combineReducers2 = _interopRequireDefault(_combineReducers); - -var _bindActionCreators = __webpack_require__(529); - -var _bindActionCreators2 = _interopRequireDefault(_bindActionCreators); - -var _applyMiddleware = __webpack_require__(528); - -var _applyMiddleware2 = _interopRequireDefault(_applyMiddleware); - -var _compose = __webpack_require__(244); - -var _compose2 = _interopRequireDefault(_compose); - -var _warning = __webpack_require__(246); - -var _warning2 = _interopRequireDefault(_warning); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/* -* This is a dummy function to check if the function name has been altered by minification. -* If the function has been minified and NODE_ENV !== 'production', warn the user. -*/ -function isCrushed() {} - -if (process.env.NODE_ENV !== 'production' && typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') { - (0, _warning2.default)('You are currently using minified code outside of NODE_ENV === \'production\'. ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or DefinePlugin for webpack (http://stackoverflow.com/questions/30030031) ' + 'to ensure you have the correct code for your production build.'); -} - -exports.createStore = _createStore2.default; -exports.combineReducers = _combineReducers2.default; -exports.bindActionCreators = _bindActionCreators2.default; -exports.applyMiddleware = _applyMiddleware2.default; -exports.compose = _compose2.default; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 34 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var global = __webpack_require__(35), - core = __webpack_require__(26), - ctx = __webpack_require__(98), - hide = __webpack_require__(50), - PROTOTYPE = 'prototype'; - -var $export = function $export(type, name, source) { - var IS_FORCED = type & $export.F, - IS_GLOBAL = type & $export.G, - IS_STATIC = type & $export.S, - IS_PROTO = type & $export.P, - IS_BIND = type & $export.B, - IS_WRAP = type & $export.W, - exports = IS_GLOBAL ? core : core[name] || (core[name] = {}), - expProto = exports[PROTOTYPE], - target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE], - key, - own, - out; - if (IS_GLOBAL) source = name; - for (key in source) { - // contains in native - own = !IS_FORCED && target && target[key] !== undefined; - if (own && key in exports) continue; - // export native or passed - out = own ? target[key] : source[key]; - // prevent global pollution for namespaces - exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key] - // bind timers to global for call from export context - : IS_BIND && own ? ctx(out, global) - // wrap global constructors for prevent change them in library - : IS_WRAP && target[key] == out ? function (C) { - var F = function F(a, b, c) { - if (this instanceof C) { - switch (arguments.length) { - case 0: - return new C(); - case 1: - return new C(a); - case 2: - return new C(a, b); - }return new C(a, b, c); - }return C.apply(this, arguments); - }; - F[PROTOTYPE] = C[PROTOTYPE]; - return F; - // make static versions for prototype methods - }(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out; - // export proto methods to core.%CONSTRUCTOR%.methods.%NAME% - if (IS_PROTO) { - (exports.virtual || (exports.virtual = {}))[key] = out; - // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME% - if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out); - } - } -}; -// type bitmap -$export.F = 1; // forced -$export.G = 2; // global -$export.S = 4; // static -$export.P = 8; // proto -$export.B = 16; // bind -$export.W = 32; // wrap -$export.U = 64; // safe -$export.R = 128; // real proto method for `library` -module.exports = $export; - -/***/ }), -/* 35 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 -var global = module.exports = typeof window != 'undefined' && window.Math == Math ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')(); -if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef - -/***/ }), -/* 36 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -// to indexed object, toObject with fallback for non-array-like ES3 strings -var IObject = __webpack_require__(156), - defined = __webpack_require__(99); -module.exports = function (it) { - return IObject(defined(it)); -}; - -/***/ }), -/* 37 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = !!(typeof window !== 'undefined' && window.document && window.document.createElement); -module.exports = exports['default']; - -/***/ }), -/* 38 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -exports.__esModule = true; -exports.createPath = exports.parsePath = exports.getQueryStringValueFromPath = exports.stripQueryStringValueFromPath = exports.addQueryStringValueToPath = undefined; - -var _warning = __webpack_require__(16); - -var _warning2 = _interopRequireDefault(_warning); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -var addQueryStringValueToPath = exports.addQueryStringValueToPath = function addQueryStringValueToPath(path, key, value) { - var _parsePath = parsePath(path), - pathname = _parsePath.pathname, - search = _parsePath.search, - hash = _parsePath.hash; - - return createPath({ - pathname: pathname, - search: search + (search.indexOf('?') === -1 ? '?' : '&') + key + '=' + value, - hash: hash - }); -}; - -var stripQueryStringValueFromPath = exports.stripQueryStringValueFromPath = function stripQueryStringValueFromPath(path, key) { - var _parsePath2 = parsePath(path), - pathname = _parsePath2.pathname, - search = _parsePath2.search, - hash = _parsePath2.hash; - - return createPath({ - pathname: pathname, - search: search.replace(new RegExp('([?&])' + key + '=[a-zA-Z0-9]+(&?)'), function (match, prefix, suffix) { - return prefix === '?' ? prefix : suffix; - }), - hash: hash - }); -}; - -var getQueryStringValueFromPath = exports.getQueryStringValueFromPath = function getQueryStringValueFromPath(path, key) { - var _parsePath3 = parsePath(path), - search = _parsePath3.search; - - var match = search.match(new RegExp('[?&]' + key + '=([a-zA-Z0-9]+)')); - return match && match[1]; -}; - -var extractPath = function extractPath(string) { - var match = string.match(/^(https?:)?\/\/[^\/]*/); - return match == null ? string : string.substring(match[0].length); -}; - -var parsePath = exports.parsePath = function parsePath(path) { - var pathname = extractPath(path); - var search = ''; - var hash = ''; - - process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(path === pathname, 'A path must be pathname + search + hash only, not a full URL like "%s"', path) : void 0; - - var hashIndex = pathname.indexOf('#'); - if (hashIndex !== -1) { - hash = pathname.substring(hashIndex); - pathname = pathname.substring(0, hashIndex); - } - - var searchIndex = pathname.indexOf('?'); - if (searchIndex !== -1) { - search = pathname.substring(searchIndex); - pathname = pathname.substring(0, searchIndex); - } - - if (pathname === '') pathname = '/'; - - return { - pathname: pathname, - search: search, - hash: hash - }; -}; - -var createPath = exports.createPath = function createPath(location) { - if (location == null || typeof location === 'string') return location; - - var basename = location.basename, - pathname = location.pathname, - search = location.search, - hash = location.hash; - - var path = (basename || '') + pathname; - - if (search && search !== '?') path += search; - - if (hash) path += hash; - - return path; -}; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 39 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -var _prodInvariant = __webpack_require__(12); - -var invariant = __webpack_require__(10); - -function checkMask(value, bitmask) { - return (value & bitmask) === bitmask; -} - -var DOMPropertyInjection = { - /** - * Mapping from normalized, camelcased property names to a configuration that - * specifies how the associated DOM property should be accessed or rendered. - */ - MUST_USE_PROPERTY: 0x1, - HAS_BOOLEAN_VALUE: 0x4, - HAS_NUMERIC_VALUE: 0x8, - HAS_POSITIVE_NUMERIC_VALUE: 0x10 | 0x8, - HAS_OVERLOADED_BOOLEAN_VALUE: 0x20, - - /** - * Inject some specialized knowledge about the DOM. This takes a config object - * with the following properties: - * - * isCustomAttribute: function that given an attribute name will return true - * if it can be inserted into the DOM verbatim. Useful for data-* or aria-* - * attributes where it's impossible to enumerate all of the possible - * attribute names, - * - * Properties: object mapping DOM property name to one of the - * DOMPropertyInjection constants or null. If your attribute isn't in here, - * it won't get written to the DOM. - * - * DOMAttributeNames: object mapping React attribute name to the DOM - * attribute name. Attribute names not specified use the **lowercase** - * normalized name. - * - * DOMAttributeNamespaces: object mapping React attribute name to the DOM - * attribute namespace URL. (Attribute names not specified use no namespace.) - * - * DOMPropertyNames: similar to DOMAttributeNames but for DOM properties. - * Property names not specified use the normalized name. - * - * DOMMutationMethods: Properties that require special mutation methods. If - * `value` is undefined, the mutation method should unset the property. - * - * @param {object} domPropertyConfig the config as described above. - */ - injectDOMPropertyConfig: function injectDOMPropertyConfig(domPropertyConfig) { - var Injection = DOMPropertyInjection; - var Properties = domPropertyConfig.Properties || {}; - var DOMAttributeNamespaces = domPropertyConfig.DOMAttributeNamespaces || {}; - var DOMAttributeNames = domPropertyConfig.DOMAttributeNames || {}; - var DOMPropertyNames = domPropertyConfig.DOMPropertyNames || {}; - var DOMMutationMethods = domPropertyConfig.DOMMutationMethods || {}; - - if (domPropertyConfig.isCustomAttribute) { - DOMProperty._isCustomAttributeFunctions.push(domPropertyConfig.isCustomAttribute); - } - - for (var propName in Properties) { - !!DOMProperty.properties.hasOwnProperty(propName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'injectDOMPropertyConfig(...): You\'re trying to inject DOM property \'%s\' which has already been injected. You may be accidentally injecting the same DOM property config twice, or you may be injecting two configs that have conflicting property names.', propName) : _prodInvariant('48', propName) : void 0; - - var lowerCased = propName.toLowerCase(); - var propConfig = Properties[propName]; - - var propertyInfo = { - attributeName: lowerCased, - attributeNamespace: null, - propertyName: propName, - mutationMethod: null, - - mustUseProperty: checkMask(propConfig, Injection.MUST_USE_PROPERTY), - hasBooleanValue: checkMask(propConfig, Injection.HAS_BOOLEAN_VALUE), - hasNumericValue: checkMask(propConfig, Injection.HAS_NUMERIC_VALUE), - hasPositiveNumericValue: checkMask(propConfig, Injection.HAS_POSITIVE_NUMERIC_VALUE), - hasOverloadedBooleanValue: checkMask(propConfig, Injection.HAS_OVERLOADED_BOOLEAN_VALUE) - }; - !(propertyInfo.hasBooleanValue + propertyInfo.hasNumericValue + propertyInfo.hasOverloadedBooleanValue <= 1) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'DOMProperty: Value can be one of boolean, overloaded boolean, or numeric value, but not a combination: %s', propName) : _prodInvariant('50', propName) : void 0; - - if (process.env.NODE_ENV !== 'production') { - DOMProperty.getPossibleStandardName[lowerCased] = propName; - } - - if (DOMAttributeNames.hasOwnProperty(propName)) { - var attributeName = DOMAttributeNames[propName]; - propertyInfo.attributeName = attributeName; - if (process.env.NODE_ENV !== 'production') { - DOMProperty.getPossibleStandardName[attributeName] = propName; - } - } - - if (DOMAttributeNamespaces.hasOwnProperty(propName)) { - propertyInfo.attributeNamespace = DOMAttributeNamespaces[propName]; - } - - if (DOMPropertyNames.hasOwnProperty(propName)) { - propertyInfo.propertyName = DOMPropertyNames[propName]; - } - - if (DOMMutationMethods.hasOwnProperty(propName)) { - propertyInfo.mutationMethod = DOMMutationMethods[propName]; - } - - DOMProperty.properties[propName] = propertyInfo; - } - } -}; - -/* eslint-disable max-len */ -var ATTRIBUTE_NAME_START_CHAR = ':A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD'; -/* eslint-enable max-len */ - -/** - * DOMProperty exports lookup objects that can be used like functions: - * - * > DOMProperty.isValid['id'] - * true - * > DOMProperty.isValid['foobar'] - * undefined - * - * Although this may be confusing, it performs better in general. - * - * @see http://jsperf.com/key-exists - * @see http://jsperf.com/key-missing - */ -var DOMProperty = { - - ID_ATTRIBUTE_NAME: 'data-reactid', - ROOT_ATTRIBUTE_NAME: 'data-reactroot', - - ATTRIBUTE_NAME_START_CHAR: ATTRIBUTE_NAME_START_CHAR, - ATTRIBUTE_NAME_CHAR: ATTRIBUTE_NAME_START_CHAR + '\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040', - - /** - * Map from property "standard name" to an object with info about how to set - * the property in the DOM. Each object contains: - * - * attributeName: - * Used when rendering markup or with `*Attribute()`. - * attributeNamespace - * propertyName: - * Used on DOM node instances. (This includes properties that mutate due to - * external factors.) - * mutationMethod: - * If non-null, used instead of the property or `setAttribute()` after - * initial render. - * mustUseProperty: - * Whether the property must be accessed and mutated as an object property. - * hasBooleanValue: - * Whether the property should be removed when set to a falsey value. - * hasNumericValue: - * Whether the property must be numeric or parse as a numeric and should be - * removed when set to a falsey value. - * hasPositiveNumericValue: - * Whether the property must be positive numeric or parse as a positive - * numeric and should be removed when set to a falsey value. - * hasOverloadedBooleanValue: - * Whether the property can be used as a flag as well as with a value. - * Removed when strictly equal to false; present without a value when - * strictly equal to true; present with a value otherwise. - */ - properties: {}, - - /** - * Mapping from lowercase property names to the properly cased version, used - * to warn in the case of missing properties. Available only in __DEV__. - * - * autofocus is predefined, because adding it to the property whitelist - * causes unintended side effects. - * - * @type {Object} - */ - getPossibleStandardName: process.env.NODE_ENV !== 'production' ? { autofocus: 'autoFocus' } : null, - - /** - * All of the isCustomAttribute() functions that have been injected. - */ - _isCustomAttributeFunctions: [], - - /** - * Checks whether a property name is a custom attribute. - * @method - */ - isCustomAttribute: function isCustomAttribute(attributeName) { - for (var i = 0; i < DOMProperty._isCustomAttributeFunctions.length; i++) { - var isCustomAttributeFn = DOMProperty._isCustomAttributeFunctions[i]; - if (isCustomAttributeFn(attributeName)) { - return true; - } - } - return false; - }, - - injection: DOMPropertyInjection -}; - -module.exports = DOMProperty; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 40 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.isReactChildren = isReactChildren; -exports.createRouteFromReactElement = createRouteFromReactElement; -exports.createRoutesFromReactChildren = createRoutesFromReactChildren; -exports.createRoutes = createRoutes; - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: 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; -}; - -function isValidChild(object) { - return object == null || _react2.default.isValidElement(object); -} - -function isReactChildren(object) { - return isValidChild(object) || Array.isArray(object) && object.every(isValidChild); -} - -function createRoute(defaultProps, props) { - return _extends({}, defaultProps, props); -} - -function createRouteFromReactElement(element) { - var type = element.type; - var route = createRoute(type.defaultProps, element.props); - - if (route.children) { - var childRoutes = createRoutesFromReactChildren(route.children, route); - - if (childRoutes.length) route.childRoutes = childRoutes; - - delete route.children; - } - - return route; -} - -/** - * Creates and returns a routes object from the given ReactChildren. JSX - * provides a convenient way to visualize how routes in the hierarchy are - * nested. - * - * import { Route, createRoutesFromReactChildren } from 'react-router' - * - * const routes = createRoutesFromReactChildren( - * - * - * - * - * ) - * - * Note: This method is automatically used when you provide children - * to a component. - */ -function createRoutesFromReactChildren(children, parentRoute) { - var routes = []; - - _react2.default.Children.forEach(children, function (element) { - if (_react2.default.isValidElement(element)) { - // Component classes may have a static create* method. - if (element.type.createRouteFromReactElement) { - var route = element.type.createRouteFromReactElement(element, parentRoute); - - if (route) routes.push(route); - } else { - routes.push(createRouteFromReactElement(element)); - } - } - }); - - return routes; -} - -/** - * Creates and returns an array of routes from the given object which - * may be a JSX route, a plain object route, or an array of either. - */ -function createRoutes(routes) { - if (isReactChildren(routes)) { - routes = createRoutesFromReactChildren(routes); - } else if (routes && !Array.isArray(routes)) { - routes = [routes]; - } - - return routes; -} - -/***/ }), -/* 41 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.connect = exports.connectAdvanced = exports.createProvider = exports.Provider = undefined; - -var _Provider = __webpack_require__(490); - -var _Provider2 = _interopRequireDefault(_Provider); - -var _connectAdvanced = __webpack_require__(228); - -var _connectAdvanced2 = _interopRequireDefault(_connectAdvanced); - -var _connect = __webpack_require__(491); - -var _connect2 = _interopRequireDefault(_connect); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.Provider = _Provider2.default; -exports.createProvider = _Provider.createProvider; -exports.connectAdvanced = _connectAdvanced2.default; -exports.connect = _connect2.default; - -/***/ }), -/* 42 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var hasOwnProperty = {}.hasOwnProperty; -module.exports = function (it, key) { - return hasOwnProperty.call(it, key); -}; - -/***/ }), -/* 43 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var anObject = __webpack_require__(48), - IE8_DOM_DEFINE = __webpack_require__(155), - toPrimitive = __webpack_require__(109), - dP = Object.defineProperty; - -exports.f = __webpack_require__(49) ? Object.defineProperty : function defineProperty(O, P, Attributes) { - anObject(O); - P = toPrimitive(P, true); - anObject(Attributes); - if (IE8_DOM_DEFINE) try { - return dP(O, P, Attributes); - } catch (e) {/* empty */} - if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!'); - if ('value' in Attributes) O[P] = Attributes.value; - return O; -}; - -/***/ }), -/* 44 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - * - */ - - - -var _prodInvariant = __webpack_require__(12); - -var invariant = __webpack_require__(10); - -/** - * Static poolers. Several custom versions for each potential number of - * arguments. A completely generic pooler is easy to implement, but would - * require accessing the `arguments` object. In each of these, `this` refers to - * the Class itself, not an instance. If any others are needed, simply add them - * here, or in their own files. - */ -var oneArgumentPooler = function oneArgumentPooler(copyFieldsFrom) { - var Klass = this; - if (Klass.instancePool.length) { - var instance = Klass.instancePool.pop(); - Klass.call(instance, copyFieldsFrom); - return instance; - } else { - return new Klass(copyFieldsFrom); - } -}; - -var twoArgumentPooler = function twoArgumentPooler(a1, a2) { - var Klass = this; - if (Klass.instancePool.length) { - var instance = Klass.instancePool.pop(); - Klass.call(instance, a1, a2); - return instance; - } else { - return new Klass(a1, a2); - } -}; - -var threeArgumentPooler = function threeArgumentPooler(a1, a2, a3) { - var Klass = this; - if (Klass.instancePool.length) { - var instance = Klass.instancePool.pop(); - Klass.call(instance, a1, a2, a3); - return instance; - } else { - return new Klass(a1, a2, a3); - } -}; - -var fourArgumentPooler = function fourArgumentPooler(a1, a2, a3, a4) { - var Klass = this; - if (Klass.instancePool.length) { - var instance = Klass.instancePool.pop(); - Klass.call(instance, a1, a2, a3, a4); - return instance; - } else { - return new Klass(a1, a2, a3, a4); - } -}; - -var standardReleaser = function standardReleaser(instance) { - var Klass = this; - !(instance instanceof Klass) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Trying to release an instance into a pool of a different type.') : _prodInvariant('25') : void 0; - instance.destructor(); - if (Klass.instancePool.length < Klass.poolSize) { - Klass.instancePool.push(instance); - } -}; - -var DEFAULT_POOL_SIZE = 10; -var DEFAULT_POOLER = oneArgumentPooler; - -/** - * Augments `CopyConstructor` to be a poolable class, augmenting only the class - * itself (statically) not adding any prototypical fields. Any CopyConstructor - * you give this may have a `poolSize` property, and will look for a - * prototypical `destructor` on instances. - * - * @param {Function} CopyConstructor Constructor that can be used to reset. - * @param {Function} pooler Customizable pooler. - */ -var addPoolingTo = function addPoolingTo(CopyConstructor, pooler) { - // Casting as any so that flow ignores the actual implementation and trusts - // it to match the type we declared - var NewKlass = CopyConstructor; - NewKlass.instancePool = []; - NewKlass.getPooled = pooler || DEFAULT_POOLER; - if (!NewKlass.poolSize) { - NewKlass.poolSize = DEFAULT_POOL_SIZE; - } - NewKlass.release = standardReleaser; - return NewKlass; -}; - -var PooledClass = { - addPoolingTo: addPoolingTo, - oneArgumentPooler: oneArgumentPooler, - twoArgumentPooler: twoArgumentPooler, - threeArgumentPooler: threeArgumentPooler, - fourArgumentPooler: fourArgumentPooler -}; - -module.exports = PooledClass; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 45 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -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 _assign = __webpack_require__(14); - -var ReactCurrentOwner = __webpack_require__(30); - -var warning = __webpack_require__(11); -var canDefineProperty = __webpack_require__(93); -var hasOwnProperty = Object.prototype.hasOwnProperty; - -var REACT_ELEMENT_TYPE = __webpack_require__(240); - -var RESERVED_PROPS = { - key: true, - ref: true, - __self: true, - __source: true -}; - -var specialPropKeyWarningShown, specialPropRefWarningShown; - -function hasValidRef(config) { - if (process.env.NODE_ENV !== 'production') { - if (hasOwnProperty.call(config, 'ref')) { - var getter = Object.getOwnPropertyDescriptor(config, 'ref').get; - if (getter && getter.isReactWarning) { - return false; - } - } - } - return config.ref !== undefined; -} - -function hasValidKey(config) { - if (process.env.NODE_ENV !== 'production') { - if (hasOwnProperty.call(config, 'key')) { - var getter = Object.getOwnPropertyDescriptor(config, 'key').get; - if (getter && getter.isReactWarning) { - return false; - } - } - } - return config.key !== undefined; -} - -function defineKeyPropWarningGetter(props, displayName) { - var warnAboutAccessingKey = function warnAboutAccessingKey() { - if (!specialPropKeyWarningShown) { - specialPropKeyWarningShown = true; - process.env.NODE_ENV !== 'production' ? warning(false, '%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName) : void 0; - } - }; - warnAboutAccessingKey.isReactWarning = true; - Object.defineProperty(props, 'key', { - get: warnAboutAccessingKey, - configurable: true - }); -} - -function defineRefPropWarningGetter(props, displayName) { - var warnAboutAccessingRef = function warnAboutAccessingRef() { - if (!specialPropRefWarningShown) { - specialPropRefWarningShown = true; - process.env.NODE_ENV !== 'production' ? warning(false, '%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName) : void 0; - } - }; - warnAboutAccessingRef.isReactWarning = true; - Object.defineProperty(props, 'ref', { - get: warnAboutAccessingRef, - configurable: true - }); -} - -/** - * Factory method to create a new React element. This no longer adheres to - * the class pattern, so do not use new to call it. Also, no instanceof check - * will work. Instead test $$typeof field against Symbol.for('react.element') to check - * if something is a React Element. - * - * @param {*} type - * @param {*} key - * @param {string|object} ref - * @param {*} self A *temporary* helper to detect places where `this` is - * different from the `owner` when React.createElement is called, so that we - * can warn. We want to get rid of owner and replace string `ref`s with arrow - * functions, and as long as `this` and owner are the same, there will be no - * change in behavior. - * @param {*} source An annotation object (added by a transpiler or otherwise) - * indicating filename, line number, and/or other information. - * @param {*} owner - * @param {*} props - * @internal - */ -var ReactElement = function ReactElement(type, key, ref, self, source, owner, props) { - var element = { - // This tag allow us to uniquely identify this as a React Element - $$typeof: REACT_ELEMENT_TYPE, - - // Built-in properties that belong on the element - type: type, - key: key, - ref: ref, - props: props, - - // Record the component responsible for creating this element. - _owner: owner - }; - - if (process.env.NODE_ENV !== 'production') { - // The validation flag is currently mutative. We put it on - // an external backing store so that we can freeze the whole object. - // This can be replaced with a WeakMap once they are implemented in - // commonly used development environments. - element._store = {}; - - // To make comparing ReactElements easier for testing purposes, we make - // the validation flag non-enumerable (where possible, which should - // include every environment we run tests in), so the test framework - // ignores it. - if (canDefineProperty) { - Object.defineProperty(element._store, 'validated', { - configurable: false, - enumerable: false, - writable: true, - value: false - }); - // self and source are DEV only properties. - Object.defineProperty(element, '_self', { - configurable: false, - enumerable: false, - writable: false, - value: self - }); - // Two elements created in two different places should be considered - // equal for testing purposes and therefore we hide it from enumeration. - Object.defineProperty(element, '_source', { - configurable: false, - enumerable: false, - writable: false, - value: source - }); - } else { - element._store.validated = false; - element._self = self; - element._source = source; - } - if (Object.freeze) { - Object.freeze(element.props); - Object.freeze(element); - } - } - - return element; -}; - -/** - * Create and return a new ReactElement of the given type. - * See https://facebook.github.io/react/docs/top-level-api.html#react.createelement - */ -ReactElement.createElement = function (type, config, children) { - var propName; - - // Reserved names are extracted - var props = {}; - - var key = null; - var ref = null; - var self = null; - var source = null; - - if (config != null) { - if (hasValidRef(config)) { - ref = config.ref; - } - if (hasValidKey(config)) { - key = '' + config.key; - } - - self = config.__self === undefined ? null : config.__self; - source = config.__source === undefined ? null : config.__source; - // Remaining properties are added to a new props object - for (propName in config) { - if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) { - props[propName] = config[propName]; - } - } - } - - // Children can be more than one argument, and those are transferred onto - // the newly allocated props object. - var childrenLength = arguments.length - 2; - if (childrenLength === 1) { - props.children = children; - } else if (childrenLength > 1) { - var childArray = Array(childrenLength); - for (var i = 0; i < childrenLength; i++) { - childArray[i] = arguments[i + 2]; - } - if (process.env.NODE_ENV !== 'production') { - if (Object.freeze) { - Object.freeze(childArray); - } - } - props.children = childArray; - } - - // Resolve default props - if (type && type.defaultProps) { - var defaultProps = type.defaultProps; - for (propName in defaultProps) { - if (props[propName] === undefined) { - props[propName] = defaultProps[propName]; - } - } - } - if (process.env.NODE_ENV !== 'production') { - if (key || ref) { - if (typeof props.$$typeof === 'undefined' || props.$$typeof !== REACT_ELEMENT_TYPE) { - var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type; - if (key) { - defineKeyPropWarningGetter(props, displayName); - } - if (ref) { - defineRefPropWarningGetter(props, displayName); - } - } - } - } - return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props); -}; - -/** - * Return a function that produces ReactElements of a given type. - * See https://facebook.github.io/react/docs/top-level-api.html#react.createfactory - */ -ReactElement.createFactory = function (type) { - var factory = ReactElement.createElement.bind(null, type); - // Expose the type on the factory and the prototype so that it can be - // easily accessed on elements. E.g. `.type === Foo`. - // This should not be named `constructor` since this may not be the function - // that created the element, and it may not even be a constructor. - // Legacy hook TODO: Warn if this is accessed - factory.type = type; - return factory; -}; - -ReactElement.cloneAndReplaceKey = function (oldElement, newKey) { - var newElement = ReactElement(oldElement.type, newKey, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, oldElement.props); - - return newElement; -}; - -/** - * Clone and return a new ReactElement using element as the starting point. - * See https://facebook.github.io/react/docs/top-level-api.html#react.cloneelement - */ -ReactElement.cloneElement = function (element, config, children) { - var propName; - - // Original props are copied - var props = _assign({}, element.props); - - // Reserved names are extracted - var key = element.key; - var ref = element.ref; - // Self is preserved since the owner is preserved. - var self = element._self; - // Source is preserved since cloneElement is unlikely to be targeted by a - // transpiler, and the original source is probably a better indicator of the - // true owner. - var source = element._source; - - // Owner will be preserved, unless ref is overridden - var owner = element._owner; - - if (config != null) { - if (hasValidRef(config)) { - // Silently steal the ref from the parent. - ref = config.ref; - owner = ReactCurrentOwner.current; - } - if (hasValidKey(config)) { - key = '' + config.key; - } - - // Remaining properties override existing props - var defaultProps; - if (element.type && element.type.defaultProps) { - defaultProps = element.type.defaultProps; - } - for (propName in config) { - if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) { - if (config[propName] === undefined && defaultProps !== undefined) { - // Resolve default props - props[propName] = defaultProps[propName]; - } else { - props[propName] = config[propName]; - } - } - } - } - - // Children can be more than one argument, and those are transferred onto - // the newly allocated props object. - var childrenLength = arguments.length - 2; - if (childrenLength === 1) { - props.children = children; - } else if (childrenLength > 1) { - var childArray = Array(childrenLength); - for (var i = 0; i < childrenLength; i++) { - childArray[i] = arguments[i + 2]; - } - props.children = childArray; - } - - return ReactElement(element.type, key, ref, self, source, owner, props); -}; - -/** - * Verifies the object is a ReactElement. - * See https://facebook.github.io/react/docs/top-level-api.html#react.isvalidelement - * @param {?object} object - * @return {boolean} True if `object` is a valid component. - * @final - */ -ReactElement.isValidElement = function (object) { - return (typeof object === 'undefined' ? 'undefined' : _typeof(object)) === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; -}; - -module.exports = ReactElement; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 46 */ -/***/ (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. - * - * - */ - - -/** - * 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; - -/***/ }), -/* 47 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = { "default": __webpack_require__(264), __esModule: true }; - -/***/ }), -/* 48 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var isObject = __webpack_require__(63); -module.exports = function (it) { - if (!isObject(it)) throw TypeError(it + ' is not an object!'); - return it; -}; - -/***/ }), -/* 49 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -// Thank's IE8 for his funny defineProperty -module.exports = !__webpack_require__(62)(function () { - return Object.defineProperty({}, 'a', { get: function get() { - return 7; - } }).a != 7; -}); - -/***/ }), -/* 50 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var dP = __webpack_require__(43), - createDesc = __webpack_require__(66); -module.exports = __webpack_require__(49) ? function (object, key, value) { - return dP.f(object, key, createDesc(1, value)); -} : function (object, key, value) { - object[key] = value; - return object; -}; - -/***/ }), -/* 51 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -// 19.1.2.14 / 15.2.3.14 Object.keys(O) -var $keys = __webpack_require__(160), - enumBugKeys = __webpack_require__(100); - -module.exports = Object.keys || function keys(O) { - return $keys(O, enumBugKeys); -}; - -/***/ }), -/* 52 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = ownerDocument; -function ownerDocument(node) { - return node && node.ownerDocument || document; -} -module.exports = exports["default"]; - -/***/ }), -/* 53 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _inDOM = __webpack_require__(37); - -var _inDOM2 = _interopRequireDefault(_inDOM); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -exports.default = function () { - // HTML DOM and SVG DOM may have different support levels, - // so we need to check on context instead of a document root element. - return _inDOM2.default ? function (context, node) { - if (context.contains) { - return context.contains(node); - } else if (context.compareDocumentPosition) { - return context === node || !!(context.compareDocumentPosition(node) & 16); - } else { - return fallback(context, node); - } - } : fallback; -}(); - -function fallback(context, node) { - if (node) do { - if (node === context) return true; - } while (node = node.parentNode); - - return false; -} -module.exports = exports['default']; - -/***/ }), -/* 54 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -var emptyObject = {}; - -if (process.env.NODE_ENV !== 'production') { - Object.freeze(emptyObject); -} - -module.exports = emptyObject; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 55 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -var _typeof2 = 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; }; - -exports.__esModule = true; -exports.locationsAreEqual = exports.statesAreEqual = exports.createLocation = exports.createQuery = undefined; - -var _typeof = typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol" ? function (obj) { - return typeof obj === "undefined" ? "undefined" : _typeof2(obj); -} : function (obj) { - return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof2(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 _invariant = __webpack_require__(17); - -var _invariant2 = _interopRequireDefault(_invariant); - -var _warning = __webpack_require__(16); - -var _warning2 = _interopRequireDefault(_warning); - -var _PathUtils = __webpack_require__(38); - -var _Actions = __webpack_require__(79); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -var createQuery = exports.createQuery = function createQuery(props) { - return _extends(Object.create(null), props); -}; - -var createLocation = exports.createLocation = function createLocation() { - var input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '/'; - var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _Actions.POP; - var key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; - - var object = typeof input === 'string' ? (0, _PathUtils.parsePath)(input) : input; - - process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(!object.path, 'Location descriptor objects should have a `pathname`, not a `path`.') : void 0; - - var pathname = object.pathname || '/'; - var search = object.search || ''; - var hash = object.hash || ''; - var state = object.state; - - return { - pathname: pathname, - search: search, - hash: hash, - state: state, - action: action, - key: key - }; -}; - -var isDate = function isDate(object) { - return Object.prototype.toString.call(object) === '[object Date]'; -}; - -var statesAreEqual = exports.statesAreEqual = function statesAreEqual(a, b) { - if (a === b) return true; - - var typeofA = typeof a === 'undefined' ? 'undefined' : _typeof(a); - var typeofB = typeof b === 'undefined' ? 'undefined' : _typeof(b); - - if (typeofA !== typeofB) return false; - - !(typeofA !== 'function') ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'You must not store functions in location state') : (0, _invariant2.default)(false) : void 0; - - // Not the same object, but same type. - if (typeofA === 'object') { - !!(isDate(a) && isDate(b)) ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'You must not store Date objects in location state') : (0, _invariant2.default)(false) : void 0; - - if (!Array.isArray(a)) { - var keysofA = Object.keys(a); - var keysofB = Object.keys(b); - return keysofA.length === keysofB.length && keysofA.every(function (key) { - return statesAreEqual(a[key], b[key]); - }); - } - - return Array.isArray(b) && a.length === b.length && a.every(function (item, index) { - return statesAreEqual(item, b[index]); - }); - } - - // All other serializable types (string, number, boolean) - // should be strict equal. - return false; -}; - -var locationsAreEqual = exports.locationsAreEqual = function locationsAreEqual(a, b) { - return a.key === b.key && - // a.action === b.action && // Different action !== location change. - a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && statesAreEqual(a.state, b.state); -}; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 56 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.utils = exports.Well = exports.Tooltip = exports.Thumbnail = exports.Tabs = exports.TabPane = exports.Table = exports.TabContent = exports.TabContainer = exports.Tab = exports.SplitButton = exports.SafeAnchor = exports.Row = exports.ResponsiveEmbed = exports.Radio = exports.ProgressBar = exports.Popover = exports.PanelGroup = exports.Panel = exports.PaginationButton = exports.Pagination = exports.Pager = exports.PageItem = exports.PageHeader = exports.OverlayTrigger = exports.Overlay = exports.NavItem = exports.NavDropdown = exports.NavbarBrand = exports.Navbar = exports.Nav = exports.ModalTitle = exports.ModalHeader = exports.ModalFooter = exports.ModalBody = exports.Modal = exports.MenuItem = exports.Media = exports.ListGroupItem = exports.ListGroup = exports.Label = exports.Jumbotron = exports.InputGroup = exports.Image = exports.HelpBlock = exports.Grid = exports.Glyphicon = exports.FormGroup = exports.FormControl = exports.Form = exports.Fade = exports.DropdownButton = exports.Dropdown = exports.Collapse = exports.Col = exports.ControlLabel = exports.Clearfix = exports.Checkbox = exports.CarouselItem = exports.Carousel = exports.ButtonToolbar = exports.ButtonGroup = exports.Button = exports.BreadcrumbItem = exports.Breadcrumb = exports.Badge = exports.Alert = exports.Accordion = undefined; - -var _Accordion2 = __webpack_require__(350); - -var _Accordion3 = _interopRequireDefault(_Accordion2); - -var _Alert2 = __webpack_require__(351); - -var _Alert3 = _interopRequireDefault(_Alert2); - -var _Badge2 = __webpack_require__(352); - -var _Badge3 = _interopRequireDefault(_Badge2); - -var _Breadcrumb2 = __webpack_require__(353); - -var _Breadcrumb3 = _interopRequireDefault(_Breadcrumb2); - -var _BreadcrumbItem2 = __webpack_require__(182); - -var _BreadcrumbItem3 = _interopRequireDefault(_BreadcrumbItem2); - -var _Button2 = __webpack_require__(67); - -var _Button3 = _interopRequireDefault(_Button2); - -var _ButtonGroup2 = __webpack_require__(183); - -var _ButtonGroup3 = _interopRequireDefault(_ButtonGroup2); - -var _ButtonToolbar2 = __webpack_require__(354); - -var _ButtonToolbar3 = _interopRequireDefault(_ButtonToolbar2); - -var _Carousel2 = __webpack_require__(355); - -var _Carousel3 = _interopRequireDefault(_Carousel2); - -var _CarouselItem2 = __webpack_require__(184); - -var _CarouselItem3 = _interopRequireDefault(_CarouselItem2); - -var _Checkbox2 = __webpack_require__(357); - -var _Checkbox3 = _interopRequireDefault(_Checkbox2); - -var _Clearfix2 = __webpack_require__(358); - -var _Clearfix3 = _interopRequireDefault(_Clearfix2); - -var _ControlLabel2 = __webpack_require__(360); - -var _ControlLabel3 = _interopRequireDefault(_ControlLabel2); - -var _Col2 = __webpack_require__(359); - -var _Col3 = _interopRequireDefault(_Col2); - -var _Collapse2 = __webpack_require__(121); - -var _Collapse3 = _interopRequireDefault(_Collapse2); - -var _Dropdown2 = __webpack_require__(81); - -var _Dropdown3 = _interopRequireDefault(_Dropdown2); - -var _DropdownButton2 = __webpack_require__(361); - -var _DropdownButton3 = _interopRequireDefault(_DropdownButton2); - -var _Fade2 = __webpack_require__(82); - -var _Fade3 = _interopRequireDefault(_Fade2); - -var _Form2 = __webpack_require__(363); - -var _Form3 = _interopRequireDefault(_Form2); - -var _FormControl2 = __webpack_require__(364); - -var _FormControl3 = _interopRequireDefault(_FormControl2); - -var _FormGroup2 = __webpack_require__(367); - -var _FormGroup3 = _interopRequireDefault(_FormGroup2); - -var _Glyphicon2 = __webpack_require__(122); - -var _Glyphicon3 = _interopRequireDefault(_Glyphicon2); - -var _Grid2 = __webpack_require__(187); - -var _Grid3 = _interopRequireDefault(_Grid2); - -var _HelpBlock2 = __webpack_require__(368); - -var _HelpBlock3 = _interopRequireDefault(_HelpBlock2); - -var _Image2 = __webpack_require__(369); - -var _Image3 = _interopRequireDefault(_Image2); - -var _InputGroup2 = __webpack_require__(370); - -var _InputGroup3 = _interopRequireDefault(_InputGroup2); - -var _Jumbotron2 = __webpack_require__(373); - -var _Jumbotron3 = _interopRequireDefault(_Jumbotron2); - -var _Label2 = __webpack_require__(374); - -var _Label3 = _interopRequireDefault(_Label2); - -var _ListGroup2 = __webpack_require__(375); - -var _ListGroup3 = _interopRequireDefault(_ListGroup2); - -var _ListGroupItem2 = __webpack_require__(188); - -var _ListGroupItem3 = _interopRequireDefault(_ListGroupItem2); - -var _Media2 = __webpack_require__(123); - -var _Media3 = _interopRequireDefault(_Media2); - -var _MenuItem2 = __webpack_require__(382); - -var _MenuItem3 = _interopRequireDefault(_MenuItem2); - -var _Modal2 = __webpack_require__(383); - -var _Modal3 = _interopRequireDefault(_Modal2); - -var _ModalBody2 = __webpack_require__(189); - -var _ModalBody3 = _interopRequireDefault(_ModalBody2); - -var _ModalFooter2 = __webpack_require__(190); - -var _ModalFooter3 = _interopRequireDefault(_ModalFooter2); - -var _ModalHeader2 = __webpack_require__(191); - -var _ModalHeader3 = _interopRequireDefault(_ModalHeader2); - -var _ModalTitle2 = __webpack_require__(192); - -var _ModalTitle3 = _interopRequireDefault(_ModalTitle2); - -var _Nav2 = __webpack_require__(193); - -var _Nav3 = _interopRequireDefault(_Nav2); - -var _Navbar2 = __webpack_require__(386); - -var _Navbar3 = _interopRequireDefault(_Navbar2); - -var _NavbarBrand2 = __webpack_require__(195); - -var _NavbarBrand3 = _interopRequireDefault(_NavbarBrand2); - -var _NavDropdown2 = __webpack_require__(385); - -var _NavDropdown3 = _interopRequireDefault(_NavDropdown2); - -var _NavItem2 = __webpack_require__(194); - -var _NavItem3 = _interopRequireDefault(_NavItem2); - -var _Overlay2 = __webpack_require__(196); - -var _Overlay3 = _interopRequireDefault(_Overlay2); - -var _OverlayTrigger2 = __webpack_require__(390); - -var _OverlayTrigger3 = _interopRequireDefault(_OverlayTrigger2); - -var _PageHeader2 = __webpack_require__(391); - -var _PageHeader3 = _interopRequireDefault(_PageHeader2); - -var _PageItem2 = __webpack_require__(392); - -var _PageItem3 = _interopRequireDefault(_PageItem2); - -var _Pager2 = __webpack_require__(393); - -var _Pager3 = _interopRequireDefault(_Pager2); - -var _Pagination2 = __webpack_require__(394); - -var _Pagination3 = _interopRequireDefault(_Pagination2); - -var _PaginationButton2 = __webpack_require__(198); - -var _PaginationButton3 = _interopRequireDefault(_PaginationButton2); - -var _Panel2 = __webpack_require__(395); - -var _Panel3 = _interopRequireDefault(_Panel2); - -var _PanelGroup2 = __webpack_require__(199); - -var _PanelGroup3 = _interopRequireDefault(_PanelGroup2); - -var _Popover2 = __webpack_require__(396); - -var _Popover3 = _interopRequireDefault(_Popover2); - -var _ProgressBar2 = __webpack_require__(397); - -var _ProgressBar3 = _interopRequireDefault(_ProgressBar2); - -var _Radio2 = __webpack_require__(398); - -var _Radio3 = _interopRequireDefault(_Radio2); - -var _ResponsiveEmbed2 = __webpack_require__(399); - -var _ResponsiveEmbed3 = _interopRequireDefault(_ResponsiveEmbed2); - -var _Row2 = __webpack_require__(400); - -var _Row3 = _interopRequireDefault(_Row2); - -var _SafeAnchor2 = __webpack_require__(28); - -var _SafeAnchor3 = _interopRequireDefault(_SafeAnchor2); - -var _SplitButton2 = __webpack_require__(401); - -var _SplitButton3 = _interopRequireDefault(_SplitButton2); - -var _Tab2 = __webpack_require__(403); - -var _Tab3 = _interopRequireDefault(_Tab2); - -var _TabContainer2 = __webpack_require__(124); - -var _TabContainer3 = _interopRequireDefault(_TabContainer2); - -var _TabContent2 = __webpack_require__(125); - -var _TabContent3 = _interopRequireDefault(_TabContent2); - -var _Table2 = __webpack_require__(404); - -var _Table3 = _interopRequireDefault(_Table2); - -var _TabPane2 = __webpack_require__(200); - -var _TabPane3 = _interopRequireDefault(_TabPane2); - -var _Tabs2 = __webpack_require__(405); - -var _Tabs3 = _interopRequireDefault(_Tabs2); - -var _Thumbnail2 = __webpack_require__(406); - -var _Thumbnail3 = _interopRequireDefault(_Thumbnail2); - -var _Tooltip2 = __webpack_require__(407); - -var _Tooltip3 = _interopRequireDefault(_Tooltip2); - -var _Well2 = __webpack_require__(408); - -var _Well3 = _interopRequireDefault(_Well2); - -var _utils2 = __webpack_require__(412); - -var _utils = _interopRequireWildcard(_utils2); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.Accordion = _Accordion3.default; -exports.Alert = _Alert3.default; -exports.Badge = _Badge3.default; -exports.Breadcrumb = _Breadcrumb3.default; -exports.BreadcrumbItem = _BreadcrumbItem3.default; -exports.Button = _Button3.default; -exports.ButtonGroup = _ButtonGroup3.default; -exports.ButtonToolbar = _ButtonToolbar3.default; -exports.Carousel = _Carousel3.default; -exports.CarouselItem = _CarouselItem3.default; -exports.Checkbox = _Checkbox3.default; -exports.Clearfix = _Clearfix3.default; -exports.ControlLabel = _ControlLabel3.default; -exports.Col = _Col3.default; -exports.Collapse = _Collapse3.default; -exports.Dropdown = _Dropdown3.default; -exports.DropdownButton = _DropdownButton3.default; -exports.Fade = _Fade3.default; -exports.Form = _Form3.default; -exports.FormControl = _FormControl3.default; -exports.FormGroup = _FormGroup3.default; -exports.Glyphicon = _Glyphicon3.default; -exports.Grid = _Grid3.default; -exports.HelpBlock = _HelpBlock3.default; -exports.Image = _Image3.default; -exports.InputGroup = _InputGroup3.default; -exports.Jumbotron = _Jumbotron3.default; -exports.Label = _Label3.default; -exports.ListGroup = _ListGroup3.default; -exports.ListGroupItem = _ListGroupItem3.default; -exports.Media = _Media3.default; -exports.MenuItem = _MenuItem3.default; -exports.Modal = _Modal3.default; -exports.ModalBody = _ModalBody3.default; -exports.ModalFooter = _ModalFooter3.default; -exports.ModalHeader = _ModalHeader3.default; -exports.ModalTitle = _ModalTitle3.default; -exports.Nav = _Nav3.default; -exports.Navbar = _Navbar3.default; -exports.NavbarBrand = _NavbarBrand3.default; -exports.NavDropdown = _NavDropdown3.default; -exports.NavItem = _NavItem3.default; -exports.Overlay = _Overlay3.default; -exports.OverlayTrigger = _OverlayTrigger3.default; -exports.PageHeader = _PageHeader3.default; -exports.PageItem = _PageItem3.default; -exports.Pager = _Pager3.default; -exports.Pagination = _Pagination3.default; -exports.PaginationButton = _PaginationButton3.default; -exports.Panel = _Panel3.default; -exports.PanelGroup = _PanelGroup3.default; -exports.Popover = _Popover3.default; -exports.ProgressBar = _ProgressBar3.default; -exports.Radio = _Radio3.default; -exports.ResponsiveEmbed = _ResponsiveEmbed3.default; -exports.Row = _Row3.default; -exports.SafeAnchor = _SafeAnchor3.default; -exports.SplitButton = _SplitButton3.default; -exports.Tab = _Tab3.default; -exports.TabContainer = _TabContainer3.default; -exports.TabContent = _TabContent3.default; -exports.Table = _Table3.default; -exports.TabPane = _TabPane3.default; -exports.Tabs = _Tabs3.default; -exports.Thumbnail = _Thumbnail3.default; -exports.Tooltip = _Tooltip3.default; -exports.Well = _Well3.default; -exports.utils = _utils; - -/***/ }), -/* 57 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var DOMNamespaces = __webpack_require__(127); -var setInnerHTML = __webpack_require__(89); - -var createMicrosoftUnsafeLocalFunction = __webpack_require__(134); -var setTextContent = __webpack_require__(221); - -var ELEMENT_NODE_TYPE = 1; -var DOCUMENT_FRAGMENT_NODE_TYPE = 11; - -/** - * In IE (8-11) and Edge, appending nodes with no children is dramatically - * faster than appending a full subtree, so we essentially queue up the - * .appendChild calls here and apply them so each node is added to its parent - * before any children are added. - * - * In other browsers, doing so is slower or neutral compared to the other order - * (in Firefox, twice as slow) so we only do this inversion in IE. - * - * See https://github.com/spicyj/innerhtml-vs-createelement-vs-clonenode. - */ -var enableLazy = typeof document !== 'undefined' && typeof document.documentMode === 'number' || typeof navigator !== 'undefined' && typeof navigator.userAgent === 'string' && /\bEdge\/\d/.test(navigator.userAgent); - -function insertTreeChildren(tree) { - if (!enableLazy) { - return; - } - var node = tree.node; - var children = tree.children; - if (children.length) { - for (var i = 0; i < children.length; i++) { - insertTreeBefore(node, children[i], null); - } - } else if (tree.html != null) { - setInnerHTML(node, tree.html); - } else if (tree.text != null) { - setTextContent(node, tree.text); - } -} - -var insertTreeBefore = createMicrosoftUnsafeLocalFunction(function (parentNode, tree, referenceNode) { - // DocumentFragments aren't actually part of the DOM after insertion so - // appending children won't update the DOM. We need to ensure the fragment - // is properly populated first, breaking out of our lazy approach for just - // this level. Also, some plugins (like Flash Player) will read - // nodes immediately upon insertion into the DOM, so - // must also be populated prior to insertion into the DOM. - if (tree.node.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE || tree.node.nodeType === ELEMENT_NODE_TYPE && tree.node.nodeName.toLowerCase() === 'object' && (tree.node.namespaceURI == null || tree.node.namespaceURI === DOMNamespaces.html)) { - insertTreeChildren(tree); - parentNode.insertBefore(tree.node, referenceNode); - } else { - parentNode.insertBefore(tree.node, referenceNode); - insertTreeChildren(tree); - } -}); - -function replaceChildWithTree(oldNode, newTree) { - oldNode.parentNode.replaceChild(newTree.node, oldNode); - insertTreeChildren(newTree); -} - -function queueChild(parentTree, childTree) { - if (enableLazy) { - parentTree.children.push(childTree); - } else { - parentTree.node.appendChild(childTree.node); - } -} - -function queueHTML(tree, html) { - if (enableLazy) { - tree.html = html; - } else { - setInnerHTML(tree.node, html); - } -} - -function queueText(tree, text) { - if (enableLazy) { - tree.text = text; - } else { - setTextContent(tree.node, text); - } -} - -function toString() { - return this.node.nodeName; -} - -function DOMLazyTree(node) { - return { - node: node, - children: [], - html: null, - text: null, - toString: toString - }; -} - -DOMLazyTree.insertTreeBefore = insertTreeBefore; -DOMLazyTree.replaceChildWithTree = replaceChildWithTree; -DOMLazyTree.queueChild = queueChild; -DOMLazyTree.queueHTML = queueHTML; -DOMLazyTree.queueText = queueText; - -module.exports = DOMLazyTree; - -/***/ }), -/* 58 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -var ReactRef = __webpack_require__(455); -var ReactInstrumentation = __webpack_require__(25); - -var warning = __webpack_require__(11); - -/** - * Helper to call ReactRef.attachRefs with this composite component, split out - * to avoid allocations in the transaction mount-ready queue. - */ -function attachRefs() { - ReactRef.attachRefs(this, this._currentElement); -} - -var ReactReconciler = { - - /** - * Initializes the component, renders markup, and registers event listeners. - * - * @param {ReactComponent} internalInstance - * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction - * @param {?object} the containing host component instance - * @param {?object} info about the host container - * @return {?string} Rendered markup to be inserted into the DOM. - * @final - * @internal - */ - mountComponent: function mountComponent(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); - } - } - var markup = internalInstance.mountComponent(transaction, hostParent, hostContainerInfo, context, parentDebugID); - if (internalInstance._currentElement && internalInstance._currentElement.ref != null) { - transaction.getReactMountReady().enqueue(attachRefs, internalInstance); - } - if (process.env.NODE_ENV !== 'production') { - if (internalInstance._debugID !== 0) { - ReactInstrumentation.debugTool.onMountComponent(internalInstance._debugID); - } - } - return markup; - }, - - /** - * Returns a value that can be passed to - * ReactComponentEnvironment.replaceNodeWithMarkup. - */ - getHostNode: function getHostNode(internalInstance) { - return internalInstance.getHostNode(); - }, - - /** - * Releases any resources allocated by `mountComponent`. - * - * @final - * @internal - */ - unmountComponent: function unmountComponent(internalInstance, safely) { - if (process.env.NODE_ENV !== 'production') { - if (internalInstance._debugID !== 0) { - ReactInstrumentation.debugTool.onBeforeUnmountComponent(internalInstance._debugID); - } - } - ReactRef.detachRefs(internalInstance, internalInstance._currentElement); - internalInstance.unmountComponent(safely); - if (process.env.NODE_ENV !== 'production') { - if (internalInstance._debugID !== 0) { - ReactInstrumentation.debugTool.onUnmountComponent(internalInstance._debugID); - } - } - }, - - /** - * Update a component using a new element. - * - * @param {ReactComponent} internalInstance - * @param {ReactElement} nextElement - * @param {ReactReconcileTransaction} transaction - * @param {object} context - * @internal - */ - receiveComponent: function receiveComponent(internalInstance, nextElement, transaction, context) { - var prevElement = internalInstance._currentElement; - - if (nextElement === prevElement && context === internalInstance._context) { - // Since elements are immutable after the owner is rendered, - // we can do a cheap identity compare here to determine if this is a - // superfluous reconcile. It's possible for state to be mutable but such - // change should trigger an update of the owner which would recreate - // the element. We explicitly check for the existence of an owner since - // it's possible for an element created outside a composite to be - // deeply mutated and reused. - - // TODO: Bailing out early is just a perf optimization right? - // TODO: Removing the return statement should affect correctness? - return; - } - - if (process.env.NODE_ENV !== 'production') { - if (internalInstance._debugID !== 0) { - ReactInstrumentation.debugTool.onBeforeUpdateComponent(internalInstance._debugID, nextElement); - } - } - - var refsChanged = ReactRef.shouldUpdateRefs(prevElement, nextElement); - - if (refsChanged) { - ReactRef.detachRefs(internalInstance, prevElement); - } - - internalInstance.receiveComponent(nextElement, transaction, context); - - if (refsChanged && internalInstance._currentElement && internalInstance._currentElement.ref != null) { - transaction.getReactMountReady().enqueue(attachRefs, internalInstance); - } - - if (process.env.NODE_ENV !== 'production') { - if (internalInstance._debugID !== 0) { - ReactInstrumentation.debugTool.onUpdateComponent(internalInstance._debugID); - } - } - }, - - /** - * Flush any dirty changes in a component. - * - * @param {ReactComponent} internalInstance - * @param {ReactReconcileTransaction} transaction - * @internal - */ - performUpdateIfNecessary: function performUpdateIfNecessary(internalInstance, transaction, updateBatchNumber) { - if (internalInstance._updateBatchNumber !== updateBatchNumber) { - // The component's enqueued batch number should always be the current - // batch or the following one. - process.env.NODE_ENV !== 'production' ? warning(internalInstance._updateBatchNumber == null || internalInstance._updateBatchNumber === updateBatchNumber + 1, 'performUpdateIfNecessary: Unexpected batch number (current %s, ' + 'pending %s)', updateBatchNumber, internalInstance._updateBatchNumber) : void 0; - return; - } - if (process.env.NODE_ENV !== 'production') { - if (internalInstance._debugID !== 0) { - ReactInstrumentation.debugTool.onBeforeUpdateComponent(internalInstance._debugID, internalInstance._currentElement); - } - } - internalInstance.performUpdateIfNecessary(transaction); - if (process.env.NODE_ENV !== 'production') { - if (internalInstance._debugID !== 0) { - ReactInstrumentation.debugTool.onUpdateComponent(internalInstance._debugID); - } - } - } - -}; - -module.exports = ReactReconciler; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 59 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.compilePattern = compilePattern; -exports.matchPattern = matchPattern; -exports.getParamNames = getParamNames; -exports.getParams = getParams; -exports.formatPattern = formatPattern; - -var _invariant = __webpack_require__(17); - -var _invariant2 = _interopRequireDefault(_invariant); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function escapeRegExp(string) { - return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); -} - -function _compilePattern(pattern) { - var regexpSource = ''; - var paramNames = []; - var tokens = []; - - var match = void 0, - lastIndex = 0, - matcher = /:([a-zA-Z_$][a-zA-Z0-9_$]*)|\*\*|\*|\(|\)|\\\(|\\\)/g; - while (match = matcher.exec(pattern)) { - if (match.index !== lastIndex) { - tokens.push(pattern.slice(lastIndex, match.index)); - regexpSource += escapeRegExp(pattern.slice(lastIndex, match.index)); - } - - if (match[1]) { - regexpSource += '([^/]+)'; - paramNames.push(match[1]); - } else if (match[0] === '**') { - regexpSource += '(.*)'; - paramNames.push('splat'); - } else if (match[0] === '*') { - regexpSource += '(.*?)'; - paramNames.push('splat'); - } else if (match[0] === '(') { - regexpSource += '(?:'; - } else if (match[0] === ')') { - regexpSource += ')?'; - } else if (match[0] === '\\(') { - regexpSource += '\\('; - } else if (match[0] === '\\)') { - regexpSource += '\\)'; - } - - tokens.push(match[0]); - - lastIndex = matcher.lastIndex; - } - - if (lastIndex !== pattern.length) { - tokens.push(pattern.slice(lastIndex, pattern.length)); - regexpSource += escapeRegExp(pattern.slice(lastIndex, pattern.length)); - } - - return { - pattern: pattern, - regexpSource: regexpSource, - paramNames: paramNames, - tokens: tokens - }; -} - -var CompiledPatternsCache = Object.create(null); - -function compilePattern(pattern) { - if (!CompiledPatternsCache[pattern]) CompiledPatternsCache[pattern] = _compilePattern(pattern); - - return CompiledPatternsCache[pattern]; -} - -/** - * Attempts to match a pattern on the given pathname. Patterns may use - * the following special characters: - * - * - :paramName Matches a URL segment up to the next /, ?, or #. The - * captured string is considered a "param" - * - () Wraps a segment of the URL that is optional - * - * Consumes (non-greedy) all characters up to the next - * character in the pattern, or to the end of the URL if - * there is none - * - ** Consumes (greedy) all characters up to the next character - * in the pattern, or to the end of the URL if there is none - * - * The function calls callback(error, matched) when finished. - * The return value is an object with the following properties: - * - * - remainingPathname - * - paramNames - * - paramValues - */ -function matchPattern(pattern, pathname) { - // Ensure pattern starts with leading slash for consistency with pathname. - if (pattern.charAt(0) !== '/') { - pattern = '/' + pattern; - } - - var _compilePattern2 = compilePattern(pattern), - regexpSource = _compilePattern2.regexpSource, - paramNames = _compilePattern2.paramNames, - tokens = _compilePattern2.tokens; - - if (pattern.charAt(pattern.length - 1) !== '/') { - regexpSource += '/?'; // Allow optional path separator at end. - } - - // Special-case patterns like '*' for catch-all routes. - if (tokens[tokens.length - 1] === '*') { - regexpSource += '$'; - } - - var match = pathname.match(new RegExp('^' + regexpSource, 'i')); - if (match == null) { - return null; - } - - var matchedPath = match[0]; - var remainingPathname = pathname.substr(matchedPath.length); - - if (remainingPathname) { - // Require that the match ends at a path separator, if we didn't match - // the full path, so any remaining pathname is a new path segment. - if (matchedPath.charAt(matchedPath.length - 1) !== '/') { - return null; - } - - // If there is a remaining pathname, treat the path separator as part of - // the remaining pathname for properly continuing the match. - remainingPathname = '/' + remainingPathname; - } - - return { - remainingPathname: remainingPathname, - paramNames: paramNames, - paramValues: match.slice(1).map(function (v) { - return v && decodeURIComponent(v); - }) - }; -} - -function getParamNames(pattern) { - return compilePattern(pattern).paramNames; -} - -function getParams(pattern, pathname) { - var match = matchPattern(pattern, pathname); - if (!match) { - return null; - } - - var paramNames = match.paramNames, - paramValues = match.paramValues; - - var params = {}; - - paramNames.forEach(function (paramName, index) { - params[paramName] = paramValues[index]; - }); - - return params; -} - -/** - * Returns a version of the given pattern with params interpolated. Throws - * if there is a dynamic segment of the pattern for which there is no param. - */ -function formatPattern(pattern, params) { - params = params || {}; - - var _compilePattern3 = compilePattern(pattern), - tokens = _compilePattern3.tokens; - - var parenCount = 0, - pathname = '', - splatIndex = 0, - parenHistory = []; - - var token = void 0, - paramName = void 0, - paramValue = void 0; - for (var i = 0, len = tokens.length; i < len; ++i) { - token = tokens[i]; - - if (token === '*' || token === '**') { - paramValue = Array.isArray(params.splat) ? params.splat[splatIndex++] : params.splat; - - !(paramValue != null || parenCount > 0) ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'Missing splat #%s for path "%s"', splatIndex, pattern) : (0, _invariant2.default)(false) : void 0; - - if (paramValue != null) pathname += encodeURI(paramValue); - } else if (token === '(') { - parenHistory[parenCount] = ''; - parenCount += 1; - } else if (token === ')') { - var parenText = parenHistory.pop(); - parenCount -= 1; - - if (parenCount) parenHistory[parenCount - 1] += parenText;else pathname += parenText; - } else if (token === '\\(') { - pathname += '('; - } else if (token === '\\)') { - pathname += ')'; - } else if (token.charAt(0) === ':') { - paramName = token.substring(1); - paramValue = params[paramName]; - - !(paramValue != null || parenCount > 0) ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'Missing "%s" parameter for path "%s"', paramName, pattern) : (0, _invariant2.default)(false) : void 0; - - if (paramValue == null) { - if (parenCount) { - parenHistory[parenCount - 1] = ''; - - var curTokenIdx = tokens.indexOf(token); - var tokensSubset = tokens.slice(curTokenIdx, tokens.length); - var nextParenIdx = -1; - - for (var _i = 0; _i < tokensSubset.length; _i++) { - if (tokensSubset[_i] == ')') { - nextParenIdx = _i; - break; - } - } - - !(nextParenIdx > 0) ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'Path "%s" is missing end paren at segment "%s"', pattern, tokensSubset.join('')) : (0, _invariant2.default)(false) : void 0; - - // jump to ending paren - i = curTokenIdx + nextParenIdx - 1; - } - } else if (parenCount) parenHistory[parenCount - 1] += encodeURIComponent(paramValue);else pathname += encodeURIComponent(paramValue); - } else { - if (parenCount) parenHistory[parenCount - 1] += token;else pathname += token; - } - } - - !(parenCount <= 0) ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'Path "%s" is missing end paren', pattern) : (0, _invariant2.default)(false) : void 0; - - return pathname.replace(/\/+/g, '/'); -} -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 60 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = routerWarning; -exports._resetWarned = _resetWarned; - -var _warning = __webpack_require__(16); - -var _warning2 = _interopRequireDefault(_warning); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var warned = {}; - -function routerWarning(falseToWarn, message) { - // Only issue deprecation warnings once. - if (message.indexOf('deprecated') !== -1) { - if (warned[message]) { - return; - } - - warned[message] = true; - } - - message = '[react-router] ' + message; - - for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { - args[_key - 2] = arguments[_key]; - } - - _warning2.default.apply(undefined, [falseToWarn, message].concat(args)); -} - -function _resetWarned() { - warned = {}; -} - -/***/ }), -/* 61 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -var _assign = __webpack_require__(14); - -var ReactChildren = __webpack_require__(517); -var ReactComponent = __webpack_require__(148); -var ReactPureComponent = __webpack_require__(522); -var ReactClass = __webpack_require__(518); -var ReactDOMFactories = __webpack_require__(519); -var ReactElement = __webpack_require__(45); -var ReactPropTypes = __webpack_require__(520); -var ReactVersion = __webpack_require__(523); - -var onlyChild = __webpack_require__(526); -var warning = __webpack_require__(11); - -var createElement = ReactElement.createElement; -var createFactory = ReactElement.createFactory; -var cloneElement = ReactElement.cloneElement; - -if (process.env.NODE_ENV !== 'production') { - var canDefineProperty = __webpack_require__(93); - var ReactElementValidator = __webpack_require__(241); - var didWarnPropTypesDeprecated = false; - createElement = ReactElementValidator.createElement; - createFactory = ReactElementValidator.createFactory; - cloneElement = ReactElementValidator.cloneElement; -} - -var __spread = _assign; - -if (process.env.NODE_ENV !== 'production') { - var warned = false; - __spread = function __spread() { - 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; - return _assign.apply(null, arguments); - }; -} - -var React = { - - // Modern - - Children: { - map: ReactChildren.map, - forEach: ReactChildren.forEach, - count: ReactChildren.count, - toArray: ReactChildren.toArray, - only: onlyChild - }, - - Component: ReactComponent, - PureComponent: ReactPureComponent, - - createElement: createElement, - cloneElement: cloneElement, - isValidElement: ReactElement.isValidElement, - - // Classic - - PropTypes: ReactPropTypes, - createClass: ReactClass.createClass, - createFactory: createFactory, - createMixin: function createMixin(mixin) { - // Currently a noop. Will be used to validate and trace mixins. - return mixin; - }, - - // This looks DOM specific but these are actually isomorphic helpers - // since they are just generating DOM strings. - DOM: ReactDOMFactories, - - version: ReactVersion, - - // Deprecated hook for JSX spread, don't use this for anything. - __spread: __spread -}; - -// TODO: Fix tests so that this deprecation warning doesn't cause failures. -if (process.env.NODE_ENV !== 'production') { - if (canDefineProperty) { - Object.defineProperty(React, 'PropTypes', { - get: function get() { - 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; - didWarnPropTypesDeprecated = true; - return ReactPropTypes; - } - }); - } -} - -module.exports = React; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 62 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = function (exec) { - try { - return !!exec(); - } catch (e) { - return true; - } -}; - -/***/ }), -/* 63 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -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; }; - -module.exports = function (it) { - return (typeof it === 'undefined' ? 'undefined' : _typeof(it)) === 'object' ? it !== null : typeof it === 'function'; -}; - -/***/ }), -/* 64 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = {}; - -/***/ }), -/* 65 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.f = {}.propertyIsEnumerable; - -/***/ }), -/* 66 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = function (bitmap, value) { - return { - enumerable: !(bitmap & 1), - configurable: !(bitmap & 2), - writable: !(bitmap & 4), - value: value - }; -}; - -/***/ }), -/* 67 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _values = __webpack_require__(47); - -var _values2 = _interopRequireDefault(_values); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _extends3 = __webpack_require__(5); - -var _extends4 = _interopRequireDefault(_extends3); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _elementType = __webpack_require__(13); - -var _elementType2 = _interopRequireDefault(_elementType); - -var _bootstrapUtils = __webpack_require__(9); - -var _StyleConfig = __webpack_require__(20); - -var _SafeAnchor = __webpack_require__(28); - -var _SafeAnchor2 = _interopRequireDefault(_SafeAnchor); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - active: _propTypes2.default.bool, - disabled: _propTypes2.default.bool, - block: _propTypes2.default.bool, - onClick: _propTypes2.default.func, - componentClass: _elementType2.default, - href: _propTypes2.default.string, - /** - * Defines HTML button type attribute - * @defaultValue 'button' - */ - type: _propTypes2.default.oneOf(['button', 'reset', 'submit']) -}; - -var defaultProps = { - active: false, - block: false, - disabled: false -}; - -var Button = function (_React$Component) { - (0, _inherits3.default)(Button, _React$Component); - - function Button() { - (0, _classCallCheck3.default)(this, Button); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - Button.prototype.renderAnchor = function renderAnchor(elementProps, className) { - return _react2.default.createElement(_SafeAnchor2.default, (0, _extends4.default)({}, elementProps, { - className: (0, _classnames2.default)(className, elementProps.disabled && 'disabled') - })); - }; - - Button.prototype.renderButton = function renderButton(_ref, className) { - var componentClass = _ref.componentClass, - elementProps = (0, _objectWithoutProperties3.default)(_ref, ['componentClass']); - - var Component = componentClass || 'button'; - - return _react2.default.createElement(Component, (0, _extends4.default)({}, elementProps, { - type: elementProps.type || 'button', - className: className - })); - }; - - Button.prototype.render = function render() { - var _extends2; - - var _props = this.props, - active = _props.active, - block = _props.block, - className = _props.className, - props = (0, _objectWithoutProperties3.default)(_props, ['active', 'block', 'className']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var classes = (0, _extends4.default)({}, (0, _bootstrapUtils.getClassSet)(bsProps), (_extends2 = { - active: active - }, _extends2[(0, _bootstrapUtils.prefix)(bsProps, 'block')] = block, _extends2)); - var fullClassName = (0, _classnames2.default)(className, classes); - - if (elementProps.href) { - return this.renderAnchor(elementProps, fullClassName); - } - - return this.renderButton(elementProps, fullClassName); - }; - - return Button; -}(_react2.default.Component); - -Button.propTypes = propTypes; -Button.defaultProps = defaultProps; - -exports.default = (0, _bootstrapUtils.bsClass)('btn', (0, _bootstrapUtils.bsSizes)([_StyleConfig.Size.LARGE, _StyleConfig.Size.SMALL, _StyleConfig.Size.XSMALL], (0, _bootstrapUtils.bsStyles)([].concat((0, _values2.default)(_StyleConfig.State), [_StyleConfig.Style.DEFAULT, _StyleConfig.Style.PRIMARY, _StyleConfig.Style.LINK]), _StyleConfig.Style.DEFAULT, Button))); - -/***/ }), -/* 68 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -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 _prodInvariant = __webpack_require__(12); - -var EventPluginRegistry = __webpack_require__(84); -var EventPluginUtils = __webpack_require__(128); -var ReactErrorUtils = __webpack_require__(132); - -var accumulateInto = __webpack_require__(215); -var forEachAccumulated = __webpack_require__(216); -var invariant = __webpack_require__(10); - -/** - * Internal store for event listeners - */ -var listenerBank = {}; - -/** - * Internal queue of events that have accumulated their dispatches and are - * waiting to have their dispatches executed. - */ -var eventQueue = null; - -/** - * Dispatches an event and releases it back into the pool, unless persistent. - * - * @param {?object} event Synthetic event to be dispatched. - * @param {boolean} simulated If the event is simulated (changes exn behavior) - * @private - */ -var executeDispatchesAndRelease = function executeDispatchesAndRelease(event, simulated) { - if (event) { - EventPluginUtils.executeDispatchesInOrder(event, simulated); - - if (!event.isPersistent()) { - event.constructor.release(event); - } - } -}; -var executeDispatchesAndReleaseSimulated = function executeDispatchesAndReleaseSimulated(e) { - return executeDispatchesAndRelease(e, true); -}; -var executeDispatchesAndReleaseTopLevel = function executeDispatchesAndReleaseTopLevel(e) { - return executeDispatchesAndRelease(e, false); -}; - -var getDictionaryKey = function getDictionaryKey(inst) { - // Prevents V8 performance issue: - // https://github.com/facebook/react/pull/7232 - return '.' + inst._rootNodeID; -}; - -function isInteractive(tag) { - return tag === 'button' || tag === 'input' || tag === 'select' || tag === 'textarea'; -} - -function shouldPreventMouseEvent(name, type, props) { - switch (name) { - case 'onClick': - case 'onClickCapture': - case 'onDoubleClick': - case 'onDoubleClickCapture': - case 'onMouseDown': - case 'onMouseDownCapture': - case 'onMouseMove': - case 'onMouseMoveCapture': - case 'onMouseUp': - case 'onMouseUpCapture': - return !!(props.disabled && isInteractive(type)); - default: - return false; - } -} - -/** - * This is a unified interface for event plugins to be installed and configured. - * - * Event plugins can implement the following properties: - * - * `extractEvents` {function(string, DOMEventTarget, string, object): *} - * Required. When a top-level event is fired, this method is expected to - * extract synthetic events that will in turn be queued and dispatched. - * - * `eventTypes` {object} - * Optional, plugins that fire events must publish a mapping of registration - * names that are used to register listeners. Values of this mapping must - * be objects that contain `registrationName` or `phasedRegistrationNames`. - * - * `executeDispatch` {function(object, function, string)} - * Optional, allows plugins to override how an event gets dispatched. By - * default, the listener is simply invoked. - * - * Each plugin that is injected into `EventsPluginHub` is immediately operable. - * - * @public - */ -var EventPluginHub = { - - /** - * Methods for injecting dependencies. - */ - injection: { - - /** - * @param {array} InjectedEventPluginOrder - * @public - */ - injectEventPluginOrder: EventPluginRegistry.injectEventPluginOrder, - - /** - * @param {object} injectedNamesToPlugins Map from names to plugin modules. - */ - injectEventPluginsByName: EventPluginRegistry.injectEventPluginsByName - - }, - - /** - * Stores `listener` at `listenerBank[registrationName][key]`. Is idempotent. - * - * @param {object} inst The instance, which is the source of events. - * @param {string} registrationName Name of listener (e.g. `onClick`). - * @param {function} listener The callback to store. - */ - putListener: function putListener(inst, registrationName, listener) { - !(typeof listener === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected %s listener to be a function, instead got type %s', registrationName, typeof listener === 'undefined' ? 'undefined' : _typeof(listener)) : _prodInvariant('94', registrationName, typeof listener === 'undefined' ? 'undefined' : _typeof(listener)) : void 0; - - var key = getDictionaryKey(inst); - var bankForRegistrationName = listenerBank[registrationName] || (listenerBank[registrationName] = {}); - bankForRegistrationName[key] = listener; - - var PluginModule = EventPluginRegistry.registrationNameModules[registrationName]; - if (PluginModule && PluginModule.didPutListener) { - PluginModule.didPutListener(inst, registrationName, listener); - } - }, - - /** - * @param {object} inst The instance, which is the source of events. - * @param {string} registrationName Name of listener (e.g. `onClick`). - * @return {?function} The stored callback. - */ - getListener: function getListener(inst, registrationName) { - // TODO: shouldPreventMouseEvent is DOM-specific and definitely should not - // live here; needs to be moved to a better place soon - var bankForRegistrationName = listenerBank[registrationName]; - if (shouldPreventMouseEvent(registrationName, inst._currentElement.type, inst._currentElement.props)) { - return null; - } - var key = getDictionaryKey(inst); - return bankForRegistrationName && bankForRegistrationName[key]; - }, - - /** - * Deletes a listener from the registration bank. - * - * @param {object} inst The instance, which is the source of events. - * @param {string} registrationName Name of listener (e.g. `onClick`). - */ - deleteListener: function deleteListener(inst, registrationName) { - var PluginModule = EventPluginRegistry.registrationNameModules[registrationName]; - if (PluginModule && PluginModule.willDeleteListener) { - PluginModule.willDeleteListener(inst, registrationName); - } - - var bankForRegistrationName = listenerBank[registrationName]; - // TODO: This should never be null -- when is it? - if (bankForRegistrationName) { - var key = getDictionaryKey(inst); - delete bankForRegistrationName[key]; - } - }, - - /** - * Deletes all listeners for the DOM element with the supplied ID. - * - * @param {object} inst The instance, which is the source of events. - */ - deleteAllListeners: function deleteAllListeners(inst) { - var key = getDictionaryKey(inst); - for (var registrationName in listenerBank) { - if (!listenerBank.hasOwnProperty(registrationName)) { - continue; - } - - if (!listenerBank[registrationName][key]) { - continue; - } - - var PluginModule = EventPluginRegistry.registrationNameModules[registrationName]; - if (PluginModule && PluginModule.willDeleteListener) { - PluginModule.willDeleteListener(inst, registrationName); - } - - delete listenerBank[registrationName][key]; - } - }, - - /** - * Allows registered plugins an opportunity to extract events from top-level - * native browser events. - * - * @return {*} An accumulation of synthetic events. - * @internal - */ - extractEvents: function extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget) { - var events; - var plugins = EventPluginRegistry.plugins; - for (var i = 0; i < plugins.length; i++) { - // Not every plugin in the ordering may be loaded at runtime. - var possiblePlugin = plugins[i]; - if (possiblePlugin) { - var extractedEvents = possiblePlugin.extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget); - if (extractedEvents) { - events = accumulateInto(events, extractedEvents); - } - } - } - return events; - }, - - /** - * Enqueues a synthetic event that should be dispatched when - * `processEventQueue` is invoked. - * - * @param {*} events An accumulation of synthetic events. - * @internal - */ - enqueueEvents: function enqueueEvents(events) { - if (events) { - eventQueue = accumulateInto(eventQueue, events); - } - }, - - /** - * Dispatches all synthetic events on the event queue. - * - * @internal - */ - processEventQueue: function processEventQueue(simulated) { - // Set `eventQueue` to null before processing it so that we can tell if more - // events get enqueued while processing. - var processingEventQueue = eventQueue; - eventQueue = null; - if (simulated) { - forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseSimulated); - } else { - forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseTopLevel); - } - !!eventQueue ? process.env.NODE_ENV !== 'production' ? invariant(false, 'processEventQueue(): Additional events were enqueued while processing an event queue. Support for this has not yet been implemented.') : _prodInvariant('95') : void 0; - // This would be a good time to rethrow if any of the event handlers threw. - ReactErrorUtils.rethrowCaughtError(); - }, - - /** - * These are needed for tests only. Do not use! - */ - __purge: function __purge() { - listenerBank = {}; - }, - - __getListenerBank: function __getListenerBank() { - return listenerBank; - } - -}; - -module.exports = EventPluginHub; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 69 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -var EventPluginHub = __webpack_require__(68); -var EventPluginUtils = __webpack_require__(128); - -var accumulateInto = __webpack_require__(215); -var forEachAccumulated = __webpack_require__(216); -var warning = __webpack_require__(11); - -var getListener = EventPluginHub.getListener; - -/** - * Some event types have a notion of different registration names for different - * "phases" of propagation. This finds listeners by a given phase. - */ -function listenerAtPhase(inst, event, propagationPhase) { - var registrationName = event.dispatchConfig.phasedRegistrationNames[propagationPhase]; - return getListener(inst, registrationName); -} - -/** - * Tags a `SyntheticEvent` with dispatched listeners. Creating this function - * here, allows us to not have to bind or create functions for each event. - * Mutating the event's members allows us to not have to create a wrapping - * "dispatch" object that pairs the event with the listener. - */ -function accumulateDirectionalDispatches(inst, phase, event) { - if (process.env.NODE_ENV !== 'production') { - process.env.NODE_ENV !== 'production' ? warning(inst, 'Dispatching inst must not be null') : void 0; - } - var listener = listenerAtPhase(inst, event, phase); - if (listener) { - event._dispatchListeners = accumulateInto(event._dispatchListeners, listener); - event._dispatchInstances = accumulateInto(event._dispatchInstances, inst); - } -} - -/** - * Collect dispatches (must be entirely collected before dispatching - see unit - * tests). Lazily allocate the array to conserve memory. We must loop through - * each event and perform the traversal for each one. We cannot perform a - * single traversal for the entire collection of events because each event may - * have a different target. - */ -function accumulateTwoPhaseDispatchesSingle(event) { - if (event && event.dispatchConfig.phasedRegistrationNames) { - EventPluginUtils.traverseTwoPhase(event._targetInst, accumulateDirectionalDispatches, event); - } -} - -/** - * Same as `accumulateTwoPhaseDispatchesSingle`, but skips over the targetID. - */ -function accumulateTwoPhaseDispatchesSingleSkipTarget(event) { - if (event && event.dispatchConfig.phasedRegistrationNames) { - var targetInst = event._targetInst; - var parentInst = targetInst ? EventPluginUtils.getParentInstance(targetInst) : null; - EventPluginUtils.traverseTwoPhase(parentInst, accumulateDirectionalDispatches, event); - } -} - -/** - * Accumulates without regard to direction, does not look for phased - * registration names. Same as `accumulateDirectDispatchesSingle` but without - * requiring that the `dispatchMarker` be the same as the dispatched ID. - */ -function accumulateDispatches(inst, ignoredDirection, event) { - if (event && event.dispatchConfig.registrationName) { - var registrationName = event.dispatchConfig.registrationName; - var listener = getListener(inst, registrationName); - if (listener) { - event._dispatchListeners = accumulateInto(event._dispatchListeners, listener); - event._dispatchInstances = accumulateInto(event._dispatchInstances, inst); - } - } -} - -/** - * Accumulates dispatches on an `SyntheticEvent`, but only for the - * `dispatchMarker`. - * @param {SyntheticEvent} event - */ -function accumulateDirectDispatchesSingle(event) { - if (event && event.dispatchConfig.registrationName) { - accumulateDispatches(event._targetInst, null, event); - } -} - -function accumulateTwoPhaseDispatches(events) { - forEachAccumulated(events, accumulateTwoPhaseDispatchesSingle); -} - -function accumulateTwoPhaseDispatchesSkipTarget(events) { - forEachAccumulated(events, accumulateTwoPhaseDispatchesSingleSkipTarget); -} - -function accumulateEnterLeaveDispatches(leave, enter, from, to) { - EventPluginUtils.traverseEnterLeave(from, to, accumulateDispatches, leave, enter); -} - -function accumulateDirectDispatches(events) { - forEachAccumulated(events, accumulateDirectDispatchesSingle); -} - -/** - * A small set of propagation patterns, each of which will accept a small amount - * of information, and generate a set of "dispatch ready event objects" - which - * are sets of events that have already been annotated with a set of dispatched - * listener functions/ids. The API is designed this way to discourage these - * propagation strategies from actually executing the dispatches, since we - * always want to collect the entire set of dispatches before executing event a - * single one. - * - * @constructor EventPropagators - */ -var EventPropagators = { - accumulateTwoPhaseDispatches: accumulateTwoPhaseDispatches, - accumulateTwoPhaseDispatchesSkipTarget: accumulateTwoPhaseDispatchesSkipTarget, - accumulateDirectDispatches: accumulateDirectDispatches, - accumulateEnterLeaveDispatches: accumulateEnterLeaveDispatches -}; - -module.exports = EventPropagators; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 70 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -/** - * `ReactInstanceMap` maintains a mapping from a public facing stateful - * instance (key) and the internal representation (value). This allows public - * methods to accept the user facing instance as an argument and map them back - * to internal methods. - */ - -// 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 - * supported we can rename it. - */ - remove: function remove(key) { - key._reactInternalInstance = undefined; - }, - - get: function get(key) { - return key._reactInternalInstance; - }, - - has: function has(key) { - return key._reactInternalInstance !== undefined; - }, - - set: function set(key, value) { - key._reactInternalInstance = value; - } - -}; - -module.exports = ReactInstanceMap; - -/***/ }), -/* 71 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var SyntheticEvent = __webpack_require__(32); - -var getEventTarget = __webpack_require__(137); - -/** - * @interface UIEvent - * @see http://www.w3.org/TR/DOM-Level-3-Events/ - */ -var UIEventInterface = { - view: function view(event) { - if (event.view) { - return event.view; - } - - var target = getEventTarget(event); - if (target.window === target) { - // target is a window object - return target; - } - - var doc = target.ownerDocument; - // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8. - if (doc) { - return doc.defaultView || doc.parentWindow; - } else { - return window; - } - }, - detail: function detail(event) { - return event.detail || 0; - } -}; - -/** - * @param {object} dispatchConfig Configuration used to dispatch this event. - * @param {string} dispatchMarker Marker identifying the event target. - * @param {object} nativeEvent Native browser event. - * @extends {SyntheticEvent} - */ -function SyntheticUIEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) { - return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget); -} - -SyntheticEvent.augmentClass(SyntheticUIEvent, UIEventInterface); - -module.exports = SyntheticUIEvent; - -/***/ }), -/* 72 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -exports.default = function (componentOrElement) { - return (0, _ownerDocument2.default)(_reactDom2.default.findDOMNode(componentOrElement)); -}; - -var _reactDom = __webpack_require__(21); - -var _reactDom2 = _interopRequireDefault(_reactDom); - -var _ownerDocument = __webpack_require__(52); - -var _ownerDocument2 = _interopRequireDefault(_ownerDocument); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -module.exports = exports['default']; - -/***/ }), -/* 73 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.routes = exports.route = exports.components = exports.component = exports.history = undefined; -exports.falsy = falsy; - -var _propTypes = __webpack_require__(7); - -function falsy(props, propName, componentName) { - if (props[propName]) return new Error('<' + componentName + '> should not have a "' + propName + '" prop'); -} - -var history = exports.history = (0, _propTypes.shape)({ - listen: _propTypes.func.isRequired, - push: _propTypes.func.isRequired, - replace: _propTypes.func.isRequired, - go: _propTypes.func.isRequired, - goBack: _propTypes.func.isRequired, - goForward: _propTypes.func.isRequired -}); - -var component = exports.component = (0, _propTypes.oneOfType)([_propTypes.func, _propTypes.string]); -var components = exports.components = (0, _propTypes.oneOfType)([component, _propTypes.object]); -var route = exports.route = (0, _propTypes.oneOfType)([_propTypes.object, _propTypes.element]); -var routes = exports.routes = (0, _propTypes.oneOfType)([route, (0, _propTypes.arrayOf)(route)]); - -/***/ }), -/* 74 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -// GET books - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.getBooks = getBooks; -exports.postBooks = postBooks; -exports.deleteBooks = deleteBooks; -exports.updateBooks = updateBooks; -function getBooks() { - return { - type: "GET_BOOKS" - }; -} - -// POST a book -function postBooks(book) { - return { - type: "POST_BOOK", - payload: book - }; -} - -// DELETE a book -function deleteBooks(id) { - return { - type: "DELETE_BOOK", - payload: id - }; -} - -// UPDATE a book -function updateBooks(book) { - return { - type: "UPDATE_BOOK", - payload: book - }; -} - -/***/ }), -/* 75 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var id = 0, - px = Math.random(); -module.exports = function (key) { - return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); -}; - -/***/ }), -/* 76 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _inDOM = __webpack_require__(37); - -var _inDOM2 = _interopRequireDefault(_inDOM); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -var on = function on() {}; -if (_inDOM2.default) { - on = function () { - - if (document.addEventListener) return function (node, eventName, handler, capture) { - return node.addEventListener(eventName, handler, capture || false); - };else if (document.attachEvent) return function (node, eventName, handler) { - return node.attachEvent('on' + eventName, function (e) { - e = e || window.event; - e.target = e.target || e.srcElement; - e.currentTarget = node; - handler.call(node, e); - }); - }; - }(); -} - -exports.default = on; -module.exports = exports['default']; - -/***/ }), -/* 77 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = getWindow; -function getWindow(node) { - return node === node.window ? node : node.nodeType === 9 ? node.defaultView || node.parentWindow : false; -} -module.exports = exports["default"]; - -/***/ }), -/* 78 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = style; - -var _camelizeStyle = __webpack_require__(170); - -var _camelizeStyle2 = _interopRequireDefault(_camelizeStyle); - -var _hyphenateStyle = __webpack_require__(318); - -var _hyphenateStyle2 = _interopRequireDefault(_hyphenateStyle); - -var _getComputedStyle2 = __webpack_require__(313); - -var _getComputedStyle3 = _interopRequireDefault(_getComputedStyle2); - -var _removeStyle = __webpack_require__(314); - -var _removeStyle2 = _interopRequireDefault(_removeStyle); - -var _properties = __webpack_require__(169); - -var _isTransform = __webpack_require__(315); - -var _isTransform2 = _interopRequireDefault(_isTransform); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -function style(node, property, value) { - var css = ''; - var transforms = ''; - var props = property; - - if (typeof property === 'string') { - if (value === undefined) { - return node.style[(0, _camelizeStyle2.default)(property)] || (0, _getComputedStyle3.default)(node).getPropertyValue((0, _hyphenateStyle2.default)(property)); - } else { - (props = {})[property] = value; - } - } - - Object.keys(props).forEach(function (key) { - var value = props[key]; - if (!value && value !== 0) { - (0, _removeStyle2.default)(node, (0, _hyphenateStyle2.default)(key)); - } else if ((0, _isTransform2.default)(key)) { - transforms += key + '(' + value + ') '; - } else { - css += (0, _hyphenateStyle2.default)(key) + ': ' + value + ';'; - } - }); - - if (transforms) { - css += _properties.transform + ': ' + transforms + ';'; - } - - node.style.cssText += ';' + css; -} -module.exports = exports['default']; - -/***/ }), -/* 79 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.__esModule = true; -/** - * Indicates that navigation was caused by a call to history.push. - */ -var PUSH = exports.PUSH = 'PUSH'; - -/** - * Indicates that navigation was caused by a call to history.replace. - */ -var REPLACE = exports.REPLACE = 'REPLACE'; - -/** - * Indicates that navigation was caused by some other action such - * as using a browser's back/forward buttons and/or manually manipulating - * the URL in a browser's location bar. This is the default. - * - * See https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onpopstate - * for more information. - */ -var POP = exports.POP = 'POP'; - -/***/ }), -/* 80 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.__esModule = true; -var addEventListener = exports.addEventListener = function addEventListener(node, event, listener) { - return node.addEventListener ? node.addEventListener(event, listener, false) : node.attachEvent('on' + event, listener); -}; - -var removeEventListener = exports.removeEventListener = function removeEventListener(node, event, listener) { - return node.removeEventListener ? node.removeEventListener(event, listener, false) : node.detachEvent('on' + event, listener); -}; - -/** - * Returns true if the HTML5 history API is supported. Taken from Modernizr. - * - * https://github.com/Modernizr/Modernizr/blob/master/LICENSE - * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js - * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586 - */ -var supportsHistory = exports.supportsHistory = function supportsHistory() { - var ua = window.navigator.userAgent; - - if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false; - - return window.history && 'pushState' in window.history; -}; - -/** - * Returns false if using go(n) with hash history causes a full page reload. - */ -var supportsGoWithoutReloadUsingHash = exports.supportsGoWithoutReloadUsingHash = function supportsGoWithoutReloadUsingHash() { - return window.navigator.userAgent.indexOf('Firefox') === -1; -}; - -/** - * Returns true if browser fires popstate on hash change. - * IE10 and IE11 do not. - */ -var supportsPopstateOnHashchange = exports.supportsPopstateOnHashchange = function supportsPopstateOnHashchange() { - return window.navigator.userAgent.indexOf('Trident') === -1; -}; - -/** - * Returns true if a given popstate event is an extraneous WebKit event. - * Accounts for the fact that Chrome on iOS fires real popstate events - * containing undefined state when pressing the back button. - */ -var isExtraneousPopstateEvent = exports.isExtraneousPopstateEvent = function isExtraneousPopstateEvent(event) { - return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1; -}; - -/***/ }), -/* 81 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _activeElement = __webpack_require__(165); - -var _activeElement2 = _interopRequireDefault(_activeElement); - -var _contains = __webpack_require__(53); - -var _contains2 = _interopRequireDefault(_contains); - -var _keycode = __webpack_require__(118); - -var _keycode2 = _interopRequireDefault(_keycode); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _reactDom = __webpack_require__(21); - -var _reactDom2 = _interopRequireDefault(_reactDom); - -var _all = __webpack_require__(90); - -var _all2 = _interopRequireDefault(_all); - -var _elementType = __webpack_require__(13); - -var _elementType2 = _interopRequireDefault(_elementType); - -var _isRequiredForA11y = __webpack_require__(91); - -var _isRequiredForA11y2 = _interopRequireDefault(_isRequiredForA11y); - -var _uncontrollable = __webpack_require__(94); - -var _uncontrollable2 = _interopRequireDefault(_uncontrollable); - -var _warning = __webpack_require__(16); - -var _warning2 = _interopRequireDefault(_warning); - -var _ButtonGroup = __webpack_require__(183); - -var _ButtonGroup2 = _interopRequireDefault(_ButtonGroup); - -var _DropdownMenu = __webpack_require__(362); - -var _DropdownMenu2 = _interopRequireDefault(_DropdownMenu); - -var _DropdownToggle = __webpack_require__(186); - -var _DropdownToggle2 = _interopRequireDefault(_DropdownToggle); - -var _bootstrapUtils = __webpack_require__(9); - -var _createChainedFunction = __webpack_require__(19); - -var _createChainedFunction2 = _interopRequireDefault(_createChainedFunction); - -var _PropTypes = __webpack_require__(409); - -var _ValidComponentChildren = __webpack_require__(22); - -var _ValidComponentChildren2 = _interopRequireDefault(_ValidComponentChildren); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var TOGGLE_ROLE = _DropdownToggle2.default.defaultProps.bsRole; -var MENU_ROLE = _DropdownMenu2.default.defaultProps.bsRole; - -var propTypes = { - /** - * The menu will open above the dropdown button, instead of below it. - */ - dropup: _propTypes2.default.bool, - - /** - * An html id attribute, necessary for assistive technologies, such as screen readers. - * @type {string|number} - * @required - */ - id: (0, _isRequiredForA11y2.default)(_propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number])), - - componentClass: _elementType2.default, - - /** - * The children of a Dropdown may be a `` or a ``. - * @type {node} - */ - children: (0, _all2.default)((0, _PropTypes.requiredRoles)(TOGGLE_ROLE, MENU_ROLE), (0, _PropTypes.exclusiveRoles)(MENU_ROLE)), - - /** - * Whether or not component is disabled. - */ - disabled: _propTypes2.default.bool, - - /** - * Align the menu to the right side of the Dropdown toggle - */ - pullRight: _propTypes2.default.bool, - - /** - * Whether or not the Dropdown is visible. - * - * @controllable onToggle - */ - open: _propTypes2.default.bool, - - /** - * A callback fired when the Dropdown wishes to change visibility. Called with the requested - * `open` value, the DOM event, and the source that fired it: `'click'`,`'keydown'`,`'rootClose'`, or `'select'`. - * - * ```js - * function(Boolean isOpen, Object event, { String source }) {} - * ``` - * @controllable open - */ - onToggle: _propTypes2.default.func, - - /** - * A callback fired when a menu item is selected. - * - * ```js - * (eventKey: any, event: Object) => any - * ``` - */ - onSelect: _propTypes2.default.func, - - /** - * If `'menuitem'`, causes the dropdown to behave like a menu item rather than - * a menu button. - */ - role: _propTypes2.default.string, - - /** - * Which event when fired outside the component will cause it to be closed - */ - rootCloseEvent: _propTypes2.default.oneOf(['click', 'mousedown']), - - /** - * @private - */ - onMouseEnter: _propTypes2.default.func, - /** - * @private - */ - onMouseLeave: _propTypes2.default.func -}; - -var defaultProps = { - componentClass: _ButtonGroup2.default -}; - -var Dropdown = function (_React$Component) { - (0, _inherits3.default)(Dropdown, _React$Component); - - function Dropdown(props, context) { - (0, _classCallCheck3.default)(this, Dropdown); - - var _this = (0, _possibleConstructorReturn3.default)(this, _React$Component.call(this, props, context)); - - _this.handleClick = _this.handleClick.bind(_this); - _this.handleKeyDown = _this.handleKeyDown.bind(_this); - _this.handleClose = _this.handleClose.bind(_this); - - _this._focusInDropdown = false; - _this.lastOpenEventType = null; - return _this; - } - - Dropdown.prototype.componentDidMount = function componentDidMount() { - this.focusNextOnOpen(); - }; - - Dropdown.prototype.componentWillUpdate = function componentWillUpdate(nextProps) { - if (!nextProps.open && this.props.open) { - this._focusInDropdown = (0, _contains2.default)(_reactDom2.default.findDOMNode(this.menu), (0, _activeElement2.default)(document)); - } - }; - - Dropdown.prototype.componentDidUpdate = function componentDidUpdate(prevProps) { - var open = this.props.open; - - var prevOpen = prevProps.open; - - if (open && !prevOpen) { - this.focusNextOnOpen(); - } - - if (!open && prevOpen) { - // if focus hasn't already moved from the menu lets return it - // to the toggle - if (this._focusInDropdown) { - this._focusInDropdown = false; - this.focus(); - } - } - }; - - Dropdown.prototype.handleClick = function handleClick(event) { - if (this.props.disabled) { - return; - } - - this.toggleOpen(event, { source: 'click' }); - }; - - Dropdown.prototype.handleKeyDown = function handleKeyDown(event) { - if (this.props.disabled) { - return; - } - - switch (event.keyCode) { - case _keycode2.default.codes.down: - if (!this.props.open) { - this.toggleOpen(event, { source: 'keydown' }); - } else if (this.menu.focusNext) { - this.menu.focusNext(); - } - event.preventDefault(); - break; - case _keycode2.default.codes.esc: - case _keycode2.default.codes.tab: - this.handleClose(event, { source: 'keydown' }); - break; - default: - } - }; - - Dropdown.prototype.toggleOpen = function toggleOpen(event, eventDetails) { - var open = !this.props.open; - - if (open) { - this.lastOpenEventType = eventDetails.source; - } - - if (this.props.onToggle) { - this.props.onToggle(open, event, eventDetails); - } - }; - - Dropdown.prototype.handleClose = function handleClose(event, eventDetails) { - if (!this.props.open) { - return; - } - - this.toggleOpen(event, eventDetails); - }; - - Dropdown.prototype.focusNextOnOpen = function focusNextOnOpen() { - var menu = this.menu; - - if (!menu.focusNext) { - return; - } - - if (this.lastOpenEventType === 'keydown' || this.props.role === 'menuitem') { - menu.focusNext(); - } - }; - - Dropdown.prototype.focus = function focus() { - var toggle = _reactDom2.default.findDOMNode(this.toggle); - - if (toggle && toggle.focus) { - toggle.focus(); - } - }; - - Dropdown.prototype.renderToggle = function renderToggle(child, props) { - var _this2 = this; - - var ref = function ref(c) { - _this2.toggle = c; - }; - - if (typeof child.ref === 'string') { - process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(false, 'String refs are not supported on `` components. ' + 'To apply a ref to the component use the callback signature:\n\n ' + 'https://facebook.github.io/react/docs/more-about-refs.html#the-ref-callback-attribute') : void 0; - } else { - ref = (0, _createChainedFunction2.default)(child.ref, ref); - } - - return (0, _react.cloneElement)(child, (0, _extends3.default)({}, props, { - ref: ref, - bsClass: (0, _bootstrapUtils.prefix)(props, 'toggle'), - onClick: (0, _createChainedFunction2.default)(child.props.onClick, this.handleClick), - onKeyDown: (0, _createChainedFunction2.default)(child.props.onKeyDown, this.handleKeyDown) - })); - }; - - Dropdown.prototype.renderMenu = function renderMenu(child, _ref) { - var _this3 = this; - - var id = _ref.id, - onSelect = _ref.onSelect, - rootCloseEvent = _ref.rootCloseEvent, - props = (0, _objectWithoutProperties3.default)(_ref, ['id', 'onSelect', 'rootCloseEvent']); - - var ref = function ref(c) { - _this3.menu = c; - }; - - if (typeof child.ref === 'string') { - process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(false, 'String refs are not supported on `` components. ' + 'To apply a ref to the component use the callback signature:\n\n ' + 'https://facebook.github.io/react/docs/more-about-refs.html#the-ref-callback-attribute') : void 0; - } else { - ref = (0, _createChainedFunction2.default)(child.ref, ref); - } - - return (0, _react.cloneElement)(child, (0, _extends3.default)({}, props, { - ref: ref, - labelledBy: id, - bsClass: (0, _bootstrapUtils.prefix)(props, 'menu'), - onClose: (0, _createChainedFunction2.default)(child.props.onClose, this.handleClose), - onSelect: (0, _createChainedFunction2.default)(child.props.onSelect, onSelect, function (key, event) { - return _this3.handleClose(event, { source: 'select' }); - }), - rootCloseEvent: rootCloseEvent - })); - }; - - Dropdown.prototype.render = function render() { - var _classes, - _this4 = this; - - var _props = this.props, - Component = _props.componentClass, - id = _props.id, - dropup = _props.dropup, - disabled = _props.disabled, - pullRight = _props.pullRight, - open = _props.open, - onSelect = _props.onSelect, - role = _props.role, - bsClass = _props.bsClass, - className = _props.className, - rootCloseEvent = _props.rootCloseEvent, - children = _props.children, - props = (0, _objectWithoutProperties3.default)(_props, ['componentClass', 'id', 'dropup', 'disabled', 'pullRight', 'open', 'onSelect', 'role', 'bsClass', 'className', 'rootCloseEvent', 'children']); - - delete props.onToggle; - - var classes = (_classes = {}, _classes[bsClass] = true, _classes.open = open, _classes.disabled = disabled, _classes); - - if (dropup) { - classes[bsClass] = false; - classes.dropup = true; - } - - // This intentionally forwards bsSize and bsStyle (if set) to the - // underlying component, to allow it to render size and style variants. - - return _react2.default.createElement(Component, (0, _extends3.default)({}, props, { - className: (0, _classnames2.default)(className, classes) - }), _ValidComponentChildren2.default.map(children, function (child) { - switch (child.props.bsRole) { - case TOGGLE_ROLE: - return _this4.renderToggle(child, { - id: id, disabled: disabled, open: open, role: role, bsClass: bsClass - }); - case MENU_ROLE: - return _this4.renderMenu(child, { - id: id, open: open, pullRight: pullRight, bsClass: bsClass, onSelect: onSelect, rootCloseEvent: rootCloseEvent - }); - default: - return child; - } - })); - }; - - return Dropdown; -}(_react2.default.Component); - -Dropdown.propTypes = propTypes; -Dropdown.defaultProps = defaultProps; - -(0, _bootstrapUtils.bsClass)('dropdown', Dropdown); - -var UncontrolledDropdown = (0, _uncontrollable2.default)(Dropdown, { open: 'onToggle' }); - -UncontrolledDropdown.Toggle = _DropdownToggle2.default; -UncontrolledDropdown.Menu = _DropdownMenu2.default; - -exports.default = UncontrolledDropdown; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 82 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _Transition = __webpack_require__(225); - -var _Transition2 = _interopRequireDefault(_Transition); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - /** - * Show the component; triggers the fade in or fade out animation - */ - 'in': _propTypes2.default.bool, - - /** - * Wait until the first "enter" transition to mount the component (add it to the DOM) - */ - mountOnEnter: _propTypes2.default.bool, - - /** - * Unmount the component (remove it from the DOM) when it is faded out - */ - unmountOnExit: _propTypes2.default.bool, - - /** - * Run the fade in animation when the component mounts, if it is initially - * shown - */ - transitionAppear: _propTypes2.default.bool, - - /** - * Duration of the fade animation in milliseconds, to ensure that finishing - * callbacks are fired even if the original browser transition end events are - * canceled - */ - timeout: _propTypes2.default.number, - - /** - * Callback fired before the component fades in - */ - onEnter: _propTypes2.default.func, - /** - * Callback fired after the component starts to fade in - */ - onEntering: _propTypes2.default.func, - /** - * Callback fired after the has component faded in - */ - onEntered: _propTypes2.default.func, - /** - * Callback fired before the component fades out - */ - onExit: _propTypes2.default.func, - /** - * Callback fired after the component starts to fade out - */ - onExiting: _propTypes2.default.func, - /** - * Callback fired after the component has faded out - */ - onExited: _propTypes2.default.func -}; - -var defaultProps = { - 'in': false, - timeout: 300, - mountOnEnter: false, - unmountOnExit: false, - transitionAppear: false -}; - -var Fade = function (_React$Component) { - (0, _inherits3.default)(Fade, _React$Component); - - function Fade() { - (0, _classCallCheck3.default)(this, Fade); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - Fade.prototype.render = function render() { - return _react2.default.createElement(_Transition2.default, (0, _extends3.default)({}, this.props, { - className: (0, _classnames2.default)(this.props.className, 'fade'), - enteredClassName: 'in', - enteringClassName: 'in' - })); - }; - - return Fade; -}(_react2.default.Component); - -Fade.propTypes = propTypes; -Fade.defaultProps = defaultProps; - -exports.default = Fade; - -/***/ }), -/* 83 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = splitComponentProps; - -var _entries = __webpack_require__(153); - -var _entries2 = _interopRequireDefault(_entries); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function splitComponentProps(props, Component) { - var componentPropTypes = Component.propTypes; - - var parentProps = {}; - var childProps = {}; - - (0, _entries2.default)(props).forEach(function (_ref) { - var propName = _ref[0], - propValue = _ref[1]; - - if (componentPropTypes[propName]) { - parentProps[propName] = propValue; - } else { - childProps[propName] = propValue; - } - }); - - return [parentProps, childProps]; -} - -/***/ }), -/* 84 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - * - */ - - - -var _prodInvariant = __webpack_require__(12); - -var invariant = __webpack_require__(10); - -/** - * Injectable ordering of event plugins. - */ -var eventPluginOrder = null; - -/** - * Injectable mapping from names to event plugin modules. - */ -var namesToPlugins = {}; - -/** - * Recomputes the plugin list using the injected plugins and plugin ordering. - * - * @private - */ -function recomputePluginOrdering() { - if (!eventPluginOrder) { - // Wait until an `eventPluginOrder` is injected. - return; - } - for (var pluginName in namesToPlugins) { - var pluginModule = namesToPlugins[pluginName]; - var pluginIndex = eventPluginOrder.indexOf(pluginName); - !(pluginIndex > -1) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject event plugins that do not exist in the plugin ordering, `%s`.', pluginName) : _prodInvariant('96', pluginName) : void 0; - if (EventPluginRegistry.plugins[pluginIndex]) { - continue; - } - !pluginModule.extractEvents ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Event plugins must implement an `extractEvents` method, but `%s` does not.', pluginName) : _prodInvariant('97', pluginName) : void 0; - EventPluginRegistry.plugins[pluginIndex] = pluginModule; - var publishedEvents = pluginModule.eventTypes; - for (var eventName in publishedEvents) { - !publishEventForPlugin(publishedEvents[eventName], pluginModule, eventName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Failed to publish event `%s` for plugin `%s`.', eventName, pluginName) : _prodInvariant('98', eventName, pluginName) : void 0; - } - } -} - -/** - * Publishes an event so that it can be dispatched by the supplied plugin. - * - * @param {object} dispatchConfig Dispatch configuration for the event. - * @param {object} PluginModule Plugin publishing the event. - * @return {boolean} True if the event was successfully published. - * @private - */ -function publishEventForPlugin(dispatchConfig, pluginModule, eventName) { - !!EventPluginRegistry.eventNameDispatchConfigs.hasOwnProperty(eventName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginHub: More than one plugin attempted to publish the same event name, `%s`.', eventName) : _prodInvariant('99', eventName) : void 0; - EventPluginRegistry.eventNameDispatchConfigs[eventName] = dispatchConfig; - - var phasedRegistrationNames = dispatchConfig.phasedRegistrationNames; - if (phasedRegistrationNames) { - for (var phaseName in phasedRegistrationNames) { - if (phasedRegistrationNames.hasOwnProperty(phaseName)) { - var phasedRegistrationName = phasedRegistrationNames[phaseName]; - publishRegistrationName(phasedRegistrationName, pluginModule, eventName); - } - } - return true; - } else if (dispatchConfig.registrationName) { - publishRegistrationName(dispatchConfig.registrationName, pluginModule, eventName); - return true; - } - return false; -} - -/** - * Publishes a registration name that is used to identify dispatched events and - * can be used with `EventPluginHub.putListener` to register listeners. - * - * @param {string} registrationName Registration name to add. - * @param {object} PluginModule Plugin publishing the event. - * @private - */ -function publishRegistrationName(registrationName, pluginModule, eventName) { - !!EventPluginRegistry.registrationNameModules[registrationName] ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginHub: More than one plugin attempted to publish the same registration name, `%s`.', registrationName) : _prodInvariant('100', registrationName) : void 0; - EventPluginRegistry.registrationNameModules[registrationName] = pluginModule; - EventPluginRegistry.registrationNameDependencies[registrationName] = pluginModule.eventTypes[eventName].dependencies; - - if (process.env.NODE_ENV !== 'production') { - var lowerCasedName = registrationName.toLowerCase(); - EventPluginRegistry.possibleRegistrationNames[lowerCasedName] = registrationName; - - if (registrationName === 'onDoubleClick') { - EventPluginRegistry.possibleRegistrationNames.ondblclick = registrationName; - } - } -} - -/** - * Registers plugins so that they can extract and dispatch events. - * - * @see {EventPluginHub} - */ -var EventPluginRegistry = { - - /** - * Ordered list of injected plugins. - */ - plugins: [], - - /** - * Mapping from event name to dispatch config - */ - eventNameDispatchConfigs: {}, - - /** - * Mapping from registration name to plugin module - */ - registrationNameModules: {}, - - /** - * Mapping from registration name to event name - */ - registrationNameDependencies: {}, - - /** - * Mapping from lowercase registration names to the properly cased version, - * used to warn in the case of missing event handlers. Available - * only in __DEV__. - * @type {Object} - */ - possibleRegistrationNames: process.env.NODE_ENV !== 'production' ? {} : null, - // Trust the developer to only use possibleRegistrationNames in __DEV__ - - /** - * Injects an ordering of plugins (by plugin name). This allows the ordering - * to be decoupled from injection of the actual plugins so that ordering is - * always deterministic regardless of packaging, on-the-fly injection, etc. - * - * @param {array} InjectedEventPluginOrder - * @internal - * @see {EventPluginHub.injection.injectEventPluginOrder} - */ - injectEventPluginOrder: function injectEventPluginOrder(injectedEventPluginOrder) { - !!eventPluginOrder ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject event plugin ordering more than once. You are likely trying to load more than one copy of React.') : _prodInvariant('101') : void 0; - // Clone the ordering so it cannot be dynamically mutated. - eventPluginOrder = Array.prototype.slice.call(injectedEventPluginOrder); - recomputePluginOrdering(); - }, - - /** - * Injects plugins to be used by `EventPluginHub`. The plugin names must be - * in the ordering injected by `injectEventPluginOrder`. - * - * Plugins can be injected as part of page initialization or on-the-fly. - * - * @param {object} injectedNamesToPlugins Map from names to plugin modules. - * @internal - * @see {EventPluginHub.injection.injectEventPluginsByName} - */ - injectEventPluginsByName: function injectEventPluginsByName(injectedNamesToPlugins) { - var isOrderingDirty = false; - for (var pluginName in injectedNamesToPlugins) { - if (!injectedNamesToPlugins.hasOwnProperty(pluginName)) { - continue; - } - var pluginModule = injectedNamesToPlugins[pluginName]; - if (!namesToPlugins.hasOwnProperty(pluginName) || namesToPlugins[pluginName] !== pluginModule) { - !!namesToPlugins[pluginName] ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject two different event plugins using the same name, `%s`.', pluginName) : _prodInvariant('102', pluginName) : void 0; - namesToPlugins[pluginName] = pluginModule; - isOrderingDirty = true; - } - } - if (isOrderingDirty) { - recomputePluginOrdering(); - } - }, - - /** - * Looks up the plugin for the supplied event. - * - * @param {object} event A synthetic event. - * @return {?object} The plugin that created the supplied event. - * @internal - */ - getPluginModuleForEvent: function getPluginModuleForEvent(event) { - var dispatchConfig = event.dispatchConfig; - if (dispatchConfig.registrationName) { - return EventPluginRegistry.registrationNameModules[dispatchConfig.registrationName] || null; - } - if (dispatchConfig.phasedRegistrationNames !== undefined) { - // pulling phasedRegistrationNames out of dispatchConfig helps Flow see - // that it is not undefined. - var phasedRegistrationNames = dispatchConfig.phasedRegistrationNames; - - for (var phase in phasedRegistrationNames) { - if (!phasedRegistrationNames.hasOwnProperty(phase)) { - continue; - } - var pluginModule = EventPluginRegistry.registrationNameModules[phasedRegistrationNames[phase]]; - if (pluginModule) { - return pluginModule; - } - } - } - return null; - }, - - /** - * Exposed for unit testing. - * @private - */ - _resetEventPlugins: function _resetEventPlugins() { - eventPluginOrder = null; - for (var pluginName in namesToPlugins) { - if (namesToPlugins.hasOwnProperty(pluginName)) { - delete namesToPlugins[pluginName]; - } - } - EventPluginRegistry.plugins.length = 0; - - var eventNameDispatchConfigs = EventPluginRegistry.eventNameDispatchConfigs; - for (var eventName in eventNameDispatchConfigs) { - if (eventNameDispatchConfigs.hasOwnProperty(eventName)) { - delete eventNameDispatchConfigs[eventName]; - } - } - - var registrationNameModules = EventPluginRegistry.registrationNameModules; - for (var registrationName in registrationNameModules) { - if (registrationNameModules.hasOwnProperty(registrationName)) { - delete registrationNameModules[registrationName]; - } - } - - if (process.env.NODE_ENV !== 'production') { - var possibleRegistrationNames = EventPluginRegistry.possibleRegistrationNames; - for (var lowerCasedName in possibleRegistrationNames) { - if (possibleRegistrationNames.hasOwnProperty(lowerCasedName)) { - delete possibleRegistrationNames[lowerCasedName]; - } - } - } - } - -}; - -module.exports = EventPluginRegistry; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 85 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var _assign = __webpack_require__(14); - -var EventPluginRegistry = __webpack_require__(84); -var ReactEventEmitterMixin = __webpack_require__(445); -var ViewportMetrics = __webpack_require__(214); - -var getVendorPrefixedEventName = __webpack_require__(480); -var isEventSupported = __webpack_require__(138); - -/** - * Summary of `ReactBrowserEventEmitter` event handling: - * - * - Top-level delegation is used to trap most native browser events. This - * may only occur in the main thread and is the responsibility of - * ReactEventListener, which is injected and can therefore support pluggable - * event sources. This is the only work that occurs in the main thread. - * - * - We normalize and de-duplicate events to account for browser quirks. This - * may be done in the worker thread. - * - * - Forward these native events (with the associated top-level type used to - * trap it) to `EventPluginHub`, which in turn will ask plugins if they want - * to extract any synthetic events. - * - * - The `EventPluginHub` will then process each event by annotating them with - * "dispatches", a sequence of listeners and IDs that care about that event. - * - * - The `EventPluginHub` then dispatches the events. - * - * Overview of React and the event system: - * - * +------------+ . - * | DOM | . - * +------------+ . - * | . - * v . - * +------------+ . - * | ReactEvent | . - * | Listener | . - * +------------+ . +-----------+ - * | . +--------+|SimpleEvent| - * | . | |Plugin | - * +-----|------+ . v +-----------+ - * | | | . +--------------+ +------------+ - * | +-----------.--->|EventPluginHub| | Event | - * | | . | | +-----------+ | Propagators| - * | ReactEvent | . | | |TapEvent | |------------| - * | Emitter | . | |<---+|Plugin | |other plugin| - * | | . | | +-----------+ | utilities | - * | +-----------.--->| | +------------+ - * | | | . +--------------+ - * +-----|------+ . ^ +-----------+ - * | . | |Enter/Leave| - * + . +-------+|Plugin | - * +-------------+ . +-----------+ - * | application | . - * |-------------| . - * | | . - * | | . - * +-------------+ . - * . - * React Core . General Purpose Event Plugin System - */ - -var hasEventPageXY; -var alreadyListeningTo = {}; -var isMonitoringScrollValue = false; -var reactTopListenersCounter = 0; - -// For events like 'submit' which don't consistently bubble (which we trap at a -// lower node than `document`), binding at `document` would cause duplicate -// events so we don't include them here -var topEventMapping = { - topAbort: 'abort', - topAnimationEnd: getVendorPrefixedEventName('animationend') || 'animationend', - topAnimationIteration: getVendorPrefixedEventName('animationiteration') || 'animationiteration', - topAnimationStart: getVendorPrefixedEventName('animationstart') || 'animationstart', - topBlur: 'blur', - topCanPlay: 'canplay', - topCanPlayThrough: 'canplaythrough', - topChange: 'change', - topClick: 'click', - topCompositionEnd: 'compositionend', - topCompositionStart: 'compositionstart', - topCompositionUpdate: 'compositionupdate', - topContextMenu: 'contextmenu', - topCopy: 'copy', - topCut: 'cut', - topDoubleClick: 'dblclick', - topDrag: 'drag', - topDragEnd: 'dragend', - topDragEnter: 'dragenter', - topDragExit: 'dragexit', - topDragLeave: 'dragleave', - topDragOver: 'dragover', - topDragStart: 'dragstart', - topDrop: 'drop', - topDurationChange: 'durationchange', - topEmptied: 'emptied', - topEncrypted: 'encrypted', - topEnded: 'ended', - topError: 'error', - topFocus: 'focus', - topInput: 'input', - topKeyDown: 'keydown', - topKeyPress: 'keypress', - topKeyUp: 'keyup', - topLoadedData: 'loadeddata', - topLoadedMetadata: 'loadedmetadata', - topLoadStart: 'loadstart', - topMouseDown: 'mousedown', - topMouseMove: 'mousemove', - topMouseOut: 'mouseout', - topMouseOver: 'mouseover', - topMouseUp: 'mouseup', - topPaste: 'paste', - topPause: 'pause', - topPlay: 'play', - topPlaying: 'playing', - topProgress: 'progress', - topRateChange: 'ratechange', - topScroll: 'scroll', - topSeeked: 'seeked', - topSeeking: 'seeking', - topSelectionChange: 'selectionchange', - topStalled: 'stalled', - topSuspend: 'suspend', - topTextInput: 'textInput', - topTimeUpdate: 'timeupdate', - topTouchCancel: 'touchcancel', - topTouchEnd: 'touchend', - topTouchMove: 'touchmove', - topTouchStart: 'touchstart', - topTransitionEnd: getVendorPrefixedEventName('transitionend') || 'transitionend', - topVolumeChange: 'volumechange', - topWaiting: 'waiting', - topWheel: 'wheel' -}; - -/** - * To ensure no conflicts with other potential React instances on the page - */ -var topListenersIDKey = '_reactListenersID' + String(Math.random()).slice(2); - -function getListeningForDocument(mountAt) { - // In IE8, `mountAt` is a host object and doesn't have `hasOwnProperty` - // directly. - if (!Object.prototype.hasOwnProperty.call(mountAt, topListenersIDKey)) { - mountAt[topListenersIDKey] = reactTopListenersCounter++; - alreadyListeningTo[mountAt[topListenersIDKey]] = {}; - } - return alreadyListeningTo[mountAt[topListenersIDKey]]; -} - -/** - * `ReactBrowserEventEmitter` is used to attach top-level event listeners. For - * example: - * - * EventPluginHub.putListener('myID', 'onClick', myFunction); - * - * This would allocate a "registration" of `('onClick', myFunction)` on 'myID'. - * - * @internal - */ -var ReactBrowserEventEmitter = _assign({}, ReactEventEmitterMixin, { - - /** - * Injectable event backend - */ - ReactEventListener: null, - - injection: { - /** - * @param {object} ReactEventListener - */ - injectReactEventListener: function injectReactEventListener(ReactEventListener) { - ReactEventListener.setHandleTopLevel(ReactBrowserEventEmitter.handleTopLevel); - ReactBrowserEventEmitter.ReactEventListener = ReactEventListener; - } - }, - - /** - * Sets whether or not any created callbacks should be enabled. - * - * @param {boolean} enabled True if callbacks should be enabled. - */ - setEnabled: function setEnabled(enabled) { - if (ReactBrowserEventEmitter.ReactEventListener) { - ReactBrowserEventEmitter.ReactEventListener.setEnabled(enabled); - } - }, - - /** - * @return {boolean} True if callbacks are enabled. - */ - isEnabled: function isEnabled() { - return !!(ReactBrowserEventEmitter.ReactEventListener && ReactBrowserEventEmitter.ReactEventListener.isEnabled()); - }, - - /** - * We listen for bubbled touch events on the document object. - * - * Firefox v8.01 (and possibly others) exhibited strange behavior when - * mounting `onmousemove` events at some node that was not the document - * element. The symptoms were that if your mouse is not moving over something - * contained within that mount point (for example on the background) the - * top-level listeners for `onmousemove` won't be called. However, if you - * register the `mousemove` on the document object, then it will of course - * catch all `mousemove`s. This along with iOS quirks, justifies restricting - * top-level listeners to the document object only, at least for these - * movement types of events and possibly all events. - * - * @see http://www.quirksmode.org/blog/archives/2010/09/click_event_del.html - * - * Also, `keyup`/`keypress`/`keydown` do not bubble to the window on IE, but - * they bubble to document. - * - * @param {string} registrationName Name of listener (e.g. `onClick`). - * @param {object} contentDocumentHandle Document which owns the container - */ - listenTo: function listenTo(registrationName, contentDocumentHandle) { - var mountAt = contentDocumentHandle; - var isListening = getListeningForDocument(mountAt); - var dependencies = EventPluginRegistry.registrationNameDependencies[registrationName]; - - for (var i = 0; i < dependencies.length; i++) { - var dependency = dependencies[i]; - if (!(isListening.hasOwnProperty(dependency) && isListening[dependency])) { - if (dependency === 'topWheel') { - if (isEventSupported('wheel')) { - ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent('topWheel', 'wheel', mountAt); - } else if (isEventSupported('mousewheel')) { - ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent('topWheel', 'mousewheel', mountAt); - } else { - // Firefox needs to capture a different mouse scroll event. - // @see http://www.quirksmode.org/dom/events/tests/scroll.html - 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); - } else if (isEventSupported('focusin')) { - // IE has `focusin` and `focusout` events which bubble. - // @see http://www.quirksmode.org/blog/archives/2008/04/delegating_the.html - ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent('topFocus', 'focusin', mountAt); - ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent('topBlur', 'focusout', mountAt); - } - - // to make sure blur and focus event listeners are only attached once - isListening.topBlur = true; - isListening.topFocus = true; - } else if (topEventMapping.hasOwnProperty(dependency)) { - ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(dependency, topEventMapping[dependency], mountAt); - } - - isListening[dependency] = true; - } - } - }, - - trapBubbledEvent: function trapBubbledEvent(topLevelType, handlerBaseName, handle) { - return ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(topLevelType, handlerBaseName, handle); - }, - - trapCapturedEvent: function trapCapturedEvent(topLevelType, handlerBaseName, handle) { - return ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent(topLevelType, handlerBaseName, handle); - }, - - /** - * Protect against document.createEvent() returning null - * Some popup blocker extensions appear to do this: - * https://github.com/facebook/react/issues/6887 - */ - supportsEventPageXY: function supportsEventPageXY() { - if (!document.createEvent) { - return false; - } - var ev = document.createEvent('MouseEvent'); - return ev != null && 'pageX' in ev; - }, - - /** - * Listens to window scroll and resize events. We cache scroll values so that - * application code can access them without triggering reflows. - * - * ViewportMetrics is only used by SyntheticMouse/TouchEvent and only when - * pageX/pageY isn't supported (legacy browsers). - * - * NOTE: Scroll events do not bubble. - * - * @see http://www.quirksmode.org/dom/events/scroll.html - */ - ensureScrollValueMonitoring: function ensureScrollValueMonitoring() { - if (hasEventPageXY === undefined) { - hasEventPageXY = ReactBrowserEventEmitter.supportsEventPageXY(); - } - if (!hasEventPageXY && !isMonitoringScrollValue) { - var refresh = ViewportMetrics.refreshScrollValues; - ReactBrowserEventEmitter.ReactEventListener.monitorScrollValue(refresh); - isMonitoringScrollValue = true; - } - } - -}); - -module.exports = ReactBrowserEventEmitter; - -/***/ }), -/* 86 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var SyntheticUIEvent = __webpack_require__(71); -var ViewportMetrics = __webpack_require__(214); - -var getEventModifierState = __webpack_require__(136); - -/** - * @interface MouseEvent - * @see http://www.w3.org/TR/DOM-Level-3-Events/ - */ -var MouseEventInterface = { - screenX: null, - screenY: null, - clientX: null, - clientY: null, - ctrlKey: null, - shiftKey: null, - altKey: null, - metaKey: null, - getModifierState: getEventModifierState, - button: function button(event) { - // Webkit, Firefox, IE9+ - // which: 1 2 3 - // button: 0 1 2 (standard) - var button = event.button; - if ('which' in event) { - return button; - } - // IE<9 - // which: undefined - // button: 0 0 0 - // button: 1 4 2 (onmouseup) - return button === 2 ? 2 : button === 4 ? 1 : 0; - }, - buttons: null, - relatedTarget: function relatedTarget(event) { - return event.relatedTarget || (event.fromElement === event.srcElement ? event.toElement : event.fromElement); - }, - // "Proprietary" Interface. - pageX: function pageX(event) { - return 'pageX' in event ? event.pageX : event.clientX + ViewportMetrics.currentScrollLeft; - }, - pageY: function pageY(event) { - return 'pageY' in event ? event.pageY : event.clientY + ViewportMetrics.currentScrollTop; - } -}; - -/** - * @param {object} dispatchConfig Configuration used to dispatch this event. - * @param {string} dispatchMarker Marker identifying the event target. - * @param {object} nativeEvent Native browser event. - * @extends {SyntheticUIEvent} - */ -function SyntheticMouseEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) { - return SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget); -} - -SyntheticUIEvent.augmentClass(SyntheticMouseEvent, MouseEventInterface); - -module.exports = SyntheticMouseEvent; - -/***/ }), -/* 87 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - * - */ - - - -var _prodInvariant = __webpack_require__(12); - -var invariant = __webpack_require__(10); - -var OBSERVED_ERROR = {}; - -/** - * `Transaction` creates a black box that is able to wrap any method such that - * certain invariants are maintained before and after the method is invoked - * (Even if an exception is thrown while invoking the wrapped method). Whoever - * instantiates a transaction can provide enforcers of the invariants at - * creation time. The `Transaction` class itself will supply one additional - * automatic invariant for you - the invariant that any transaction instance - * should not be run while it is already being run. You would typically create a - * single instance of a `Transaction` for reuse multiple times, that potentially - * is used to wrap several different methods. Wrappers are extremely simple - - * they only require implementing two methods. - * - *
- *                       wrappers (injected at creation time)
- *                                      +        +
- *                                      |        |
- *                    +-----------------|--------|--------------+
- *                    |                 v        |              |
- *                    |      +---------------+   |              |
- *                    |   +--|    wrapper1   |---|----+         |
- *                    |   |  +---------------+   v    |         |
- *                    |   |          +-------------+  |         |
- *                    |   |     +----|   wrapper2  |--------+   |
- *                    |   |     |    +-------------+  |     |   |
- *                    |   |     |                     |     |   |
- *                    |   v     v                     v     v   | wrapper
- *                    | +---+ +---+   +---------+   +---+ +---+ | invariants
- * perform(anyMethod) | |   | |   |   |         |   |   | |   | | maintained
- * +----------------->|-|---|-|---|-->|anyMethod|---|---|-|---|-|-------->
- *                    | |   | |   |   |         |   |   | |   | |
- *                    | |   | |   |   |         |   |   | |   | |
- *                    | |   | |   |   |         |   |   | |   | |
- *                    | +---+ +---+   +---------+   +---+ +---+ |
- *                    |  initialize                    close    |
- *                    +-----------------------------------------+
- * 
- * - * Use cases: - * - Preserving the input selection ranges before/after reconciliation. - * Restoring selection even in the event of an unexpected error. - * - Deactivating events while rearranging the DOM, preventing blurs/focuses, - * while guaranteeing that afterwards, the event system is reactivated. - * - Flushing a queue of collected DOM mutations to the main UI thread after a - * reconciliation takes place in a worker thread. - * - Invoking any collected `componentDidUpdate` callbacks after rendering new - * content. - * - (Future use case): Wrapping particular flushes of the `ReactWorker` queue - * to preserve the `scrollTop` (an automatic scroll aware DOM). - * - (Future use case): Layout calculations before and after DOM updates. - * - * Transactional plugin API: - * - A module that has an `initialize` method that returns any precomputation. - * - and a `close` method that accepts the precomputation. `close` is invoked - * when the wrapped process is completed, or has failed. - * - * @param {Array} transactionWrapper Wrapper modules - * that implement `initialize` and `close`. - * @return {Transaction} Single transaction for reuse in thread. - * - * @class Transaction - */ -var TransactionImpl = { - /** - * Sets up this instance so that it is prepared for collecting metrics. Does - * so such that this setup method may be used on an instance that is already - * initialized, in a way that does not consume additional memory upon reuse. - * That can be useful if you decide to make your subclass of this mixin a - * "PooledClass". - */ - reinitializeTransaction: function reinitializeTransaction() { - this.transactionWrappers = this.getTransactionWrappers(); - if (this.wrapperInitData) { - this.wrapperInitData.length = 0; - } else { - this.wrapperInitData = []; - } - this._isInTransaction = false; - }, - - _isInTransaction: false, - - /** - * @abstract - * @return {Array} Array of transaction wrappers. - */ - getTransactionWrappers: null, - - isInTransaction: function isInTransaction() { - return !!this._isInTransaction; - }, - - /** - * Executes the function within a safety window. Use this for the top level - * methods that result in large amounts of computation/mutations that would - * need to be safety checked. The optional arguments helps prevent the need - * to bind in many cases. - * - * @param {function} method Member of scope to call. - * @param {Object} scope Scope to invoke from. - * @param {Object?=} a Argument to pass to the method. - * @param {Object?=} b Argument to pass to the method. - * @param {Object?=} c Argument to pass to the method. - * @param {Object?=} d Argument to pass to the method. - * @param {Object?=} e Argument to pass to the method. - * @param {Object?=} f Argument to pass to the method. - * - * @return {*} Return value from `method`. - */ - perform: function perform(method, scope, a, b, c, d, e, f) { - !!this.isInTransaction() ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Transaction.perform(...): Cannot initialize a transaction when there is already an outstanding transaction.') : _prodInvariant('27') : void 0; - var errorThrown; - var ret; - try { - this._isInTransaction = true; - // Catching errors makes debugging more difficult, so we start with - // errorThrown set to true before setting it to false after calling - // close -- if it's still set to true in the finally block, it means - // one of these calls threw. - errorThrown = true; - this.initializeAll(0); - ret = method.call(scope, a, b, c, d, e, f); - errorThrown = false; - } finally { - try { - if (errorThrown) { - // If `method` throws, prefer to show that stack trace over any thrown - // by invoking `closeAll`. - try { - this.closeAll(0); - } catch (err) {} - } else { - // Since `method` didn't throw, we don't want to silence the exception - // here. - this.closeAll(0); - } - } finally { - this._isInTransaction = false; - } - } - return ret; - }, - - initializeAll: function initializeAll(startIndex) { - var transactionWrappers = this.transactionWrappers; - for (var i = startIndex; i < transactionWrappers.length; i++) { - var wrapper = transactionWrappers[i]; - try { - // Catching errors makes debugging more difficult, so we start with the - // OBSERVED_ERROR state before overwriting it with the real return value - // of initialize -- if it's still set to OBSERVED_ERROR in the finally - // block, it means wrapper.initialize threw. - this.wrapperInitData[i] = OBSERVED_ERROR; - this.wrapperInitData[i] = wrapper.initialize ? wrapper.initialize.call(this) : null; - } finally { - if (this.wrapperInitData[i] === OBSERVED_ERROR) { - // The initializer for wrapper i threw an error; initialize the - // remaining wrappers but silence any exceptions from them to ensure - // that the first error is the one to bubble up. - try { - this.initializeAll(i + 1); - } catch (err) {} - } - } - } - }, - - /** - * Invokes each of `this.transactionWrappers.close[i]` functions, passing into - * them the respective return values of `this.transactionWrappers.init[i]` - * (`close`rs that correspond to initializers that failed will not be - * invoked). - */ - closeAll: function closeAll(startIndex) { - !this.isInTransaction() ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Transaction.closeAll(): Cannot close transaction when none are open.') : _prodInvariant('28') : void 0; - var transactionWrappers = this.transactionWrappers; - for (var i = startIndex; i < transactionWrappers.length; i++) { - var wrapper = transactionWrappers[i]; - var initData = this.wrapperInitData[i]; - var errorThrown; - try { - // Catching errors makes debugging more difficult, so we start with - // errorThrown set to true before setting it to false after calling - // close -- if it's still set to true in the finally block, it means - // wrapper.close threw. - errorThrown = true; - if (initData !== OBSERVED_ERROR && wrapper.close) { - wrapper.close.call(this, initData); - } - errorThrown = false; - } finally { - if (errorThrown) { - // The closer for wrapper i threw an error; close the remaining - // wrappers but silence any exceptions from them to ensure that the - // first error is the one to bubble up. - try { - this.closeAll(i + 1); - } catch (e) {} - } - } - } - this.wrapperInitData.length = 0; - } -}; - -module.exports = TransactionImpl; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 88 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright 2016-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * Based on the escape-html library, which is used under the MIT License below: - * - * Copyright (c) 2012-2013 TJ Holowaychuk - * Copyright (c) 2015 Andreas Lubbe - * Copyright (c) 2015 Tiancheng "Timothy" Gu - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * 'Software'), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. - * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY - * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, - * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE - * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - */ - - - -// code copied and modified from escape-html -/** - * Module variables. - * @private - */ - -var matchHtmlRegExp = /["'&<>]/; - -/** - * Escape special characters in the given string of html. - * - * @param {string} string The string to escape for inserting into HTML - * @return {string} - * @public - */ - -function escapeHtml(string) { - var str = '' + string; - var match = matchHtmlRegExp.exec(str); - - if (!match) { - return str; - } - - var escape; - var html = ''; - var index = 0; - var lastIndex = 0; - - for (index = match.index; index < str.length; index++) { - switch (str.charCodeAt(index)) { - case 34: - // " - escape = '"'; - break; - case 38: - // & - escape = '&'; - break; - case 39: - // ' - escape = '''; // modified from escape-html; used to be ''' - break; - case 60: - // < - escape = '<'; - break; - case 62: - // > - escape = '>'; - break; - default: - continue; - } - - if (lastIndex !== index) { - html += str.substring(lastIndex, index); - } - - lastIndex = index + 1; - html += escape; - } - - return lastIndex !== index ? html + str.substring(lastIndex, index) : html; -} -// end code copied and modified from escape-html - - -/** - * Escapes text to prevent scripting attacks. - * - * @param {*} text Text value to escape. - * @return {string} An escaped string. - */ -function escapeTextContentForBrowser(text) { - if (typeof text === 'boolean' || typeof text === 'number') { - // this shortcircuit helps perf for types that we know will never have - // special characters, especially given that this function is used often - // for numeric dom ids. - return '' + text; - } - return escapeHtml(text); -} - -module.exports = escapeTextContentForBrowser; - -/***/ }), -/* 89 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var ExecutionEnvironment = __webpack_require__(18); -var DOMNamespaces = __webpack_require__(127); - -var WHITESPACE_TEST = /^[ \r\n\t\f]/; -var NONVISIBLE_TEST = /<(!--|link|noscript|meta|script|style)[ \r\n\t\f\/>]/; - -var createMicrosoftUnsafeLocalFunction = __webpack_require__(134); - -// SVG temp container for IE lacking innerHTML -var reusableSVGContainer; - -/** - * Set the innerHTML property of a node, ensuring that whitespace is preserved - * even in IE8. - * - * @param {DOMElement} node - * @param {string} html - * @internal - */ -var setInnerHTML = createMicrosoftUnsafeLocalFunction(function (node, html) { - // IE does not have innerHTML for SVG nodes, so instead we inject the - // new markup in a temp node and then move the child nodes across into - // the target node - if (node.namespaceURI === DOMNamespaces.svg && !('innerHTML' in node)) { - reusableSVGContainer = reusableSVGContainer || document.createElement('div'); - reusableSVGContainer.innerHTML = '' + html + ''; - var svgNode = reusableSVGContainer.firstChild; - while (svgNode.firstChild) { - node.appendChild(svgNode.firstChild); - } - } else { - node.innerHTML = html; - } -}); - -if (ExecutionEnvironment.canUseDOM) { - // IE8: When updating a just created node with innerHTML only leading - // whitespace is removed. When updating an existing node with innerHTML - // whitespace in root TextNodes is also collapsed. - // @see quirksmode.org/bugreports/archives/2004/11/innerhtml_and_t.html - - // Feature detection; only IE8 is known to behave improperly like this. - var testElement = document.createElement('div'); - testElement.innerHTML = ' '; - if (testElement.innerHTML === '') { - setInnerHTML = function setInnerHTML(node, html) { - // Magic theory: IE8 supposedly differentiates between added and updated - // nodes when processing innerHTML, innerHTML on updated nodes suffers - // from worse whitespace behavior. Re-adding a node like this triggers - // the initial and more favorable whitespace behavior. - // TODO: What to do on a detached node? - if (node.parentNode) { - node.parentNode.replaceChild(node, node); - } - - // We also implement a workaround for non-visible tags disappearing into - // thin air on IE8, this only happens if there is no visible text - // in-front of the non-visible tags. Piggyback on the whitespace fix - // and simply check if any non-visible tags appear in the source. - if (WHITESPACE_TEST.test(html) || html[0] === '<' && NONVISIBLE_TEST.test(html)) { - // Recover leading whitespace by temporarily prepending any character. - // \uFEFF has the potential advantage of being zero-width/invisible. - // UglifyJS drops U+FEFF chars when parsing, so use String.fromCharCode - // in hopes that this is preserved even if "\uFEFF" is transformed to - // the actual Unicode character (by Babel, for example). - // https://github.com/mishoo/UglifyJS2/blob/v2.4.20/lib/parse.js#L216 - node.innerHTML = String.fromCharCode(0xFEFF) + html; - - // deleteData leaves an empty `TextNode` which offsets the index of all - // children. Definitely want to avoid this. - var textNode = node.firstChild; - if (textNode.data.length === 1) { - node.removeChild(textNode); - } else { - textNode.deleteData(0, 1); - } - } else { - node.innerHTML = html; - } - }; - } - testElement = null; -} - -module.exports = setInnerHTML; - -/***/ }), -/* 90 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.__esModule = true; -exports.default = all; - -var _createChainableTypeChecker = __webpack_require__(92); - -var _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -function all() { - for (var _len = arguments.length, validators = Array(_len), _key = 0; _key < _len; _key++) { - validators[_key] = arguments[_key]; - } - - function allPropTypes() { - for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { - args[_key2] = arguments[_key2]; - } - - var error = null; - - validators.forEach(function (validator) { - if (error != null) { - return; - } - - var result = validator.apply(undefined, args); - if (result != null) { - error = result; - } - }); - - return error; - } - - return (0, _createChainableTypeChecker2.default)(allPropTypes); -} - -/***/ }), -/* 91 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.__esModule = true; -exports.default = isRequiredForA11y; -function isRequiredForA11y(validator) { - return function validate(props, propName, componentName, location, propFullName) { - var componentNameSafe = componentName || '<>'; - var propFullNameSafe = propFullName || propName; - - if (props[propName] == null) { - return new Error('The ' + location + ' `' + propFullNameSafe + '` is required to make ' + ('`' + componentNameSafe + '` accessible for users of assistive ') + 'technologies such as screen readers.'); - } - - for (var _len = arguments.length, args = Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) { - args[_key - 5] = arguments[_key]; - } - - return validator.apply(undefined, [props, propName, componentName, location, propFullName].concat(args)); - }; -} - -/***/ }), -/* 92 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.__esModule = true; -exports.default = createChainableTypeChecker; -/** - * 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. - */ - -// Mostly taken from ReactPropTypes. - -function createChainableTypeChecker(validate) { - function checkType(isRequired, props, propName, componentName, location, propFullName) { - var componentNameSafe = componentName || '<>'; - var propFullNameSafe = propFullName || propName; - - if (props[propName] == null) { - if (isRequired) { - return new Error('Required ' + location + ' `' + propFullNameSafe + '` was not specified ' + ('in `' + componentNameSafe + '`.')); - } - - return null; - } - - for (var _len = arguments.length, args = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) { - args[_key - 6] = arguments[_key]; - } - - return validate.apply(undefined, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args)); - } - - var chainedCheckType = checkType.bind(null, false); - chainedCheckType.isRequired = checkType.bind(null, true); - - return chainedCheckType; -} - -/***/ }), -/* 93 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - * - */ - - - -var canDefineProperty = false; -if (process.env.NODE_ENV !== 'production') { - try { - // $FlowFixMe https://github.com/facebook/flow/issues/285 - Object.defineProperty({}, 'x', { get: function get() {} }); - canDefineProperty = true; - } catch (x) { - // IE will fail on defineProperty - } -} - -module.exports = canDefineProperty; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 94 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.__esModule = true; - -var _createUncontrollable = __webpack_require__(535); - -var _createUncontrollable2 = _interopRequireDefault(_createUncontrollable); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -var mixin = { - shouldComponentUpdate: function shouldComponentUpdate() { - //let the forceUpdate trigger the update - return !this._notifying; - } -}; - -function set(component, propName, handler, value, args) { - if (handler) { - component._notifying = true; - handler.call.apply(handler, [component, value].concat(args)); - component._notifying = false; - } - - component._values[propName] = value; - - if (!component.unmounted) component.forceUpdate(); -} - -exports.default = (0, _createUncontrollable2.default)(mixin, set); -module.exports = exports['default']; - -/***/ }), -/* 95 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -// ADD to cart - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.addToCart = addToCart; -exports.deleteCartItem = deleteCartItem; -exports.updateCart = updateCart; -function addToCart(book) { - return { - type: "ADD_TO_CART", - payload: book - }; -} - -// DELETE from cart -function deleteCartItem(cart) { - return { - type: "DELETE_CART_ITEM", - payload: cart - }; -} - -// UPDATE cart -function updateCart(_id, unit) { - return { - type: "UPDATE_CART", - _id: _id, - unit: unit - }; -} - -/***/ }), -/* 96 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var _typeof2 = 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; }; - -exports.__esModule = true; - -var _iterator = __webpack_require__(258); - -var _iterator2 = _interopRequireDefault(_iterator); - -var _symbol = __webpack_require__(257); - -var _symbol2 = _interopRequireDefault(_symbol); - -var _typeof = typeof _symbol2.default === "function" && _typeof2(_iterator2.default) === "symbol" ? function (obj) { - return typeof obj === "undefined" ? "undefined" : _typeof2(obj); -} : function (obj) { - return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof2(obj); -}; - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -exports.default = typeof _symbol2.default === "function" && _typeof(_iterator2.default) === "symbol" ? function (obj) { - return typeof obj === "undefined" ? "undefined" : _typeof(obj); -} : function (obj) { - return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default && obj !== _symbol2.default.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof(obj); -}; - -/***/ }), -/* 97 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var toString = {}.toString; - -module.exports = function (it) { - return toString.call(it).slice(8, -1); -}; - -/***/ }), -/* 98 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -// optional / simple context binding -var aFunction = __webpack_require__(267); -module.exports = function (fn, that, length) { - aFunction(fn); - if (that === undefined) return fn; - switch (length) { - case 1: - return function (a) { - return fn.call(that, a); - }; - case 2: - return function (a, b) { - return fn.call(that, a, b); - }; - case 3: - return function (a, b, c) { - return fn.call(that, a, b, c); - }; - } - return function () /* ...args */{ - return fn.apply(that, arguments); - }; -}; - -/***/ }), -/* 99 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -// 7.2.1 RequireObjectCoercible(argument) -module.exports = function (it) { - if (it == undefined) throw TypeError("Can't call method on " + it); - return it; -}; - -/***/ }), -/* 100 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -// IE 8- don't enum bug keys -module.exports = 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'.split(','); - -/***/ }), -/* 101 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = true; - -/***/ }), -/* 102 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) -var anObject = __webpack_require__(48), - dPs = __webpack_require__(283), - enumBugKeys = __webpack_require__(100), - IE_PROTO = __webpack_require__(105)('IE_PROTO'), - Empty = function Empty() {/* empty */}, - PROTOTYPE = 'prototype'; - -// Create object with fake `null` prototype: use iframe Object with cleared prototype -var _createDict = function createDict() { - // Thrash, waste and sodomy: IE GC bug - var iframe = __webpack_require__(154)('iframe'), - i = enumBugKeys.length, - lt = '<', - gt = '>', - iframeDocument; - iframe.style.display = 'none'; - __webpack_require__(273).appendChild(iframe); - iframe.src = 'javascript:'; // eslint-disable-line no-script-url - // createDict = iframe.contentWindow.Object; - // html.removeChild(iframe); - iframeDocument = iframe.contentWindow.document; - iframeDocument.open(); - iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt); - iframeDocument.close(); - _createDict = iframeDocument.F; - while (i--) { - delete _createDict[PROTOTYPE][enumBugKeys[i]]; - }return _createDict(); -}; - -module.exports = Object.create || function create(O, Properties) { - var result; - if (O !== null) { - Empty[PROTOTYPE] = anObject(O); - result = new Empty(); - Empty[PROTOTYPE] = null; - // add "__proto__" for Object.getPrototypeOf polyfill - result[IE_PROTO] = O; - } else result = _createDict(); - return Properties === undefined ? result : dPs(result, Properties); -}; - -/***/ }), -/* 103 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.f = Object.getOwnPropertySymbols; - -/***/ }), -/* 104 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var def = __webpack_require__(43).f, - has = __webpack_require__(42), - TAG = __webpack_require__(27)('toStringTag'); - -module.exports = function (it, tag, stat) { - if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag }); -}; - -/***/ }), -/* 105 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var shared = __webpack_require__(106)('keys'), - uid = __webpack_require__(75); -module.exports = function (key) { - return shared[key] || (shared[key] = uid(key)); -}; - -/***/ }), -/* 106 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var global = __webpack_require__(35), - SHARED = '__core-js_shared__', - store = global[SHARED] || (global[SHARED] = {}); -module.exports = function (key) { - return store[key] || (store[key] = {}); -}; - -/***/ }), -/* 107 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -// 7.1.4 ToInteger -var ceil = Math.ceil, - floor = Math.floor; -module.exports = function (it) { - return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); -}; - -/***/ }), -/* 108 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -// 7.1.13 ToObject(argument) -var defined = __webpack_require__(99); -module.exports = function (it) { - return Object(defined(it)); -}; - -/***/ }), -/* 109 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -// 7.1.1 ToPrimitive(input [, PreferredType]) -var isObject = __webpack_require__(63); -// instead of the ES6 spec version, we didn't implement @@toPrimitive case -// and the second argument - flag - preferred type is a string -module.exports = function (it, S) { - if (!isObject(it)) return it; - var fn, val; - if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; - if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val; - if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; - throw TypeError("Can't convert object to primitive value"); -}; - -/***/ }), -/* 110 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var global = __webpack_require__(35), - core = __webpack_require__(26), - LIBRARY = __webpack_require__(101), - wksExt = __webpack_require__(111), - defineProperty = __webpack_require__(43).f; -module.exports = function (name) { - var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {}); - if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) }); -}; - -/***/ }), -/* 111 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.f = __webpack_require__(27); - -/***/ }), -/* 112 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _inDOM = __webpack_require__(37); - -var _inDOM2 = _interopRequireDefault(_inDOM); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -var off = function off() {}; -if (_inDOM2.default) { - off = function () { - if (document.addEventListener) return function (node, eventName, handler, capture) { - return node.removeEventListener(eventName, handler, capture || false); - };else if (document.attachEvent) return function (node, eventName, handler) { - return node.detachEvent('on' + eventName, handler); - }; - }(); -} - -exports.default = off; -module.exports = exports['default']; - -/***/ }), -/* 113 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @typechecks - * - */ - -/*eslint-disable no-self-compare */ - - - -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 hasOwnProperty = Object.prototype.hasOwnProperty; - -/** - * inlined Object.is polyfill to avoid requiring consumers ship their own - * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is - */ -function is(x, y) { - // SameValue algorithm - if (x === y) { - // Steps 1-5, 7-10 - // Steps 6.b-6.e: +0 != -0 - // Added the nonzero y check to make Flow happy, but it is redundant - return x !== 0 || y !== 0 || 1 / x === 1 / y; - } else { - // Step 6.a: NaN == NaN - return x !== x && y !== y; - } -} - -/** - * Performs equality by iterating through keys on an object and returning false - * when any key has values which are not strictly equal between the arguments. - * Returns true when the values of all keys are strictly equal. - */ -function shallowEqual(objA, objB) { - if (is(objA, objB)) { - return true; - } - - if ((typeof objA === 'undefined' ? 'undefined' : _typeof(objA)) !== 'object' || objA === null || (typeof objB === 'undefined' ? 'undefined' : _typeof(objB)) !== 'object' || objB === null) { - return false; - } - - var keysA = Object.keys(objA); - var keysB = Object.keys(objB); - - if (keysA.length !== keysB.length) { - return false; - } - - // Test for A's keys different from B. - for (var i = 0; i < keysA.length; i++) { - if (!hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) { - return false; - } - } - - return true; -} - -module.exports = shallowEqual; - -/***/ }), -/* 114 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.__esModule = true; -exports.go = exports.replaceLocation = exports.pushLocation = exports.startListener = exports.getUserConfirmation = exports.getCurrentLocation = undefined; - -var _LocationUtils = __webpack_require__(55); - -var _DOMUtils = __webpack_require__(80); - -var _DOMStateStorage = __webpack_require__(175); - -var _PathUtils = __webpack_require__(38); - -var _ExecutionEnvironment = __webpack_require__(115); - -var PopStateEvent = 'popstate'; -var HashChangeEvent = 'hashchange'; - -var needsHashchangeListener = _ExecutionEnvironment.canUseDOM && !(0, _DOMUtils.supportsPopstateOnHashchange)(); - -var _createLocation = function _createLocation(historyState) { - var key = historyState && historyState.key; - - return (0, _LocationUtils.createLocation)({ - pathname: window.location.pathname, - search: window.location.search, - hash: window.location.hash, - state: key ? (0, _DOMStateStorage.readState)(key) : undefined - }, undefined, key); -}; - -var getCurrentLocation = exports.getCurrentLocation = function getCurrentLocation() { - var historyState = void 0; - try { - historyState = window.history.state || {}; - } catch (error) { - // IE 11 sometimes throws when accessing window.history.state - // See https://github.com/ReactTraining/history/pull/289 - historyState = {}; - } - - return _createLocation(historyState); -}; - -var getUserConfirmation = exports.getUserConfirmation = function getUserConfirmation(message, callback) { - return callback(window.confirm(message)); -}; // eslint-disable-line no-alert - -var startListener = exports.startListener = function startListener(listener) { - var handlePopState = function handlePopState(event) { - if ((0, _DOMUtils.isExtraneousPopstateEvent)(event)) // Ignore extraneous popstate events in WebKit - return; - listener(_createLocation(event.state)); - }; - - (0, _DOMUtils.addEventListener)(window, PopStateEvent, handlePopState); - - var handleUnpoppedHashChange = function handleUnpoppedHashChange() { - return listener(getCurrentLocation()); - }; - - if (needsHashchangeListener) { - (0, _DOMUtils.addEventListener)(window, HashChangeEvent, handleUnpoppedHashChange); - } - - return function () { - (0, _DOMUtils.removeEventListener)(window, PopStateEvent, handlePopState); - - if (needsHashchangeListener) { - (0, _DOMUtils.removeEventListener)(window, HashChangeEvent, handleUnpoppedHashChange); - } - }; -}; - -var updateLocation = function updateLocation(location, updateState) { - var state = location.state, - key = location.key; - - if (state !== undefined) (0, _DOMStateStorage.saveState)(key, state); - - updateState({ key: key }, (0, _PathUtils.createPath)(location)); -}; - -var pushLocation = exports.pushLocation = function pushLocation(location) { - return updateLocation(location, function (state, path) { - return window.history.pushState(state, null, path); - }); -}; - -var replaceLocation = exports.replaceLocation = function replaceLocation(location) { - return updateLocation(location, function (state, path) { - return window.history.replaceState(state, null, path); - }); -}; - -var go = exports.go = function go(n) { - if (n) window.history.go(n); -}; - -/***/ }), -/* 115 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.__esModule = true; -var canUseDOM = exports.canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement); - -/***/ }), -/* 116 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.__esModule = true; - -var _AsyncUtils = __webpack_require__(333); - -var _PathUtils = __webpack_require__(38); - -var _runTransitionHook = __webpack_require__(117); - -var _runTransitionHook2 = _interopRequireDefault(_runTransitionHook); - -var _Actions = __webpack_require__(79); - -var _LocationUtils = __webpack_require__(55); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -var createHistory = function createHistory() { - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - var getCurrentLocation = options.getCurrentLocation, - getUserConfirmation = options.getUserConfirmation, - pushLocation = options.pushLocation, - replaceLocation = options.replaceLocation, - go = options.go, - keyLength = options.keyLength; - - var currentLocation = void 0; - var pendingLocation = void 0; - var beforeListeners = []; - var listeners = []; - var allKeys = []; - - var getCurrentIndex = function getCurrentIndex() { - if (pendingLocation && pendingLocation.action === _Actions.POP) return allKeys.indexOf(pendingLocation.key); - - if (currentLocation) return allKeys.indexOf(currentLocation.key); - - return -1; - }; - - var updateLocation = function updateLocation(nextLocation) { - var currentIndex = getCurrentIndex(); - - currentLocation = nextLocation; - - if (currentLocation.action === _Actions.PUSH) { - allKeys = [].concat(allKeys.slice(0, currentIndex + 1), [currentLocation.key]); - } else if (currentLocation.action === _Actions.REPLACE) { - allKeys[currentIndex] = currentLocation.key; - } - - listeners.forEach(function (listener) { - return listener(currentLocation); - }); - }; - - var listenBefore = function listenBefore(listener) { - beforeListeners.push(listener); - - return function () { - return beforeListeners = beforeListeners.filter(function (item) { - return item !== listener; - }); - }; - }; - - var listen = function listen(listener) { - listeners.push(listener); - - return function () { - return listeners = listeners.filter(function (item) { - return item !== listener; - }); - }; - }; - - var confirmTransitionTo = function confirmTransitionTo(location, callback) { - (0, _AsyncUtils.loopAsync)(beforeListeners.length, function (index, next, done) { - (0, _runTransitionHook2.default)(beforeListeners[index], location, function (result) { - return result != null ? done(result) : next(); - }); - }, function (message) { - if (getUserConfirmation && typeof message === 'string') { - getUserConfirmation(message, function (ok) { - return callback(ok !== false); - }); - } else { - callback(message !== false); - } - }); - }; - - var transitionTo = function transitionTo(nextLocation) { - if (currentLocation && (0, _LocationUtils.locationsAreEqual)(currentLocation, nextLocation) || pendingLocation && (0, _LocationUtils.locationsAreEqual)(pendingLocation, nextLocation)) return; // Nothing to do - - pendingLocation = nextLocation; - - confirmTransitionTo(nextLocation, function (ok) { - if (pendingLocation !== nextLocation) return; // Transition was interrupted during confirmation - - pendingLocation = null; - - if (ok) { - // Treat PUSH to same path like REPLACE to be consistent with browsers - if (nextLocation.action === _Actions.PUSH) { - var prevPath = (0, _PathUtils.createPath)(currentLocation); - var nextPath = (0, _PathUtils.createPath)(nextLocation); - - if (nextPath === prevPath && (0, _LocationUtils.statesAreEqual)(currentLocation.state, nextLocation.state)) nextLocation.action = _Actions.REPLACE; - } - - if (nextLocation.action === _Actions.POP) { - updateLocation(nextLocation); - } else if (nextLocation.action === _Actions.PUSH) { - if (pushLocation(nextLocation) !== false) updateLocation(nextLocation); - } else if (nextLocation.action === _Actions.REPLACE) { - if (replaceLocation(nextLocation) !== false) updateLocation(nextLocation); - } - } else if (currentLocation && nextLocation.action === _Actions.POP) { - var prevIndex = allKeys.indexOf(currentLocation.key); - var nextIndex = allKeys.indexOf(nextLocation.key); - - if (prevIndex !== -1 && nextIndex !== -1) go(prevIndex - nextIndex); // Restore the URL - } - }); - }; - - var push = function push(input) { - return transitionTo(createLocation(input, _Actions.PUSH)); - }; - - var replace = function replace(input) { - return transitionTo(createLocation(input, _Actions.REPLACE)); - }; - - var goBack = function goBack() { - return go(-1); - }; - - var goForward = function goForward() { - return go(1); - }; - - var createKey = function createKey() { - return Math.random().toString(36).substr(2, keyLength || 6); - }; - - var createHref = function createHref(location) { - return (0, _PathUtils.createPath)(location); - }; - - var createLocation = function createLocation(location, action) { - var key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : createKey(); - return (0, _LocationUtils.createLocation)(location, action, key); - }; - - return { - getCurrentLocation: getCurrentLocation, - listenBefore: listenBefore, - listen: listen, - transitionTo: transitionTo, - push: push, - replace: replace, - go: go, - goBack: goBack, - goForward: goForward, - createKey: createKey, - createPath: _PathUtils.createPath, - createHref: createHref, - createLocation: createLocation - }; -}; - -exports.default = createHistory; - -/***/ }), -/* 117 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -exports.__esModule = true; - -var _warning = __webpack_require__(16); - -var _warning2 = _interopRequireDefault(_warning); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -var runTransitionHook = function runTransitionHook(hook, location, callback) { - var result = hook(location, callback); - - if (hook.length < 2) { - // Assume the hook runs synchronously and automatically - // call the callback with the return value. - callback(result); - } else { - process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(result === undefined, 'You should not "return" in a transition hook with a callback argument; ' + 'call the callback instead') : void 0; - } -}; - -exports.default = runTransitionHook; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 118 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -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; }; - -// Source: http://jsfiddle.net/vWx8V/ -// http://stackoverflow.com/questions/5603195/full-list-of-javascript-keycodes - -/** - * Conenience method returns corresponding value for given keyName or keyCode. - * - * @param {Mixed} keyCode {Number} or keyName {String} - * @return {Mixed} - * @api public - */ - -exports = module.exports = function (searchInput) { - // Keyboard Events - if (searchInput && 'object' === (typeof searchInput === 'undefined' ? 'undefined' : _typeof(searchInput))) { - var hasKeyCode = searchInput.which || searchInput.keyCode || searchInput.charCode; - if (hasKeyCode) searchInput = hasKeyCode; - } - - // Numbers - if ('number' === typeof searchInput) return names[searchInput]; - - // Everything else (cast to string) - var search = String(searchInput); - - // check codes - var foundNamedKey = codes[search.toLowerCase()]; - if (foundNamedKey) return foundNamedKey; - - // check aliases - var foundNamedKey = aliases[search.toLowerCase()]; - if (foundNamedKey) return foundNamedKey; - - // weird character? - if (search.length === 1) return search.charCodeAt(0); - - return undefined; -}; - -/** - * Get by name - * - * exports.code['enter'] // => 13 - */ - -var codes = exports.code = exports.codes = { - 'backspace': 8, - 'tab': 9, - 'enter': 13, - 'shift': 16, - 'ctrl': 17, - 'alt': 18, - 'pause/break': 19, - 'caps lock': 20, - 'esc': 27, - 'space': 32, - 'page up': 33, - 'page down': 34, - 'end': 35, - 'home': 36, - 'left': 37, - 'up': 38, - 'right': 39, - 'down': 40, - 'insert': 45, - 'delete': 46, - 'command': 91, - 'left command': 91, - 'right command': 93, - 'numpad *': 106, - 'numpad +': 107, - 'numpad -': 109, - 'numpad .': 110, - 'numpad /': 111, - 'num lock': 144, - 'scroll lock': 145, - 'my computer': 182, - 'my calculator': 183, - ';': 186, - '=': 187, - ',': 188, - '-': 189, - '.': 190, - '/': 191, - '`': 192, - '[': 219, - '\\': 220, - ']': 221, - "'": 222 -}; - -// Helper aliases - -var aliases = exports.aliases = { - 'windows': 91, - '⇧': 16, - '⌥': 18, - '⌃': 17, - '⌘': 91, - 'ctl': 17, - 'control': 17, - 'option': 18, - 'pause': 19, - 'break': 19, - 'caps': 20, - 'return': 13, - 'escape': 27, - 'spc': 32, - 'pgup': 33, - 'pgdn': 34, - 'ins': 45, - 'del': 46, - 'cmd': 91 -}; - -/*! - * Programatically add the following - */ - -// lower case chars -for (i = 97; i < 123; i++) { - codes[String.fromCharCode(i)] = i - 32; -} // numbers -for (var i = 48; i < 58; i++) { - codes[i - 48] = i; -} // function keys -for (i = 1; i < 13; i++) { - codes['f' + i] = i + 111; -} // numpad keys -for (i = 0; i < 10; i++) { - codes['numpad ' + i] = i + 96; -} /** - * Get by code - * - * exports.name[13] // => 'Enter' - */ - -var names = exports.names = exports.title = {}; // title for backward compat - -// Create reverse mapping -for (i in codes) { - names[codes[i]] = i; -} // Add aliases -for (var alias in aliases) { - codes[alias] = aliases[alias]; -} - -/***/ }), -/* 119 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _baseGetTag = __webpack_require__(339); - -var _baseGetTag2 = _interopRequireDefault(_baseGetTag); - -var _getPrototype = __webpack_require__(341); - -var _getPrototype2 = _interopRequireDefault(_getPrototype); - -var _isObjectLike = __webpack_require__(346); - -var _isObjectLike2 = _interopRequireDefault(_isObjectLike); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** `Object#toString` result references. */ -var objectTag = '[object Object]'; - -/** Used for built-in method references. */ -var funcProto = Function.prototype, - objectProto = Object.prototype; - -/** Used to resolve the decompiled source of functions. */ -var funcToString = funcProto.toString; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** Used to infer the `Object` constructor. */ -var objectCtorString = funcToString.call(Object); - -/** - * Checks if `value` is a plain object, that is, an object created by the - * `Object` constructor or one with a `[[Prototype]]` of `null`. - * - * @static - * @memberOf _ - * @since 0.8.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a plain object, else `false`. - * @example - * - * function Foo() { - * this.a = 1; - * } - * - * _.isPlainObject(new Foo); - * // => false - * - * _.isPlainObject([1, 2, 3]); - * // => false - * - * _.isPlainObject({ 'x': 0, 'y': 0 }); - * // => true - * - * _.isPlainObject(Object.create(null)); - * // => true - */ -function isPlainObject(value) { - if (!(0, _isObjectLike2.default)(value) || (0, _baseGetTag2.default)(value) != objectTag) { - return false; - } - var proto = (0, _getPrototype2.default)(value); - if (proto === null) { - return true; - } - var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor; - return typeof Ctor == 'function' && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString; -} - -exports.default = isPlainObject; - -/***/ }), -/* 120 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - */ - - - -var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; - -module.exports = ReactPropTypesSecret; - -/***/ }), -/* 121 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _style = __webpack_require__(78); - -var _style2 = _interopRequireDefault(_style); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _Transition = __webpack_require__(225); - -var _Transition2 = _interopRequireDefault(_Transition); - -var _capitalize = __webpack_require__(201); - -var _capitalize2 = _interopRequireDefault(_capitalize); - -var _createChainedFunction = __webpack_require__(19); - -var _createChainedFunction2 = _interopRequireDefault(_createChainedFunction); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var MARGINS = { - height: ['marginTop', 'marginBottom'], - width: ['marginLeft', 'marginRight'] -}; - -// reading a dimension prop will cause the browser to recalculate, -// which will let our animations work -function triggerBrowserReflow(node) { - node.offsetHeight; // eslint-disable-line no-unused-expressions -} - -function getDimensionValue(dimension, elem) { - var value = elem['offset' + (0, _capitalize2.default)(dimension)]; - var margins = MARGINS[dimension]; - - return value + parseInt((0, _style2.default)(elem, margins[0]), 10) + parseInt((0, _style2.default)(elem, margins[1]), 10); -} - -var propTypes = { - /** - * Show the component; triggers the expand or collapse animation - */ - 'in': _propTypes2.default.bool, - - /** - * Wait until the first "enter" transition to mount the component (add it to the DOM) - */ - mountOnEnter: _propTypes2.default.bool, - - /** - * Unmount the component (remove it from the DOM) when it is collapsed - */ - unmountOnExit: _propTypes2.default.bool, - - /** - * Run the expand animation when the component mounts, if it is initially - * shown - */ - transitionAppear: _propTypes2.default.bool, - - /** - * Duration of the collapse animation in milliseconds, to ensure that - * finishing callbacks are fired even if the original browser transition end - * events are canceled - */ - timeout: _propTypes2.default.number, - - /** - * Callback fired before the component expands - */ - onEnter: _propTypes2.default.func, - /** - * Callback fired after the component starts to expand - */ - onEntering: _propTypes2.default.func, - /** - * Callback fired after the component has expanded - */ - onEntered: _propTypes2.default.func, - /** - * Callback fired before the component collapses - */ - onExit: _propTypes2.default.func, - /** - * Callback fired after the component starts to collapse - */ - onExiting: _propTypes2.default.func, - /** - * Callback fired after the component has collapsed - */ - onExited: _propTypes2.default.func, - - /** - * The dimension used when collapsing, or a function that returns the - * dimension - * - * _Note: Bootstrap only partially supports 'width'! - * You will need to supply your own CSS animation for the `.width` CSS class._ - */ - dimension: _propTypes2.default.oneOfType([_propTypes2.default.oneOf(['height', 'width']), _propTypes2.default.func]), - - /** - * Function that returns the height or width of the animating DOM node - * - * Allows for providing some custom logic for how much the Collapse component - * should animate in its specified dimension. Called with the current - * dimension prop value and the DOM node. - */ - getDimensionValue: _propTypes2.default.func, - - /** - * ARIA role of collapsible element - */ - role: _propTypes2.default.string -}; - -var defaultProps = { - 'in': false, - timeout: 300, - mountOnEnter: false, - unmountOnExit: false, - transitionAppear: false, - - dimension: 'height', - getDimensionValue: getDimensionValue -}; - -var Collapse = function (_React$Component) { - (0, _inherits3.default)(Collapse, _React$Component); - - function Collapse(props, context) { - (0, _classCallCheck3.default)(this, Collapse); - - var _this = (0, _possibleConstructorReturn3.default)(this, _React$Component.call(this, props, context)); - - _this.handleEnter = _this.handleEnter.bind(_this); - _this.handleEntering = _this.handleEntering.bind(_this); - _this.handleEntered = _this.handleEntered.bind(_this); - _this.handleExit = _this.handleExit.bind(_this); - _this.handleExiting = _this.handleExiting.bind(_this); - return _this; - } - - /* -- Expanding -- */ - - Collapse.prototype.handleEnter = function handleEnter(elem) { - var dimension = this._dimension(); - elem.style[dimension] = '0'; - }; - - Collapse.prototype.handleEntering = function handleEntering(elem) { - var dimension = this._dimension(); - elem.style[dimension] = this._getScrollDimensionValue(elem, dimension); - }; - - Collapse.prototype.handleEntered = function handleEntered(elem) { - var dimension = this._dimension(); - elem.style[dimension] = null; - }; - - /* -- Collapsing -- */ - - Collapse.prototype.handleExit = function handleExit(elem) { - var dimension = this._dimension(); - elem.style[dimension] = this.props.getDimensionValue(dimension, elem) + 'px'; - triggerBrowserReflow(elem); - }; - - Collapse.prototype.handleExiting = function handleExiting(elem) { - var dimension = this._dimension(); - elem.style[dimension] = '0'; - }; - - Collapse.prototype._dimension = function _dimension() { - return typeof this.props.dimension === 'function' ? this.props.dimension() : this.props.dimension; - }; - - // for testing - - - Collapse.prototype._getScrollDimensionValue = function _getScrollDimensionValue(elem, dimension) { - return elem['scroll' + (0, _capitalize2.default)(dimension)] + 'px'; - }; - - Collapse.prototype.render = function render() { - var _props = this.props, - onEnter = _props.onEnter, - onEntering = _props.onEntering, - onEntered = _props.onEntered, - onExit = _props.onExit, - onExiting = _props.onExiting, - className = _props.className, - props = (0, _objectWithoutProperties3.default)(_props, ['onEnter', 'onEntering', 'onEntered', 'onExit', 'onExiting', 'className']); - - delete props.dimension; - delete props.getDimensionValue; - - var handleEnter = (0, _createChainedFunction2.default)(this.handleEnter, onEnter); - var handleEntering = (0, _createChainedFunction2.default)(this.handleEntering, onEntering); - var handleEntered = (0, _createChainedFunction2.default)(this.handleEntered, onEntered); - var handleExit = (0, _createChainedFunction2.default)(this.handleExit, onExit); - var handleExiting = (0, _createChainedFunction2.default)(this.handleExiting, onExiting); - - var classes = { - width: this._dimension() === 'width' - }; - - return _react2.default.createElement(_Transition2.default, (0, _extends3.default)({}, props, { - 'aria-expanded': props.role ? props['in'] : null, - className: (0, _classnames2.default)(className, classes), - exitedClassName: 'collapse', - exitingClassName: 'collapsing', - enteredClassName: 'collapse in', - enteringClassName: 'collapsing', - onEnter: handleEnter, - onEntering: handleEntering, - onEntered: handleEntered, - onExit: handleExit, - onExiting: handleExiting - })); - }; - - return Collapse; -}(_react2.default.Component); - -Collapse.propTypes = propTypes; -Collapse.defaultProps = defaultProps; - -exports.default = Collapse; - -/***/ }), -/* 122 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends3 = __webpack_require__(5); - -var _extends4 = _interopRequireDefault(_extends3); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _bootstrapUtils = __webpack_require__(9); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - /** - * An icon name without "glyphicon-" prefix. See e.g. http://getbootstrap.com/components/#glyphicons - */ - glyph: _propTypes2.default.string.isRequired -}; - -var Glyphicon = function (_React$Component) { - (0, _inherits3.default)(Glyphicon, _React$Component); - - function Glyphicon() { - (0, _classCallCheck3.default)(this, Glyphicon); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - Glyphicon.prototype.render = function render() { - var _extends2; - - var _props = this.props, - glyph = _props.glyph, - className = _props.className, - props = (0, _objectWithoutProperties3.default)(_props, ['glyph', 'className']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var classes = (0, _extends4.default)({}, (0, _bootstrapUtils.getClassSet)(bsProps), (_extends2 = {}, _extends2[(0, _bootstrapUtils.prefix)(bsProps, glyph)] = true, _extends2)); - - return _react2.default.createElement('span', (0, _extends4.default)({}, elementProps, { - className: (0, _classnames2.default)(className, classes) - })); - }; - - return Glyphicon; -}(_react2.default.Component); - -Glyphicon.propTypes = propTypes; - -exports.default = (0, _bootstrapUtils.bsClass)('glyphicon', Glyphicon); - -/***/ }), -/* 123 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _elementType = __webpack_require__(13); - -var _elementType2 = _interopRequireDefault(_elementType); - -var _MediaBody = __webpack_require__(376); - -var _MediaBody2 = _interopRequireDefault(_MediaBody); - -var _MediaHeading = __webpack_require__(377); - -var _MediaHeading2 = _interopRequireDefault(_MediaHeading); - -var _MediaLeft = __webpack_require__(378); - -var _MediaLeft2 = _interopRequireDefault(_MediaLeft); - -var _MediaList = __webpack_require__(379); - -var _MediaList2 = _interopRequireDefault(_MediaList); - -var _MediaListItem = __webpack_require__(380); - -var _MediaListItem2 = _interopRequireDefault(_MediaListItem); - -var _MediaRight = __webpack_require__(381); - -var _MediaRight2 = _interopRequireDefault(_MediaRight); - -var _bootstrapUtils = __webpack_require__(9); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - componentClass: _elementType2.default -}; - -var defaultProps = { - componentClass: 'div' -}; - -var Media = function (_React$Component) { - (0, _inherits3.default)(Media, _React$Component); - - function Media() { - (0, _classCallCheck3.default)(this, Media); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - Media.prototype.render = function render() { - var _props = this.props, - Component = _props.componentClass, - className = _props.className, - props = (0, _objectWithoutProperties3.default)(_props, ['componentClass', 'className']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var classes = (0, _bootstrapUtils.getClassSet)(bsProps); - - return _react2.default.createElement(Component, (0, _extends3.default)({}, elementProps, { - className: (0, _classnames2.default)(className, classes) - })); - }; - - return Media; -}(_react2.default.Component); - -Media.propTypes = propTypes; -Media.defaultProps = defaultProps; - -Media.Heading = _MediaHeading2.default; -Media.Body = _MediaBody2.default; -Media.Left = _MediaLeft2.default; -Media.Right = _MediaRight2.default; -Media.List = _MediaList2.default; -Media.ListItem = _MediaListItem2.default; - -exports.default = (0, _bootstrapUtils.bsClass)('media', Media); - -/***/ }), -/* 124 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _uncontrollable = __webpack_require__(94); - -var _uncontrollable2 = _interopRequireDefault(_uncontrollable); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var TAB = 'tab'; -var PANE = 'pane'; - -var idPropType = _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]); - -var propTypes = { - /** - * HTML id attribute, required if no `generateChildId` prop - * is specified. - */ - id: function id(props) { - var error = null; - - if (!props.generateChildId) { - for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - args[_key - 1] = arguments[_key]; - } - - error = idPropType.apply(undefined, [props].concat(args)); - - if (!error && !props.id) { - error = new Error('In order to properly initialize Tabs in a way that is accessible ' + 'to assistive technologies (such as screen readers) an `id` or a ' + '`generateChildId` prop to TabContainer is required'); - } - } - - return error; - }, - - /** - * A function that takes an `eventKey` and `type` and returns a unique id for - * child tab ``s and ``s. The function _must_ be a pure - * function, meaning it should always return the _same_ id for the same set - * of inputs. The default value requires that an `id` to be set for the - * ``. - * - * The `type` argument will either be `"tab"` or `"pane"`. - * - * @defaultValue (eventKey, type) => `${this.props.id}-${type}-${key}` - */ - generateChildId: _propTypes2.default.func, - - /** - * A callback fired when a tab is selected. - * - * @controllable activeKey - */ - onSelect: _propTypes2.default.func, - - /** - * The `eventKey` of the currently active tab. - * - * @controllable onSelect - */ - activeKey: _propTypes2.default.any -}; - -var childContextTypes = { - $bs_tabContainer: _propTypes2.default.shape({ - activeKey: _propTypes2.default.any, - onSelect: _propTypes2.default.func.isRequired, - getTabId: _propTypes2.default.func.isRequired, - getPaneId: _propTypes2.default.func.isRequired - }) -}; - -var TabContainer = function (_React$Component) { - (0, _inherits3.default)(TabContainer, _React$Component); - - function TabContainer() { - (0, _classCallCheck3.default)(this, TabContainer); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - TabContainer.prototype.getChildContext = function getChildContext() { - var _props = this.props, - activeKey = _props.activeKey, - onSelect = _props.onSelect, - generateChildId = _props.generateChildId, - id = _props.id; - - var getId = generateChildId || function (key, type) { - return id ? id + '-' + type + '-' + key : null; - }; - - return { - $bs_tabContainer: { - activeKey: activeKey, - onSelect: onSelect, - getTabId: function getTabId(key) { - return getId(key, TAB); - }, - getPaneId: function getPaneId(key) { - return getId(key, PANE); - } - } - }; - }; - - TabContainer.prototype.render = function render() { - var _props2 = this.props, - children = _props2.children, - props = (0, _objectWithoutProperties3.default)(_props2, ['children']); - - delete props.generateChildId; - delete props.onSelect; - delete props.activeKey; - - return _react2.default.cloneElement(_react2.default.Children.only(children), props); - }; - - return TabContainer; -}(_react2.default.Component); - -TabContainer.propTypes = propTypes; -TabContainer.childContextTypes = childContextTypes; - -exports.default = (0, _uncontrollable2.default)(TabContainer, { activeKey: 'onSelect' }); - -/***/ }), -/* 125 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _elementType = __webpack_require__(13); - -var _elementType2 = _interopRequireDefault(_elementType); - -var _bootstrapUtils = __webpack_require__(9); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - componentClass: _elementType2.default, - - /** - * Sets a default animation strategy for all children ``s. Use - * `false` to disable, `true` to enable the default `` animation or any - * `` component. - */ - animation: _propTypes2.default.oneOfType([_propTypes2.default.bool, _elementType2.default]), - - /** - * Wait until the first "enter" transition to mount tabs (add them to the DOM) - */ - mountOnEnter: _propTypes2.default.bool, - - /** - * Unmount tabs (remove it from the DOM) when they are no longer visible - */ - unmountOnExit: _propTypes2.default.bool -}; - -var defaultProps = { - componentClass: 'div', - animation: true, - mountOnEnter: false, - unmountOnExit: false -}; - -var contextTypes = { - $bs_tabContainer: _propTypes2.default.shape({ - activeKey: _propTypes2.default.any - }) -}; - -var childContextTypes = { - $bs_tabContent: _propTypes2.default.shape({ - bsClass: _propTypes2.default.string, - animation: _propTypes2.default.oneOfType([_propTypes2.default.bool, _elementType2.default]), - activeKey: _propTypes2.default.any, - mountOnEnter: _propTypes2.default.bool, - unmountOnExit: _propTypes2.default.bool, - onPaneEnter: _propTypes2.default.func.isRequired, - onPaneExited: _propTypes2.default.func.isRequired, - exiting: _propTypes2.default.bool.isRequired - }) -}; - -var TabContent = function (_React$Component) { - (0, _inherits3.default)(TabContent, _React$Component); - - function TabContent(props, context) { - (0, _classCallCheck3.default)(this, TabContent); - - var _this = (0, _possibleConstructorReturn3.default)(this, _React$Component.call(this, props, context)); - - _this.handlePaneEnter = _this.handlePaneEnter.bind(_this); - _this.handlePaneExited = _this.handlePaneExited.bind(_this); - - // Active entries in state will be `null` unless `animation` is set. Need - // to track active child in case keys swap and the active child changes - // but the active key does not. - _this.state = { - activeKey: null, - activeChild: null - }; - return _this; - } - - TabContent.prototype.getChildContext = function getChildContext() { - var _props = this.props, - bsClass = _props.bsClass, - animation = _props.animation, - mountOnEnter = _props.mountOnEnter, - unmountOnExit = _props.unmountOnExit; - - var stateActiveKey = this.state.activeKey; - var containerActiveKey = this.getContainerActiveKey(); - - var activeKey = stateActiveKey != null ? stateActiveKey : containerActiveKey; - var exiting = stateActiveKey != null && stateActiveKey !== containerActiveKey; - - return { - $bs_tabContent: { - bsClass: bsClass, - animation: animation, - activeKey: activeKey, - mountOnEnter: mountOnEnter, - unmountOnExit: unmountOnExit, - onPaneEnter: this.handlePaneEnter, - onPaneExited: this.handlePaneExited, - exiting: exiting - } - }; - }; - - TabContent.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) { - if (!nextProps.animation && this.state.activeChild) { - this.setState({ activeKey: null, activeChild: null }); - } - }; - - TabContent.prototype.componentWillUnmount = function componentWillUnmount() { - this.isUnmounted = true; - }; - - TabContent.prototype.handlePaneEnter = function handlePaneEnter(child, childKey) { - if (!this.props.animation) { - return false; - } - - // It's possible that this child should be transitioning out. - if (childKey !== this.getContainerActiveKey()) { - return false; - } - - this.setState({ - activeKey: childKey, - activeChild: child - }); - - return true; - }; - - TabContent.prototype.handlePaneExited = function handlePaneExited(child) { - // This might happen as everything is unmounting. - if (this.isUnmounted) { - return; - } - - this.setState(function (_ref) { - var activeChild = _ref.activeChild; - - if (activeChild !== child) { - return null; - } - - return { - activeKey: null, - activeChild: null - }; - }); - }; - - TabContent.prototype.getContainerActiveKey = function getContainerActiveKey() { - var tabContainer = this.context.$bs_tabContainer; - return tabContainer && tabContainer.activeKey; - }; - - TabContent.prototype.render = function render() { - var _props2 = this.props, - Component = _props2.componentClass, - className = _props2.className, - props = (0, _objectWithoutProperties3.default)(_props2, ['componentClass', 'className']); - - var _splitBsPropsAndOmit = (0, _bootstrapUtils.splitBsPropsAndOmit)(props, ['animation', 'mountOnEnter', 'unmountOnExit']), - bsProps = _splitBsPropsAndOmit[0], - elementProps = _splitBsPropsAndOmit[1]; - - return _react2.default.createElement(Component, (0, _extends3.default)({}, elementProps, { - className: (0, _classnames2.default)(className, (0, _bootstrapUtils.prefix)(bsProps, 'content')) - })); - }; - - return TabContent; -}(_react2.default.Component); - -TabContent.propTypes = propTypes; -TabContent.defaultProps = defaultProps; -TabContent.contextTypes = contextTypes; -TabContent.childContextTypes = childContextTypes; - -exports.default = (0, _bootstrapUtils.bsClass)('tab', TabContent); - -/***/ }), -/* 126 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -var DOMLazyTree = __webpack_require__(57); -var Danger = __webpack_require__(418); -var ReactDOMComponentTree = __webpack_require__(15); -var ReactInstrumentation = __webpack_require__(25); - -var createMicrosoftUnsafeLocalFunction = __webpack_require__(134); -var setInnerHTML = __webpack_require__(89); -var setTextContent = __webpack_require__(221); - -function getNodeAfter(parentNode, node) { - // Special case for text components, which return [open, close] comments - // from getHostNode. - if (Array.isArray(node)) { - node = node[1]; - } - return node ? node.nextSibling : parentNode.firstChild; -} - -/** - * Inserts `childNode` as a child of `parentNode` at the `index`. - * - * @param {DOMElement} parentNode Parent node in which to insert. - * @param {DOMElement} childNode Child node to insert. - * @param {number} index Index at which to insert the child. - * @internal - */ -var insertChildAt = createMicrosoftUnsafeLocalFunction(function (parentNode, childNode, referenceNode) { - // We rely exclusively on `insertBefore(node, null)` instead of also using - // `appendChild(node)`. (Using `undefined` is not allowed by all browsers so - // we are careful to use `null`.) - parentNode.insertBefore(childNode, referenceNode); -}); - -function insertLazyTreeChildAt(parentNode, childTree, referenceNode) { - DOMLazyTree.insertTreeBefore(parentNode, childTree, referenceNode); -} - -function moveChild(parentNode, childNode, referenceNode) { - if (Array.isArray(childNode)) { - moveDelimitedText(parentNode, childNode[0], childNode[1], referenceNode); - } else { - insertChildAt(parentNode, childNode, referenceNode); - } -} - -function removeChild(parentNode, childNode) { - if (Array.isArray(childNode)) { - var closingComment = childNode[1]; - childNode = childNode[0]; - removeDelimitedText(parentNode, childNode, closingComment); - parentNode.removeChild(closingComment); - } - parentNode.removeChild(childNode); -} - -function moveDelimitedText(parentNode, openingComment, closingComment, referenceNode) { - var node = openingComment; - while (true) { - var nextNode = node.nextSibling; - insertChildAt(parentNode, node, referenceNode); - if (node === closingComment) { - break; - } - node = nextNode; - } -} - -function removeDelimitedText(parentNode, startNode, closingComment) { - while (true) { - var node = startNode.nextSibling; - if (node === closingComment) { - // The closing comment is removed by ReactMultiChild. - break; - } else { - parentNode.removeChild(node); - } - } -} - -function replaceDelimitedText(openingComment, closingComment, stringText) { - var parentNode = openingComment.parentNode; - var nodeAfterComment = openingComment.nextSibling; - if (nodeAfterComment === closingComment) { - // There are no text nodes between the opening and closing comments; insert - // a new one if stringText isn't empty. - if (stringText) { - insertChildAt(parentNode, document.createTextNode(stringText), nodeAfterComment); - } - } else { - if (stringText) { - // Set the text content of the first node after the opening comment, and - // remove all following nodes up until the closing comment. - setTextContent(nodeAfterComment, stringText); - removeDelimitedText(parentNode, nodeAfterComment, closingComment); - } else { - removeDelimitedText(parentNode, openingComment, closingComment); - } - } - - if (process.env.NODE_ENV !== 'production') { - ReactInstrumentation.debugTool.onHostOperation({ - instanceID: ReactDOMComponentTree.getInstanceFromNode(openingComment)._debugID, - type: 'replace text', - payload: stringText - }); - } -} - -var dangerouslyReplaceNodeWithMarkup = Danger.dangerouslyReplaceNodeWithMarkup; -if (process.env.NODE_ENV !== 'production') { - dangerouslyReplaceNodeWithMarkup = function dangerouslyReplaceNodeWithMarkup(oldChild, markup, prevInstance) { - Danger.dangerouslyReplaceNodeWithMarkup(oldChild, markup); - if (prevInstance._debugID !== 0) { - ReactInstrumentation.debugTool.onHostOperation({ - instanceID: prevInstance._debugID, - type: 'replace with', - payload: markup.toString() - }); - } else { - var nextInstance = ReactDOMComponentTree.getInstanceFromNode(markup.node); - if (nextInstance._debugID !== 0) { - ReactInstrumentation.debugTool.onHostOperation({ - instanceID: nextInstance._debugID, - type: 'mount', - payload: markup.toString() - }); - } - } - }; -} - -/** - * Operations for updating with DOM children. - */ -var DOMChildrenOperations = { - - dangerouslyReplaceNodeWithMarkup: dangerouslyReplaceNodeWithMarkup, - - replaceDelimitedText: replaceDelimitedText, - - /** - * Updates a component's children by processing a series of updates. The - * update configurations are each expected to have a `parentNode` property. - * - * @param {array} updates List of update configurations. - * @internal - */ - processUpdates: function processUpdates(parentNode, updates) { - if (process.env.NODE_ENV !== 'production') { - var parentNodeDebugID = ReactDOMComponentTree.getInstanceFromNode(parentNode)._debugID; - } - - for (var k = 0; k < updates.length; k++) { - var update = updates[k]; - switch (update.type) { - case 'INSERT_MARKUP': - insertLazyTreeChildAt(parentNode, update.content, getNodeAfter(parentNode, update.afterNode)); - if (process.env.NODE_ENV !== 'production') { - ReactInstrumentation.debugTool.onHostOperation({ - instanceID: parentNodeDebugID, - type: 'insert child', - payload: { toIndex: update.toIndex, content: update.content.toString() } - }); - } - break; - case 'MOVE_EXISTING': - moveChild(parentNode, update.fromNode, getNodeAfter(parentNode, update.afterNode)); - if (process.env.NODE_ENV !== 'production') { - ReactInstrumentation.debugTool.onHostOperation({ - instanceID: parentNodeDebugID, - type: 'move child', - payload: { fromIndex: update.fromIndex, toIndex: update.toIndex } - }); - } - break; - case 'SET_MARKUP': - setInnerHTML(parentNode, update.content); - if (process.env.NODE_ENV !== 'production') { - ReactInstrumentation.debugTool.onHostOperation({ - instanceID: parentNodeDebugID, - type: 'replace children', - payload: update.content.toString() - }); - } - break; - case 'TEXT_CONTENT': - setTextContent(parentNode, update.content); - if (process.env.NODE_ENV !== 'production') { - ReactInstrumentation.debugTool.onHostOperation({ - instanceID: parentNodeDebugID, - type: 'replace text', - payload: update.content.toString() - }); - } - break; - case 'REMOVE_NODE': - removeChild(parentNode, update.fromNode); - if (process.env.NODE_ENV !== 'production') { - ReactInstrumentation.debugTool.onHostOperation({ - instanceID: parentNodeDebugID, - type: 'remove child', - payload: { fromIndex: update.fromIndex } - }); - } - break; - } - } - } - -}; - -module.exports = DOMChildrenOperations; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 127 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var DOMNamespaces = { - html: 'http://www.w3.org/1999/xhtml', - mathml: 'http://www.w3.org/1998/Math/MathML', - svg: 'http://www.w3.org/2000/svg' -}; - -module.exports = DOMNamespaces; - -/***/ }), -/* 128 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -var _prodInvariant = __webpack_require__(12); - -var ReactErrorUtils = __webpack_require__(132); - -var invariant = __webpack_require__(10); -var warning = __webpack_require__(11); - -/** - * Injected dependencies: - */ - -/** - * - `ComponentTree`: [required] Module that can convert between React instances - * and actual node references. - */ -var ComponentTree; -var TreeTraversal; -var injection = { - injectComponentTree: function injectComponentTree(Injected) { - ComponentTree = Injected; - if (process.env.NODE_ENV !== 'production') { - process.env.NODE_ENV !== 'production' ? warning(Injected && Injected.getNodeFromInstance && Injected.getInstanceFromNode, 'EventPluginUtils.injection.injectComponentTree(...): Injected ' + 'module is missing getNodeFromInstance or getInstanceFromNode.') : void 0; - } - }, - injectTreeTraversal: function injectTreeTraversal(Injected) { - TreeTraversal = Injected; - if (process.env.NODE_ENV !== 'production') { - process.env.NODE_ENV !== 'production' ? warning(Injected && Injected.isAncestor && Injected.getLowestCommonAncestor, 'EventPluginUtils.injection.injectTreeTraversal(...): Injected ' + 'module is missing isAncestor or getLowestCommonAncestor.') : void 0; - } - } -}; - -function isEndish(topLevelType) { - return topLevelType === 'topMouseUp' || topLevelType === 'topTouchEnd' || topLevelType === 'topTouchCancel'; -} - -function isMoveish(topLevelType) { - return topLevelType === 'topMouseMove' || topLevelType === 'topTouchMove'; -} -function isStartish(topLevelType) { - return topLevelType === 'topMouseDown' || topLevelType === 'topTouchStart'; -} - -var validateEventDispatches; -if (process.env.NODE_ENV !== 'production') { - validateEventDispatches = function validateEventDispatches(event) { - var dispatchListeners = event._dispatchListeners; - var dispatchInstances = event._dispatchInstances; - - var listenersIsArr = Array.isArray(dispatchListeners); - var listenersLen = listenersIsArr ? dispatchListeners.length : dispatchListeners ? 1 : 0; - - var instancesIsArr = Array.isArray(dispatchInstances); - var instancesLen = instancesIsArr ? dispatchInstances.length : dispatchInstances ? 1 : 0; - - process.env.NODE_ENV !== 'production' ? warning(instancesIsArr === listenersIsArr && instancesLen === listenersLen, 'EventPluginUtils: Invalid `event`.') : void 0; - }; -} - -/** - * Dispatch the event to the listener. - * @param {SyntheticEvent} event SyntheticEvent to handle - * @param {boolean} simulated If the event is simulated (changes exn behavior) - * @param {function} listener Application-level callback - * @param {*} inst Internal component instance - */ -function executeDispatch(event, simulated, listener, inst) { - var type = event.type || 'unknown-event'; - event.currentTarget = EventPluginUtils.getNodeFromInstance(inst); - if (simulated) { - ReactErrorUtils.invokeGuardedCallbackWithCatch(type, listener, event); - } else { - ReactErrorUtils.invokeGuardedCallback(type, listener, event); - } - event.currentTarget = null; -} - -/** - * Standard/simple iteration through an event's collected dispatches. - */ -function executeDispatchesInOrder(event, simulated) { - var dispatchListeners = event._dispatchListeners; - var dispatchInstances = event._dispatchInstances; - if (process.env.NODE_ENV !== 'production') { - validateEventDispatches(event); - } - if (Array.isArray(dispatchListeners)) { - for (var i = 0; i < dispatchListeners.length; i++) { - if (event.isPropagationStopped()) { - break; - } - // Listeners and Instances are two parallel arrays that are always in sync. - executeDispatch(event, simulated, dispatchListeners[i], dispatchInstances[i]); - } - } else if (dispatchListeners) { - executeDispatch(event, simulated, dispatchListeners, dispatchInstances); - } - event._dispatchListeners = null; - event._dispatchInstances = null; -} - -/** - * Standard/simple iteration through an event's collected dispatches, but stops - * at the first dispatch execution returning true, and returns that id. - * - * @return {?string} id of the first dispatch execution who's listener returns - * true, or null if no listener returned true. - */ -function executeDispatchesInOrderStopAtTrueImpl(event) { - var dispatchListeners = event._dispatchListeners; - var dispatchInstances = event._dispatchInstances; - if (process.env.NODE_ENV !== 'production') { - validateEventDispatches(event); - } - if (Array.isArray(dispatchListeners)) { - for (var i = 0; i < dispatchListeners.length; i++) { - if (event.isPropagationStopped()) { - break; - } - // Listeners and Instances are two parallel arrays that are always in sync. - if (dispatchListeners[i](event, dispatchInstances[i])) { - return dispatchInstances[i]; - } - } - } else if (dispatchListeners) { - if (dispatchListeners(event, dispatchInstances)) { - return dispatchInstances; - } - } - return null; -} - -/** - * @see executeDispatchesInOrderStopAtTrueImpl - */ -function executeDispatchesInOrderStopAtTrue(event) { - var ret = executeDispatchesInOrderStopAtTrueImpl(event); - event._dispatchInstances = null; - event._dispatchListeners = null; - return ret; -} - -/** - * Execution of a "direct" dispatch - there must be at most one dispatch - * accumulated on the event or it is considered an error. It doesn't really make - * sense for an event with multiple dispatches (bubbled) to keep track of the - * return values at each dispatch execution, but it does tend to make sense when - * dealing with "direct" dispatches. - * - * @return {*} The return value of executing the single dispatch. - */ -function executeDirectDispatch(event) { - if (process.env.NODE_ENV !== 'production') { - validateEventDispatches(event); - } - var dispatchListener = event._dispatchListeners; - var dispatchInstance = event._dispatchInstances; - !!Array.isArray(dispatchListener) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'executeDirectDispatch(...): Invalid `event`.') : _prodInvariant('103') : void 0; - event.currentTarget = dispatchListener ? EventPluginUtils.getNodeFromInstance(dispatchInstance) : null; - var res = dispatchListener ? dispatchListener(event) : null; - event.currentTarget = null; - event._dispatchListeners = null; - event._dispatchInstances = null; - return res; -} - -/** - * @param {SyntheticEvent} event - * @return {boolean} True iff number of dispatches accumulated is greater than 0. - */ -function hasDispatches(event) { - return !!event._dispatchListeners; -} - -/** - * General utilities that are useful in creating custom Event Plugins. - */ -var EventPluginUtils = { - isEndish: isEndish, - isMoveish: isMoveish, - isStartish: isStartish, - - executeDirectDispatch: executeDirectDispatch, - executeDispatchesInOrder: executeDispatchesInOrder, - executeDispatchesInOrderStopAtTrue: executeDispatchesInOrderStopAtTrue, - hasDispatches: hasDispatches, - - getInstanceFromNode: function getInstanceFromNode(node) { - return ComponentTree.getInstanceFromNode(node); - }, - getNodeFromInstance: function getNodeFromInstance(node) { - return ComponentTree.getNodeFromInstance(node); - }, - isAncestor: function isAncestor(a, b) { - return TreeTraversal.isAncestor(a, b); - }, - getLowestCommonAncestor: function getLowestCommonAncestor(a, b) { - return TreeTraversal.getLowestCommonAncestor(a, b); - }, - getParentInstance: function getParentInstance(inst) { - return TreeTraversal.getParentInstance(inst); - }, - traverseTwoPhase: function traverseTwoPhase(target, fn, arg) { - return TreeTraversal.traverseTwoPhase(target, fn, arg); - }, - traverseEnterLeave: function traverseEnterLeave(from, to, fn, argFrom, argTo) { - return TreeTraversal.traverseEnterLeave(from, to, fn, argFrom, argTo); - }, - - injection: injection -}; - -module.exports = EventPluginUtils; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 129 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - * - */ - - - -/** - * Escape and wrap key so it is safe to use as a reactid - * - * @param {string} key to be escaped. - * @return {string} the escaped key. - */ - -function escape(key) { - var escapeRegex = /[=:]/g; - var escaperLookup = { - '=': '=0', - ':': '=2' - }; - var escapedString = ('' + key).replace(escapeRegex, function (match) { - return escaperLookup[match]; - }); - - return '$' + escapedString; -} - -/** - * Unescape and unwrap key for human-readable display - * - * @param {string} key to unescape. - * @return {string} the unescaped key. - */ -function unescape(key) { - var unescapeRegex = /(=0|=2)/g; - var unescaperLookup = { - '=0': '=', - '=2': ':' - }; - var keySubstring = key[0] === '.' && key[1] === '$' ? key.substring(2) : key.substring(1); - - return ('' + keySubstring).replace(unescapeRegex, function (match) { - return unescaperLookup[match]; - }); -} - -var KeyEscapeUtils = { - escape: escape, - unescape: unescape -}; - -module.exports = KeyEscapeUtils; - -/***/ }), -/* 130 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -var _prodInvariant = __webpack_require__(12); - -var ReactPropTypesSecret = __webpack_require__(213); -var propTypesFactory = __webpack_require__(180); - -var React = __webpack_require__(61); -var PropTypes = propTypesFactory(React.isValidElement); - -var invariant = __webpack_require__(10); -var warning = __webpack_require__(11); - -var hasReadOnlyValue = { - 'button': true, - 'checkbox': true, - 'image': true, - 'hidden': true, - 'radio': true, - 'reset': true, - 'submit': true -}; - -function _assertSingleLink(inputProps) { - !(inputProps.checkedLink == null || inputProps.valueLink == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Cannot provide a checkedLink and a valueLink. If you want to use checkedLink, you probably don\'t want to use valueLink and vice versa.') : _prodInvariant('87') : void 0; -} -function _assertValueLink(inputProps) { - _assertSingleLink(inputProps); - !(inputProps.value == null && inputProps.onChange == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Cannot provide a valueLink and a value or onChange event. If you want to use value or onChange, you probably don\'t want to use valueLink.') : _prodInvariant('88') : void 0; -} - -function _assertCheckedLink(inputProps) { - _assertSingleLink(inputProps); - !(inputProps.checked == null && inputProps.onChange == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Cannot provide a checkedLink and a checked property or onChange event. If you want to use checked or onChange, you probably don\'t want to use checkedLink') : _prodInvariant('89') : void 0; -} - -var propTypes = { - value: function value(props, propName, componentName) { - if (!props[propName] || hasReadOnlyValue[props.type] || props.onChange || props.readOnly || props.disabled) { - return null; - } - return new Error('You provided a `value` prop to a form field without an ' + '`onChange` handler. This will render a read-only field. If ' + 'the field should be mutable use `defaultValue`. Otherwise, ' + 'set either `onChange` or `readOnly`.'); - }, - checked: function checked(props, propName, componentName) { - if (!props[propName] || props.onChange || props.readOnly || props.disabled) { - return null; - } - return new Error('You provided a `checked` prop to a form field without an ' + '`onChange` handler. This will render a read-only field. If ' + 'the field should be mutable use `defaultChecked`. Otherwise, ' + 'set either `onChange` or `readOnly`.'); - }, - onChange: PropTypes.func -}; - -var loggedTypeFailures = {}; -function getDeclarationErrorAddendum(owner) { - if (owner) { - var name = owner.getName(); - if (name) { - return ' Check the render method of `' + name + '`.'; - } - } - return ''; -} - -/** - * Provide a linked `value` attribute for controlled forms. You should not use - * this outside of the ReactDOM controlled form components. - */ -var LinkedValueUtils = { - checkPropTypes: function checkPropTypes(tagName, props, owner) { - for (var propName in propTypes) { - if (propTypes.hasOwnProperty(propName)) { - var error = propTypes[propName](props, propName, tagName, 'prop', null, ReactPropTypesSecret); - } - 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; - - var addendum = getDeclarationErrorAddendum(owner); - process.env.NODE_ENV !== 'production' ? warning(false, 'Failed form propType: %s%s', error.message, addendum) : void 0; - } - } - }, - - /** - * @param {object} inputProps Props for form component - * @return {*} current value of the input either from value prop or link. - */ - getValue: function getValue(inputProps) { - if (inputProps.valueLink) { - _assertValueLink(inputProps); - return inputProps.valueLink.value; - } - return inputProps.value; - }, - - /** - * @param {object} inputProps Props for form component - * @return {*} current checked status of the input either from checked prop - * or link. - */ - getChecked: function getChecked(inputProps) { - if (inputProps.checkedLink) { - _assertCheckedLink(inputProps); - return inputProps.checkedLink.value; - } - return inputProps.checked; - }, - - /** - * @param {object} inputProps Props for form component - * @param {SyntheticEvent} event change event to handle - */ - executeOnChange: function executeOnChange(inputProps, event) { - if (inputProps.valueLink) { - _assertValueLink(inputProps); - return inputProps.valueLink.requestChange(event.target.value); - } else if (inputProps.checkedLink) { - _assertCheckedLink(inputProps); - return inputProps.checkedLink.requestChange(event.target.checked); - } else if (inputProps.onChange) { - return inputProps.onChange.call(undefined, event); - } - } -}; - -module.exports = LinkedValueUtils; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 131 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - * - */ - - - -var _prodInvariant = __webpack_require__(12); - -var invariant = __webpack_require__(10); - -var injected = false; - -var ReactComponentEnvironment = { - - /** - * Optionally injectable hook for swapping out mount images in the middle of - * the tree. - */ - replaceNodeWithMarkup: null, - - /** - * Optionally injectable hook for processing a queue of child updates. Will - * later move into MultiChildComponents. - */ - processChildrenUpdates: null, - - injection: { - injectEnvironment: function injectEnvironment(environment) { - !!injected ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactCompositeComponent: injectEnvironment() can only be called once.') : _prodInvariant('104') : void 0; - ReactComponentEnvironment.replaceNodeWithMarkup = environment.replaceNodeWithMarkup; - ReactComponentEnvironment.processChildrenUpdates = environment.processChildrenUpdates; - injected = true; - } - } - -}; - -module.exports = ReactComponentEnvironment; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 132 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - * - */ - - - -var caughtError = null; - -/** - * Call a function while guarding against errors that happens within it. - * - * @param {String} name of the guard to use for logging or debugging - * @param {Function} func The function to invoke - * @param {*} a First argument - * @param {*} b Second argument - */ -function invokeGuardedCallback(name, func, a) { - try { - func(a); - } catch (x) { - if (caughtError === null) { - caughtError = x; - } - } -} - -var ReactErrorUtils = { - invokeGuardedCallback: invokeGuardedCallback, - - /** - * Invoked by ReactTestUtils.Simulate so that any errors thrown by the event - * handler are sure to be rethrown by rethrowCaughtError. - */ - invokeGuardedCallbackWithCatch: invokeGuardedCallback, - - /** - * During execution of guarded functions we will capture the first error which - * we will rethrow to be handled by the top level error handler. - */ - rethrowCaughtError: function rethrowCaughtError() { - if (caughtError) { - var error = caughtError; - caughtError = null; - throw error; - } - } -}; - -if (process.env.NODE_ENV !== 'production') { - /** - * To help development we can get better devtools integration by simulating a - * real browser event. - */ - if (typeof window !== 'undefined' && typeof window.dispatchEvent === 'function' && typeof document !== 'undefined' && typeof document.createEvent === 'function') { - var fakeNode = document.createElement('react'); - ReactErrorUtils.invokeGuardedCallback = function (name, func, a) { - var boundFunc = func.bind(null, a); - var evtType = 'react-' + name; - fakeNode.addEventListener(evtType, boundFunc, false); - var evt = document.createEvent('Event'); - evt.initEvent(evtType, false, false); - fakeNode.dispatchEvent(evt); - fakeNode.removeEventListener(evtType, boundFunc, false); - }; - } -} - -module.exports = ReactErrorUtils; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 133 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -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 _prodInvariant = __webpack_require__(12); - -var ReactCurrentOwner = __webpack_require__(30); -var ReactInstanceMap = __webpack_require__(70); -var ReactInstrumentation = __webpack_require__(25); -var ReactUpdates = __webpack_require__(29); - -var invariant = __webpack_require__(10); -var warning = __webpack_require__(11); - -function enqueueUpdate(internalInstance) { - ReactUpdates.enqueueUpdate(internalInstance); -} - -function formatUnexpectedArgument(arg) { - var type = typeof arg === 'undefined' ? 'undefined' : _typeof(arg); - if (type !== 'object') { - return type; - } - var displayName = arg.constructor && arg.constructor.name || type; - var keys = Object.keys(arg); - if (keys.length > 0 && keys.length < 20) { - return displayName + ' (keys: ' + keys.join(', ') + ')'; - } - return displayName; -} - -function getInternalInstanceReadyForUpdate(publicInstance, callerName) { - var internalInstance = ReactInstanceMap.get(publicInstance); - if (!internalInstance) { - if (process.env.NODE_ENV !== 'production') { - var ctor = publicInstance.constructor; - // Only warn when we have a callerName. Otherwise we should be silent. - // We're probably calling from enqueueCallback. We don't want to warn - // there because we already warned for the corresponding lifecycle method. - process.env.NODE_ENV !== 'production' ? warning(!callerName, '%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, ctor && (ctor.displayName || ctor.name) || 'ReactClass') : void 0; - } - return null; - } - - 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; - } - - return internalInstance; -} - -/** - * ReactUpdateQueue allows for state updates to be scheduled into a later - * reconciliation step. - */ -var ReactUpdateQueue = { - - /** - * 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 isMounted(publicInstance) { - if (process.env.NODE_ENV !== 'production') { - var owner = ReactCurrentOwner.current; - if (owner !== null) { - process.env.NODE_ENV !== 'production' ? warning(owner._warnedAboutRefsInRender, '%s is accessing isMounted inside its render() function. ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', owner.getName() || 'A component') : void 0; - owner._warnedAboutRefsInRender = true; - } - } - var internalInstance = ReactInstanceMap.get(publicInstance); - if (internalInstance) { - // During componentWillMount and render this will still be null but after - // that will always render to something. At least for now. So we can use - // this hack. - return !!internalInstance._renderedComponent; - } else { - 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. - * @param {string} callerName Name of the calling function in the public API. - * @internal - */ - enqueueCallback: function enqueueCallback(publicInstance, callback, callerName) { - ReactUpdateQueue.validateCallback(callback, callerName); - var internalInstance = getInternalInstanceReadyForUpdate(publicInstance); - - // Previously we would throw an error if we didn't have an internal - // instance. Since we want to make it a no-op instead, we mirror the same - // behavior we have in other enqueue* methods. - // We also need to ignore callbacks in componentWillMount. See - // enqueueUpdates. - if (!internalInstance) { - return null; - } - - if (internalInstance._pendingCallbacks) { - internalInstance._pendingCallbacks.push(callback); - } else { - internalInstance._pendingCallbacks = [callback]; - } - // TODO: The callback here is ignored when setState is called from - // componentWillMount. Either fix it or disallow doing so completely in - // favor of getInitialState. Alternatively, we can disallow - // componentWillMount during server-side rendering. - enqueueUpdate(internalInstance); - }, - - enqueueCallbackInternal: function enqueueCallbackInternal(internalInstance, callback) { - if (internalInstance._pendingCallbacks) { - internalInstance._pendingCallbacks.push(callback); - } else { - internalInstance._pendingCallbacks = [callback]; - } - enqueueUpdate(internalInstance); - }, - - /** - * 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 enqueueForceUpdate(publicInstance) { - var internalInstance = getInternalInstanceReadyForUpdate(publicInstance, 'forceUpdate'); - - if (!internalInstance) { - return; - } - - internalInstance._pendingForceUpdate = true; - - enqueueUpdate(internalInstance); - }, - - /** - * 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 enqueueReplaceState(publicInstance, completeState, callback) { - var internalInstance = getInternalInstanceReadyForUpdate(publicInstance, 'replaceState'); - - if (!internalInstance) { - return; - } - - internalInstance._pendingStateQueue = [completeState]; - internalInstance._pendingReplaceState = true; - - // Future-proof 15.5 - if (callback !== undefined && callback !== null) { - ReactUpdateQueue.validateCallback(callback, 'replaceState'); - if (internalInstance._pendingCallbacks) { - internalInstance._pendingCallbacks.push(callback); - } else { - internalInstance._pendingCallbacks = [callback]; - } - } - - enqueueUpdate(internalInstance); - }, - - /** - * 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 enqueueSetState(publicInstance, partialState) { - if (process.env.NODE_ENV !== 'production') { - ReactInstrumentation.debugTool.onSetState(); - process.env.NODE_ENV !== 'production' ? warning(partialState != null, 'setState(...): You passed an undefined or null state object; ' + 'instead, use forceUpdate().') : void 0; - } - - var internalInstance = getInternalInstanceReadyForUpdate(publicInstance, 'setState'); - - if (!internalInstance) { - return; - } - - var queue = internalInstance._pendingStateQueue || (internalInstance._pendingStateQueue = []); - queue.push(partialState); - - enqueueUpdate(internalInstance); - }, - - enqueueElementInternal: function enqueueElementInternal(internalInstance, nextElement, nextContext) { - internalInstance._pendingElement = nextElement; - // TODO: introduce _pendingContext instead of setting it directly. - internalInstance._context = nextContext; - enqueueUpdate(internalInstance); - }, - - validateCallback: function validateCallback(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__(0))) - -/***/ }), -/* 134 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - -/* globals MSApp */ - - - -/** - * Create a function which has 'unsafe' privileges (required by windows8 apps) - */ - -var createMicrosoftUnsafeLocalFunction = function createMicrosoftUnsafeLocalFunction(func) { - if (typeof MSApp !== 'undefined' && MSApp.execUnsafeLocalFunction) { - return function (arg0, arg1, arg2, arg3) { - MSApp.execUnsafeLocalFunction(function () { - return func(arg0, arg1, arg2, arg3); - }); - }; - } else { - return func; - } -}; - -module.exports = createMicrosoftUnsafeLocalFunction; - -/***/ }), -/* 135 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -/** - * `charCode` represents the actual "character code" and is safe to use with - * `String.fromCharCode`. As such, only keys that correspond to printable - * characters produce a valid `charCode`, the only exception to this is Enter. - * The Tab-key is considered non-printable and does not have a `charCode`, - * presumably because it does not produce a tab-character in browsers. - * - * @param {object} nativeEvent Native browser event. - * @return {number} Normalized `charCode` property. - */ - -function getEventCharCode(nativeEvent) { - var charCode; - var keyCode = nativeEvent.keyCode; - - if ('charCode' in nativeEvent) { - charCode = nativeEvent.charCode; - - // FF does not set `charCode` for the Enter-key, check against `keyCode`. - if (charCode === 0 && keyCode === 13) { - charCode = 13; - } - } else { - // IE8 does not implement `charCode`, but `keyCode` has the correct value. - charCode = keyCode; - } - - // Some non-printable keys are reported in `charCode`/`keyCode`, discard them. - // Must not discard the (non-)printable Enter-key. - if (charCode >= 32 || charCode === 13) { - return charCode; - } - - return 0; -} - -module.exports = getEventCharCode; - -/***/ }), -/* 136 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -/** - * Translation from modifier key to the associated property in the event. - * @see http://www.w3.org/TR/DOM-Level-3-Events/#keys-Modifiers - */ - -var modifierKeyToProp = { - 'Alt': 'altKey', - 'Control': 'ctrlKey', - 'Meta': 'metaKey', - 'Shift': 'shiftKey' -}; - -// IE8 does not implement getModifierState so we simply map it to the only -// modifier keys exposed by the event itself, does not support Lock-keys. -// Currently, all major browsers except Chrome seems to support Lock-keys. -function modifierStateGetter(keyArg) { - var syntheticEvent = this; - var nativeEvent = syntheticEvent.nativeEvent; - if (nativeEvent.getModifierState) { - return nativeEvent.getModifierState(keyArg); - } - var keyProp = modifierKeyToProp[keyArg]; - return keyProp ? !!nativeEvent[keyProp] : false; -} - -function getEventModifierState(nativeEvent) { - return modifierStateGetter; -} - -module.exports = getEventModifierState; - -/***/ }), -/* 137 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -/** - * Gets the target node from a native browser event by accounting for - * inconsistencies in browser DOM APIs. - * - * @param {object} nativeEvent Native browser event. - * @return {DOMEventTarget} Target node. - */ - -function getEventTarget(nativeEvent) { - var target = nativeEvent.target || nativeEvent.srcElement || window; - - // Normalize SVG element events #4963 - if (target.correspondingUseElement) { - target = target.correspondingUseElement; - } - - // Safari may fire events on text nodes (Node.TEXT_NODE is 3). - // @see http://www.quirksmode.org/js/events_properties.html - return target.nodeType === 3 ? target.parentNode : target; -} - -module.exports = getEventTarget; - -/***/ }), -/* 138 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var ExecutionEnvironment = __webpack_require__(18); - -var useHasFeature; -if (ExecutionEnvironment.canUseDOM) { - useHasFeature = document.implementation && document.implementation.hasFeature && - // always returns true in newer browsers as per the standard. - // @see http://dom.spec.whatwg.org/#dom-domimplementation-hasfeature - document.implementation.hasFeature('', '') !== true; -} - -/** - * Checks if an event is supported in the current execution environment. - * - * NOTE: This will not work correctly for non-generic events such as `change`, - * `reset`, `load`, `error`, and `select`. - * - * Borrows from Modernizr. - * - * @param {string} eventNameSuffix Event name, e.g. "click". - * @param {?boolean} capture Check if the capture phase is supported. - * @return {boolean} True if the event is supported. - * @internal - * @license Modernizr 3.0.0pre (Custom Build) | MIT - */ -function isEventSupported(eventNameSuffix, capture) { - if (!ExecutionEnvironment.canUseDOM || capture && !('addEventListener' in document)) { - return false; - } - - var eventName = 'on' + eventNameSuffix; - var isSupported = eventName in document; - - if (!isSupported) { - var element = document.createElement('div'); - element.setAttribute(eventName, 'return;'); - isSupported = typeof element[eventName] === 'function'; - } - - if (!isSupported && useHasFeature && eventNameSuffix === 'wheel') { - // This is the only way to test support for the `wheel` event in IE9+. - isSupported = document.implementation.hasFeature('Events.wheel', '3.0'); - } - - return isSupported; -} - -module.exports = isEventSupported; - -/***/ }), -/* 139 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -/** - * Given a `prevElement` and `nextElement`, determines if the existing - * instance should be updated as opposed to being destroyed or replaced by a new - * instance. Both arguments are elements. This ensures that this logic can - * operate on stateless trees without any backing instance. - * - * @param {?object} prevElement - * @param {?object} nextElement - * @return {boolean} True if the existing instance should be updated. - * @protected - */ - -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; }; - -function shouldUpdateReactComponent(prevElement, nextElement) { - var prevEmpty = prevElement === null || prevElement === false; - var nextEmpty = nextElement === null || nextElement === false; - if (prevEmpty || nextEmpty) { - return prevEmpty === nextEmpty; - } - - var prevType = typeof prevElement === 'undefined' ? 'undefined' : _typeof(prevElement); - var nextType = typeof nextElement === 'undefined' ? 'undefined' : _typeof(nextElement); - if (prevType === 'string' || prevType === 'number') { - return nextType === 'string' || nextType === 'number'; - } else { - return nextType === 'object' && prevElement.type === nextElement.type && prevElement.key === nextElement.key; - } -} - -module.exports = shouldUpdateReactComponent; - -/***/ }), -/* 140 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -var _assign = __webpack_require__(14); - -var emptyFunction = __webpack_require__(24); -var warning = __webpack_require__(11); - -var validateDOMNesting = emptyFunction; - -if (process.env.NODE_ENV !== 'production') { - // This validation code was written based on the HTML5 parsing spec: - // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-scope - // - // Note: this does not catch all invalid nesting, nor does it try to (as it's - // not clear what practical benefit doing so provides); instead, we warn only - // for cases where the parser will give a parse tree differing from what React - // intended. For example,
is invalid but we don't warn - // because it still parses correctly; we do warn for other cases like nested - //

tags where the beginning of the second element implicitly closes the - // first, causing a confusing mess. - - // https://html.spec.whatwg.org/multipage/syntax.html#special - var specialTags = ['address', 'applet', 'area', 'article', 'aside', 'base', 'basefont', 'bgsound', 'blockquote', 'body', 'br', 'button', 'caption', 'center', 'col', 'colgroup', 'dd', 'details', 'dir', 'div', 'dl', 'dt', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'frame', 'frameset', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'iframe', 'img', 'input', 'isindex', 'li', 'link', 'listing', 'main', 'marquee', 'menu', 'menuitem', 'meta', 'nav', 'noembed', 'noframes', 'noscript', 'object', 'ol', 'p', 'param', 'plaintext', 'pre', 'script', 'section', 'select', 'source', 'style', 'summary', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'title', 'tr', 'track', 'ul', 'wbr', 'xmp']; - - // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-scope - var inScopeTags = ['applet', 'caption', 'html', 'table', 'td', 'th', 'marquee', 'object', 'template', - - // https://html.spec.whatwg.org/multipage/syntax.html#html-integration-point - // TODO: Distinguish by namespace here -- for , including it here - // errs on the side of fewer warnings - 'foreignObject', 'desc', 'title']; - - // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-button-scope - var buttonScopeTags = inScopeTags.concat(['button']); - - // https://html.spec.whatwg.org/multipage/syntax.html#generate-implied-end-tags - var impliedEndTags = ['dd', 'dt', 'li', 'option', 'optgroup', 'p', 'rp', 'rt']; - - var emptyAncestorInfo = { - current: null, - - formTag: null, - aTagInScope: null, - buttonTagInScope: null, - nobrTagInScope: null, - pTagInButtonScope: null, - - listItemTagAutoclosing: null, - dlItemTagAutoclosing: null - }; - - var updatedAncestorInfo = function updatedAncestorInfo(oldInfo, tag, instance) { - var ancestorInfo = _assign({}, oldInfo || emptyAncestorInfo); - var info = { tag: tag, instance: instance }; - - if (inScopeTags.indexOf(tag) !== -1) { - ancestorInfo.aTagInScope = null; - ancestorInfo.buttonTagInScope = null; - ancestorInfo.nobrTagInScope = null; - } - if (buttonScopeTags.indexOf(tag) !== -1) { - ancestorInfo.pTagInButtonScope = null; - } - - // See rules for 'li', 'dd', 'dt' start tags in - // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbody - if (specialTags.indexOf(tag) !== -1 && tag !== 'address' && tag !== 'div' && tag !== 'p') { - ancestorInfo.listItemTagAutoclosing = null; - ancestorInfo.dlItemTagAutoclosing = null; - } - - ancestorInfo.current = info; - - if (tag === 'form') { - ancestorInfo.formTag = info; - } - if (tag === 'a') { - ancestorInfo.aTagInScope = info; - } - if (tag === 'button') { - ancestorInfo.buttonTagInScope = info; - } - if (tag === 'nobr') { - ancestorInfo.nobrTagInScope = info; - } - if (tag === 'p') { - ancestorInfo.pTagInButtonScope = info; - } - if (tag === 'li') { - ancestorInfo.listItemTagAutoclosing = info; - } - if (tag === 'dd' || tag === 'dt') { - ancestorInfo.dlItemTagAutoclosing = info; - } - - return ancestorInfo; - }; - - /** - * Returns whether - */ - var isTagValidWithParent = function isTagValidWithParent(tag, parentTag) { - // First, let's check if we're in an unusual parsing mode... - switch (parentTag) { - // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inselect - case 'select': - return tag === 'option' || tag === 'optgroup' || tag === '#text'; - case 'optgroup': - return tag === 'option' || tag === '#text'; - // Strictly speaking, seeing an <option> doesn't mean we're in a <select> - // 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 - // all except special table nodes which cause bad parsing behavior anyway. - - // 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'; - case '#document': - return tag === 'html'; - } - - // Probably in the "in body" parsing mode, so we outlaw only tag combos - // where the parsing rules cause implicit opens or closes to be added. - // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbody - switch (tag) { - case 'h1': - case 'h2': - case 'h3': - case 'h4': - case 'h5': - case 'h6': - return parentTag !== 'h1' && parentTag !== 'h2' && parentTag !== 'h3' && parentTag !== 'h4' && parentTag !== 'h5' && parentTag !== 'h6'; - - case 'rp': - case 'rt': - return impliedEndTags.indexOf(parentTag) === -1; - - case 'body': - case 'caption': - case 'col': - case 'colgroup': - case 'frame': - case 'head': - case 'html': - case 'tbody': - case 'td': - case 'tfoot': - case 'th': - case 'thead': - case 'tr': - // These tags are only valid with a few parents that have special child - // parsing rules -- if we're down here, then none of those matched and - // so we allow it only if we don't know what the parent is, as all other - // cases are invalid. - return parentTag == null; - } - - return true; - }; - - /** - * Returns whether - */ - var findInvalidAncestorForTag = function findInvalidAncestorForTag(tag, ancestorInfo) { - switch (tag) { - case 'address': - case 'article': - case 'aside': - case 'blockquote': - case 'center': - case 'details': - case 'dialog': - case 'dir': - case 'div': - case 'dl': - case 'fieldset': - case 'figcaption': - case 'figure': - case 'footer': - case 'header': - case 'hgroup': - case 'main': - case 'menu': - case 'nav': - case 'ol': - case 'p': - case 'section': - case 'summary': - case 'ul': - case 'pre': - case 'listing': - case 'table': - case 'hr': - case 'xmp': - case 'h1': - case 'h2': - case 'h3': - case 'h4': - case 'h5': - case 'h6': - return ancestorInfo.pTagInButtonScope; - - case 'form': - return ancestorInfo.formTag || ancestorInfo.pTagInButtonScope; - - case 'li': - return ancestorInfo.listItemTagAutoclosing; - - case 'dd': - case 'dt': - return ancestorInfo.dlItemTagAutoclosing; - - case 'button': - return ancestorInfo.buttonTagInScope; - - case 'a': - // Spec says something about storing a list of markers, but it sounds - // equivalent to this check. - return ancestorInfo.aTagInScope; - - case 'nobr': - return ancestorInfo.nobrTagInScope; - } - - return null; - }; - - /** - * Given a ReactCompositeComponent instance, return a list of its recursive - * owners, starting at the root and ending with the instance itself. - */ - var findOwnerStack = function findOwnerStack(instance) { - if (!instance) { - return []; - } - - var stack = []; - do { - stack.push(instance); - } while (instance = instance._currentElement._owner); - stack.reverse(); - return stack; - }; - - var didWarn = {}; - - validateDOMNesting = function validateDOMNesting(childTag, childText, childInstance, ancestorInfo) { - ancestorInfo = ancestorInfo || emptyAncestorInfo; - var parentInfo = ancestorInfo.current; - var parentTag = parentInfo && parentInfo.tag; - - if (childText != null) { - process.env.NODE_ENV !== 'production' ? warning(childTag == null, 'validateDOMNesting: when childText is passed, childTag should be null') : void 0; - childTag = '#text'; - } - - var invalidParent = isTagValidWithParent(childTag, parentTag) ? null : parentInfo; - var invalidAncestor = invalidParent ? null : findInvalidAncestorForTag(childTag, ancestorInfo); - var problematic = invalidParent || invalidAncestor; - - if (problematic) { - var ancestorTag = problematic.tag; - var ancestorInstance = problematic.instance; - - var childOwner = childInstance && childInstance._currentElement._owner; - var ancestorOwner = ancestorInstance && ancestorInstance._currentElement._owner; - - var childOwners = findOwnerStack(childOwner); - var ancestorOwners = findOwnerStack(ancestorOwner); - - var minStackLen = Math.min(childOwners.length, ancestorOwners.length); - var i; - - var deepestCommon = -1; - for (i = 0; i < minStackLen; i++) { - if (childOwners[i] === ancestorOwners[i]) { - deepestCommon = i; - } else { - break; - } - } - - var UNKNOWN = '(unknown)'; - var childOwnerNames = childOwners.slice(deepestCommon + 1).map(function (inst) { - return inst.getName() || UNKNOWN; - }); - var ancestorOwnerNames = ancestorOwners.slice(deepestCommon + 1).map(function (inst) { - return inst.getName() || UNKNOWN; - }); - var ownerInfo = [].concat( - // If the parent and child instances have a common owner ancestor, start - // with that -- otherwise we just start with the parent's owners. - deepestCommon !== -1 ? childOwners[deepestCommon].getName() || UNKNOWN : [], ancestorOwnerNames, ancestorTag, - // If we're warning about an invalid (non-parent) ancestry, add '...' - invalidAncestor ? ['...'] : [], childOwnerNames, childTag).join(' > '); - - var warnKey = !!invalidParent + '|' + childTag + '|' + ancestorTag + '|' + ownerInfo; - if (didWarn[warnKey]) { - return; - } - didWarn[warnKey] = true; - - var tagDisplayName = childTag; - var whitespaceInfo = ''; - if (childTag === '#text') { - if (/\S/.test(childText)) { - 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.'; - } - } else { - tagDisplayName = '<' + childTag + '>'; - } - - if (invalidParent) { - var info = ''; - if (ancestorTag === 'table' && childTag === 'tr') { - info += ' Add a <tbody> to your code to match the DOM tree generated by ' + 'the browser.'; - } - process.env.NODE_ENV !== 'production' ? warning(false, 'validateDOMNesting(...): %s cannot appear as a child of <%s>.%s ' + 'See %s.%s', tagDisplayName, ancestorTag, whitespaceInfo, ownerInfo, info) : void 0; - } else { - process.env.NODE_ENV !== 'production' ? warning(false, 'validateDOMNesting(...): %s cannot appear as a descendant of ' + '<%s>. See %s.', tagDisplayName, ancestorTag, ownerInfo) : void 0; - } - } - }; - - validateDOMNesting.updatedAncestorInfo = updatedAncestorInfo; - - // For testing - validateDOMNesting.isTagValidInContext = function (tag, ancestorInfo) { - ancestorInfo = ancestorInfo || emptyAncestorInfo; - var parentInfo = ancestorInfo.current; - var parentTag = parentInfo && parentInfo.tag; - return isTagValidWithParent(tag, parentTag) && !findInvalidAncestorForTag(tag, ancestorInfo); - }; -} - -module.exports = validateDOMNesting; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 141 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = getContainer; - -var _reactDom = __webpack_require__(21); - -var _reactDom2 = _interopRequireDefault(_reactDom); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -function getContainer(container, defaultContainer) { - container = typeof container === 'function' ? container() : container; - return _reactDom2.default.findDOMNode(container) || defaultContainer; -} -module.exports = exports['default']; - -/***/ }), -/* 142 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var _typeof2 = 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; }; - -exports.__esModule = true; - -var _typeof = typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol" ? function (obj) { - return typeof obj === "undefined" ? "undefined" : _typeof2(obj); -} : function (obj) { - return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof2(obj); -}; - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _createChainableTypeChecker = __webpack_require__(92); - -var _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -function validate(props, propName, componentName, location, propFullName) { - var propValue = props[propName]; - var propType = typeof propValue === 'undefined' ? 'undefined' : _typeof(propValue); - - if (_react2.default.isValidElement(propValue)) { - return new Error('Invalid ' + location + ' `' + propFullName + '` of type ReactElement ' + ('supplied to `' + componentName + '`, expected a ReactComponent or a ') + 'DOMElement. You can usually obtain a ReactComponent or DOMElement ' + 'from a ReactElement by attaching a ref to it.'); - } - - if ((propType !== 'object' || typeof propValue.render !== 'function') && propValue.nodeType !== 1) { - return new Error('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected a ReactComponent or a ') + 'DOMElement.'); - } - - return null; -} - -exports.default = (0, _createChainableTypeChecker2.default)(validate); - -/***/ }), -/* 143 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = warning; -/** - * Prints a warning in the console if it exists. - * - * @param {String} message The warning message. - * @returns {void} - */ -function warning(message) { - /* eslint-disable no-console */ - if (typeof console !== 'undefined' && typeof console.error === 'function') { - console.error(message); - } - /* eslint-enable no-console */ - try { - // This error was thrown as a convenience so that if you enable - // "break on all exceptions" in your console, - // it would pause the execution at this line. - throw new Error(message); - /* eslint-disable no-empty */ - } catch (e) {} - /* eslint-enable no-empty */ -} - -/***/ }), -/* 144 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.loopAsync = loopAsync; -exports.mapAsync = mapAsync; -function loopAsync(turns, work, callback) { - var currentTurn = 0, - isDone = false; - var sync = false, - hasNext = false, - doneArgs = void 0; - - function done() { - isDone = true; - if (sync) { - // Iterate instead of recursing if possible. - doneArgs = [].concat(Array.prototype.slice.call(arguments)); - return; - } - - callback.apply(this, arguments); - } - - function next() { - if (isDone) { - return; - } - - hasNext = true; - if (sync) { - // Iterate instead of recursing if possible. - return; - } - - sync = true; - - while (!isDone && currentTurn < turns && hasNext) { - hasNext = false; - work.call(this, currentTurn++, next, done); - } - - sync = false; - - if (isDone) { - // This means the loop finished synchronously. - callback.apply(this, doneArgs); - return; - } - - if (currentTurn >= turns && hasNext) { - isDone = true; - callback(); - } - } - - next(); -} - -function mapAsync(array, work, callback) { - var length = array.length; - var values = []; - - if (length === 0) return callback(null, values); - - var isDone = false, - doneCount = 0; - - function done(index, error, value) { - if (isDone) return; - - if (error) { - isDone = true; - callback(error); - } else { - values[index] = value; - - isDone = ++doneCount === length; - - if (isDone) callback(null, values); - } - } - - array.forEach(function (item, index) { - work(item, index, function (error, value) { - done(index, error, value); - }); - }); -} - -/***/ }), -/* 145 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.ContextProvider = ContextProvider; -exports.ContextSubscriber = ContextSubscriber; - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -// Works around issues with context updates failing to propagate. -// Caveat: the context value is expected to never change its identity. -// https://github.com/facebook/react/issues/2517 -// https://github.com/reactjs/react-router/issues/470 - -var contextProviderShape = _propTypes2.default.shape({ - subscribe: _propTypes2.default.func.isRequired, - eventIndex: _propTypes2.default.number.isRequired -}); - -function makeContextName(name) { - return '@@contextSubscriber/' + name; -} - -function ContextProvider(name) { - var _childContextTypes, _ref2; - - var contextName = makeContextName(name); - var listenersKey = contextName + '/listeners'; - var eventIndexKey = contextName + '/eventIndex'; - var subscribeKey = contextName + '/subscribe'; - - return _ref2 = { - childContextTypes: (_childContextTypes = {}, _childContextTypes[contextName] = contextProviderShape.isRequired, _childContextTypes), - - getChildContext: function getChildContext() { - var _ref; - - return _ref = {}, _ref[contextName] = { - eventIndex: this[eventIndexKey], - subscribe: this[subscribeKey] - }, _ref; - }, - componentWillMount: function componentWillMount() { - this[listenersKey] = []; - this[eventIndexKey] = 0; - }, - componentWillReceiveProps: function componentWillReceiveProps() { - this[eventIndexKey]++; - }, - componentDidUpdate: function componentDidUpdate() { - var _this = this; - - this[listenersKey].forEach(function (listener) { - return listener(_this[eventIndexKey]); - }); - } - }, _ref2[subscribeKey] = function (listener) { - var _this2 = this; - - // No need to immediately call listener here. - this[listenersKey].push(listener); - - return function () { - _this2[listenersKey] = _this2[listenersKey].filter(function (item) { - return item !== listener; - }); - }; - }, _ref2; -} - -function ContextSubscriber(name) { - var _contextTypes, _ref4; - - var contextName = makeContextName(name); - var lastRenderedEventIndexKey = contextName + '/lastRenderedEventIndex'; - var handleContextUpdateKey = contextName + '/handleContextUpdate'; - var unsubscribeKey = contextName + '/unsubscribe'; - - return _ref4 = { - contextTypes: (_contextTypes = {}, _contextTypes[contextName] = contextProviderShape, _contextTypes), - - getInitialState: function getInitialState() { - var _ref3; - - if (!this.context[contextName]) { - return {}; - } - - return _ref3 = {}, _ref3[lastRenderedEventIndexKey] = this.context[contextName].eventIndex, _ref3; - }, - componentDidMount: function componentDidMount() { - if (!this.context[contextName]) { - return; - } - - this[unsubscribeKey] = this.context[contextName].subscribe(this[handleContextUpdateKey]); - }, - componentWillReceiveProps: function componentWillReceiveProps() { - var _setState; - - if (!this.context[contextName]) { - return; - } - - this.setState((_setState = {}, _setState[lastRenderedEventIndexKey] = this.context[contextName].eventIndex, _setState)); - }, - componentWillUnmount: function componentWillUnmount() { - if (!this[unsubscribeKey]) { - return; - } - - this[unsubscribeKey](); - this[unsubscribeKey] = null; - } - }, _ref4[handleContextUpdateKey] = function (eventIndex) { - if (eventIndex !== this.state[lastRenderedEventIndexKey]) { - var _setState2; - - this.setState((_setState2 = {}, _setState2[lastRenderedEventIndexKey] = eventIndex, _setState2)); - } - }, _ref4; -} - -/***/ }), -/* 146 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.locationShape = exports.routerShape = undefined; - -var _propTypes = __webpack_require__(7); - -var routerShape = exports.routerShape = (0, _propTypes.shape)({ - push: _propTypes.func.isRequired, - replace: _propTypes.func.isRequired, - go: _propTypes.func.isRequired, - goBack: _propTypes.func.isRequired, - goForward: _propTypes.func.isRequired, - setRouteLeaveHook: _propTypes.func.isRequired, - isActive: _propTypes.func.isRequired -}); - -var locationShape = exports.locationShape = (0, _propTypes.shape)({ - pathname: _propTypes.string.isRequired, - search: _propTypes.string.isRequired, - state: _propTypes.object, - action: _propTypes.string.isRequired, - key: _propTypes.string -}); - -/***/ }), -/* 147 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _typeof2 = 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 _invariant = __webpack_require__(17); - -var _invariant2 = _interopRequireDefault(_invariant); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _createReactClass = __webpack_require__(31); - -var _createReactClass2 = _interopRequireDefault(_createReactClass); - -var _propTypes = __webpack_require__(7); - -var _getRouteParams = __webpack_require__(509); - -var _getRouteParams2 = _interopRequireDefault(_getRouteParams); - -var _ContextUtils = __webpack_require__(145); - -var _RouteUtils = __webpack_require__(40); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: 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 _typeof = typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol" ? function (obj) { - return typeof obj === "undefined" ? "undefined" : _typeof2(obj); -} : function (obj) { - return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof2(obj); -}; - -/** - * A <RouterContext> renders the component tree for a given router state - * and sets the history object and the current location in context. - */ -var RouterContext = (0, _createReactClass2.default)({ - displayName: 'RouterContext', - - mixins: [(0, _ContextUtils.ContextProvider)('router')], - - propTypes: { - router: _propTypes.object.isRequired, - location: _propTypes.object.isRequired, - routes: _propTypes.array.isRequired, - params: _propTypes.object.isRequired, - components: _propTypes.array.isRequired, - createElement: _propTypes.func.isRequired - }, - - getDefaultProps: function getDefaultProps() { - return { - createElement: _react2.default.createElement - }; - }, - - childContextTypes: { - router: _propTypes.object.isRequired - }, - - getChildContext: function getChildContext() { - return { - router: this.props.router - }; - }, - createElement: function createElement(component, props) { - return component == null ? null : this.props.createElement(component, props); - }, - render: function render() { - var _this = this; - - var _props = this.props, - location = _props.location, - routes = _props.routes, - params = _props.params, - components = _props.components, - router = _props.router; - - var element = null; - - if (components) { - element = components.reduceRight(function (element, components, index) { - if (components == null) return element; // Don't create new children; use the grandchildren. - - var route = routes[index]; - var routeParams = (0, _getRouteParams2.default)(route, params); - var props = { - location: location, - params: params, - route: route, - router: router, - routeParams: routeParams, - routes: routes - }; - - if ((0, _RouteUtils.isReactChildren)(element)) { - props.children = element; - } else if (element) { - for (var prop in element) { - if (Object.prototype.hasOwnProperty.call(element, prop)) props[prop] = element[prop]; - } - } - - if ((typeof components === 'undefined' ? 'undefined' : _typeof(components)) === 'object') { - var elements = {}; - - for (var key in components) { - if (Object.prototype.hasOwnProperty.call(components, key)) { - // Pass through the key as a prop to createElement to allow - // custom createElement functions to know which named component - // they're rendering, for e.g. matching up to fetched data. - elements[key] = _this.createElement(components[key], _extends({ - key: key }, props)); - } - } - - return elements; - } - - return _this.createElement(components, props); - }, element); - } - - !(element === null || element === false || _react2.default.isValidElement(element)) ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'The root route must render a single element') : (0, _invariant2.default)(false) : void 0; - - return element; - } -}); - -exports.default = RouterContext; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 148 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -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 _prodInvariant = __webpack_require__(46); - -var ReactNoopUpdateQueue = __webpack_require__(149); - -var canDefineProperty = __webpack_require__(93); -var emptyObject = __webpack_require__(54); -var invariant = __webpack_require__(10); -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 === 'undefined' ? 'undefined' : _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 defineDeprecationWarning(methodName, info) { - if (canDefineProperty) { - Object.defineProperty(ReactComponent.prototype, methodName, { - get: function get() { - 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__(0))) - -/***/ }), -/* 149 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -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 isMounted(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 enqueueCallback(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 enqueueForceUpdate(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 enqueueReplaceState(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 enqueueSetState(publicInstance, partialState) { - warnNoop(publicInstance, 'setState'); - } -}; - -module.exports = ReactNoopUpdateQueue; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 150 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -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 g; - -// This works in non-strict mode -g = function () { - return this; -}(); - -try { - // This works if eval is allowed (see CSP) - g = g || Function("return this")() || (1, eval)("this"); -} catch (e) { - // This works if the window reference is available - if ((typeof window === "undefined" ? "undefined" : _typeof(window)) === "object") g = window; -} - -// g can still be undefined, but nothing to do about it... -// We return undefined, instead of nothing here, so it's -// easier to handle this case. if(!global) { ...} - -module.exports = g; - -/***/ }), -/* 151 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -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; }; }(); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(41); - -var _reactBootstrap = __webpack_require__(56); - -var _redux = __webpack_require__(33); - -var _cartActions = __webpack_require__(95); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var Cart = function (_React$Component) { - _inherits(Cart, _React$Component); - - function Cart() { - _classCallCheck(this, Cart); - - var _this = _possibleConstructorReturn(this, (Cart.__proto__ || Object.getPrototypeOf(Cart)).call(this)); - - _this.state = { - showModal: false - }; - return _this; - } - - _createClass(Cart, [{ - key: 'open', - value: function open() { - this.setState({ showModal: true }); - } - }, { - key: 'close', - value: function close() { - this.setState({ showModal: false }); - } - }, { - key: 'onIncrement', - value: function onIncrement(_id) { - this.props.updateCart(_id, 1); - } - }, { - key: 'onDecrement', - value: function onDecrement(_id, quantity) { - if (quantity > 1) { - this.props.updateCart(_id, -1); - } - } - }, { - key: 'onDelete', - value: function onDelete(_id) { - // create a copy of the current array of books - var currentBookToDelete = this.props.cart; - - // determine at which index in books array is the book to be deleted - var indexToDelete = currentBookToDelete.findIndex(function (cart) { - return cart._id === _id; - }); - - // use slice to remove the book at the specified index - var cartAfterDelete = [].concat(_toConsumableArray(currentBookToDelete.slice(0, indexToDelete)), _toConsumableArray(currentBookToDelete.slice(indexToDelete + 1))); - - this.props.deleteCartItem(cartAfterDelete); - } - }, { - key: 'render', - value: function render() { - if (this.props.cart[0]) { - return this.renderCart(); - } else { - return this.renderEmpty(); - } - } - }, { - key: 'renderEmpty', - value: function renderEmpty() { - return _react2.default.createElement('div', null); - } - }, { - key: 'renderCart', - value: function renderCart() { - var cartItemsList = this.props.cart.map(function (cartArr) { - - return _react2.default.createElement( - _reactBootstrap.Panel, - { key: cartArr._id }, - _react2.default.createElement( - _reactBootstrap.Row, - null, - _react2.default.createElement( - _reactBootstrap.Col, - { xs: 12, sm: 4 }, - _react2.default.createElement( - 'h6', - null, - cartArr.title - ), - _react2.default.createElement( - 'span', - null, - ' ' - ) - ), - _react2.default.createElement( - _reactBootstrap.Col, - { xs: 12, sm: 2 }, - _react2.default.createElement( - 'h6', - null, - 'CAD$ ', - cartArr.price - ) - ), - _react2.default.createElement( - _reactBootstrap.Col, - { xs: 12, sm: 2 }, - _react2.default.createElement( - 'h6', - null, - 'qty. ', - _react2.default.createElement( - _reactBootstrap.Label, - { bsStyle: 'success' }, - cartArr.quantity - ) - ) - ), - _react2.default.createElement( - _reactBootstrap.Col, - { xs: 6, sm: 4 }, - _react2.default.createElement( - _reactBootstrap.ButtonGroup, - { style: { minWidth: "300px" } }, - _react2.default.createElement( - _reactBootstrap.Button, - { - onClick: this.onDecrement.bind(this, cartArr._id, cartArr.quantity), - bsStyle: 'default', - bsSize: 'small' }, - '-' - ), - _react2.default.createElement( - _reactBootstrap.Button, - { - onClick: this.onIncrement.bind(this, cartArr._id), - bsStyle: 'default', - bsSize: 'small' }, - '+' - ), - _react2.default.createElement( - 'span', - null, - ' ' - ), - _react2.default.createElement( - _reactBootstrap.Button, - { - onClick: this.onDelete.bind(this, cartArr._id), - bsStyle: 'danger', bsSize: 'small' }, - 'DELETE' - ) - ) - ) - ), - _react2.default.createElement( - _reactBootstrap.Modal, - { show: this.state.showModal, onHide: this.close.bind(this) }, - _react2.default.createElement( - _reactBootstrap.Modal.Header, - { closeButton: true }, - _react2.default.createElement( - _reactBootstrap.Modal.Title, - null, - 'Thank You!' - ) - ), - _react2.default.createElement( - _reactBootstrap.Modal.Body, - null, - _react2.default.createElement( - 'h6', - null, - 'Your order has been saved' - ), - _react2.default.createElement( - 'p', - null, - 'You will receive an email confirmation' - ) - ), - _react2.default.createElement( - _reactBootstrap.Modal.Footer, - null, - _react2.default.createElement( - _reactBootstrap.Col, - { xs: 6 }, - _react2.default.createElement( - 'h6', - null, - 'total: $: ', - this.props.totalAmount - ) - ), - _react2.default.createElement( - _reactBootstrap.Button, - { onClick: this.close.bind(this) }, - 'Close' - ) - ) - ) - ); - }, this); - - return _react2.default.createElement( - _reactBootstrap.Panel, - { header: 'Cart', bsStyle: 'primary' }, - cartItemsList, - _react2.default.createElement( - _reactBootstrap.Row, - null, - _react2.default.createElement( - _reactBootstrap.Col, - { xs: 12 }, - _react2.default.createElement( - 'h6', - null, - 'Total amount: ', - this.props.totalAmount - ), - _react2.default.createElement( - _reactBootstrap.Button, - { onClick: this.open.bind(this), bsStyle: 'success', bsSize: 'small' }, - 'Proceed to checkout' - ) - ) - ) - ); - } - }]); - - return Cart; -}(_react2.default.Component); - -function mapStateToProps(state) { - return { - cart: state.cart.cart, - totalAmount: state.cart.totalAmount - }; -} - -function mapDispatchToProps(dispatch) { - return (0, _redux.bindActionCreators)({ - deleteCartItem: _cartActions.deleteCartItem, - updateCart: _cartActions.updateCart - }, dispatch); -} - -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(Cart); - -/***/ }), -/* 152 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = { "default": __webpack_require__(260), __esModule: true }; - -/***/ }), -/* 153 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = { "default": __webpack_require__(262), __esModule: true }; - -/***/ }), -/* 154 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var isObject = __webpack_require__(63), - document = __webpack_require__(35).document -// in old IE typeof document.createElement is 'object' -, - is = isObject(document) && isObject(document.createElement); -module.exports = function (it) { - return is ? document.createElement(it) : {}; -}; - -/***/ }), -/* 155 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = !__webpack_require__(49) && !__webpack_require__(62)(function () { - return Object.defineProperty(__webpack_require__(154)('div'), 'a', { get: function get() { - return 7; - } }).a != 7; -}); - -/***/ }), -/* 156 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -// fallback for non-array-like ES3 and non-enumerable old V8 strings -var cof = __webpack_require__(97); -module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) { - return cof(it) == 'String' ? it.split('') : Object(it); -}; - -/***/ }), -/* 157 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var LIBRARY = __webpack_require__(101), - $export = __webpack_require__(34), - redefine = __webpack_require__(162), - hide = __webpack_require__(50), - has = __webpack_require__(42), - Iterators = __webpack_require__(64), - $iterCreate = __webpack_require__(277), - setToStringTag = __webpack_require__(104), - getPrototypeOf = __webpack_require__(285), - ITERATOR = __webpack_require__(27)('iterator'), - BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next` -, - FF_ITERATOR = '@@iterator', - KEYS = 'keys', - VALUES = 'values'; - -var returnThis = function returnThis() { - return this; -}; - -module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) { - $iterCreate(Constructor, NAME, next); - var getMethod = function getMethod(kind) { - if (!BUGGY && kind in proto) return proto[kind]; - switch (kind) { - case KEYS: - return function keys() { - return new Constructor(this, kind); - }; - case VALUES: - return function values() { - return new Constructor(this, kind); - }; - }return function entries() { - return new Constructor(this, kind); - }; - }; - var TAG = NAME + ' Iterator', - DEF_VALUES = DEFAULT == VALUES, - VALUES_BUG = false, - proto = Base.prototype, - $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT], - $default = $native || getMethod(DEFAULT), - $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined, - $anyNative = NAME == 'Array' ? proto.entries || $native : $native, - methods, - key, - IteratorPrototype; - // Fix native - if ($anyNative) { - IteratorPrototype = getPrototypeOf($anyNative.call(new Base())); - if (IteratorPrototype !== Object.prototype) { - // Set @@toStringTag to native iterators - setToStringTag(IteratorPrototype, TAG, true); - // fix for some old engines - if (!LIBRARY && !has(IteratorPrototype, ITERATOR)) hide(IteratorPrototype, ITERATOR, returnThis); - } - } - // fix Array#{values, @@iterator}.name in V8 / FF - if (DEF_VALUES && $native && $native.name !== VALUES) { - VALUES_BUG = true; - $default = function values() { - return $native.call(this); - }; - } - // Define iterator - if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) { - hide(proto, ITERATOR, $default); - } - // Plug for library - Iterators[NAME] = $default; - Iterators[TAG] = returnThis; - if (DEFAULT) { - methods = { - values: DEF_VALUES ? $default : getMethod(VALUES), - keys: IS_SET ? $default : getMethod(KEYS), - entries: $entries - }; - if (FORCED) for (key in methods) { - if (!(key in proto)) redefine(proto, key, methods[key]); - } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods); - } - return methods; -}; - -/***/ }), -/* 158 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var pIE = __webpack_require__(65), - createDesc = __webpack_require__(66), - toIObject = __webpack_require__(36), - toPrimitive = __webpack_require__(109), - has = __webpack_require__(42), - IE8_DOM_DEFINE = __webpack_require__(155), - gOPD = Object.getOwnPropertyDescriptor; - -exports.f = __webpack_require__(49) ? gOPD : function getOwnPropertyDescriptor(O, P) { - O = toIObject(O); - P = toPrimitive(P, true); - if (IE8_DOM_DEFINE) try { - return gOPD(O, P); - } catch (e) {/* empty */} - if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]); -}; - -/***/ }), -/* 159 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O) -var $keys = __webpack_require__(160), - hiddenKeys = __webpack_require__(100).concat('length', 'prototype'); - -exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { - return $keys(O, hiddenKeys); -}; - -/***/ }), -/* 160 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var has = __webpack_require__(42), - toIObject = __webpack_require__(36), - arrayIndexOf = __webpack_require__(269)(false), - IE_PROTO = __webpack_require__(105)('IE_PROTO'); - -module.exports = function (object, names) { - var O = toIObject(object), - i = 0, - result = [], - key; - for (key in O) { - if (key != IE_PROTO) has(O, key) && result.push(key); - } // Don't enum bug & hidden keys - while (names.length > i) { - if (has(O, key = names[i++])) { - ~arrayIndexOf(result, key) || result.push(key); - } - }return result; -}; - -/***/ }), -/* 161 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var getKeys = __webpack_require__(51), - toIObject = __webpack_require__(36), - isEnum = __webpack_require__(65).f; -module.exports = function (isEntries) { - return function (it) { - var O = toIObject(it), - keys = getKeys(O), - length = keys.length, - i = 0, - result = [], - key; - while (length > i) { - if (isEnum.call(O, key = keys[i++])) { - result.push(isEntries ? [key, O[key]] : O[key]); - } - }return result; - }; -}; - -/***/ }), -/* 162 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = __webpack_require__(50); - -/***/ }), -/* 163 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -// 7.1.15 ToLength -var toInteger = __webpack_require__(107), - min = Math.min; -module.exports = function (it) { - return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 -}; - -/***/ }), -/* 164 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var $at = __webpack_require__(287)(true); - -// 21.1.3.27 String.prototype[@@iterator]() -__webpack_require__(157)(String, 'String', function (iterated) { - this._t = String(iterated); // target - this._i = 0; // next index - // 21.1.5.2.1 %StringIteratorPrototype%.next() -}, function () { - var O = this._t, - index = this._i, - point; - if (index >= O.length) return { value: undefined, done: true }; - point = $at(O, index); - this._i += point.length; - return { value: point, done: false }; -}); - -/***/ }), -/* 165 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = activeElement; - -var _ownerDocument = __webpack_require__(52); - -var _ownerDocument2 = _interopRequireDefault(_ownerDocument); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -function activeElement() { - var doc = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : (0, _ownerDocument2.default)(); - - try { - return doc.activeElement; - } catch (e) {/* ie throws if no active element */} -} -module.exports = exports['default']; - -/***/ }), -/* 166 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = hasClass; -function hasClass(element, className) { - if (element.classList) return !!className && element.classList.contains(className);else return (" " + element.className + " ").indexOf(" " + className + " ") !== -1; -} -module.exports = exports["default"]; - -/***/ }), -/* 167 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = offset; - -var _contains = __webpack_require__(53); - -var _contains2 = _interopRequireDefault(_contains); - -var _isWindow = __webpack_require__(77); - -var _isWindow2 = _interopRequireDefault(_isWindow); - -var _ownerDocument = __webpack_require__(52); - -var _ownerDocument2 = _interopRequireDefault(_ownerDocument); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -function offset(node) { - var doc = (0, _ownerDocument2.default)(node), - win = (0, _isWindow2.default)(doc), - docElem = doc && doc.documentElement, - box = { top: 0, left: 0, height: 0, width: 0 }; - - if (!doc) return; - - // Make sure it's not a disconnected DOM node - if (!(0, _contains2.default)(docElem, node)) return box; - - if (node.getBoundingClientRect !== undefined) box = node.getBoundingClientRect(); - - // IE8 getBoundingClientRect doesn't support width & height - box = { - top: box.top + (win.pageYOffset || docElem.scrollTop) - (docElem.clientTop || 0), - left: box.left + (win.pageXOffset || docElem.scrollLeft) - (docElem.clientLeft || 0), - width: (box.width == null ? node.offsetWidth : box.width) || 0, - height: (box.height == null ? node.offsetHeight : box.height) || 0 - }; - - return box; -} -module.exports = exports['default']; - -/***/ }), -/* 168 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = scrollTop; - -var _isWindow = __webpack_require__(77); - -var _isWindow2 = _interopRequireDefault(_isWindow); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -function scrollTop(node, val) { - var win = (0, _isWindow2.default)(node); - - if (val === undefined) return win ? 'pageYOffset' in win ? win.pageYOffset : win.document.documentElement.scrollTop : node.scrollTop; - - if (win) win.scrollTo('pageXOffset' in win ? win.pageXOffset : win.document.documentElement.scrollLeft, val);else node.scrollTop = val; -} -module.exports = exports['default']; - -/***/ }), -/* 169 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.animationEnd = exports.animationDelay = exports.animationTiming = exports.animationDuration = exports.animationName = exports.transitionEnd = exports.transitionDuration = exports.transitionDelay = exports.transitionTiming = exports.transitionProperty = exports.transform = undefined; - -var _inDOM = __webpack_require__(37); - -var _inDOM2 = _interopRequireDefault(_inDOM); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -var transform = 'transform'; -var prefix = void 0, - transitionEnd = void 0, - animationEnd = void 0; -var transitionProperty = void 0, - transitionDuration = void 0, - transitionTiming = void 0, - transitionDelay = void 0; -var animationName = void 0, - animationDuration = void 0, - animationTiming = void 0, - animationDelay = void 0; - -if (_inDOM2.default) { - var _getTransitionPropert = getTransitionProperties(); - - prefix = _getTransitionPropert.prefix; - exports.transitionEnd = transitionEnd = _getTransitionPropert.transitionEnd; - exports.animationEnd = animationEnd = _getTransitionPropert.animationEnd; - - exports.transform = transform = prefix + '-' + transform; - exports.transitionProperty = transitionProperty = prefix + '-transition-property'; - exports.transitionDuration = transitionDuration = prefix + '-transition-duration'; - exports.transitionDelay = transitionDelay = prefix + '-transition-delay'; - exports.transitionTiming = transitionTiming = prefix + '-transition-timing-function'; - - exports.animationName = animationName = prefix + '-animation-name'; - exports.animationDuration = animationDuration = prefix + '-animation-duration'; - exports.animationTiming = animationTiming = prefix + '-animation-delay'; - exports.animationDelay = animationDelay = prefix + '-animation-timing-function'; -} - -exports.transform = transform; -exports.transitionProperty = transitionProperty; -exports.transitionTiming = transitionTiming; -exports.transitionDelay = transitionDelay; -exports.transitionDuration = transitionDuration; -exports.transitionEnd = transitionEnd; -exports.animationName = animationName; -exports.animationDuration = animationDuration; -exports.animationTiming = animationTiming; -exports.animationDelay = animationDelay; -exports.animationEnd = animationEnd; -exports.default = { - transform: transform, - end: transitionEnd, - property: transitionProperty, - timing: transitionTiming, - delay: transitionDelay, - duration: transitionDuration -}; - -function getTransitionProperties() { - var style = document.createElement('div').style; - - var vendorMap = { - O: function O(e) { - return 'o' + e.toLowerCase(); - }, - Moz: function Moz(e) { - return e.toLowerCase(); - }, - Webkit: function Webkit(e) { - return 'webkit' + e; - }, - ms: function ms(e) { - return 'MS' + e; - } - }; - - var vendors = Object.keys(vendorMap); - - var transitionEnd = void 0, - animationEnd = void 0; - var prefix = ''; - - for (var i = 0; i < vendors.length; i++) { - var vendor = vendors[i]; - - if (vendor + 'TransitionProperty' in style) { - prefix = '-' + vendor.toLowerCase(); - transitionEnd = vendorMap[vendor]('TransitionEnd'); - animationEnd = vendorMap[vendor]('AnimationEnd'); - break; - } - } - - if (!transitionEnd && 'transitionProperty' in style) transitionEnd = 'transitionend'; - - if (!animationEnd && 'animationName' in style) animationEnd = 'animationend'; - - style = null; - - return { animationEnd: animationEnd, transitionEnd: transitionEnd, prefix: prefix }; -} - -/***/ }), -/* 170 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = camelizeStyleName; - -var _camelize = __webpack_require__(316); - -var _camelize2 = _interopRequireDefault(_camelize); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -var msPattern = /^-ms-/; /** - * Copyright 2014-2015, Facebook, Inc. - * All rights reserved. - * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/camelizeStyleName.js - */ -function camelizeStyleName(string) { - return (0, _camelize2.default)(string.replace(msPattern, 'ms-')); -} -module.exports = exports['default']; - -/***/ }), -/* 171 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -exports.default = function (recalc) { - if (!size || recalc) { - if (_inDOM2.default) { - var scrollDiv = document.createElement('div'); - - scrollDiv.style.position = 'absolute'; - scrollDiv.style.top = '-9999px'; - scrollDiv.style.width = '50px'; - scrollDiv.style.height = '50px'; - scrollDiv.style.overflow = 'scroll'; - - document.body.appendChild(scrollDiv); - size = scrollDiv.offsetWidth - scrollDiv.clientWidth; - document.body.removeChild(scrollDiv); - } - } - - return size; -}; - -var _inDOM = __webpack_require__(37); - -var _inDOM2 = _interopRequireDefault(_inDOM); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -var size = void 0; - -module.exports = exports['default']; - -/***/ }), -/* 172 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -/** - * 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. - * - * @typechecks - */ - -var emptyFunction = __webpack_require__(24); - -/** - * Upstream version of event listener. Does not take into account specific - * nature of platform. - */ -var EventListener = { - /** - * Listen to DOM events during the bubble phase. - * - * @param {DOMEventTarget} target DOM element to register listener on. - * @param {string} eventType Event type, e.g. 'click' or 'mouseover'. - * @param {function} callback Callback function. - * @return {object} Object with a `remove` method. - */ - listen: function listen(target, eventType, callback) { - if (target.addEventListener) { - target.addEventListener(eventType, callback, false); - return { - remove: function remove() { - target.removeEventListener(eventType, callback, false); - } - }; - } else if (target.attachEvent) { - target.attachEvent('on' + eventType, callback); - return { - remove: function remove() { - target.detachEvent('on' + eventType, callback); - } - }; - } - }, - - /** - * Listen to DOM events during the capture phase. - * - * @param {DOMEventTarget} target DOM element to register listener on. - * @param {string} eventType Event type, e.g. 'click' or 'mouseover'. - * @param {function} callback Callback function. - * @return {object} Object with a `remove` method. - */ - capture: function capture(target, eventType, callback) { - if (target.addEventListener) { - target.addEventListener(eventType, callback, true); - return { - remove: function remove() { - target.removeEventListener(eventType, callback, true); - } - }; - } else { - if (process.env.NODE_ENV !== 'production') { - console.error('Attempted to listen to events during the capture phase on a ' + 'browser that does not support the capture phase. Your application ' + 'will not receive some events.'); - } - return { - remove: emptyFunction - }; - } - }, - - registerDefault: function registerDefault() {} -}; - -module.exports = EventListener; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 173 */ -/***/ (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. - * - */ - - - -/** - * @param {DOMElement} node input/textarea to focus - */ - -function focusNode(node) { - // IE8 can throw "Can't move focus to the control because it is invisible, - // not enabled, or of a type that does not accept the focus." for all kinds of - // reasons that are too expensive and fragile to test. - try { - node.focus(); - } catch (e) {} -} - -module.exports = focusNode; - -/***/ }), -/* 174 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @typechecks - */ - -/* eslint-disable fb-www/typeof-undefined */ - -/** - * Same as document.activeElement but wraps in a try-catch block. In IE it is - * not safe to call document.activeElement if there is nothing focused. - * - * The activeElement will be null only if the document or document body is not - * yet defined. - * - * @param {?DOMDocument} doc Defaults to current document. - * @return {?DOMElement} - */ - -function getActiveElement(doc) /*?DOMElement*/{ - doc = doc || (typeof document !== 'undefined' ? document : undefined); - if (typeof doc === 'undefined') { - return null; - } - try { - return doc.activeElement || doc.body; - } catch (e) { - return doc.body; - } -} - -module.exports = getActiveElement; - -/***/ }), -/* 175 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -exports.__esModule = true; -exports.readState = exports.saveState = undefined; - -var _warning = __webpack_require__(16); - -var _warning2 = _interopRequireDefault(_warning); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -var QuotaExceededErrors = { - QuotaExceededError: true, - QUOTA_EXCEEDED_ERR: true -}; - -var SecurityErrors = { - SecurityError: true -}; - -var KeyPrefix = '@@History/'; - -var createKey = function createKey(key) { - return KeyPrefix + key; -}; - -var saveState = exports.saveState = function saveState(key, state) { - if (!window.sessionStorage) { - // Session storage is not available or hidden. - // sessionStorage is undefined in Internet Explorer when served via file protocol. - process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(false, '[history] Unable to save state; sessionStorage is not available') : void 0; - - return; - } - - try { - if (state == null) { - window.sessionStorage.removeItem(createKey(key)); - } else { - window.sessionStorage.setItem(createKey(key), JSON.stringify(state)); - } - } catch (error) { - if (SecurityErrors[error.name]) { - // Blocking cookies in Chrome/Firefox/Safari throws SecurityError on any - // attempt to access window.sessionStorage. - process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(false, '[history] Unable to save state; sessionStorage is not available due to security settings') : void 0; - - return; - } - - if (QuotaExceededErrors[error.name] && window.sessionStorage.length === 0) { - // Safari "private mode" throws QuotaExceededError. - process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(false, '[history] Unable to save state; sessionStorage is not available in Safari private mode') : void 0; - - return; - } - - throw error; - } -}; - -var readState = exports.readState = function readState(key) { - var json = void 0; - try { - json = window.sessionStorage.getItem(createKey(key)); - } catch (error) { - if (SecurityErrors[error.name]) { - // Blocking cookies in Chrome/Firefox/Safari throws SecurityError on any - // attempt to access window.sessionStorage. - process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(false, '[history] Unable to read state; sessionStorage is not available due to security settings') : void 0; - - return undefined; - } - } - - if (json) { - try { - return JSON.parse(json); - } catch (error) { - // Ignore invalid JSON. - } - } - - return undefined; -}; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 176 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.__esModule = true; - -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 _runTransitionHook = __webpack_require__(117); - -var _runTransitionHook2 = _interopRequireDefault(_runTransitionHook); - -var _PathUtils = __webpack_require__(38); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -var useBasename = function useBasename(createHistory) { - return function () { - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - - var history = createHistory(options); - var basename = options.basename; - - var addBasename = function addBasename(location) { - if (!location) return location; - - if (basename && location.basename == null) { - if (location.pathname.toLowerCase().indexOf(basename.toLowerCase()) === 0) { - location.pathname = location.pathname.substring(basename.length); - location.basename = basename; - - if (location.pathname === '') location.pathname = '/'; - } else { - location.basename = ''; - } - } - - return location; - }; - - var prependBasename = function prependBasename(location) { - if (!basename) return location; - - var object = typeof location === 'string' ? (0, _PathUtils.parsePath)(location) : location; - var pname = object.pathname; - var normalizedBasename = basename.slice(-1) === '/' ? basename : basename + '/'; - var normalizedPathname = pname.charAt(0) === '/' ? pname.slice(1) : pname; - var pathname = normalizedBasename + normalizedPathname; - - return _extends({}, object, { - pathname: pathname - }); - }; - - // Override all read methods with basename-aware versions. - var getCurrentLocation = function getCurrentLocation() { - return addBasename(history.getCurrentLocation()); - }; - - var listenBefore = function listenBefore(hook) { - return history.listenBefore(function (location, callback) { - return (0, _runTransitionHook2.default)(hook, addBasename(location), callback); - }); - }; - - var listen = function listen(listener) { - return history.listen(function (location) { - return listener(addBasename(location)); - }); - }; - - // Override all write methods with basename-aware versions. - var push = function push(location) { - return history.push(prependBasename(location)); - }; - - var replace = function replace(location) { - return history.replace(prependBasename(location)); - }; - - var createPath = function createPath(location) { - return history.createPath(prependBasename(location)); - }; - - var createHref = function createHref(location) { - return history.createHref(prependBasename(location)); - }; - - var createLocation = function createLocation(location) { - for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - args[_key - 1] = arguments[_key]; - } - - return addBasename(history.createLocation.apply(history, [prependBasename(location)].concat(args))); - }; - - return _extends({}, history, { - getCurrentLocation: getCurrentLocation, - listenBefore: listenBefore, - listen: listen, - push: push, - replace: replace, - createPath: createPath, - createHref: createHref, - createLocation: createLocation - }); - }; -}; - -exports.default = useBasename; - -/***/ }), -/* 177 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.__esModule = true; - -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 _queryString = __webpack_require__(349); - -var _runTransitionHook = __webpack_require__(117); - -var _runTransitionHook2 = _interopRequireDefault(_runTransitionHook); - -var _LocationUtils = __webpack_require__(55); - -var _PathUtils = __webpack_require__(38); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -var defaultStringifyQuery = function defaultStringifyQuery(query) { - return (0, _queryString.stringify)(query).replace(/%20/g, '+'); -}; - -var defaultParseQueryString = _queryString.parse; - -/** - * Returns a new createHistory function that may be used to create - * history objects that know how to handle URL queries. - */ -var useQueries = function useQueries(createHistory) { - return function () { - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - - var history = createHistory(options); - var stringifyQuery = options.stringifyQuery, - parseQueryString = options.parseQueryString; - - if (typeof stringifyQuery !== 'function') stringifyQuery = defaultStringifyQuery; - - if (typeof parseQueryString !== 'function') parseQueryString = defaultParseQueryString; - - var decodeQuery = function decodeQuery(location) { - if (!location) return location; - - if (location.query == null) location.query = parseQueryString(location.search.substring(1)); - - return location; - }; - - var encodeQuery = function encodeQuery(location, query) { - if (query == null) return location; - - var object = typeof location === 'string' ? (0, _PathUtils.parsePath)(location) : location; - var queryString = stringifyQuery(query); - var search = queryString ? '?' + queryString : ''; - - return _extends({}, object, { - search: search - }); - }; - - // Override all read methods with query-aware versions. - var getCurrentLocation = function getCurrentLocation() { - return decodeQuery(history.getCurrentLocation()); - }; - - var listenBefore = function listenBefore(hook) { - return history.listenBefore(function (location, callback) { - return (0, _runTransitionHook2.default)(hook, decodeQuery(location), callback); - }); - }; - - var listen = function listen(listener) { - return history.listen(function (location) { - return listener(decodeQuery(location)); - }); - }; - - // Override all write methods with query-aware versions. - var push = function push(location) { - return history.push(encodeQuery(location, location.query)); - }; - - var replace = function replace(location) { - return history.replace(encodeQuery(location, location.query)); - }; - - var createPath = function createPath(location) { - return history.createPath(encodeQuery(location, location.query)); - }; - - var createHref = function createHref(location) { - return history.createHref(encodeQuery(location, location.query)); - }; - - var createLocation = function createLocation(location) { - for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - args[_key - 1] = arguments[_key]; - } - - var newLocation = history.createLocation.apply(history, [encodeQuery(location, location.query)].concat(args)); - - if (location.query) newLocation.query = (0, _LocationUtils.createQuery)(location.query); - - return decodeQuery(newLocation); - }; - - return _extends({}, history, { - getCurrentLocation: getCurrentLocation, - listenBefore: listenBefore, - listen: listen, - push: push, - replace: replace, - createPath: createPath, - createHref: createHref, - createLocation: createLocation - }); - }; -}; - -exports.default = useQueries; - -/***/ }), -/* 178 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright 2015, Yahoo! Inc. - * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. - */ - - -var REACT_STATICS = { - childContextTypes: true, - contextTypes: true, - defaultProps: true, - displayName: true, - getDefaultProps: true, - mixins: true, - propTypes: true, - type: true -}; - -var KNOWN_STATICS = { - name: true, - length: true, - prototype: true, - caller: true, - arguments: true, - arity: true -}; - -var isGetOwnPropertySymbolsAvailable = typeof Object.getOwnPropertySymbols === 'function'; - -module.exports = function hoistNonReactStatics(targetComponent, sourceComponent, customStatics) { - if (typeof sourceComponent !== 'string') { - // don't hoist over string (html) components - var keys = Object.getOwnPropertyNames(sourceComponent); - - /* istanbul ignore else */ - if (isGetOwnPropertySymbolsAvailable) { - keys = keys.concat(Object.getOwnPropertySymbols(sourceComponent)); - } - - for (var i = 0; i < keys.length; ++i) { - if (!REACT_STATICS[keys[i]] && !KNOWN_STATICS[keys[i]] && (!customStatics || !customStatics[keys[i]])) { - try { - targetComponent[keys[i]] = sourceComponent[keys[i]]; - } catch (error) {} - } - } - } - - return targetComponent; -}; - -/***/ }), -/* 179 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _root = __webpack_require__(345); - -var _root2 = _interopRequireDefault(_root); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** Built-in value references. */ -var _Symbol = _root2.default.Symbol; - -exports.default = _Symbol; - -/***/ }), -/* 180 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - */ - - - -// React 15.5 references this module, and assumes PropTypes are still callable in production. -// 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__(181); -module.exports = function (isValidElement) { - // It is still allowed in 15.5. - var throwOnDirectAccess = false; - return factory(isValidElement, throwOnDirectAccess); -}; - -/***/ }), -/* 181 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - */ - - - -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 emptyFunction = __webpack_require__(24); -var invariant = __webpack_require__(10); -var warning = __webpack_require__(11); - -var ReactPropTypesSecret = __webpack_require__(120); -var checkPropTypes = __webpack_require__(347); - -module.exports = function (isValidElement, throwOnDirectAccess) { - /* global Symbol */ - var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator; - var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec. - - /** - * Returns the iterator method function contained on the iterable object. - * - * Be sure to invoke the function with the iterable as context: - * - * var iteratorFn = getIteratorFn(myIterable); - * if (iteratorFn) { - * var iterator = iteratorFn.call(myIterable); - * ... - * } - * - * @param {?object} maybeIterable - * @return {?function} - */ - function getIteratorFn(maybeIterable) { - var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]); - if (typeof iteratorFn === 'function') { - return iteratorFn; - } - } - - /** - * Collection of methods that allow declaration and validation of props that are - * supplied to React components. Example usage: - * - * var Props = require('ReactPropTypes'); - * var MyArticle = React.createClass({ - * propTypes: { - * // An optional string prop named "description". - * description: Props.string, - * - * // A required enum prop named "category". - * category: Props.oneOf(['News','Photos']).isRequired, - * - * // A prop named "dialog" that requires an instance of Dialog. - * dialog: Props.instanceOf(Dialog).isRequired - * }, - * render: function() { ... } - * }); - * - * A more formal specification of how these methods are used: - * - * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...) - * decl := ReactPropTypes.{type}(.isRequired)? - * - * Each and every declaration produces a function with the same signature. This - * allows the creation of custom validation functions. For example: - * - * var MyLink = React.createClass({ - * propTypes: { - * // An optional string or URI prop named "href". - * href: function(props, propName, componentName) { - * var propValue = props[propName]; - * if (propValue != null && typeof propValue !== 'string' && - * !(propValue instanceof URI)) { - * return new Error( - * 'Expected a string or an URI for ' + propName + ' in ' + - * componentName - * ); - * } - * } - * }, - * render: function() {...} - * }); - * - * @internal - */ - - var ANONYMOUS = '<<anonymous>>'; - - // Important! - // Keep this list in sync with production version in `./factoryWithThrowingShims.js`. - var ReactPropTypes = { - array: createPrimitiveTypeChecker('array'), - bool: createPrimitiveTypeChecker('boolean'), - func: createPrimitiveTypeChecker('function'), - number: createPrimitiveTypeChecker('number'), - object: createPrimitiveTypeChecker('object'), - string: createPrimitiveTypeChecker('string'), - symbol: createPrimitiveTypeChecker('symbol'), - - any: createAnyTypeChecker(), - arrayOf: createArrayOfTypeChecker, - element: createElementTypeChecker(), - instanceOf: createInstanceTypeChecker, - node: createNodeChecker(), - objectOf: createObjectOfTypeChecker, - oneOf: createEnumTypeChecker, - oneOfType: createUnionTypeChecker, - shape: createShapeTypeChecker - }; - - /** - * inlined Object.is polyfill to avoid requiring consumers ship their own - * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is - */ - /*eslint-disable no-self-compare*/ - function is(x, y) { - // SameValue algorithm - if (x === y) { - // Steps 1-5, 7-10 - // Steps 6.b-6.e: +0 != -0 - return x !== 0 || 1 / x === 1 / y; - } else { - // Step 6.a: NaN == NaN - return x !== x && y !== y; - } - } - /*eslint-enable no-self-compare*/ - - /** - * We use an Error-like object for backward compatibility as people may call - * PropTypes directly and inspect their output. However, we don't use real - * Errors anymore. We don't inspect their stack anyway, and creating them - * is prohibitively expensive if they are created too often, such as what - * happens in oneOfType() for any type before the one that matched. - */ - function PropTypeError(message) { - this.message = message; - this.stack = ''; - } - // Make `instanceof Error` still work for returned errors. - PropTypeError.prototype = Error.prototype; - - function createChainableTypeChecker(validate) { - if (process.env.NODE_ENV !== 'production') { - var manualPropTypeCallCache = {}; - var manualPropTypeWarningCount = 0; - } - function checkType(isRequired, props, propName, componentName, location, propFullName, secret) { - componentName = componentName || ANONYMOUS; - propFullName = propFullName || propName; - - if (secret !== ReactPropTypesSecret) { - if (throwOnDirectAccess) { - // New behavior only for users of `prop-types` package - invariant(false, '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'); - } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') { - // Old behavior for people using React.PropTypes - var cacheKey = componentName + ':' + propName; - if (!manualPropTypeCallCache[cacheKey] && - // Avoid spamming the console because they are often not actionable except for lib authors - manualPropTypeWarningCount < 3) { - warning(false, 'You are manually calling a React.PropTypes validation ' + 'function for the `%s` prop on `%s`. 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); - manualPropTypeCallCache[cacheKey] = true; - manualPropTypeWarningCount++; - } - } - } - if (props[propName] == null) { - if (isRequired) { - if (props[propName] === null) { - return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.')); - } - return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.')); - } - return null; - } else { - return validate(props, propName, componentName, location, propFullName); - } - } - - var chainedCheckType = checkType.bind(null, false); - chainedCheckType.isRequired = checkType.bind(null, true); - - return chainedCheckType; - } - - function createPrimitiveTypeChecker(expectedType) { - function validate(props, propName, componentName, location, propFullName, secret) { - var propValue = props[propName]; - var propType = getPropType(propValue); - if (propType !== expectedType) { - // `propValue` being instance of, say, date/regexp, pass the 'object' - // check, but we can offer a more precise error message here rather than - // 'of type `object`'. - var preciseType = getPreciseType(propValue); - - return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.')); - } - return null; - } - return createChainableTypeChecker(validate); - } - - function createAnyTypeChecker() { - return createChainableTypeChecker(emptyFunction.thatReturnsNull); - } - - function createArrayOfTypeChecker(typeChecker) { - function validate(props, propName, componentName, location, propFullName) { - if (typeof typeChecker !== 'function') { - return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.'); - } - var propValue = props[propName]; - if (!Array.isArray(propValue)) { - var propType = getPropType(propValue); - return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.')); - } - for (var i = 0; i < propValue.length; i++) { - var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret); - if (error instanceof Error) { - return error; - } - } - return null; - } - return createChainableTypeChecker(validate); - } - - function createElementTypeChecker() { - function validate(props, propName, componentName, location, propFullName) { - var propValue = props[propName]; - if (!isValidElement(propValue)) { - var propType = getPropType(propValue); - return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.')); - } - return null; - } - return createChainableTypeChecker(validate); - } - - function createInstanceTypeChecker(expectedClass) { - function validate(props, propName, componentName, location, propFullName) { - if (!(props[propName] instanceof expectedClass)) { - var expectedClassName = expectedClass.name || ANONYMOUS; - var actualClassName = getClassName(props[propName]); - return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.')); - } - return null; - } - return createChainableTypeChecker(validate); - } - - 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; - } - - function validate(props, propName, componentName, location, propFullName) { - var propValue = props[propName]; - for (var i = 0; i < expectedValues.length; i++) { - if (is(propValue, expectedValues[i])) { - return null; - } - } - - var valuesString = JSON.stringify(expectedValues); - return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.')); - } - return createChainableTypeChecker(validate); - } - - function createObjectOfTypeChecker(typeChecker) { - function validate(props, propName, componentName, location, propFullName) { - if (typeof typeChecker !== 'function') { - return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.'); - } - var propValue = props[propName]; - var propType = getPropType(propValue); - if (propType !== 'object') { - return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.')); - } - for (var key in propValue) { - if (propValue.hasOwnProperty(key)) { - var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); - if (error instanceof Error) { - return error; - } - } - } - return null; - } - return createChainableTypeChecker(validate); - } - - 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; - } - - for (var i = 0; i < arrayOfTypeCheckers.length; i++) { - var checker = arrayOfTypeCheckers[i]; - if (typeof checker !== 'function') { - warning(false, 'Invalid argument supplid to oneOfType. Expected an array of check functions, but ' + 'received %s at index %s.', getPostfixForTypeWarning(checker), i); - return emptyFunction.thatReturnsNull; - } - } - - function validate(props, propName, componentName, location, propFullName) { - for (var i = 0; i < arrayOfTypeCheckers.length; i++) { - var checker = arrayOfTypeCheckers[i]; - if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) { - return null; - } - } - - return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.')); - } - return createChainableTypeChecker(validate); - } - - function createNodeChecker() { - function validate(props, propName, componentName, location, propFullName) { - if (!isNode(props[propName])) { - return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.')); - } - return null; - } - return createChainableTypeChecker(validate); - } - - function createShapeTypeChecker(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`.')); - } - for (var key in shapeTypes) { - var checker = shapeTypes[key]; - if (!checker) { - continue; - } - 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 === 'undefined' ? 'undefined' : _typeof(propValue)) { - case 'number': - case 'string': - case 'undefined': - return true; - case 'boolean': - return !propValue; - case 'object': - if (Array.isArray(propValue)) { - return propValue.every(isNode); - } - if (propValue === null || isValidElement(propValue)) { - return true; - } - - var iteratorFn = getIteratorFn(propValue); - if (iteratorFn) { - var iterator = iteratorFn.call(propValue); - var step; - if (iteratorFn !== propValue.entries) { - while (!(step = iterator.next()).done) { - if (!isNode(step.value)) { - return false; - } - } - } else { - // Iterator will provide entry [k,v] tuples rather than values. - while (!(step = iterator.next()).done) { - var entry = step.value; - if (entry) { - if (!isNode(entry[1])) { - return false; - } - } - } - } - } else { - return false; - } - - return true; - default: - return false; - } - } - - function isSymbol(propType, propValue) { - // Native Symbol. - if (propType === 'symbol') { - return true; - } - - // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol' - if (propValue['@@toStringTag'] === 'Symbol') { - return true; - } - - // Fallback for non-spec compliant Symbols which are polyfilled. - if (typeof Symbol === 'function' && propValue instanceof Symbol) { - return true; - } - - return false; - } - - // Equivalent of `typeof` but with special handling for array and regexp. - function getPropType(propValue) { - var propType = typeof propValue === 'undefined' ? 'undefined' : _typeof(propValue); - if (Array.isArray(propValue)) { - return 'array'; - } - if (propValue instanceof RegExp) { - // Old webkits (at least until Android 4.0) return 'function' rather than - // 'object' for typeof a RegExp. We'll normalize this here so that /bla/ - // passes PropTypes.object. - return 'object'; - } - if (isSymbol(propType, propValue)) { - return 'symbol'; - } - return propType; - } - - // 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) { - return 'date'; - } else if (propValue instanceof RegExp) { - return 'regexp'; - } - } - 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) { - return ANONYMOUS; - } - return propValue.constructor.name; - } - - ReactPropTypes.checkPropTypes = checkPropTypes; - ReactPropTypes.PropTypes = ReactPropTypes; - - return ReactPropTypes; -}; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 182 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _SafeAnchor = __webpack_require__(28); - -var _SafeAnchor2 = _interopRequireDefault(_SafeAnchor); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - /** - * If set to true, renders `span` instead of `a` - */ - active: _propTypes2.default.bool, - /** - * `href` attribute for the inner `a` element - */ - href: _propTypes2.default.string, - /** - * `title` attribute for the inner `a` element - */ - title: _propTypes2.default.node, - /** - * `target` attribute for the inner `a` element - */ - target: _propTypes2.default.string -}; - -var defaultProps = { - active: false -}; - -var BreadcrumbItem = function (_React$Component) { - (0, _inherits3.default)(BreadcrumbItem, _React$Component); - - function BreadcrumbItem() { - (0, _classCallCheck3.default)(this, BreadcrumbItem); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - BreadcrumbItem.prototype.render = function render() { - var _props = this.props, - active = _props.active, - href = _props.href, - title = _props.title, - target = _props.target, - className = _props.className, - props = (0, _objectWithoutProperties3.default)(_props, ['active', 'href', 'title', 'target', 'className']); - - // Don't try to render these props on non-active <span>. - - - var linkProps = { href: href, title: title, target: target }; - - return _react2.default.createElement('li', { className: (0, _classnames2.default)(className, { active: active }) }, active ? _react2.default.createElement('span', props) : _react2.default.createElement(_SafeAnchor2.default, (0, _extends3.default)({}, props, linkProps))); - }; - - return BreadcrumbItem; -}(_react2.default.Component); - -BreadcrumbItem.propTypes = propTypes; -BreadcrumbItem.defaultProps = defaultProps; - -exports.default = BreadcrumbItem; - -/***/ }), -/* 183 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends3 = __webpack_require__(5); - -var _extends4 = _interopRequireDefault(_extends3); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _all = __webpack_require__(90); - -var _all2 = _interopRequireDefault(_all); - -var _Button = __webpack_require__(67); - -var _Button2 = _interopRequireDefault(_Button); - -var _bootstrapUtils = __webpack_require__(9); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - vertical: _propTypes2.default.bool, - justified: _propTypes2.default.bool, - - /** - * Display block buttons; only useful when used with the "vertical" prop. - * @type {bool} - */ - block: (0, _all2.default)(_propTypes2.default.bool, function (_ref) { - var block = _ref.block, - vertical = _ref.vertical; - return block && !vertical ? new Error('`block` requires `vertical` to be set to have any effect') : null; - }) -}; - -var defaultProps = { - block: false, - justified: false, - vertical: false -}; - -var ButtonGroup = function (_React$Component) { - (0, _inherits3.default)(ButtonGroup, _React$Component); - - function ButtonGroup() { - (0, _classCallCheck3.default)(this, ButtonGroup); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - ButtonGroup.prototype.render = function render() { - var _extends2; - - var _props = this.props, - block = _props.block, - justified = _props.justified, - vertical = _props.vertical, - className = _props.className, - props = (0, _objectWithoutProperties3.default)(_props, ['block', 'justified', 'vertical', 'className']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var classes = (0, _extends4.default)({}, (0, _bootstrapUtils.getClassSet)(bsProps), (_extends2 = {}, _extends2[(0, _bootstrapUtils.prefix)(bsProps)] = !vertical, _extends2[(0, _bootstrapUtils.prefix)(bsProps, 'vertical')] = vertical, _extends2[(0, _bootstrapUtils.prefix)(bsProps, 'justified')] = justified, _extends2[(0, _bootstrapUtils.prefix)(_Button2.default.defaultProps, 'block')] = block, _extends2)); - - return _react2.default.createElement('div', (0, _extends4.default)({}, elementProps, { - className: (0, _classnames2.default)(className, classes) - })); - }; - - return ButtonGroup; -}(_react2.default.Component); - -ButtonGroup.propTypes = propTypes; -ButtonGroup.defaultProps = defaultProps; - -exports.default = (0, _bootstrapUtils.bsClass)('btn-group', ButtonGroup); - -/***/ }), -/* 184 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _reactDom = __webpack_require__(21); - -var _reactDom2 = _interopRequireDefault(_reactDom); - -var _TransitionEvents = __webpack_require__(410); - -var _TransitionEvents2 = _interopRequireDefault(_TransitionEvents); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -// TODO: This should use a timeout instead of TransitionEvents, or else just -// not wait until transition end to trigger continuing animations. - -var propTypes = { - direction: _propTypes2.default.oneOf(['prev', 'next']), - onAnimateOutEnd: _propTypes2.default.func, - active: _propTypes2.default.bool, - animateIn: _propTypes2.default.bool, - animateOut: _propTypes2.default.bool, - index: _propTypes2.default.number -}; - -var defaultProps = { - active: false, - animateIn: false, - animateOut: false -}; - -var CarouselItem = function (_React$Component) { - (0, _inherits3.default)(CarouselItem, _React$Component); - - function CarouselItem(props, context) { - (0, _classCallCheck3.default)(this, CarouselItem); - - var _this = (0, _possibleConstructorReturn3.default)(this, _React$Component.call(this, props, context)); - - _this.handleAnimateOutEnd = _this.handleAnimateOutEnd.bind(_this); - - _this.state = { - direction: null - }; - - _this.isUnmounted = false; - return _this; - } - - CarouselItem.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) { - if (this.props.active !== nextProps.active) { - this.setState({ direction: null }); - } - }; - - CarouselItem.prototype.componentDidUpdate = function componentDidUpdate(prevProps) { - var _this2 = this; - - var active = this.props.active; - - var prevActive = prevProps.active; - - if (!active && prevActive) { - _TransitionEvents2.default.addEndEventListener(_reactDom2.default.findDOMNode(this), this.handleAnimateOutEnd); - } - - if (active !== prevActive) { - setTimeout(function () { - return _this2.startAnimation(); - }, 20); - } - }; - - CarouselItem.prototype.componentWillUnmount = function componentWillUnmount() { - this.isUnmounted = true; - }; - - CarouselItem.prototype.handleAnimateOutEnd = function handleAnimateOutEnd() { - if (this.isUnmounted) { - return; - } - - if (this.props.onAnimateOutEnd) { - this.props.onAnimateOutEnd(this.props.index); - } - }; - - CarouselItem.prototype.startAnimation = function startAnimation() { - if (this.isUnmounted) { - return; - } - - this.setState({ - direction: this.props.direction === 'prev' ? 'right' : 'left' - }); - }; - - CarouselItem.prototype.render = function render() { - var _props = this.props, - direction = _props.direction, - active = _props.active, - animateIn = _props.animateIn, - animateOut = _props.animateOut, - className = _props.className, - props = (0, _objectWithoutProperties3.default)(_props, ['direction', 'active', 'animateIn', 'animateOut', 'className']); - - delete props.onAnimateOutEnd; - delete props.index; - - var classes = { - item: true, - active: active && !animateIn || animateOut - }; - if (direction && active && animateIn) { - classes[direction] = true; - } - if (this.state.direction && (animateIn || animateOut)) { - classes[this.state.direction] = true; - } - - return _react2.default.createElement('div', (0, _extends3.default)({}, props, { - className: (0, _classnames2.default)(className, classes) - })); - }; - - return CarouselItem; -}(_react2.default.Component); - -CarouselItem.propTypes = propTypes; -CarouselItem.defaultProps = defaultProps; - -exports.default = CarouselItem; - -/***/ }), -/* 185 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _propTypes = __webpack_require__(7); - -var PropTypes = _interopRequireWildcard(_propTypes); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - label: PropTypes.string.isRequired, - onClick: PropTypes.func -}; - -var CloseButton = function (_React$Component) { - (0, _inherits3.default)(CloseButton, _React$Component); - - function CloseButton() { - (0, _classCallCheck3.default)(this, CloseButton); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - CloseButton.prototype.render = function render() { - var _props = this.props, - label = _props.label, - onClick = _props.onClick; - - return _react2.default.createElement('button', { - type: 'button', - className: 'close', - onClick: onClick - }, _react2.default.createElement('span', { 'aria-hidden': 'true' }, '\xD7'), _react2.default.createElement('span', { className: 'sr-only' }, label)); - }; - - return CloseButton; -}(_react2.default.Component); - -CloseButton.propTypes = propTypes; - -exports.default = CloseButton; - -/***/ }), -/* 186 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _Button = __webpack_require__(67); - -var _Button2 = _interopRequireDefault(_Button); - -var _SafeAnchor = __webpack_require__(28); - -var _SafeAnchor2 = _interopRequireDefault(_SafeAnchor); - -var _bootstrapUtils = __webpack_require__(9); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - noCaret: _propTypes2.default.bool, - open: _propTypes2.default.bool, - title: _propTypes2.default.string, - useAnchor: _propTypes2.default.bool -}; - -var defaultProps = { - open: false, - useAnchor: false, - bsRole: 'toggle' -}; - -var DropdownToggle = function (_React$Component) { - (0, _inherits3.default)(DropdownToggle, _React$Component); - - function DropdownToggle() { - (0, _classCallCheck3.default)(this, DropdownToggle); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - DropdownToggle.prototype.render = function render() { - var _props = this.props, - noCaret = _props.noCaret, - open = _props.open, - useAnchor = _props.useAnchor, - bsClass = _props.bsClass, - className = _props.className, - children = _props.children, - props = (0, _objectWithoutProperties3.default)(_props, ['noCaret', 'open', 'useAnchor', 'bsClass', 'className', 'children']); - - delete props.bsRole; - - var Component = useAnchor ? _SafeAnchor2.default : _Button2.default; - var useCaret = !noCaret; - - // This intentionally forwards bsSize and bsStyle (if set) to the - // underlying component, to allow it to render size and style variants. - - // FIXME: Should this really fall back to `title` as children? - - return _react2.default.createElement(Component, (0, _extends3.default)({}, props, { - role: 'button', - className: (0, _classnames2.default)(className, bsClass), - 'aria-haspopup': true, - 'aria-expanded': open - }), children || props.title, useCaret && ' ', useCaret && _react2.default.createElement('span', { className: 'caret' })); - }; - - return DropdownToggle; -}(_react2.default.Component); - -DropdownToggle.propTypes = propTypes; -DropdownToggle.defaultProps = defaultProps; - -exports.default = (0, _bootstrapUtils.bsClass)('dropdown-toggle', DropdownToggle); - -/***/ }), -/* 187 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _elementType = __webpack_require__(13); - -var _elementType2 = _interopRequireDefault(_elementType); - -var _bootstrapUtils = __webpack_require__(9); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - /** - * Turn any fixed-width grid layout into a full-width layout by this property. - * - * Adds `container-fluid` class. - */ - fluid: _propTypes2.default.bool, - /** - * You can use a custom element for this component - */ - componentClass: _elementType2.default -}; - -var defaultProps = { - componentClass: 'div', - fluid: false -}; - -var Grid = function (_React$Component) { - (0, _inherits3.default)(Grid, _React$Component); - - function Grid() { - (0, _classCallCheck3.default)(this, Grid); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - Grid.prototype.render = function render() { - var _props = this.props, - fluid = _props.fluid, - Component = _props.componentClass, - className = _props.className, - props = (0, _objectWithoutProperties3.default)(_props, ['fluid', 'componentClass', 'className']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var classes = (0, _bootstrapUtils.prefix)(bsProps, fluid && 'fluid'); - - return _react2.default.createElement(Component, (0, _extends3.default)({}, elementProps, { - className: (0, _classnames2.default)(className, classes) - })); - }; - - return Grid; -}(_react2.default.Component); - -Grid.propTypes = propTypes; -Grid.defaultProps = defaultProps; - -exports.default = (0, _bootstrapUtils.bsClass)('container', Grid); - -/***/ }), -/* 188 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _values = __webpack_require__(47); - -var _values2 = _interopRequireDefault(_values); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _bootstrapUtils = __webpack_require__(9); - -var _StyleConfig = __webpack_require__(20); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - active: _propTypes2.default.any, - disabled: _propTypes2.default.any, - header: _propTypes2.default.node, - listItem: _propTypes2.default.bool, - onClick: _propTypes2.default.func, - href: _propTypes2.default.string, - type: _propTypes2.default.string -}; - -var defaultProps = { - listItem: false -}; - -var ListGroupItem = function (_React$Component) { - (0, _inherits3.default)(ListGroupItem, _React$Component); - - function ListGroupItem() { - (0, _classCallCheck3.default)(this, ListGroupItem); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - ListGroupItem.prototype.renderHeader = function renderHeader(header, headingClassName) { - if (_react2.default.isValidElement(header)) { - return (0, _react.cloneElement)(header, { - className: (0, _classnames2.default)(header.props.className, headingClassName) - }); - } - - return _react2.default.createElement('h4', { className: headingClassName }, header); - }; - - ListGroupItem.prototype.render = function render() { - var _props = this.props, - active = _props.active, - disabled = _props.disabled, - className = _props.className, - header = _props.header, - listItem = _props.listItem, - children = _props.children, - props = (0, _objectWithoutProperties3.default)(_props, ['active', 'disabled', 'className', 'header', 'listItem', 'children']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var classes = (0, _extends3.default)({}, (0, _bootstrapUtils.getClassSet)(bsProps), { - active: active, - disabled: disabled - }); - - var Component = void 0; - - if (elementProps.href) { - Component = 'a'; - } else if (elementProps.onClick) { - Component = 'button'; - elementProps.type = elementProps.type || 'button'; - } else if (listItem) { - Component = 'li'; - } else { - Component = 'span'; - } - - elementProps.className = (0, _classnames2.default)(className, classes); - - // TODO: Deprecate `header` prop. - if (header) { - return _react2.default.createElement(Component, elementProps, this.renderHeader(header, (0, _bootstrapUtils.prefix)(bsProps, 'heading')), _react2.default.createElement('p', { className: (0, _bootstrapUtils.prefix)(bsProps, 'text') }, children)); - } - - return _react2.default.createElement(Component, elementProps, children); - }; - - return ListGroupItem; -}(_react2.default.Component); - -ListGroupItem.propTypes = propTypes; -ListGroupItem.defaultProps = defaultProps; - -exports.default = (0, _bootstrapUtils.bsClass)('list-group-item', (0, _bootstrapUtils.bsStyles)((0, _values2.default)(_StyleConfig.State), ListGroupItem)); - -/***/ }), -/* 189 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _elementType = __webpack_require__(13); - -var _elementType2 = _interopRequireDefault(_elementType); - -var _bootstrapUtils = __webpack_require__(9); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - componentClass: _elementType2.default -}; - -var defaultProps = { - componentClass: 'div' -}; - -var ModalBody = function (_React$Component) { - (0, _inherits3.default)(ModalBody, _React$Component); - - function ModalBody() { - (0, _classCallCheck3.default)(this, ModalBody); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - ModalBody.prototype.render = function render() { - var _props = this.props, - Component = _props.componentClass, - className = _props.className, - props = (0, _objectWithoutProperties3.default)(_props, ['componentClass', 'className']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var classes = (0, _bootstrapUtils.getClassSet)(bsProps); - - return _react2.default.createElement(Component, (0, _extends3.default)({}, elementProps, { - className: (0, _classnames2.default)(className, classes) - })); - }; - - return ModalBody; -}(_react2.default.Component); - -ModalBody.propTypes = propTypes; -ModalBody.defaultProps = defaultProps; - -exports.default = (0, _bootstrapUtils.bsClass)('modal-body', ModalBody); - -/***/ }), -/* 190 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _elementType = __webpack_require__(13); - -var _elementType2 = _interopRequireDefault(_elementType); - -var _bootstrapUtils = __webpack_require__(9); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - componentClass: _elementType2.default -}; - -var defaultProps = { - componentClass: 'div' -}; - -var ModalFooter = function (_React$Component) { - (0, _inherits3.default)(ModalFooter, _React$Component); - - function ModalFooter() { - (0, _classCallCheck3.default)(this, ModalFooter); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - ModalFooter.prototype.render = function render() { - var _props = this.props, - Component = _props.componentClass, - className = _props.className, - props = (0, _objectWithoutProperties3.default)(_props, ['componentClass', 'className']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var classes = (0, _bootstrapUtils.getClassSet)(bsProps); - - return _react2.default.createElement(Component, (0, _extends3.default)({}, elementProps, { - className: (0, _classnames2.default)(className, classes) - })); - }; - - return ModalFooter; -}(_react2.default.Component); - -ModalFooter.propTypes = propTypes; -ModalFooter.defaultProps = defaultProps; - -exports.default = (0, _bootstrapUtils.bsClass)('modal-footer', ModalFooter); - -/***/ }), -/* 191 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _bootstrapUtils = __webpack_require__(9); - -var _createChainedFunction = __webpack_require__(19); - -var _createChainedFunction2 = _interopRequireDefault(_createChainedFunction); - -var _CloseButton = __webpack_require__(185); - -var _CloseButton2 = _interopRequireDefault(_CloseButton); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -// TODO: `aria-label` should be `closeLabel`. - -var propTypes = { - /** - * Provides an accessible label for the close - * button. It is used for Assistive Technology when the label text is not - * readable. - */ - closeLabel: _propTypes2.default.string, - - /** - * Specify whether the Component should contain a close button - */ - closeButton: _propTypes2.default.bool, - - /** - * A Callback fired when the close button is clicked. If used directly inside - * a Modal component, the onHide will automatically be propagated up to the - * parent Modal `onHide`. - */ - onHide: _propTypes2.default.func -}; - -var defaultProps = { - closeLabel: 'Close', - closeButton: false -}; - -var contextTypes = { - $bs_modal: _propTypes2.default.shape({ - onHide: _propTypes2.default.func - }) -}; - -var ModalHeader = function (_React$Component) { - (0, _inherits3.default)(ModalHeader, _React$Component); - - function ModalHeader() { - (0, _classCallCheck3.default)(this, ModalHeader); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - ModalHeader.prototype.render = function render() { - var _props = this.props, - closeLabel = _props.closeLabel, - closeButton = _props.closeButton, - onHide = _props.onHide, - className = _props.className, - children = _props.children, - props = (0, _objectWithoutProperties3.default)(_props, ['closeLabel', 'closeButton', 'onHide', 'className', 'children']); - - var modal = this.context.$bs_modal; - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var classes = (0, _bootstrapUtils.getClassSet)(bsProps); - - return _react2.default.createElement('div', (0, _extends3.default)({}, elementProps, { - className: (0, _classnames2.default)(className, classes) - }), closeButton && _react2.default.createElement(_CloseButton2.default, { - label: closeLabel, - onClick: (0, _createChainedFunction2.default)(modal && modal.onHide, onHide) - }), children); - }; - - return ModalHeader; -}(_react2.default.Component); - -ModalHeader.propTypes = propTypes; -ModalHeader.defaultProps = defaultProps; -ModalHeader.contextTypes = contextTypes; - -exports.default = (0, _bootstrapUtils.bsClass)('modal-header', ModalHeader); - -/***/ }), -/* 192 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _elementType = __webpack_require__(13); - -var _elementType2 = _interopRequireDefault(_elementType); - -var _bootstrapUtils = __webpack_require__(9); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - componentClass: _elementType2.default -}; - -var defaultProps = { - componentClass: 'h4' -}; - -var ModalTitle = function (_React$Component) { - (0, _inherits3.default)(ModalTitle, _React$Component); - - function ModalTitle() { - (0, _classCallCheck3.default)(this, ModalTitle); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - ModalTitle.prototype.render = function render() { - var _props = this.props, - Component = _props.componentClass, - className = _props.className, - props = (0, _objectWithoutProperties3.default)(_props, ['componentClass', 'className']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var classes = (0, _bootstrapUtils.getClassSet)(bsProps); - - return _react2.default.createElement(Component, (0, _extends3.default)({}, elementProps, { - className: (0, _classnames2.default)(className, classes) - })); - }; - - return ModalTitle; -}(_react2.default.Component); - -ModalTitle.propTypes = propTypes; -ModalTitle.defaultProps = defaultProps; - -exports.default = (0, _bootstrapUtils.bsClass)('modal-title', ModalTitle); - -/***/ }), -/* 193 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends3 = __webpack_require__(5); - -var _extends4 = _interopRequireDefault(_extends3); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _keycode = __webpack_require__(118); - -var _keycode2 = _interopRequireDefault(_keycode); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _reactDom = __webpack_require__(21); - -var _reactDom2 = _interopRequireDefault(_reactDom); - -var _all = __webpack_require__(90); - -var _all2 = _interopRequireDefault(_all); - -var _warning = __webpack_require__(16); - -var _warning2 = _interopRequireDefault(_warning); - -var _bootstrapUtils = __webpack_require__(9); - -var _createChainedFunction = __webpack_require__(19); - -var _createChainedFunction2 = _interopRequireDefault(_createChainedFunction); - -var _ValidComponentChildren = __webpack_require__(22); - -var _ValidComponentChildren2 = _interopRequireDefault(_ValidComponentChildren); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -// TODO: Should we expose `<NavItem>` as `<Nav.Item>`? - -// TODO: This `bsStyle` is very unlike the others. Should we rename it? - -// TODO: `pullRight` and `pullLeft` don't render right outside of `navbar`. -// Consider renaming or replacing them. - -var propTypes = { - /** - * Marks the NavItem with a matching `eventKey` as active. Has a - * higher precedence over `activeHref`. - */ - activeKey: _propTypes2.default.any, - - /** - * Marks the child NavItem with a matching `href` prop as active. - */ - activeHref: _propTypes2.default.string, - - /** - * NavItems are be positioned vertically. - */ - stacked: _propTypes2.default.bool, - - justified: (0, _all2.default)(_propTypes2.default.bool, function (_ref) { - var justified = _ref.justified, - navbar = _ref.navbar; - return justified && navbar ? Error('justified navbar `Nav`s are not supported') : null; - }), - - /** - * A callback fired when a NavItem is selected. - * - * ```js - * function ( - * Any eventKey, - * SyntheticEvent event? - * ) - * ``` - */ - onSelect: _propTypes2.default.func, - - /** - * ARIA role for the Nav, in the context of a TabContainer, the default will - * be set to "tablist", but can be overridden by the Nav when set explicitly. - * - * When the role is set to "tablist" NavItem focus is managed according to - * the ARIA authoring practices for tabs: - * https://www.w3.org/TR/2013/WD-wai-aria-practices-20130307/#tabpanel - */ - role: _propTypes2.default.string, - - /** - * Apply styling an alignment for use in a Navbar. This prop will be set - * automatically when the Nav is used inside a Navbar. - */ - navbar: _propTypes2.default.bool, - - /** - * Float the Nav to the right. When `navbar` is `true` the appropriate - * contextual classes are added as well. - */ - pullRight: _propTypes2.default.bool, - - /** - * Float the Nav to the left. When `navbar` is `true` the appropriate - * contextual classes are added as well. - */ - pullLeft: _propTypes2.default.bool -}; - -var defaultProps = { - justified: false, - pullRight: false, - pullLeft: false, - stacked: false -}; - -var contextTypes = { - $bs_navbar: _propTypes2.default.shape({ - bsClass: _propTypes2.default.string, - onSelect: _propTypes2.default.func - }), - - $bs_tabContainer: _propTypes2.default.shape({ - activeKey: _propTypes2.default.any, - onSelect: _propTypes2.default.func.isRequired, - getTabId: _propTypes2.default.func.isRequired, - getPaneId: _propTypes2.default.func.isRequired - }) -}; - -var Nav = function (_React$Component) { - (0, _inherits3.default)(Nav, _React$Component); - - function Nav() { - (0, _classCallCheck3.default)(this, Nav); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - Nav.prototype.componentDidUpdate = function componentDidUpdate() { - var _this2 = this; - - if (!this._needsRefocus) { - return; - } - - this._needsRefocus = false; - - var children = this.props.children; - - var _getActiveProps = this.getActiveProps(), - activeKey = _getActiveProps.activeKey, - activeHref = _getActiveProps.activeHref; - - var activeChild = _ValidComponentChildren2.default.find(children, function (child) { - return _this2.isActive(child, activeKey, activeHref); - }); - - var childrenArray = _ValidComponentChildren2.default.toArray(children); - var activeChildIndex = childrenArray.indexOf(activeChild); - - var childNodes = _reactDom2.default.findDOMNode(this).children; - var activeNode = childNodes && childNodes[activeChildIndex]; - - if (!activeNode || !activeNode.firstChild) { - return; - } - - activeNode.firstChild.focus(); - }; - - Nav.prototype.handleTabKeyDown = function handleTabKeyDown(onSelect, event) { - var nextActiveChild = void 0; - - switch (event.keyCode) { - case _keycode2.default.codes.left: - case _keycode2.default.codes.up: - nextActiveChild = this.getNextActiveChild(-1); - break; - case _keycode2.default.codes.right: - case _keycode2.default.codes.down: - nextActiveChild = this.getNextActiveChild(1); - break; - default: - // It was a different key; don't handle this keypress. - return; - } - - event.preventDefault(); - - if (onSelect && nextActiveChild && nextActiveChild.props.eventKey != null) { - onSelect(nextActiveChild.props.eventKey); - } - - this._needsRefocus = true; - }; - - Nav.prototype.getNextActiveChild = function getNextActiveChild(offset) { - var _this3 = this; - - var children = this.props.children; - - var validChildren = children.filter(function (child) { - return child.props.eventKey != null && !child.props.disabled; - }); - - var _getActiveProps2 = this.getActiveProps(), - activeKey = _getActiveProps2.activeKey, - activeHref = _getActiveProps2.activeHref; - - var activeChild = _ValidComponentChildren2.default.find(children, function (child) { - return _this3.isActive(child, activeKey, activeHref); - }); - - // This assumes the active child is not disabled. - var activeChildIndex = validChildren.indexOf(activeChild); - if (activeChildIndex === -1) { - // Something has gone wrong. Select the first valid child we can find. - return validChildren[0]; - } - - var nextIndex = activeChildIndex + offset; - var numValidChildren = validChildren.length; - - if (nextIndex >= numValidChildren) { - nextIndex = 0; - } else if (nextIndex < 0) { - nextIndex = numValidChildren - 1; - } - - return validChildren[nextIndex]; - }; - - Nav.prototype.getActiveProps = function getActiveProps() { - var tabContainer = this.context.$bs_tabContainer; - - if (tabContainer) { - process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(this.props.activeKey == null && !this.props.activeHref, 'Specifying a `<Nav>` `activeKey` or `activeHref` in the context of ' + 'a `<TabContainer>` is not supported. Instead use `<TabContainer ' + ('activeKey={' + this.props.activeKey + '} />`.')) : void 0; - - return tabContainer; - } - - return this.props; - }; - - Nav.prototype.isActive = function isActive(_ref2, activeKey, activeHref) { - var props = _ref2.props; - - if (props.active || activeKey != null && props.eventKey === activeKey || activeHref && props.href === activeHref) { - return true; - } - - return props.active; - }; - - Nav.prototype.getTabProps = function getTabProps(child, tabContainer, navRole, active, onSelect) { - var _this4 = this; - - if (!tabContainer && navRole !== 'tablist') { - // No tab props here. - return null; - } - - var _child$props = child.props, - id = _child$props.id, - controls = _child$props['aria-controls'], - eventKey = _child$props.eventKey, - role = _child$props.role, - onKeyDown = _child$props.onKeyDown, - tabIndex = _child$props.tabIndex; - - if (tabContainer) { - process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(!id && !controls, 'In the context of a `<TabContainer>`, `<NavItem>`s are given ' + 'generated `id` and `aria-controls` attributes for the sake of ' + 'proper component accessibility. Any provided ones will be ignored. ' + 'To control these attributes directly, provide a `generateChildId` ' + 'prop to the parent `<TabContainer>`.') : void 0; - - id = tabContainer.getTabId(eventKey); - controls = tabContainer.getPaneId(eventKey); - } - - if (navRole === 'tablist') { - role = role || 'tab'; - onKeyDown = (0, _createChainedFunction2.default)(function (event) { - return _this4.handleTabKeyDown(onSelect, event); - }, onKeyDown); - tabIndex = active ? tabIndex : -1; - } - - return { - id: id, - role: role, - onKeyDown: onKeyDown, - 'aria-controls': controls, - tabIndex: tabIndex - }; - }; - - Nav.prototype.render = function render() { - var _extends2, - _this5 = this; - - var _props = this.props, - stacked = _props.stacked, - justified = _props.justified, - onSelect = _props.onSelect, - propsRole = _props.role, - propsNavbar = _props.navbar, - pullRight = _props.pullRight, - pullLeft = _props.pullLeft, - className = _props.className, - children = _props.children, - props = (0, _objectWithoutProperties3.default)(_props, ['stacked', 'justified', 'onSelect', 'role', 'navbar', 'pullRight', 'pullLeft', 'className', 'children']); - - var tabContainer = this.context.$bs_tabContainer; - var role = propsRole || (tabContainer ? 'tablist' : null); - - var _getActiveProps3 = this.getActiveProps(), - activeKey = _getActiveProps3.activeKey, - activeHref = _getActiveProps3.activeHref; - - delete props.activeKey; // Accessed via this.getActiveProps(). - delete props.activeHref; // Accessed via this.getActiveProps(). - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var classes = (0, _extends4.default)({}, (0, _bootstrapUtils.getClassSet)(bsProps), (_extends2 = {}, _extends2[(0, _bootstrapUtils.prefix)(bsProps, 'stacked')] = stacked, _extends2[(0, _bootstrapUtils.prefix)(bsProps, 'justified')] = justified, _extends2)); - - var navbar = propsNavbar != null ? propsNavbar : this.context.$bs_navbar; - var pullLeftClassName = void 0; - var pullRightClassName = void 0; - - if (navbar) { - var navbarProps = this.context.$bs_navbar || { bsClass: 'navbar' }; - - classes[(0, _bootstrapUtils.prefix)(navbarProps, 'nav')] = true; - - pullRightClassName = (0, _bootstrapUtils.prefix)(navbarProps, 'right'); - pullLeftClassName = (0, _bootstrapUtils.prefix)(navbarProps, 'left'); - } else { - pullRightClassName = 'pull-right'; - pullLeftClassName = 'pull-left'; - } - - classes[pullRightClassName] = pullRight; - classes[pullLeftClassName] = pullLeft; - - return _react2.default.createElement('ul', (0, _extends4.default)({}, elementProps, { - role: role, - className: (0, _classnames2.default)(className, classes) - }), _ValidComponentChildren2.default.map(children, function (child) { - var active = _this5.isActive(child, activeKey, activeHref); - var childOnSelect = (0, _createChainedFunction2.default)(child.props.onSelect, onSelect, navbar && navbar.onSelect, tabContainer && tabContainer.onSelect); - - return (0, _react.cloneElement)(child, (0, _extends4.default)({}, _this5.getTabProps(child, tabContainer, role, active, childOnSelect), { - active: active, - activeKey: activeKey, - activeHref: activeHref, - onSelect: childOnSelect - })); - })); - }; - - return Nav; -}(_react2.default.Component); - -Nav.propTypes = propTypes; -Nav.defaultProps = defaultProps; -Nav.contextTypes = contextTypes; - -exports.default = (0, _bootstrapUtils.bsClass)('nav', (0, _bootstrapUtils.bsStyles)(['tabs', 'pills'], Nav)); -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 194 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _SafeAnchor = __webpack_require__(28); - -var _SafeAnchor2 = _interopRequireDefault(_SafeAnchor); - -var _createChainedFunction = __webpack_require__(19); - -var _createChainedFunction2 = _interopRequireDefault(_createChainedFunction); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - active: _propTypes2.default.bool, - disabled: _propTypes2.default.bool, - role: _propTypes2.default.string, - href: _propTypes2.default.string, - onClick: _propTypes2.default.func, - onSelect: _propTypes2.default.func, - eventKey: _propTypes2.default.any -}; - -var defaultProps = { - active: false, - disabled: false -}; - -var NavItem = function (_React$Component) { - (0, _inherits3.default)(NavItem, _React$Component); - - function NavItem(props, context) { - (0, _classCallCheck3.default)(this, NavItem); - - var _this = (0, _possibleConstructorReturn3.default)(this, _React$Component.call(this, props, context)); - - _this.handleClick = _this.handleClick.bind(_this); - return _this; - } - - NavItem.prototype.handleClick = function handleClick(e) { - if (this.props.onSelect) { - e.preventDefault(); - - if (!this.props.disabled) { - this.props.onSelect(this.props.eventKey, e); - } - } - }; - - NavItem.prototype.render = function render() { - var _props = this.props, - active = _props.active, - disabled = _props.disabled, - onClick = _props.onClick, - className = _props.className, - style = _props.style, - props = (0, _objectWithoutProperties3.default)(_props, ['active', 'disabled', 'onClick', 'className', 'style']); - - delete props.onSelect; - delete props.eventKey; - - // These are injected down by `<Nav>` for building `<SubNav>`s. - delete props.activeKey; - delete props.activeHref; - - if (!props.role) { - if (props.href === '#') { - props.role = 'button'; - } - } else if (props.role === 'tab') { - props['aria-selected'] = active; - } - - return _react2.default.createElement('li', { - role: 'presentation', - className: (0, _classnames2.default)(className, { active: active, disabled: disabled }), - style: style - }, _react2.default.createElement(_SafeAnchor2.default, (0, _extends3.default)({}, props, { - disabled: disabled, - onClick: (0, _createChainedFunction2.default)(onClick, this.handleClick) - }))); - }; - - return NavItem; -}(_react2.default.Component); - -NavItem.propTypes = propTypes; -NavItem.defaultProps = defaultProps; - -exports.default = NavItem; - -/***/ }), -/* 195 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _bootstrapUtils = __webpack_require__(9); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var contextTypes = { - $bs_navbar: _propTypes2.default.shape({ - bsClass: _propTypes2.default.string - }) -}; - -var NavbarBrand = function (_React$Component) { - (0, _inherits3.default)(NavbarBrand, _React$Component); - - function NavbarBrand() { - (0, _classCallCheck3.default)(this, NavbarBrand); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - NavbarBrand.prototype.render = function render() { - var _props = this.props, - className = _props.className, - children = _props.children, - props = (0, _objectWithoutProperties3.default)(_props, ['className', 'children']); - - var navbarProps = this.context.$bs_navbar || { bsClass: 'navbar' }; - - var bsClassName = (0, _bootstrapUtils.prefix)(navbarProps, 'brand'); - - if (_react2.default.isValidElement(children)) { - return _react2.default.cloneElement(children, { - className: (0, _classnames2.default)(children.props.className, className, bsClassName) - }); - } - - return _react2.default.createElement('span', (0, _extends3.default)({}, props, { className: (0, _classnames2.default)(className, bsClassName) }), children); - }; - - return NavbarBrand; -}(_react2.default.Component); - -NavbarBrand.contextTypes = contextTypes; - -exports.default = NavbarBrand; - -/***/ }), -/* 196 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _Overlay = __webpack_require__(485); - -var _Overlay2 = _interopRequireDefault(_Overlay); - -var _elementType = __webpack_require__(13); - -var _elementType2 = _interopRequireDefault(_elementType); - -var _Fade = __webpack_require__(82); - -var _Fade2 = _interopRequireDefault(_Fade); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = (0, _extends3.default)({}, _Overlay2.default.propTypes, { - - /** - * Set the visibility of the Overlay - */ - show: _propTypes2.default.bool, - /** - * Specify whether the overlay should trigger onHide when the user clicks outside the overlay - */ - rootClose: _propTypes2.default.bool, - /** - * A callback invoked by the overlay when it wishes to be hidden. Required if - * `rootClose` is specified. - */ - onHide: _propTypes2.default.func, - - /** - * Use animation - */ - animation: _propTypes2.default.oneOfType([_propTypes2.default.bool, _elementType2.default]), - - /** - * Callback fired before the Overlay transitions in - */ - onEnter: _propTypes2.default.func, - - /** - * Callback fired as the Overlay begins to transition in - */ - onEntering: _propTypes2.default.func, - - /** - * Callback fired after the Overlay finishes transitioning in - */ - onEntered: _propTypes2.default.func, - - /** - * Callback fired right before the Overlay transitions out - */ - onExit: _propTypes2.default.func, - - /** - * Callback fired as the Overlay begins to transition out - */ - onExiting: _propTypes2.default.func, - - /** - * Callback fired after the Overlay finishes transitioning out - */ - onExited: _propTypes2.default.func, - - /** - * Sets the direction of the Overlay. - */ - placement: _propTypes2.default.oneOf(['top', 'right', 'bottom', 'left']) -}); - -var defaultProps = { - animation: _Fade2.default, - rootClose: false, - show: false, - placement: 'right' -}; - -var Overlay = function (_React$Component) { - (0, _inherits3.default)(Overlay, _React$Component); - - function Overlay() { - (0, _classCallCheck3.default)(this, Overlay); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - Overlay.prototype.render = function render() { - var _props = this.props, - animation = _props.animation, - children = _props.children, - props = (0, _objectWithoutProperties3.default)(_props, ['animation', 'children']); - - var transition = animation === true ? _Fade2.default : animation || null; - - var child = void 0; - - if (!transition) { - child = (0, _react.cloneElement)(children, { - className: (0, _classnames2.default)(children.props.className, 'in') - }); - } else { - child = children; - } - - return _react2.default.createElement(_Overlay2.default, (0, _extends3.default)({}, props, { - transition: transition - }), child); - }; - - return Overlay; -}(_react2.default.Component); - -Overlay.propTypes = propTypes; -Overlay.defaultProps = defaultProps; - -exports.default = Overlay; - -/***/ }), -/* 197 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _SafeAnchor = __webpack_require__(28); - -var _SafeAnchor2 = _interopRequireDefault(_SafeAnchor); - -var _createChainedFunction = __webpack_require__(19); - -var _createChainedFunction2 = _interopRequireDefault(_createChainedFunction); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - disabled: _propTypes2.default.bool, - previous: _propTypes2.default.bool, - next: _propTypes2.default.bool, - onClick: _propTypes2.default.func, - onSelect: _propTypes2.default.func, - eventKey: _propTypes2.default.any -}; - -var defaultProps = { - disabled: false, - previous: false, - next: false -}; - -var PagerItem = function (_React$Component) { - (0, _inherits3.default)(PagerItem, _React$Component); - - function PagerItem(props, context) { - (0, _classCallCheck3.default)(this, PagerItem); - - var _this = (0, _possibleConstructorReturn3.default)(this, _React$Component.call(this, props, context)); - - _this.handleSelect = _this.handleSelect.bind(_this); - return _this; - } - - PagerItem.prototype.handleSelect = function handleSelect(e) { - var _props = this.props, - disabled = _props.disabled, - onSelect = _props.onSelect, - eventKey = _props.eventKey; - - if (onSelect || disabled) { - e.preventDefault(); - } - - if (disabled) { - return; - } - - if (onSelect) { - onSelect(eventKey, e); - } - }; - - PagerItem.prototype.render = function render() { - var _props2 = this.props, - disabled = _props2.disabled, - previous = _props2.previous, - next = _props2.next, - onClick = _props2.onClick, - className = _props2.className, - style = _props2.style, - props = (0, _objectWithoutProperties3.default)(_props2, ['disabled', 'previous', 'next', 'onClick', 'className', 'style']); - - delete props.onSelect; - delete props.eventKey; - - return _react2.default.createElement('li', { - className: (0, _classnames2.default)(className, { disabled: disabled, previous: previous, next: next }), - style: style - }, _react2.default.createElement(_SafeAnchor2.default, (0, _extends3.default)({}, props, { - disabled: disabled, - onClick: (0, _createChainedFunction2.default)(onClick, this.handleSelect) - }))); - }; - - return PagerItem; -}(_react2.default.Component); - -PagerItem.propTypes = propTypes; -PagerItem.defaultProps = defaultProps; - -exports.default = PagerItem; - -/***/ }), -/* 198 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _elementType = __webpack_require__(13); - -var _elementType2 = _interopRequireDefault(_elementType); - -var _SafeAnchor = __webpack_require__(28); - -var _SafeAnchor2 = _interopRequireDefault(_SafeAnchor); - -var _createChainedFunction = __webpack_require__(19); - -var _createChainedFunction2 = _interopRequireDefault(_createChainedFunction); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -// TODO: This should be `<Pagination.Item>`. - -// TODO: This should use `componentClass` like other components. - -var propTypes = { - componentClass: _elementType2.default, - className: _propTypes2.default.string, - eventKey: _propTypes2.default.any, - onSelect: _propTypes2.default.func, - disabled: _propTypes2.default.bool, - active: _propTypes2.default.bool, - onClick: _propTypes2.default.func -}; - -var defaultProps = { - componentClass: _SafeAnchor2.default, - active: false, - disabled: false -}; - -var PaginationButton = function (_React$Component) { - (0, _inherits3.default)(PaginationButton, _React$Component); - - function PaginationButton(props, context) { - (0, _classCallCheck3.default)(this, PaginationButton); - - var _this = (0, _possibleConstructorReturn3.default)(this, _React$Component.call(this, props, context)); - - _this.handleClick = _this.handleClick.bind(_this); - return _this; - } - - PaginationButton.prototype.handleClick = function handleClick(event) { - var _props = this.props, - disabled = _props.disabled, - onSelect = _props.onSelect, - eventKey = _props.eventKey; - - if (disabled) { - return; - } - - if (onSelect) { - onSelect(eventKey, event); - } - }; - - PaginationButton.prototype.render = function render() { - var _props2 = this.props, - Component = _props2.componentClass, - active = _props2.active, - disabled = _props2.disabled, - onClick = _props2.onClick, - className = _props2.className, - style = _props2.style, - props = (0, _objectWithoutProperties3.default)(_props2, ['componentClass', 'active', 'disabled', 'onClick', 'className', 'style']); - - if (Component === _SafeAnchor2.default) { - // Assume that custom components want `eventKey`. - delete props.eventKey; - } - - delete props.onSelect; - - return _react2.default.createElement('li', { - className: (0, _classnames2.default)(className, { active: active, disabled: disabled }), - style: style - }, _react2.default.createElement(Component, (0, _extends3.default)({}, props, { - disabled: disabled, - onClick: (0, _createChainedFunction2.default)(onClick, this.handleClick) - }))); - }; - - return PaginationButton; -}(_react2.default.Component); - -PaginationButton.propTypes = propTypes; -PaginationButton.defaultProps = defaultProps; - -exports.default = PaginationButton; - -/***/ }), -/* 199 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _assign = __webpack_require__(152); - -var _assign2 = _interopRequireDefault(_assign); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _bootstrapUtils = __webpack_require__(9); - -var _createChainedFunction = __webpack_require__(19); - -var _createChainedFunction2 = _interopRequireDefault(_createChainedFunction); - -var _ValidComponentChildren = __webpack_require__(22); - -var _ValidComponentChildren2 = _interopRequireDefault(_ValidComponentChildren); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - accordion: _propTypes2.default.bool, - activeKey: _propTypes2.default.any, - defaultActiveKey: _propTypes2.default.any, - onSelect: _propTypes2.default.func, - role: _propTypes2.default.string -}; - -var defaultProps = { - accordion: false -}; - -// TODO: Use uncontrollable. - -var PanelGroup = function (_React$Component) { - (0, _inherits3.default)(PanelGroup, _React$Component); - - function PanelGroup(props, context) { - (0, _classCallCheck3.default)(this, PanelGroup); - - var _this = (0, _possibleConstructorReturn3.default)(this, _React$Component.call(this, props, context)); - - _this.handleSelect = _this.handleSelect.bind(_this); - - _this.state = { - activeKey: props.defaultActiveKey - }; - return _this; - } - - PanelGroup.prototype.handleSelect = function handleSelect(key, e) { - e.preventDefault(); - - if (this.props.onSelect) { - this.props.onSelect(key, e); - } - - if (this.state.activeKey === key) { - key = null; - } - - this.setState({ activeKey: key }); - }; - - PanelGroup.prototype.render = function render() { - var _this2 = this; - - var _props = this.props, - accordion = _props.accordion, - propsActiveKey = _props.activeKey, - className = _props.className, - children = _props.children, - props = (0, _objectWithoutProperties3.default)(_props, ['accordion', 'activeKey', 'className', 'children']); - - var _splitBsPropsAndOmit = (0, _bootstrapUtils.splitBsPropsAndOmit)(props, ['defaultActiveKey', 'onSelect']), - bsProps = _splitBsPropsAndOmit[0], - elementProps = _splitBsPropsAndOmit[1]; - - var activeKey = void 0; - if (accordion) { - activeKey = propsActiveKey != null ? propsActiveKey : this.state.activeKey; - elementProps.role = elementProps.role || 'tablist'; - } - - var classes = (0, _bootstrapUtils.getClassSet)(bsProps); - - return _react2.default.createElement('div', (0, _extends3.default)({}, elementProps, { - className: (0, _classnames2.default)(className, classes) - }), _ValidComponentChildren2.default.map(children, function (child) { - var childProps = { - bsStyle: child.props.bsStyle || bsProps.bsStyle - }; - - if (accordion) { - (0, _assign2.default)(childProps, { - headerRole: 'tab', - panelRole: 'tabpanel', - collapsible: true, - expanded: child.props.eventKey === activeKey, - onSelect: (0, _createChainedFunction2.default)(_this2.handleSelect, child.props.onSelect) - }); - } - - return (0, _react.cloneElement)(child, childProps); - })); - }; - - return PanelGroup; -}(_react2.default.Component); - -PanelGroup.propTypes = propTypes; -PanelGroup.defaultProps = defaultProps; - -exports.default = (0, _bootstrapUtils.bsClass)('panel-group', PanelGroup); - -/***/ }), -/* 200 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _elementType = __webpack_require__(13); - -var _elementType2 = _interopRequireDefault(_elementType); - -var _warning = __webpack_require__(16); - -var _warning2 = _interopRequireDefault(_warning); - -var _bootstrapUtils = __webpack_require__(9); - -var _createChainedFunction = __webpack_require__(19); - -var _createChainedFunction2 = _interopRequireDefault(_createChainedFunction); - -var _Fade = __webpack_require__(82); - -var _Fade2 = _interopRequireDefault(_Fade); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - /** - * Uniquely identify the `<TabPane>` among its siblings. - */ - eventKey: _propTypes2.default.any, - - /** - * Use animation when showing or hiding `<TabPane>`s. Use `false` to disable, - * `true` to enable the default `<Fade>` animation or any `<Transition>` - * component. - */ - animation: _propTypes2.default.oneOfType([_propTypes2.default.bool, _elementType2.default]), - - /** @private **/ - id: _propTypes2.default.string, - - /** @private **/ - 'aria-labelledby': _propTypes2.default.string, - - /** - * If not explicitly specified and rendered in the context of a - * `<TabContent>`, the `bsClass` of the `<TabContent>` suffixed by `-pane`. - * If otherwise not explicitly specified, `tab-pane`. - */ - bsClass: _propTypes2.default.string, - - /** - * Transition onEnter callback when animation is not `false` - */ - onEnter: _propTypes2.default.func, - - /** - * Transition onEntering callback when animation is not `false` - */ - onEntering: _propTypes2.default.func, - - /** - * Transition onEntered callback when animation is not `false` - */ - onEntered: _propTypes2.default.func, - - /** - * Transition onExit callback when animation is not `false` - */ - onExit: _propTypes2.default.func, - - /** - * Transition onExiting callback when animation is not `false` - */ - onExiting: _propTypes2.default.func, - - /** - * Transition onExited callback when animation is not `false` - */ - onExited: _propTypes2.default.func, - - /** - * Wait until the first "enter" transition to mount the tab (add it to the DOM) - */ - mountOnEnter: _propTypes2.default.bool, - - /** - * Unmount the tab (remove it from the DOM) when it is no longer visible - */ - unmountOnExit: _propTypes2.default.bool -}; - -var contextTypes = { - $bs_tabContainer: _propTypes2.default.shape({ - getTabId: _propTypes2.default.func, - getPaneId: _propTypes2.default.func - }), - $bs_tabContent: _propTypes2.default.shape({ - bsClass: _propTypes2.default.string, - animation: _propTypes2.default.oneOfType([_propTypes2.default.bool, _elementType2.default]), - activeKey: _propTypes2.default.any, - mountOnEnter: _propTypes2.default.bool, - unmountOnExit: _propTypes2.default.bool, - onPaneEnter: _propTypes2.default.func.isRequired, - onPaneExited: _propTypes2.default.func.isRequired, - exiting: _propTypes2.default.bool.isRequired - }) -}; - -/** - * We override the `<TabContainer>` context so `<Nav>`s in `<TabPane>`s don't - * conflict with the top level one. - */ -var childContextTypes = { - $bs_tabContainer: _propTypes2.default.oneOf([null]) -}; - -var TabPane = function (_React$Component) { - (0, _inherits3.default)(TabPane, _React$Component); - - function TabPane(props, context) { - (0, _classCallCheck3.default)(this, TabPane); - - var _this = (0, _possibleConstructorReturn3.default)(this, _React$Component.call(this, props, context)); - - _this.handleEnter = _this.handleEnter.bind(_this); - _this.handleExited = _this.handleExited.bind(_this); - - _this['in'] = false; - return _this; - } - - TabPane.prototype.getChildContext = function getChildContext() { - return { - $bs_tabContainer: null - }; - }; - - TabPane.prototype.componentDidMount = function componentDidMount() { - if (this.shouldBeIn()) { - // In lieu of the action event firing. - this.handleEnter(); - } - }; - - TabPane.prototype.componentDidUpdate = function componentDidUpdate() { - if (this['in']) { - if (!this.shouldBeIn()) { - // We shouldn't be active any more. Notify the parent. - this.handleExited(); - } - } else if (this.shouldBeIn()) { - // We are the active child. Notify the parent. - this.handleEnter(); - } - }; - - TabPane.prototype.componentWillUnmount = function componentWillUnmount() { - if (this['in']) { - // In lieu of the action event firing. - this.handleExited(); - } - }; - - TabPane.prototype.handleEnter = function handleEnter() { - var tabContent = this.context.$bs_tabContent; - if (!tabContent) { - return; - } - - this['in'] = tabContent.onPaneEnter(this, this.props.eventKey); - }; - - TabPane.prototype.handleExited = function handleExited() { - var tabContent = this.context.$bs_tabContent; - if (!tabContent) { - return; - } - - tabContent.onPaneExited(this); - this['in'] = false; - }; - - TabPane.prototype.getAnimation = function getAnimation() { - if (this.props.animation != null) { - return this.props.animation; - } - - var tabContent = this.context.$bs_tabContent; - return tabContent && tabContent.animation; - }; - - TabPane.prototype.isActive = function isActive() { - var tabContent = this.context.$bs_tabContent; - var activeKey = tabContent && tabContent.activeKey; - - return this.props.eventKey === activeKey; - }; - - TabPane.prototype.shouldBeIn = function shouldBeIn() { - return this.getAnimation() && this.isActive(); - }; - - TabPane.prototype.render = function render() { - var _props = this.props, - eventKey = _props.eventKey, - className = _props.className, - onEnter = _props.onEnter, - onEntering = _props.onEntering, - onEntered = _props.onEntered, - onExit = _props.onExit, - onExiting = _props.onExiting, - onExited = _props.onExited, - propsMountOnEnter = _props.mountOnEnter, - propsUnmountOnExit = _props.unmountOnExit, - props = (0, _objectWithoutProperties3.default)(_props, ['eventKey', 'className', 'onEnter', 'onEntering', 'onEntered', 'onExit', 'onExiting', 'onExited', 'mountOnEnter', 'unmountOnExit']); - - var _context = this.context, - tabContent = _context.$bs_tabContent, - tabContainer = _context.$bs_tabContainer; - - var _splitBsPropsAndOmit = (0, _bootstrapUtils.splitBsPropsAndOmit)(props, ['animation']), - bsProps = _splitBsPropsAndOmit[0], - elementProps = _splitBsPropsAndOmit[1]; - - var active = this.isActive(); - var animation = this.getAnimation(); - - var mountOnEnter = propsMountOnEnter != null ? propsMountOnEnter : tabContent && tabContent.mountOnEnter; - var unmountOnExit = propsUnmountOnExit != null ? propsUnmountOnExit : tabContent && tabContent.unmountOnExit; - - if (!active && !animation && unmountOnExit) { - return null; - } - - var Transition = animation === true ? _Fade2.default : animation || null; - - if (tabContent) { - bsProps.bsClass = (0, _bootstrapUtils.prefix)(tabContent, 'pane'); - } - - var classes = (0, _extends3.default)({}, (0, _bootstrapUtils.getClassSet)(bsProps), { - active: active - }); - - if (tabContainer) { - process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(!elementProps.id && !elementProps['aria-labelledby'], 'In the context of a `<TabContainer>`, `<TabPanes>` are given ' + 'generated `id` and `aria-labelledby` attributes for the sake of ' + 'proper component accessibility. Any provided ones will be ignored. ' + 'To control these attributes directly provide a `generateChildId` ' + 'prop to the parent `<TabContainer>`.') : void 0; - - elementProps.id = tabContainer.getPaneId(eventKey); - elementProps['aria-labelledby'] = tabContainer.getTabId(eventKey); - } - - var pane = _react2.default.createElement('div', (0, _extends3.default)({}, elementProps, { - role: 'tabpanel', - 'aria-hidden': !active, - className: (0, _classnames2.default)(className, classes) - })); - - if (Transition) { - var exiting = tabContent && tabContent.exiting; - - return _react2.default.createElement(Transition, { - 'in': active && !exiting, - onEnter: (0, _createChainedFunction2.default)(this.handleEnter, onEnter), - onEntering: onEntering, - onEntered: onEntered, - onExit: onExit, - onExiting: onExiting, - onExited: (0, _createChainedFunction2.default)(this.handleExited, onExited), - mountOnEnter: mountOnEnter, - unmountOnExit: unmountOnExit - }, pane); - } - - return pane; - }; - - return TabPane; -}(_react2.default.Component); - -TabPane.propTypes = propTypes; -TabPane.contextTypes = contextTypes; -TabPane.childContextTypes = childContextTypes; - -exports.default = (0, _bootstrapUtils.bsClass)('tab-pane', TabPane); -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 201 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = capitalize; -function capitalize(string) { - return "" + string.charAt(0).toUpperCase() + string.slice(1); -} - -/***/ }), -/* 202 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -/** - * CSS properties which accept numbers but are not in units of "px". - */ - -var isUnitlessNumber = { - animationIterationCount: true, - borderImageOutset: true, - borderImageSlice: true, - borderImageWidth: true, - boxFlex: true, - boxFlexGroup: true, - boxOrdinalGroup: true, - columnCount: true, - flex: true, - flexGrow: true, - flexPositive: true, - flexShrink: true, - flexNegative: true, - flexOrder: true, - gridRow: true, - gridColumn: true, - fontWeight: true, - lineClamp: true, - lineHeight: true, - opacity: true, - order: true, - orphans: true, - tabSize: true, - widows: true, - zIndex: true, - zoom: true, - - // SVG-related properties - fillOpacity: true, - floodOpacity: true, - stopOpacity: true, - strokeDasharray: true, - strokeDashoffset: true, - strokeMiterlimit: true, - strokeOpacity: true, - strokeWidth: true -}; - -/** - * @param {string} prefix vendor-specific prefix, eg: Webkit - * @param {string} key style name, eg: transitionDuration - * @return {string} style name prefixed with `prefix`, properly camelCased, eg: - * WebkitTransitionDuration - */ -function prefixKey(prefix, key) { - return prefix + key.charAt(0).toUpperCase() + key.substring(1); -} - -/** - * Support style names that may come passed in prefixed by adding permutations - * of vendor prefixes. - */ -var prefixes = ['Webkit', 'ms', 'Moz', 'O']; - -// Using Object.keys here, or else the vanilla for-in loop makes IE8 go into an -// infinite loop, because it iterates over the newly added props too. -Object.keys(isUnitlessNumber).forEach(function (prop) { - prefixes.forEach(function (prefix) { - isUnitlessNumber[prefixKey(prefix, prop)] = isUnitlessNumber[prop]; - }); -}); - -/** - * Most style properties can be unset by doing .style[prop] = '' but IE8 - * doesn't like doing that with shorthand properties so for the properties that - * IE8 breaks on, which are listed here, we instead unset each of the - * individual properties. See http://bugs.jquery.com/ticket/12385. - * The 4-value 'clock' properties like margin, padding, border-width seem to - * behave without any problems. Curiously, list-style works too without any - * special prodding. - */ -var shorthandPropertyExpansions = { - background: { - backgroundAttachment: true, - backgroundColor: true, - backgroundImage: true, - backgroundPositionX: true, - backgroundPositionY: true, - backgroundRepeat: true - }, - backgroundPosition: { - backgroundPositionX: true, - backgroundPositionY: true - }, - border: { - borderWidth: true, - borderStyle: true, - borderColor: true - }, - borderBottom: { - borderBottomWidth: true, - borderBottomStyle: true, - borderBottomColor: true - }, - borderLeft: { - borderLeftWidth: true, - borderLeftStyle: true, - borderLeftColor: true - }, - borderRight: { - borderRightWidth: true, - borderRightStyle: true, - borderRightColor: true - }, - borderTop: { - borderTopWidth: true, - borderTopStyle: true, - borderTopColor: true - }, - font: { - fontStyle: true, - fontVariant: true, - fontWeight: true, - fontSize: true, - lineHeight: true, - fontFamily: true - }, - outline: { - outlineWidth: true, - outlineStyle: true, - outlineColor: true - } -}; - -var CSSProperty = { - isUnitlessNumber: isUnitlessNumber, - shorthandPropertyExpansions: shorthandPropertyExpansions -}; - -module.exports = CSSProperty; - -/***/ }), -/* 203 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - * - */ - - - -var _prodInvariant = __webpack_require__(12); - -function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} - -var PooledClass = __webpack_require__(44); - -var invariant = __webpack_require__(10); - -/** - * A specialized pseudo-event module to help keep track of components waiting to - * be notified when their DOM representations are available for use. - * - * This implements `PooledClass`, so you should never need to instantiate this. - * Instead, use `CallbackQueue.getPooled()`. - * - * @class ReactMountReady - * @implements PooledClass - * @internal - */ - -var CallbackQueue = function () { - function CallbackQueue(arg) { - _classCallCheck(this, CallbackQueue); - - this._callbacks = null; - this._contexts = null; - this._arg = arg; - } - - /** - * Enqueues a callback to be invoked when `notifyAll` is invoked. - * - * @param {function} callback Invoked when `notifyAll` is invoked. - * @param {?object} context Context to call `callback` with. - * @internal - */ - - CallbackQueue.prototype.enqueue = function enqueue(callback, context) { - this._callbacks = this._callbacks || []; - this._callbacks.push(callback); - this._contexts = this._contexts || []; - this._contexts.push(context); - }; - - /** - * Invokes all enqueued callbacks and clears the queue. This is invoked after - * the DOM representation of a component has been created or updated. - * - * @internal - */ - - CallbackQueue.prototype.notifyAll = function notifyAll() { - var callbacks = this._callbacks; - var contexts = this._contexts; - var arg = this._arg; - if (callbacks && contexts) { - !(callbacks.length === contexts.length) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Mismatched list of contexts in callback queue') : _prodInvariant('24') : void 0; - this._callbacks = null; - this._contexts = null; - for (var i = 0; i < callbacks.length; i++) { - callbacks[i].call(contexts[i], arg); - } - callbacks.length = 0; - contexts.length = 0; - } - }; - - CallbackQueue.prototype.checkpoint = function checkpoint() { - return this._callbacks ? this._callbacks.length : 0; - }; - - CallbackQueue.prototype.rollback = function rollback(len) { - if (this._callbacks && this._contexts) { - this._callbacks.length = len; - this._contexts.length = len; - } - }; - - /** - * Resets the internal queue. - * - * @internal - */ - - CallbackQueue.prototype.reset = function reset() { - this._callbacks = null; - this._contexts = null; - }; - - /** - * `PooledClass` looks for this. - */ - - CallbackQueue.prototype.destructor = function destructor() { - this.reset(); - }; - - return CallbackQueue; -}(); - -module.exports = PooledClass.addPoolingTo(CallbackQueue); -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 204 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -var DOMProperty = __webpack_require__(39); -var ReactDOMComponentTree = __webpack_require__(15); -var ReactInstrumentation = __webpack_require__(25); - -var quoteAttributeValueForBrowser = __webpack_require__(481); -var warning = __webpack_require__(11); - -var VALID_ATTRIBUTE_NAME_REGEX = new RegExp('^[' + DOMProperty.ATTRIBUTE_NAME_START_CHAR + '][' + DOMProperty.ATTRIBUTE_NAME_CHAR + ']*$'); -var illegalAttributeNameCache = {}; -var validatedAttributeNameCache = {}; - -function isAttributeNameSafe(attributeName) { - if (validatedAttributeNameCache.hasOwnProperty(attributeName)) { - return true; - } - if (illegalAttributeNameCache.hasOwnProperty(attributeName)) { - return false; - } - if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName)) { - validatedAttributeNameCache[attributeName] = true; - return true; - } - illegalAttributeNameCache[attributeName] = true; - process.env.NODE_ENV !== 'production' ? warning(false, 'Invalid attribute name: `%s`', attributeName) : void 0; - return false; -} - -function shouldIgnoreValue(propertyInfo, value) { - return value == null || propertyInfo.hasBooleanValue && !value || propertyInfo.hasNumericValue && isNaN(value) || propertyInfo.hasPositiveNumericValue && value < 1 || propertyInfo.hasOverloadedBooleanValue && value === false; -} - -/** - * Operations for dealing with DOM properties. - */ -var DOMPropertyOperations = { - - /** - * Creates markup for the ID property. - * - * @param {string} id Unescaped ID. - * @return {string} Markup string. - */ - createMarkupForID: function createMarkupForID(id) { - return DOMProperty.ID_ATTRIBUTE_NAME + '=' + quoteAttributeValueForBrowser(id); - }, - - setAttributeForID: function setAttributeForID(node, id) { - node.setAttribute(DOMProperty.ID_ATTRIBUTE_NAME, id); - }, - - createMarkupForRoot: function createMarkupForRoot() { - return DOMProperty.ROOT_ATTRIBUTE_NAME + '=""'; - }, - - setAttributeForRoot: function setAttributeForRoot(node) { - node.setAttribute(DOMProperty.ROOT_ATTRIBUTE_NAME, ''); - }, - - /** - * Creates markup for a property. - * - * @param {string} name - * @param {*} value - * @return {?string} Markup string, or null if the property was invalid. - */ - createMarkupForProperty: function createMarkupForProperty(name, value) { - var propertyInfo = DOMProperty.properties.hasOwnProperty(name) ? DOMProperty.properties[name] : null; - if (propertyInfo) { - if (shouldIgnoreValue(propertyInfo, value)) { - return ''; - } - var attributeName = propertyInfo.attributeName; - if (propertyInfo.hasBooleanValue || propertyInfo.hasOverloadedBooleanValue && value === true) { - return attributeName + '=""'; - } - return attributeName + '=' + quoteAttributeValueForBrowser(value); - } else if (DOMProperty.isCustomAttribute(name)) { - if (value == null) { - return ''; - } - return name + '=' + quoteAttributeValueForBrowser(value); - } - return null; - }, - - /** - * Creates markup for a custom property. - * - * @param {string} name - * @param {*} value - * @return {string} Markup string, or empty string if the property was invalid. - */ - createMarkupForCustomAttribute: function createMarkupForCustomAttribute(name, value) { - if (!isAttributeNameSafe(name) || value == null) { - return ''; - } - return name + '=' + quoteAttributeValueForBrowser(value); - }, - - /** - * Sets the value for a property on a node. - * - * @param {DOMElement} node - * @param {string} name - * @param {*} value - */ - setValueForProperty: function setValueForProperty(node, name, value) { - var propertyInfo = DOMProperty.properties.hasOwnProperty(name) ? DOMProperty.properties[name] : null; - if (propertyInfo) { - var mutationMethod = propertyInfo.mutationMethod; - if (mutationMethod) { - mutationMethod(node, value); - } else if (shouldIgnoreValue(propertyInfo, value)) { - this.deleteValueForProperty(node, name); - return; - } else if (propertyInfo.mustUseProperty) { - // Contrary to `setAttribute`, object properties are properly - // `toString`ed by IE8/9. - node[propertyInfo.propertyName] = value; - } else { - var attributeName = propertyInfo.attributeName; - var namespace = propertyInfo.attributeNamespace; - // `setAttribute` with objects becomes only `[object]` in IE8/9, - // ('' + value) makes it output the correct toString()-value. - if (namespace) { - node.setAttributeNS(namespace, attributeName, '' + value); - } else if (propertyInfo.hasBooleanValue || propertyInfo.hasOverloadedBooleanValue && value === true) { - node.setAttribute(attributeName, ''); - } else { - node.setAttribute(attributeName, '' + value); - } - } - } else if (DOMProperty.isCustomAttribute(name)) { - DOMPropertyOperations.setValueForAttribute(node, name, value); - return; - } - - if (process.env.NODE_ENV !== 'production') { - var payload = {}; - payload[name] = value; - ReactInstrumentation.debugTool.onHostOperation({ - instanceID: ReactDOMComponentTree.getInstanceFromNode(node)._debugID, - type: 'update attribute', - payload: payload - }); - } - }, - - setValueForAttribute: function setValueForAttribute(node, name, value) { - if (!isAttributeNameSafe(name)) { - return; - } - if (value == null) { - node.removeAttribute(name); - } else { - node.setAttribute(name, '' + value); - } - - if (process.env.NODE_ENV !== 'production') { - var payload = {}; - payload[name] = value; - ReactInstrumentation.debugTool.onHostOperation({ - instanceID: ReactDOMComponentTree.getInstanceFromNode(node)._debugID, - type: 'update attribute', - payload: payload - }); - } - }, - - /** - * Deletes an attributes from a node. - * - * @param {DOMElement} node - * @param {string} name - */ - deleteValueForAttribute: function deleteValueForAttribute(node, name) { - node.removeAttribute(name); - if (process.env.NODE_ENV !== 'production') { - ReactInstrumentation.debugTool.onHostOperation({ - instanceID: ReactDOMComponentTree.getInstanceFromNode(node)._debugID, - type: 'remove attribute', - payload: name - }); - } - }, - - /** - * Deletes the value for a property on a node. - * - * @param {DOMElement} node - * @param {string} name - */ - deleteValueForProperty: function deleteValueForProperty(node, name) { - var propertyInfo = DOMProperty.properties.hasOwnProperty(name) ? DOMProperty.properties[name] : null; - if (propertyInfo) { - var mutationMethod = propertyInfo.mutationMethod; - if (mutationMethod) { - mutationMethod(node, undefined); - } else if (propertyInfo.mustUseProperty) { - var propName = propertyInfo.propertyName; - if (propertyInfo.hasBooleanValue) { - node[propName] = false; - } else { - node[propName] = ''; - } - } else { - node.removeAttribute(propertyInfo.attributeName); - } - } else if (DOMProperty.isCustomAttribute(name)) { - node.removeAttribute(name); - } - - if (process.env.NODE_ENV !== 'production') { - ReactInstrumentation.debugTool.onHostOperation({ - instanceID: ReactDOMComponentTree.getInstanceFromNode(node)._debugID, - type: 'remove attribute', - payload: name - }); - } - } - -}; - -module.exports = DOMPropertyOperations; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 205 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var ReactDOMComponentFlags = { - hasCachedChildNodes: 1 << 0 -}; - -module.exports = ReactDOMComponentFlags; - -/***/ }), -/* 206 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -var _assign = __webpack_require__(14); - -var LinkedValueUtils = __webpack_require__(130); -var ReactDOMComponentTree = __webpack_require__(15); -var ReactUpdates = __webpack_require__(29); - -var warning = __webpack_require__(11); - -var didWarnValueLink = false; -var didWarnValueDefaultValue = false; - -function updateOptionsIfPendingUpdateAndMounted() { - if (this._rootNodeID && this._wrapperState.pendingUpdate) { - this._wrapperState.pendingUpdate = false; - - var props = this._currentElement.props; - var value = LinkedValueUtils.getValue(props); - - if (value != null) { - updateOptions(this, Boolean(props.multiple), value); - } - } -} - -function getDeclarationErrorAddendum(owner) { - if (owner) { - var name = owner.getName(); - if (name) { - return ' Check the render method of `' + name + '`.'; - } - } - return ''; -} - -var valuePropNames = ['value', 'defaultValue']; - -/** - * Validation function for `value` and `defaultValue`. - * @private - */ -function checkSelectPropTypes(inst, props) { - var owner = inst._currentElement._owner; - LinkedValueUtils.checkPropTypes('select', props, owner); - - if (props.valueLink !== undefined && !didWarnValueLink) { - process.env.NODE_ENV !== 'production' ? warning(false, '`valueLink` prop on `select` is deprecated; set `value` and `onChange` instead.') : void 0; - didWarnValueLink = true; - } - - for (var i = 0; i < valuePropNames.length; i++) { - var propName = valuePropNames[i]; - if (props[propName] == null) { - continue; - } - var isArray = Array.isArray(props[propName]); - if (props.multiple && !isArray) { - process.env.NODE_ENV !== 'production' ? warning(false, 'The `%s` prop supplied to <select> must be an array if ' + '`multiple` is true.%s', propName, getDeclarationErrorAddendum(owner)) : void 0; - } else if (!props.multiple && isArray) { - process.env.NODE_ENV !== 'production' ? warning(false, 'The `%s` prop supplied to <select> must be a scalar ' + 'value if `multiple` is false.%s', propName, getDeclarationErrorAddendum(owner)) : void 0; - } - } -} - -/** - * @param {ReactDOMComponent} inst - * @param {boolean} multiple - * @param {*} propValue A stringable (with `multiple`, a list of stringables). - * @private - */ -function updateOptions(inst, multiple, propValue) { - var selectedValue, i; - var options = ReactDOMComponentTree.getNodeFromInstance(inst).options; - - if (multiple) { - selectedValue = {}; - for (i = 0; i < propValue.length; i++) { - selectedValue['' + propValue[i]] = true; - } - for (i = 0; i < options.length; i++) { - var selected = selectedValue.hasOwnProperty(options[i].value); - if (options[i].selected !== selected) { - options[i].selected = selected; - } - } - } else { - // Do not set `select.value` as exact behavior isn't consistent across all - // browsers for all cases. - selectedValue = '' + propValue; - for (i = 0; i < options.length; i++) { - if (options[i].value === selectedValue) { - options[i].selected = true; - return; - } - } - if (options.length) { - options[0].selected = true; - } - } -} - -/** - * Implements a <select> host component that allows optionally setting the - * props `value` and `defaultValue`. If `multiple` is false, the prop must be a - * stringable. If `multiple` is true, the prop must be an array of stringables. - * - * If `value` is not supplied (or null/undefined), user actions that change the - * selected option will trigger updates to the rendered options. - * - * If it is supplied (and not null/undefined), the rendered options will not - * update in response to user actions. Instead, the `value` prop must change in - * order for the rendered options to update. - * - * If `defaultValue` is provided, any options with the supplied values will be - * selected. - */ -var ReactDOMSelect = { - getHostProps: function getHostProps(inst, props) { - return _assign({}, props, { - onChange: inst._wrapperState.onChange, - value: undefined - }); - }, - - mountWrapper: function mountWrapper(inst, props) { - if (process.env.NODE_ENV !== 'production') { - checkSelectPropTypes(inst, props); - } - - var value = LinkedValueUtils.getValue(props); - inst._wrapperState = { - pendingUpdate: false, - initialValue: value != null ? value : props.defaultValue, - listeners: null, - onChange: _handleChange.bind(inst), - wasMultiple: Boolean(props.multiple) - }; - - if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValueDefaultValue) { - process.env.NODE_ENV !== 'production' ? warning(false, 'Select elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled select ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components') : void 0; - didWarnValueDefaultValue = true; - } - }, - - getSelectValueContext: function getSelectValueContext(inst) { - // ReactDOMOption looks at this initial value so the initial generated - // markup has correct `selected` attributes - return inst._wrapperState.initialValue; - }, - - postUpdateWrapper: function postUpdateWrapper(inst) { - var props = inst._currentElement.props; - - // After the initial mount, we control selected-ness manually so don't pass - // this value down - inst._wrapperState.initialValue = undefined; - - var wasMultiple = inst._wrapperState.wasMultiple; - inst._wrapperState.wasMultiple = Boolean(props.multiple); - - var value = LinkedValueUtils.getValue(props); - if (value != null) { - inst._wrapperState.pendingUpdate = false; - updateOptions(inst, Boolean(props.multiple), value); - } else if (wasMultiple !== Boolean(props.multiple)) { - // For simplicity, reapply `defaultValue` if `multiple` is toggled. - if (props.defaultValue != null) { - updateOptions(inst, Boolean(props.multiple), props.defaultValue); - } else { - // Revert the select back to its default unselected state. - updateOptions(inst, Boolean(props.multiple), props.multiple ? [] : ''); - } - } - } -}; - -function _handleChange(event) { - var props = this._currentElement.props; - var returnValue = LinkedValueUtils.executeOnChange(props, event); - - if (this._rootNodeID) { - this._wrapperState.pendingUpdate = true; - } - ReactUpdates.asap(updateOptionsIfPendingUpdateAndMounted, this); - return returnValue; -} - -module.exports = ReactDOMSelect; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 207 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var emptyComponentFactory; - -var ReactEmptyComponentInjection = { - injectEmptyComponentFactory: function injectEmptyComponentFactory(factory) { - emptyComponentFactory = factory; - } -}; - -var ReactEmptyComponent = { - create: function create(instantiate) { - return emptyComponentFactory(instantiate); - } -}; - -ReactEmptyComponent.injection = ReactEmptyComponentInjection; - -module.exports = ReactEmptyComponent; - -/***/ }), -/* 208 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - * - */ - - - -var ReactFeatureFlags = { - // When true, call console.time() before and .timeEnd() after each top-level - // render (both initial renders and updates). Useful when looking at prod-mode - // timeline profiles in Chrome, for example. - logTopLevelRenders: false -}; - -module.exports = ReactFeatureFlags; - -/***/ }), -/* 209 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -var _prodInvariant = __webpack_require__(12); - -var invariant = __webpack_require__(10); - -var genericComponentClass = null; -var textComponentClass = null; - -var ReactHostComponentInjection = { - // This accepts a class that receives the tag string. This is a catch all - // that can render any kind of tag. - injectGenericComponentClass: function injectGenericComponentClass(componentClass) { - genericComponentClass = componentClass; - }, - // This accepts a text component class that takes the text string to be - // rendered as props. - injectTextComponentClass: function injectTextComponentClass(componentClass) { - textComponentClass = componentClass; - } -}; - -/** - * Get a host internal component class for a specific tag. - * - * @param {ReactElement} element The element to create. - * @return {function} The internal class constructor function. - */ -function createInternalComponent(element) { - !genericComponentClass ? process.env.NODE_ENV !== 'production' ? invariant(false, 'There is no registered component for the tag %s', element.type) : _prodInvariant('111', element.type) : void 0; - return new genericComponentClass(element); -} - -/** - * @param {ReactText} text - * @return {ReactComponent} - */ -function createInstanceForText(text) { - return new textComponentClass(text); -} - -/** - * @param {ReactComponent} component - * @return {boolean} - */ -function isTextComponent(component) { - return component instanceof textComponentClass; -} - -var ReactHostComponent = { - createInternalComponent: createInternalComponent, - createInstanceForText: createInstanceForText, - isTextComponent: isTextComponent, - injection: ReactHostComponentInjection -}; - -module.exports = ReactHostComponent; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 210 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var ReactDOMSelection = __webpack_require__(436); - -var containsNode = __webpack_require__(321); -var focusNode = __webpack_require__(173); -var getActiveElement = __webpack_require__(174); - -function isInDocument(node) { - return containsNode(document.documentElement, node); -} - -/** - * @ReactInputSelection: React input selection module. Based on Selection.js, - * but modified to be suitable for react and has a couple of bug fixes (doesn't - * assume buttons have range selections allowed). - * Input selection module for React. - */ -var ReactInputSelection = { - - hasSelectionCapabilities: function hasSelectionCapabilities(elem) { - var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase(); - return nodeName && (nodeName === 'input' && elem.type === 'text' || nodeName === 'textarea' || elem.contentEditable === 'true'); - }, - - getSelectionInformation: function getSelectionInformation() { - var focusedElem = getActiveElement(); - return { - focusedElem: focusedElem, - selectionRange: ReactInputSelection.hasSelectionCapabilities(focusedElem) ? ReactInputSelection.getSelection(focusedElem) : null - }; - }, - - /** - * @restoreSelection: If any selection information was potentially lost, - * restore it. This is useful when performing operations that could remove dom - * nodes and place them back in, resulting in focus being lost. - */ - restoreSelection: function restoreSelection(priorSelectionInformation) { - var curFocusedElem = getActiveElement(); - var priorFocusedElem = priorSelectionInformation.focusedElem; - var priorSelectionRange = priorSelectionInformation.selectionRange; - if (curFocusedElem !== priorFocusedElem && isInDocument(priorFocusedElem)) { - if (ReactInputSelection.hasSelectionCapabilities(priorFocusedElem)) { - ReactInputSelection.setSelection(priorFocusedElem, priorSelectionRange); - } - focusNode(priorFocusedElem); - } - }, - - /** - * @getSelection: Gets the selection bounds of a focused textarea, input or - * contentEditable node. - * -@input: Look up selection bounds of this input - * -@return {start: selectionStart, end: selectionEnd} - */ - getSelection: function getSelection(input) { - var selection; - - if ('selectionStart' in input) { - // Modern browser with input or textarea. - selection = { - start: input.selectionStart, - end: input.selectionEnd - }; - } else if (document.selection && input.nodeName && input.nodeName.toLowerCase() === 'input') { - // IE8 input. - var range = document.selection.createRange(); - // There can only be one selection per document in IE, so it must - // be in our element. - if (range.parentElement() === input) { - selection = { - start: -range.moveStart('character', -input.value.length), - end: -range.moveEnd('character', -input.value.length) - }; - } - } else { - // Content editable or old IE textarea. - selection = ReactDOMSelection.getOffsets(input); - } - - return selection || { start: 0, end: 0 }; - }, - - /** - * @setSelection: Sets the selection bounds of a textarea or input and focuses - * the input. - * -@input Set selection bounds of this input or textarea - * -@offsets Object of same form that is returned from get* - */ - setSelection: function setSelection(input, offsets) { - var start = offsets.start; - var end = offsets.end; - if (end === undefined) { - end = start; - } - - if ('selectionStart' in input) { - input.selectionStart = start; - input.selectionEnd = Math.min(end, input.value.length); - } else if (document.selection && input.nodeName && input.nodeName.toLowerCase() === 'input') { - var range = input.createTextRange(); - range.collapse(true); - range.moveStart('character', start); - range.moveEnd('character', end - start); - range.select(); - } else { - ReactDOMSelection.setOffsets(input, offsets); - } - } -}; - -module.exports = ReactInputSelection; - -/***/ }), -/* 211 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -var _prodInvariant = __webpack_require__(12); - -var DOMLazyTree = __webpack_require__(57); -var DOMProperty = __webpack_require__(39); -var React = __webpack_require__(61); -var ReactBrowserEventEmitter = __webpack_require__(85); -var ReactCurrentOwner = __webpack_require__(30); -var ReactDOMComponentTree = __webpack_require__(15); -var ReactDOMContainerInfo = __webpack_require__(428); -var ReactDOMFeatureFlags = __webpack_require__(430); -var ReactFeatureFlags = __webpack_require__(208); -var ReactInstanceMap = __webpack_require__(70); -var ReactInstrumentation = __webpack_require__(25); -var ReactMarkupChecksum = __webpack_require__(450); -var ReactReconciler = __webpack_require__(58); -var ReactUpdateQueue = __webpack_require__(133); -var ReactUpdates = __webpack_require__(29); - -var emptyObject = __webpack_require__(54); -var instantiateReactComponent = __webpack_require__(219); -var invariant = __webpack_require__(10); -var setInnerHTML = __webpack_require__(89); -var shouldUpdateReactComponent = __webpack_require__(139); -var warning = __webpack_require__(11); - -var ATTR_NAME = DOMProperty.ID_ATTRIBUTE_NAME; -var ROOT_ATTR_NAME = DOMProperty.ROOT_ATTRIBUTE_NAME; - -var ELEMENT_NODE_TYPE = 1; -var DOC_NODE_TYPE = 9; -var DOCUMENT_FRAGMENT_NODE_TYPE = 11; - -var instancesByReactRootID = {}; - -/** - * Finds the index of the first character - * that's not common between the two given strings. - * - * @return {number} the index of the character where the strings diverge - */ -function firstDifferenceIndex(string1, string2) { - var minLen = Math.min(string1.length, string2.length); - for (var i = 0; i < minLen; i++) { - if (string1.charAt(i) !== string2.charAt(i)) { - return i; - } - } - return string1.length === string2.length ? -1 : minLen; -} - -/** - * @param {DOMElement|DOMDocument} container DOM element that may contain - * a React component - * @return {?*} DOM element that may have the reactRoot ID, or null. - */ -function getReactRootElementInContainer(container) { - if (!container) { - return null; - } - - if (container.nodeType === DOC_NODE_TYPE) { - return container.documentElement; - } else { - return container.firstChild; - } -} - -function internalGetID(node) { - // If node is something like a window, document, or text node, none of - // which support attributes or a .getAttribute method, gracefully return - // the empty string, as if the attribute were missing. - return node.getAttribute && node.getAttribute(ATTR_NAME) || ''; -} - -/** - * Mounts this component and inserts it into the DOM. - * - * @param {ReactComponent} componentInstance The instance to mount. - * @param {DOMElement} container DOM element to mount into. - * @param {ReactReconcileTransaction} transaction - * @param {boolean} shouldReuseMarkup If true, do not insert markup - */ -function mountComponentIntoNode(wrapperInstance, container, transaction, shouldReuseMarkup, context) { - var markerName; - if (ReactFeatureFlags.logTopLevelRenders) { - var wrappedElement = wrapperInstance._currentElement.props.child; - var type = wrappedElement.type; - markerName = 'React mount: ' + (typeof type === 'string' ? type : type.displayName || type.name); - console.time(markerName); - } - - var markup = ReactReconciler.mountComponent(wrapperInstance, transaction, null, ReactDOMContainerInfo(wrapperInstance, container), context, 0 /* parentDebugID */ - ); - - if (markerName) { - console.timeEnd(markerName); - } - - wrapperInstance._renderedComponent._topLevelWrapper = wrapperInstance; - ReactMount._mountImageIntoNode(markup, container, wrapperInstance, shouldReuseMarkup, transaction); -} - -/** - * Batched mount. - * - * @param {ReactComponent} componentInstance The instance to mount. - * @param {DOMElement} container DOM element to mount into. - * @param {boolean} shouldReuseMarkup If true, do not insert markup - */ -function batchedMountComponentIntoNode(componentInstance, container, shouldReuseMarkup, context) { - var transaction = ReactUpdates.ReactReconcileTransaction.getPooled( - /* useCreateElement */ - !shouldReuseMarkup && ReactDOMFeatureFlags.useCreateElement); - transaction.perform(mountComponentIntoNode, null, componentInstance, container, transaction, shouldReuseMarkup, context); - ReactUpdates.ReactReconcileTransaction.release(transaction); -} - -/** - * Unmounts a component and removes it from the DOM. - * - * @param {ReactComponent} instance React component instance. - * @param {DOMElement} container DOM element to unmount from. - * @final - * @internal - * @see {ReactMount.unmountComponentAtNode} - */ -function unmountComponentFromNode(instance, container, safely) { - if (process.env.NODE_ENV !== 'production') { - ReactInstrumentation.debugTool.onBeginFlush(); - } - ReactReconciler.unmountComponent(instance, safely); - if (process.env.NODE_ENV !== 'production') { - ReactInstrumentation.debugTool.onEndFlush(); - } - - if (container.nodeType === DOC_NODE_TYPE) { - container = container.documentElement; - } - - // http://jsperf.com/emptying-a-node - while (container.lastChild) { - container.removeChild(container.lastChild); - } -} - -/** - * True if the supplied DOM node has a direct React-rendered child that is - * not a React root element. Useful for warning in `render`, - * `unmountComponentAtNode`, etc. - * - * @param {?DOMElement} node The candidate DOM node. - * @return {boolean} True if the DOM element contains a direct child that was - * rendered by React but is not a root element. - * @internal - */ -function hasNonRootReactChild(container) { - var rootEl = getReactRootElementInContainer(container); - if (rootEl) { - var inst = ReactDOMComponentTree.getInstanceFromNode(rootEl); - return !!(inst && inst._hostParent); - } -} - -/** - * True if the supplied DOM node is a React DOM element and - * it has been rendered by another copy of React. - * - * @param {?DOMElement} node The candidate DOM node. - * @return {boolean} True if the DOM has been rendered by another copy of React - * @internal - */ -function nodeIsRenderedByOtherInstance(container) { - var rootEl = getReactRootElementInContainer(container); - return !!(rootEl && isReactNode(rootEl) && !ReactDOMComponentTree.getInstanceFromNode(rootEl)); -} - -/** - * True if the supplied DOM node is a valid node element. - * - * @param {?DOMElement} node The candidate DOM node. - * @return {boolean} True if the DOM is a valid DOM node. - * @internal - */ -function isValidContainer(node) { - return !!(node && (node.nodeType === ELEMENT_NODE_TYPE || node.nodeType === DOC_NODE_TYPE || node.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE)); -} - -/** - * True if the supplied DOM node is a valid React node element. - * - * @param {?DOMElement} node The candidate DOM node. - * @return {boolean} True if the DOM is a valid React DOM node. - * @internal - */ -function isReactNode(node) { - return isValidContainer(node) && (node.hasAttribute(ROOT_ATTR_NAME) || node.hasAttribute(ATTR_NAME)); -} - -function getHostRootInstanceInContainer(container) { - var rootEl = getReactRootElementInContainer(container); - var prevHostInstance = rootEl && ReactDOMComponentTree.getInstanceFromNode(rootEl); - return prevHostInstance && !prevHostInstance._hostParent ? prevHostInstance : null; -} - -function getTopLevelWrapperInContainer(container) { - var root = getHostRootInstanceInContainer(container); - return root ? root._hostContainerInfo._topLevelWrapper : null; -} - -/** - * Temporary (?) hack so that we can store all top-level pending updates on - * composites instead of having to worry about different types of components - * here. - */ -var topLevelRootCounter = 1; -var TopLevelWrapper = function TopLevelWrapper() { - this.rootID = topLevelRootCounter++; -}; -TopLevelWrapper.prototype.isReactComponent = {}; -if (process.env.NODE_ENV !== 'production') { - TopLevelWrapper.displayName = 'TopLevelWrapper'; -} -TopLevelWrapper.prototype.render = function () { - return this.props.child; -}; -TopLevelWrapper.isReactTopLevelWrapper = true; - -/** - * Mounting is the process of initializing a React component by creating its - * representative DOM elements and inserting them into a supplied `container`. - * Any prior content inside `container` is destroyed in the process. - * - * ReactMount.render( - * component, - * document.getElementById('container') - * ); - * - * <div id="container"> <-- Supplied `container`. - * <div data-reactid=".3"> <-- Rendered reactRoot of React - * // ... component. - * </div> - * </div> - * - * Inside of `container`, the first element rendered is the "reactRoot". - */ -var ReactMount = { - - TopLevelWrapper: TopLevelWrapper, - - /** - * Used by devtools. The keys are not important. - */ - _instancesByReactRootID: instancesByReactRootID, - - /** - * This is a hook provided to support rendering React components while - * ensuring that the apparent scroll position of its `container` does not - * change. - * - * @param {DOMElement} container The `container` being rendered into. - * @param {function} renderCallback This must be called once to do the render. - */ - scrollMonitor: function scrollMonitor(container, renderCallback) { - renderCallback(); - }, - - /** - * Take a component that's already mounted into the DOM and replace its props - * @param {ReactComponent} prevComponent component instance already in the DOM - * @param {ReactElement} nextElement component instance to render - * @param {DOMElement} container container to render into - * @param {?function} callback function triggered on completion - */ - _updateRootComponent: function _updateRootComponent(prevComponent, nextElement, nextContext, container, callback) { - ReactMount.scrollMonitor(container, function () { - ReactUpdateQueue.enqueueElementInternal(prevComponent, nextElement, nextContext); - if (callback) { - ReactUpdateQueue.enqueueCallbackInternal(prevComponent, callback); - } - }); - - return prevComponent; - }, - - /** - * Render a new component into the DOM. Hooked by hooks! - * - * @param {ReactElement} nextElement element to render - * @param {DOMElement} container container to render into - * @param {boolean} shouldReuseMarkup if we should skip the markup insertion - * @return {ReactComponent} nextComponent - */ - _renderNewRootComponent: function _renderNewRootComponent(nextElement, container, shouldReuseMarkup, context) { - // Various parts of our code (such as ReactCompositeComponent's - // _renderValidatedComponent) assume that calls to render aren't nested; - // verify that that's the case. - process.env.NODE_ENV !== 'production' ? warning(ReactCurrentOwner.current == null, '_renderNewRootComponent(): Render methods should be a pure function ' + 'of props and state; triggering nested component updates from ' + 'render is not allowed. If necessary, trigger nested updates in ' + 'componentDidUpdate. Check the render method of %s.', ReactCurrentOwner.current && ReactCurrentOwner.current.getName() || 'ReactCompositeComponent') : void 0; - - !isValidContainer(container) ? process.env.NODE_ENV !== 'production' ? invariant(false, '_registerComponent(...): Target container is not a DOM element.') : _prodInvariant('37') : void 0; - - ReactBrowserEventEmitter.ensureScrollValueMonitoring(); - var componentInstance = instantiateReactComponent(nextElement, false); - - // The initial render is synchronous but any updates that happen during - // rendering, in componentWillMount or componentDidMount, will be batched - // according to the current batching strategy. - - ReactUpdates.batchedUpdates(batchedMountComponentIntoNode, componentInstance, container, shouldReuseMarkup, context); - - var wrapperID = componentInstance._instance.rootID; - instancesByReactRootID[wrapperID] = componentInstance; - - return componentInstance; - }, - - /** - * Renders a React component into the DOM in the supplied `container`. - * - * If the React component was previously rendered into `container`, this will - * perform an update on it and only mutate the DOM as necessary to reflect the - * latest React component. - * - * @param {ReactComponent} parentComponent The conceptual parent of this render tree. - * @param {ReactElement} nextElement Component element to render. - * @param {DOMElement} container DOM element to render into. - * @param {?function} callback function triggered on completion - * @return {ReactComponent} Component instance rendered in `container`. - */ - renderSubtreeIntoContainer: function renderSubtreeIntoContainer(parentComponent, nextElement, container, callback) { - !(parentComponent != null && ReactInstanceMap.has(parentComponent)) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'parentComponent must be a valid React Component') : _prodInvariant('38') : void 0; - return ReactMount._renderSubtreeIntoContainer(parentComponent, nextElement, container, callback); - }, - - _renderSubtreeIntoContainer: function _renderSubtreeIntoContainer(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 <div />.' : typeof nextElement === 'function' ? ' Instead of passing a class like Foo, pass ' + 'React.createElement(Foo) or <Foo />.' : - // 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 <div />.' : typeof nextElement === 'function' ? ' Instead of passing a class like Foo, pass ' + 'React.createElement(Foo) or <Foo />.' : 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 nextContext; - if (parentComponent) { - var parentInst = ReactInstanceMap.get(parentComponent); - nextContext = parentInst._processChildContext(parentInst._context); - } else { - nextContext = emptyObject; - } - - var prevComponent = getTopLevelWrapperInContainer(container); - - if (prevComponent) { - var prevWrappedElement = prevComponent._currentElement; - var prevElement = prevWrappedElement.props.child; - if (shouldUpdateReactComponent(prevElement, nextElement)) { - var publicInst = prevComponent._renderedComponent.getPublicInstance(); - var updatedCallback = callback && function () { - callback.call(publicInst); - }; - ReactMount._updateRootComponent(prevComponent, nextWrappedElement, nextContext, container, updatedCallback); - return publicInst; - } else { - ReactMount.unmountComponentAtNode(container); - } - } - - var reactRootElement = getReactRootElementInContainer(container); - var containerHasReactMarkup = reactRootElement && !!internalGetID(reactRootElement); - var containerHasNonRootReactChild = hasNonRootReactChild(container); - - if (process.env.NODE_ENV !== 'production') { - process.env.NODE_ENV !== 'production' ? warning(!containerHasNonRootReactChild, 'render(...): Replacing React-rendered children with a new root ' + 'component. If you intended to update the children of this node, ' + 'you should instead have the existing children update their state ' + 'and render the new components instead of calling ReactDOM.render.') : void 0; - - if (!containerHasReactMarkup || reactRootElement.nextSibling) { - var rootElementSibling = reactRootElement; - while (rootElementSibling) { - if (internalGetID(rootElementSibling)) { - process.env.NODE_ENV !== 'production' ? warning(false, 'render(): Target node has markup rendered by React, but there ' + 'are unrelated nodes as well. This is most commonly caused by ' + 'white-space inserted around server-rendered markup.') : void 0; - break; - } - rootElementSibling = rootElementSibling.nextSibling; - } - } - } - - var shouldReuseMarkup = containerHasReactMarkup && !prevComponent && !containerHasNonRootReactChild; - var component = ReactMount._renderNewRootComponent(nextWrappedElement, container, shouldReuseMarkup, nextContext)._renderedComponent.getPublicInstance(); - if (callback) { - callback.call(component); - } - return component; - }, - - /** - * Renders a React component into the DOM in the supplied `container`. - * See https://facebook.github.io/react/docs/top-level-api.html#reactdom.render - * - * If the React component was previously rendered into `container`, this will - * perform an update on it and only mutate the DOM as necessary to reflect the - * latest React component. - * - * @param {ReactElement} nextElement Component element to render. - * @param {DOMElement} container DOM element to render into. - * @param {?function} callback function triggered on completion - * @return {ReactComponent} Component instance rendered in `container`. - */ - render: function render(nextElement, container, callback) { - return ReactMount._renderSubtreeIntoContainer(null, nextElement, container, callback); - }, - - /** - * Unmounts and destroys the React component rendered in the `container`. - * See https://facebook.github.io/react/docs/top-level-api.html#reactdom.unmountcomponentatnode - * - * @param {DOMElement} container DOM element containing a React component. - * @return {boolean} True if a component was found in and unmounted from - * `container` - */ - unmountComponentAtNode: function unmountComponentAtNode(container) { - // Various parts of our code (such as ReactCompositeComponent's - // _renderValidatedComponent) assume that calls to render aren't nested; - // verify that that's the case. (Strictly speaking, unmounting won't cause a - // render but we still don't expect to be in a render call here.) - process.env.NODE_ENV !== 'production' ? warning(ReactCurrentOwner.current == null, 'unmountComponentAtNode(): Render methods should be a pure function ' + 'of props and state; triggering nested component updates from render ' + 'is not allowed. If necessary, trigger nested updates in ' + 'componentDidUpdate. Check the render method of %s.', ReactCurrentOwner.current && ReactCurrentOwner.current.getName() || 'ReactCompositeComponent') : void 0; - - !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; - } - - var prevComponent = getTopLevelWrapperInContainer(container); - if (!prevComponent) { - // Check if the node being unmounted was rendered by React, but isn't a - // root node. - var containerHasNonRootReactChild = hasNonRootReactChild(container); - - // Check if the container itself is a React root node. - 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; - } - - return false; - } - delete instancesByReactRootID[prevComponent._instance.rootID]; - ReactUpdates.batchedUpdates(unmountComponentFromNode, prevComponent, container, false); - return true; - }, - - _mountImageIntoNode: function _mountImageIntoNode(markup, container, instance, shouldReuseMarkup, transaction) { - !isValidContainer(container) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'mountComponentIntoNode(...): Target container is not valid.') : _prodInvariant('41') : void 0; - - if (shouldReuseMarkup) { - var rootElement = getReactRootElementInContainer(container); - if (ReactMarkupChecksum.canReuseMarkup(markup, rootElement)) { - ReactDOMComponentTree.precacheNode(instance, rootElement); - return; - } else { - var checksum = rootElement.getAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME); - rootElement.removeAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME); - - var rootMarkup = rootElement.outerHTML; - rootElement.setAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME, checksum); - - var normalizedMarkup = markup; - if (process.env.NODE_ENV !== 'production') { - // because rootMarkup is retrieved from the DOM, various normalizations - // will have occurred which will not be present in `markup`. Here, - // insert markup into a <div> or <iframe> depending on the container - // type to perform the same normalizations before comparing. - var normalizer; - if (container.nodeType === ELEMENT_NODE_TYPE) { - normalizer = document.createElement('div'); - normalizer.innerHTML = markup; - normalizedMarkup = normalizer.innerHTML; - } else { - normalizer = document.createElement('iframe'); - document.body.appendChild(normalizer); - normalizer.contentDocument.write(markup); - normalizedMarkup = normalizer.contentDocument.documentElement.outerHTML; - document.body.removeChild(normalizer); - } - } - - var diffIndex = firstDifferenceIndex(normalizedMarkup, rootMarkup); - var difference = ' (client) ' + normalizedMarkup.substring(diffIndex - 20, diffIndex + 20) + '\n (server) ' + rootMarkup.substring(diffIndex - 20, diffIndex + 20); - - !(container.nodeType !== DOC_NODE_TYPE) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'You\'re trying to render a component to the document using server rendering but the checksum was invalid. This usually means you rendered a different component type or props on the client from the one on the server, or your render() methods are impure. React cannot handle this case due to cross-browser quirks by rendering at the document root. You should look for environment dependent code in your components and ensure the props are the same client and server side:\n%s', difference) : _prodInvariant('42', difference) : void 0; - - if (process.env.NODE_ENV !== 'production') { - process.env.NODE_ENV !== 'production' ? warning(false, 'React attempted to reuse markup in a container but the ' + 'checksum was invalid. This generally means that you are ' + 'using server rendering and the markup generated on the ' + 'server was not what the client was expecting. React injected ' + 'new markup to compensate which works but you have lost many ' + 'of the benefits of server rendering. Instead, figure out ' + 'why the markup being generated is different on the client ' + 'or server:\n%s', difference) : void 0; - } - } - } - - !(container.nodeType !== DOC_NODE_TYPE) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'You\'re trying to render a component to the document but you didn\'t use server rendering. We can\'t do this without using server rendering due to cross-browser quirks. See ReactDOMServer.renderToString() for server rendering.') : _prodInvariant('43') : void 0; - - if (transaction.useCreateElement) { - while (container.lastChild) { - container.removeChild(container.lastChild); - } - DOMLazyTree.insertTreeBefore(container, markup, null); - } else { - setInnerHTML(container, markup); - ReactDOMComponentTree.precacheNode(instance, container.firstChild); - } - - if (process.env.NODE_ENV !== 'production') { - var hostNode = ReactDOMComponentTree.getInstanceFromNode(container.firstChild); - if (hostNode._debugID !== 0) { - ReactInstrumentation.debugTool.onHostOperation({ - instanceID: hostNode._debugID, - type: 'mount', - payload: markup.toString() - }); - } - } - } -}; - -module.exports = ReactMount; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 212 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - * - */ - - - -var _prodInvariant = __webpack_require__(12); - -var React = __webpack_require__(61); - -var invariant = __webpack_require__(10); - -var ReactNodeTypes = { - HOST: 0, - COMPOSITE: 1, - EMPTY: 2, - - getType: function getType(node) { - if (node === null || node === false) { - return ReactNodeTypes.EMPTY; - } else if (React.isValidElement(node)) { - if (typeof node.type === 'function') { - return ReactNodeTypes.COMPOSITE; - } else { - return ReactNodeTypes.HOST; - } - } - true ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Unexpected node: %s', node) : _prodInvariant('26', node) : void 0; - } -}; - -module.exports = ReactNodeTypes; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 213 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - * - */ - - - -var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; - -module.exports = ReactPropTypesSecret; - -/***/ }), -/* 214 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var ViewportMetrics = { - - currentScrollLeft: 0, - - currentScrollTop: 0, - - refreshScrollValues: function refreshScrollValues(scrollPosition) { - ViewportMetrics.currentScrollLeft = scrollPosition.x; - ViewportMetrics.currentScrollTop = scrollPosition.y; - } - -}; - -module.exports = ViewportMetrics; - -/***/ }), -/* 215 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - * - */ - - - -var _prodInvariant = __webpack_require__(12); - -var invariant = __webpack_require__(10); - -/** - * Accumulates items that must not be null or undefined into the first one. This - * is used to conserve memory by avoiding array allocations, and thus sacrifices - * API cleanness. Since `current` can be null before being passed in and not - * null after this function, make sure to assign it back to `current`: - * - * `a = accumulateInto(a, b);` - * - * This API should be sparingly used. Try `accumulate` for something cleaner. - * - * @return {*|array<*>} An accumulation of items. - */ - -function accumulateInto(current, next) { - !(next != null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'accumulateInto(...): Accumulated items must not be null or undefined.') : _prodInvariant('30') : void 0; - - if (current == null) { - return next; - } - - // Both are not empty. Warning: Never call x.concat(y) when you are not - // certain that x is an Array (x could be a string with concat method). - if (Array.isArray(current)) { - if (Array.isArray(next)) { - current.push.apply(current, next); - return current; - } - current.push(next); - return current; - } - - if (Array.isArray(next)) { - // A bit too dangerous to mutate `next`. - return [current].concat(next); - } - - return [current, next]; -} - -module.exports = accumulateInto; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 216 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - * - */ - - - -/** - * @param {array} arr an "accumulation" of items which is either an Array or - * a single item. Useful when paired with the `accumulate` module. This is a - * simple utility that allows us to reason about a collection of items, but - * handling the case when there is exactly one item (and we do not need to - * allocate an array). - */ - -function forEachAccumulated(arr, cb, scope) { - if (Array.isArray(arr)) { - arr.forEach(cb, scope); - } else if (arr) { - cb.call(scope, arr); - } -} - -module.exports = forEachAccumulated; - -/***/ }), -/* 217 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var ReactNodeTypes = __webpack_require__(212); - -function getHostComponentFromComposite(inst) { - var type; - - while ((type = inst._renderedNodeType) === ReactNodeTypes.COMPOSITE) { - inst = inst._renderedComponent; - } - - if (type === ReactNodeTypes.HOST) { - return inst._renderedComponent; - } else if (type === ReactNodeTypes.EMPTY) { - return null; - } -} - -module.exports = getHostComponentFromComposite; - -/***/ }), -/* 218 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var ExecutionEnvironment = __webpack_require__(18); - -var contentKey = null; - -/** - * Gets the key used to access text content on a DOM node. - * - * @return {?string} Key used to access text content. - * @internal - */ -function getTextContentAccessor() { - if (!contentKey && ExecutionEnvironment.canUseDOM) { - // Prefer textContent to innerText because many browsers support both but - // SVG <text> elements don't support innerText even when <div> does. - contentKey = 'textContent' in document.documentElement ? 'textContent' : 'innerText'; - } - return contentKey; -} - -module.exports = getTextContentAccessor; - -/***/ }), -/* 219 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -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 _prodInvariant = __webpack_require__(12), - _assign = __webpack_require__(14); - -var ReactCompositeComponent = __webpack_require__(425); -var ReactEmptyComponent = __webpack_require__(207); -var ReactHostComponent = __webpack_require__(209); - -var getNextDebugID = __webpack_require__(525); -var invariant = __webpack_require__(10); -var warning = __webpack_require__(11); - -// To avoid a cyclic dependency, we create the final class in this module -var ReactCompositeComponentWrapper = function ReactCompositeComponentWrapper(element) { - this.construct(element); -}; - -function getDeclarationErrorAddendum(owner) { - if (owner) { - var name = owner.getName(); - if (name) { - return ' Check the render method of `' + name + '`.'; - } - } - return ''; -} - -/** - * Check if the type reference is a known internal type. I.e. not a user - * provided composite type. - * - * @param {function} type - * @return {boolean} Returns true if this is a valid internal type. - */ -function isInternalComponentType(type) { - return typeof type === 'function' && typeof type.prototype !== 'undefined' && typeof type.prototype.mountComponent === 'function' && typeof type.prototype.receiveComponent === 'function'; -} - -/** - * Given a ReactNode, create an instance that will actually be mounted. - * - * @param {ReactNode} node - * @param {boolean} shouldHaveDebugID - * @return {object} A new instance of the element's constructor. - * @protected - */ -function instantiateReactComponent(node, shouldHaveDebugID) { - var instance; - - if (node === null || node === false) { - instance = ReactEmptyComponent.create(instantiateReactComponent); - } else if ((typeof node === 'undefined' ? 'undefined' : _typeof(node)) === 'object') { - var element = node; - var type = element.type; - if (typeof type !== 'function' && typeof type !== 'string') { - var info = ''; - if (process.env.NODE_ENV !== 'production') { - if (type === undefined || (typeof type === 'undefined' ? '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 += getDeclarationErrorAddendum(element._owner); - true ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Element 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 === 'undefined' ? 'undefined' : _typeof(type), info) : _prodInvariant('130', type == null ? type : typeof type === 'undefined' ? 'undefined' : _typeof(type), info) : void 0; - } - - // Special case string values - if (typeof element.type === 'string') { - instance = ReactHostComponent.createInternalComponent(element); - } else if (isInternalComponentType(element.type)) { - // This is temporarily available for custom components that are not string - // representations. I.e. ART. Once those are updated to use the string - // representation, we can drop this code path. - instance = new element.type(element); - - // We renamed this. Allow the old name for compat. :( - if (!instance.getHostNode) { - instance.getHostNode = instance.getNativeNode; - } - } else { - instance = new ReactCompositeComponentWrapper(element); - } - } else if (typeof node === 'string' || typeof node === 'number') { - instance = ReactHostComponent.createInstanceForText(node); - } else { - true ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Encountered invalid React node of type %s', typeof node === 'undefined' ? 'undefined' : _typeof(node)) : _prodInvariant('131', typeof node === 'undefined' ? 'undefined' : _typeof(node)) : void 0; - } - - if (process.env.NODE_ENV !== 'production') { - process.env.NODE_ENV !== 'production' ? warning(typeof instance.mountComponent === 'function' && typeof instance.receiveComponent === 'function' && typeof instance.getHostNode === 'function' && typeof instance.unmountComponent === 'function', 'Only React Components can be mounted.') : void 0; - } - - // These two fields are used by the DOM and ART diffing algorithms - // respectively. Instead of using expandos on components, we should be - // storing the state needed by the diffing algorithms elsewhere. - instance._mountIndex = 0; - instance._mountImage = null; - - if (process.env.NODE_ENV !== 'production') { - instance._debugID = shouldHaveDebugID ? getNextDebugID() : 0; - } - - // Internal instances should fully constructed at this point, so they should - // not get any new fields added to them at this point. - if (process.env.NODE_ENV !== 'production') { - if (Object.preventExtensions) { - Object.preventExtensions(instance); - } - } - - return instance; -} - -_assign(ReactCompositeComponentWrapper.prototype, ReactCompositeComponent, { - _instantiateReactComponent: instantiateReactComponent -}); - -module.exports = instantiateReactComponent; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 220 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - * - */ - - - -/** - * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary - */ - -var supportedInputTypes = { - 'color': true, - 'date': true, - 'datetime': true, - 'datetime-local': true, - 'email': true, - 'month': true, - 'number': true, - 'password': true, - 'range': true, - 'search': true, - 'tel': true, - 'text': true, - 'time': true, - 'url': true, - 'week': true -}; - -function isTextInputElement(elem) { - var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase(); - - if (nodeName === 'input') { - return !!supportedInputTypes[elem.type]; - } - - if (nodeName === 'textarea') { - return true; - } - - return false; -} - -module.exports = isTextInputElement; - -/***/ }), -/* 221 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var ExecutionEnvironment = __webpack_require__(18); -var escapeTextContentForBrowser = __webpack_require__(88); -var setInnerHTML = __webpack_require__(89); - -/** - * Set the textContent property of a node, ensuring that whitespace is preserved - * even in IE8. innerText is a poor substitute for textContent and, among many - * issues, inserts <br> instead of the literal newline chars. innerHTML behaves - * as it should. - * - * @param {DOMElement} node - * @param {string} text - * @internal - */ -var setTextContent = function setTextContent(node, text) { - if (text) { - var firstChild = node.firstChild; - - if (firstChild && firstChild === node.lastChild && firstChild.nodeType === 3) { - firstChild.nodeValue = text; - return; - } - } - node.textContent = text; -}; - -if (ExecutionEnvironment.canUseDOM) { - if (!('textContent' in document.documentElement)) { - setTextContent = function setTextContent(node, text) { - if (node.nodeType === 3) { - node.nodeValue = text; - return; - } - setInnerHTML(node, escapeTextContentForBrowser(text)); - }; - } -} - -module.exports = setTextContent; - -/***/ }), -/* 222 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -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 _prodInvariant = __webpack_require__(12); - -var ReactCurrentOwner = __webpack_require__(30); -var REACT_ELEMENT_TYPE = __webpack_require__(444); - -var getIteratorFn = __webpack_require__(478); -var invariant = __webpack_require__(10); -var KeyEscapeUtils = __webpack_require__(129); -var warning = __webpack_require__(11); - -var SEPARATOR = '.'; -var SUBSEPARATOR = ':'; - -/** - * This is inlined from ReactElement since this file is shared between - * isomorphic and renderers. We could extract this to a - * - */ - -/** - * TODO: Test that a single child and an array with one item have the same key - * pattern. - */ - -var didWarnAboutMaps = false; - -/** - * Generate a key string that identifies a component within a set. - * - * @param {*} component A component that could contain a manual key. - * @param {number} index Index that is used if a manual key is not provided. - * @return {string} - */ -function getComponentKey(component, index) { - // Do some typechecking here since we call this blindly. We want to ensure - // that we don't block potential future ES APIs. - if (component && (typeof component === 'undefined' ? 'undefined' : _typeof(component)) === 'object' && component.key != null) { - // Explicit key - return KeyEscapeUtils.escape(component.key); - } - // Implicit key determined by the index in the set - return index.toString(36); -} - -/** - * @param {?*} children Children tree container. - * @param {!string} nameSoFar Name of the key path so far. - * @param {!function} callback Callback to invoke with each child found. - * @param {?*} traverseContext Used to pass information throughout the traversal - * process. - * @return {!number} The number of children in this subtree. - */ -function traverseAllChildrenImpl(children, nameSoFar, callback, traverseContext) { - var type = typeof children === 'undefined' ? 'undefined' : _typeof(children); - - if (type === 'undefined' || type === 'boolean') { - // All of the above are perceived as null. - children = null; - } - - if (children === null || type === 'string' || type === 'number' || - // The following is inlined from ReactElement. This means we can optimize - // some checks. React Fiber also inlines this logic for similar purposes. - type === 'object' && children.$$typeof === REACT_ELEMENT_TYPE) { - callback(traverseContext, children, - // If it's the only child, treat the name as if it was wrapped in an array - // so that it's consistent if the number of children grows. - nameSoFar === '' ? SEPARATOR + getComponentKey(children, 0) : nameSoFar); - return 1; - } - - var child; - var nextName; - var subtreeCount = 0; // Count of children found in the current subtree. - var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR; - - if (Array.isArray(children)) { - for (var i = 0; i < children.length; i++) { - child = children[i]; - nextName = nextNamePrefix + getComponentKey(child, i); - subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext); - } - } else { - var iteratorFn = getIteratorFn(children); - if (iteratorFn) { - var iterator = iteratorFn.call(children); - var step; - if (iteratorFn !== children.entries) { - var ii = 0; - while (!(step = iterator.next()).done) { - child = step.value; - nextName = nextNamePrefix + getComponentKey(child, ii++); - subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext); - } - } else { - if (process.env.NODE_ENV !== 'production') { - var mapsAsChildrenAddendum = ''; - if (ReactCurrentOwner.current) { - var mapsAsChildrenOwnerName = ReactCurrentOwner.current.getName(); - if (mapsAsChildrenOwnerName) { - mapsAsChildrenAddendum = ' Check the render method of `' + mapsAsChildrenOwnerName + '`.'; - } - } - process.env.NODE_ENV !== 'production' ? warning(didWarnAboutMaps, 'Using Maps as children is not yet fully supported. It is an ' + 'experimental feature that might be removed. Convert it to a ' + 'sequence / iterable of keyed ReactElements instead.%s', mapsAsChildrenAddendum) : void 0; - didWarnAboutMaps = true; - } - // Iterator will provide entry [k,v] tuples rather than values. - while (!(step = iterator.next()).done) { - var entry = step.value; - if (entry) { - child = entry[1]; - nextName = nextNamePrefix + KeyEscapeUtils.escape(entry[0]) + SUBSEPARATOR + getComponentKey(child, 0); - subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext); - } - } - } - } else if (type === 'object') { - var addendum = ''; - 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.'; - } - if (ReactCurrentOwner.current) { - var name = ReactCurrentOwner.current.getName(); - if (name) { - addendum += ' Check the render method of `' + name + '`.'; - } - } - } - var childrenString = String(children); - true ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Objects are not valid as a React child (found: %s).%s', childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString, addendum) : _prodInvariant('31', childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString, addendum) : void 0; - } - } - - return subtreeCount; -} - -/** - * Traverses children that are typically specified as `props.children`, but - * might also be specified through attributes: - * - * - `traverseAllChildren(this.props.children, ...)` - * - `traverseAllChildren(this.props.leftPanelChildren, ...)` - * - * The `traverseContext` is an optional argument that is passed through the - * entire traversal. It can be used to store accumulations or anything else that - * the callback might find relevant. - * - * @param {?*} children Children tree object. - * @param {!function} callback To invoke upon traversing each child. - * @param {?*} traverseContext Context for traversal. - * @return {!number} The number of children in this subtree. - */ -function traverseAllChildren(children, callback, traverseContext) { - if (children == null) { - return 0; - } - - return traverseAllChildrenImpl(children, '', callback, traverseContext); -} - -module.exports = traverseAllChildren; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 223 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -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; }; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -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; - }; -}(); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _reactDom = __webpack_require__(21); - -var _reactDom2 = _interopRequireDefault(_reactDom); - -var _componentOrElement = __webpack_require__(142); - -var _componentOrElement2 = _interopRequireDefault(_componentOrElement); - -var _ownerDocument = __webpack_require__(72); - -var _ownerDocument2 = _interopRequireDefault(_ownerDocument); - -var _getContainer = __webpack_require__(141); - -var _getContainer2 = _interopRequireDefault(_getContainer); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} - -function _possibleConstructorReturn(self, call) { - if (!self) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - }return call && ((typeof call === "undefined" ? "undefined" : _typeof(call)) === "object" || typeof call === "function") ? call : self; -} - -function _inherits(subClass, superClass) { - if (typeof superClass !== "function" && superClass !== null) { - throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : _typeof(superClass))); - }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; -} - -/** - * The `<Portal/>` component renders its children into a new "subtree" outside of current component hierarchy. - * You can think of it as a declarative `appendChild()`, or jQuery's `$.fn.appendTo()`. - * The children of `<Portal/>` component will be appended to the `container` specified. - */ -var Portal = function (_React$Component) { - _inherits(Portal, _React$Component); - - function Portal() { - var _ref; - - var _temp, _this, _ret; - - _classCallCheck(this, Portal); - - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Portal.__proto__ || Object.getPrototypeOf(Portal)).call.apply(_ref, [this].concat(args))), _this), _this._mountOverlayTarget = function () { - if (!_this._overlayTarget) { - _this._overlayTarget = document.createElement('div'); - _this._portalContainerNode = (0, _getContainer2.default)(_this.props.container, (0, _ownerDocument2.default)(_this).body); - _this._portalContainerNode.appendChild(_this._overlayTarget); - } - }, _this._unmountOverlayTarget = function () { - if (_this._overlayTarget) { - _this._portalContainerNode.removeChild(_this._overlayTarget); - _this._overlayTarget = null; - } - _this._portalContainerNode = null; - }, _this._renderOverlay = function () { - - var overlay = !_this.props.children ? null : _react2.default.Children.only(_this.props.children); - - // Save reference for future access. - if (overlay !== null) { - _this._mountOverlayTarget(); - _this._overlayInstance = _reactDom2.default.unstable_renderSubtreeIntoContainer(_this, overlay, _this._overlayTarget); - } else { - // Unrender if the component is null for transitions to null - _this._unrenderOverlay(); - _this._unmountOverlayTarget(); - } - }, _this._unrenderOverlay = function () { - if (_this._overlayTarget) { - _reactDom2.default.unmountComponentAtNode(_this._overlayTarget); - _this._overlayInstance = null; - } - }, _this.getMountNode = function () { - return _this._overlayTarget; - }, _this.getOverlayDOMNode = function () { - if (!_this._isMounted) { - throw new Error('getOverlayDOMNode(): A component must be mounted to have a DOM node.'); - } - - if (_this._overlayInstance) { - return _reactDom2.default.findDOMNode(_this._overlayInstance); - } - - return null; - }, _temp), _possibleConstructorReturn(_this, _ret); - } - - _createClass(Portal, [{ - key: 'componentDidMount', - value: function componentDidMount() { - this._isMounted = true; - this._renderOverlay(); - } - }, { - key: 'componentDidUpdate', - value: function componentDidUpdate() { - this._renderOverlay(); - } - }, { - key: 'componentWillReceiveProps', - value: function componentWillReceiveProps(nextProps) { - if (this._overlayTarget && nextProps.container !== this.props.container) { - this._portalContainerNode.removeChild(this._overlayTarget); - this._portalContainerNode = (0, _getContainer2.default)(nextProps.container, (0, _ownerDocument2.default)(this).body); - this._portalContainerNode.appendChild(this._overlayTarget); - } - } - }, { - key: 'componentWillUnmount', - value: function componentWillUnmount() { - this._isMounted = false; - this._unrenderOverlay(); - this._unmountOverlayTarget(); - } - }, { - key: 'render', - value: function render() { - return null; - } - }]); - - return Portal; -}(_react2.default.Component); - -Portal.displayName = 'Portal'; -Portal.propTypes = { - /** - * A Node, Component instance, or function that returns either. The `container` will have the Portal children - * appended to it. - */ - container: _propTypes2.default.oneOfType([_componentOrElement2.default, _propTypes2.default.func]) -}; -exports.default = Portal; -module.exports = exports['default']; - -/***/ }), -/* 224 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -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; }; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -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; - }; -}(); - -var _contains = __webpack_require__(53); - -var _contains2 = _interopRequireDefault(_contains); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _reactDom = __webpack_require__(21); - -var _reactDom2 = _interopRequireDefault(_reactDom); - -var _addEventListener = __webpack_require__(226); - -var _addEventListener2 = _interopRequireDefault(_addEventListener); - -var _ownerDocument = __webpack_require__(72); - -var _ownerDocument2 = _interopRequireDefault(_ownerDocument); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} - -function _possibleConstructorReturn(self, call) { - if (!self) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - }return call && ((typeof call === "undefined" ? "undefined" : _typeof(call)) === "object" || typeof call === "function") ? call : self; -} - -function _inherits(subClass, superClass) { - if (typeof superClass !== "function" && superClass !== null) { - throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : _typeof(superClass))); - }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; -} - -var escapeKeyCode = 27; - -function isLeftClickEvent(event) { - return event.button === 0; -} - -function isModifiedEvent(event) { - return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey); -} - -/** - * The `<RootCloseWrapper/>` component registers your callback on the document - * when rendered. Powers the `<Overlay/>` component. This is used achieve modal - * style behavior where your callback is triggered when the user tries to - * interact with the rest of the document or hits the `esc` key. - */ - -var RootCloseWrapper = function (_React$Component) { - _inherits(RootCloseWrapper, _React$Component); - - function RootCloseWrapper(props, context) { - _classCallCheck(this, RootCloseWrapper); - - var _this = _possibleConstructorReturn(this, (RootCloseWrapper.__proto__ || Object.getPrototypeOf(RootCloseWrapper)).call(this, props, context)); - - _this.addEventListeners = function () { - var event = _this.props.event; - - var doc = (0, _ownerDocument2.default)(_this); - - // Use capture for this listener so it fires before React's listener, to - // avoid false positives in the contains() check below if the target DOM - // element is removed in the React mouse callback. - _this.documentMouseCaptureListener = (0, _addEventListener2.default)(doc, event, _this.handleMouseCapture, true); - - _this.documentMouseListener = (0, _addEventListener2.default)(doc, event, _this.handleMouse); - - _this.documentKeyupListener = (0, _addEventListener2.default)(doc, 'keyup', _this.handleKeyUp); - }; - - _this.removeEventListeners = function () { - if (_this.documentMouseCaptureListener) { - _this.documentMouseCaptureListener.remove(); - } - - if (_this.documentMouseListener) { - _this.documentMouseListener.remove(); - } - - if (_this.documentKeyupListener) { - _this.documentKeyupListener.remove(); - } - }; - - _this.handleMouseCapture = function (e) { - _this.preventMouseRootClose = isModifiedEvent(e) || !isLeftClickEvent(e) || (0, _contains2.default)(_reactDom2.default.findDOMNode(_this), e.target); - }; - - _this.handleMouse = function (e) { - if (!_this.preventMouseRootClose && _this.props.onRootClose) { - _this.props.onRootClose(e); - } - }; - - _this.handleKeyUp = function (e) { - if (e.keyCode === escapeKeyCode && _this.props.onRootClose) { - _this.props.onRootClose(e); - } - }; - - _this.preventMouseRootClose = false; - return _this; - } - - _createClass(RootCloseWrapper, [{ - key: 'componentDidMount', - value: function componentDidMount() { - if (!this.props.disabled) { - this.addEventListeners(); - } - } - }, { - key: 'componentDidUpdate', - value: function componentDidUpdate(prevProps) { - if (!this.props.disabled && prevProps.disabled) { - this.addEventListeners(); - } else if (this.props.disabled && !prevProps.disabled) { - this.removeEventListeners(); - } - } - }, { - key: 'componentWillUnmount', - value: function componentWillUnmount() { - if (!this.props.disabled) { - this.removeEventListeners(); - } - } - }, { - key: 'render', - value: function render() { - return this.props.children; - } - }]); - - return RootCloseWrapper; -}(_react2.default.Component); - -RootCloseWrapper.displayName = 'RootCloseWrapper'; - -RootCloseWrapper.propTypes = { - /** - * Callback fired after click or mousedown. Also triggers when user hits `esc`. - */ - onRootClose: _propTypes2.default.func, - /** - * Children to render. - */ - children: _propTypes2.default.element, - /** - * Disable the the RootCloseWrapper, preventing it from triggering `onRootClose`. - */ - disabled: _propTypes2.default.bool, - /** - * Choose which document mouse event to bind to. - */ - event: _propTypes2.default.oneOf(['click', 'mousedown']) -}; - -RootCloseWrapper.defaultProps = { - event: 'click' -}; - -exports.default = RootCloseWrapper; -module.exports = exports['default']; - -/***/ }), -/* 225 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -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; }; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.EXITING = exports.ENTERED = exports.ENTERING = exports.EXITED = exports.UNMOUNTED = undefined; - -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; - }; -}(); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _on = __webpack_require__(76); - -var _on2 = _interopRequireDefault(_on); - -var _properties = __webpack_require__(169); - -var _properties2 = _interopRequireDefault(_properties); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _reactDom = __webpack_require__(21); - -var _reactDom2 = _interopRequireDefault(_reactDom); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -function _objectWithoutProperties(obj, keys) { - var target = {};for (var i in obj) { - if (keys.indexOf(i) >= 0) continue;if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;target[i] = obj[i]; - }return target; -} - -function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} - -function _possibleConstructorReturn(self, call) { - if (!self) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - }return call && ((typeof call === "undefined" ? "undefined" : _typeof(call)) === "object" || typeof call === "function") ? call : self; -} - -function _inherits(subClass, superClass) { - if (typeof superClass !== "function" && superClass !== null) { - throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : _typeof(superClass))); - }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; -} - -var transitionEndEvent = _properties2.default.end; - -var UNMOUNTED = exports.UNMOUNTED = 0; -var EXITED = exports.EXITED = 1; -var ENTERING = exports.ENTERING = 2; -var ENTERED = exports.ENTERED = 3; -var EXITING = exports.EXITING = 4; - -/** - * The Transition component lets you define and run css transitions with a simple declarative api. - * It works similar to React's own [CSSTransitionGroup](http://facebook.github.io/react/docs/animation.html#high-level-api-reactcsstransitiongroup) - * but is specifically optimized for transitioning a single child "in" or "out". - * - * You don't even need to use class based css transitions if you don't want to (but it is easiest). - * The extensive set of lifecycle callbacks means you have control over - * the transitioning now at each step of the way. - */ - -var Transition = function (_React$Component) { - _inherits(Transition, _React$Component); - - function Transition(props, context) { - _classCallCheck(this, Transition); - - var _this = _possibleConstructorReturn(this, (Transition.__proto__ || Object.getPrototypeOf(Transition)).call(this, props, context)); - - _this.updateStatus = function () { - if (_this.nextStatus !== null) { - (function () { - // nextStatus will always be ENTERING or EXITING. - _this.cancelNextCallback(); - var node = _reactDom2.default.findDOMNode(_this); - - if (_this.nextStatus === ENTERING) { - _this.props.onEnter(node); - - _this.safeSetState({ status: ENTERING }, function () { - _this.props.onEntering(node); - - _this.onTransitionEnd(node, function () { - _this.safeSetState({ status: ENTERED }, function () { - _this.props.onEntered(node); - }); - }); - }); - } else { - _this.props.onExit(node); - - _this.safeSetState({ status: EXITING }, function () { - _this.props.onExiting(node); - - _this.onTransitionEnd(node, function () { - _this.safeSetState({ status: EXITED }, function () { - _this.props.onExited(node); - }); - }); - }); - } - - _this.nextStatus = null; - })(); - } else if (_this.props.unmountOnExit && _this.state.status === EXITED) { - _this.setState({ status: UNMOUNTED }); - } - }; - - _this.cancelNextCallback = function () { - if (_this.nextCallback !== null) { - _this.nextCallback.cancel(); - _this.nextCallback = null; - } - }; - - _this.safeSetState = function (nextState, callback) { - // This shouldn't be necessary, but there are weird race conditions with - // setState callbacks and unmounting in testing, so always make sure that - // we can cancel any pending setState callbacks after we unmount. - _this.setState(nextState, _this.setNextCallback(callback)); - }; - - _this.setNextCallback = function (callback) { - var active = true; - - _this.nextCallback = function (event) { - if (active) { - active = false; - _this.nextCallback = null; - - callback(event); - } - }; - - _this.nextCallback.cancel = function () { - active = false; - }; - - return _this.nextCallback; - }; - - _this.onTransitionEnd = function (node, handler) { - _this.setNextCallback(handler); - - if (node) { - (0, _on2.default)(node, transitionEndEvent, _this.nextCallback); - setTimeout(_this.nextCallback, _this.props.timeout); - } else { - setTimeout(_this.nextCallback, 0); - } - }; - - var initialStatus = void 0; - _this.nextStatus = null; - - if (props.in) { - if (props.transitionAppear) { - initialStatus = EXITED; - _this.nextStatus = ENTERING; - } else { - initialStatus = ENTERED; - } - } else { - if (props.unmountOnExit || props.mountOnEnter) { - initialStatus = UNMOUNTED; - } else { - initialStatus = EXITED; - } - } - - _this.state = { status: initialStatus }; - - _this.nextCallback = null; - return _this; - } - - _createClass(Transition, [{ - key: 'componentDidMount', - value: function componentDidMount() { - this.updateStatus(); - } - }, { - key: 'componentWillReceiveProps', - value: function componentWillReceiveProps(nextProps) { - var status = this.state.status; - - if (nextProps.in) { - if (status === UNMOUNTED) { - this.setState({ status: EXITED }); - } - if (status !== ENTERING && status !== ENTERED) { - this.nextStatus = ENTERING; - } - } else { - if (status === ENTERING || status === ENTERED) { - this.nextStatus = EXITING; - } - } - } - }, { - key: 'componentDidUpdate', - value: function componentDidUpdate() { - this.updateStatus(); - } - }, { - key: 'componentWillUnmount', - value: function componentWillUnmount() { - this.cancelNextCallback(); - } - }, { - key: 'render', - value: function render() { - var status = this.state.status; - if (status === UNMOUNTED) { - return null; - } - - var _props = this.props; - var children = _props.children; - var className = _props.className; - - var childProps = _objectWithoutProperties(_props, ['children', 'className']); - - Object.keys(Transition.propTypes).forEach(function (key) { - return delete childProps[key]; - }); - - var transitionClassName = void 0; - if (status === EXITED) { - transitionClassName = this.props.exitedClassName; - } else if (status === ENTERING) { - transitionClassName = this.props.enteringClassName; - } else if (status === ENTERED) { - transitionClassName = this.props.enteredClassName; - } else if (status === EXITING) { - transitionClassName = this.props.exitingClassName; - } - - var child = _react2.default.Children.only(children); - return _react2.default.cloneElement(child, _extends({}, childProps, { - className: (0, _classnames2.default)(child.props.className, className, transitionClassName) - })); - } - }]); - - return Transition; -}(_react2.default.Component); - -Transition.propTypes = { - /** - * Show the component; triggers the enter or exit animation - */ - in: _propTypes2.default.bool, - - /** - * Wait until the first "enter" transition to mount the component (add it to the DOM) - */ - mountOnEnter: _propTypes2.default.bool, - - /** - * Unmount the component (remove it from the DOM) when it is not shown - */ - unmountOnExit: _propTypes2.default.bool, - - /** - * Run the enter animation when the component mounts, if it is initially - * shown - */ - transitionAppear: _propTypes2.default.bool, - - /** - * A Timeout for the animation, in milliseconds, to ensure that a node doesn't - * transition indefinately if the browser transitionEnd events are - * canceled or interrupted. - * - * By default this is set to a high number (5 seconds) as a failsafe. You should consider - * setting this to the duration of your animation (or a bit above it). - */ - timeout: _propTypes2.default.number, - - /** - * CSS class or classes applied when the component is exited - */ - exitedClassName: _propTypes2.default.string, - /** - * CSS class or classes applied while the component is exiting - */ - exitingClassName: _propTypes2.default.string, - /** - * CSS class or classes applied when the component is entered - */ - enteredClassName: _propTypes2.default.string, - /** - * CSS class or classes applied while the component is entering - */ - enteringClassName: _propTypes2.default.string, - - /** - * Callback fired before the "entering" classes are applied - */ - onEnter: _propTypes2.default.func, - /** - * Callback fired after the "entering" classes are applied - */ - onEntering: _propTypes2.default.func, - /** - * Callback fired after the "enter" classes are applied - */ - onEntered: _propTypes2.default.func, - /** - * Callback fired before the "exiting" classes are applied - */ - onExit: _propTypes2.default.func, - /** - * Callback fired after the "exiting" classes are applied - */ - onExiting: _propTypes2.default.func, - /** - * Callback fired after the "exited" classes are applied - */ - onExited: _propTypes2.default.func -}; - -// Name the function so it is clearer in the documentation -function noop() {} - -Transition.displayName = 'Transition'; - -Transition.defaultProps = { - in: false, - unmountOnExit: false, - transitionAppear: false, - - timeout: 5000, - - onEnter: noop, - onEntering: noop, - onEntered: noop, - - onExit: noop, - onExiting: noop, - onExited: noop -}; - -exports.default = Transition; - -/***/ }), -/* 226 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -exports.default = function (node, event, handler, capture) { - (0, _on2.default)(node, event, handler, capture); - - return { - remove: function remove() { - (0, _off2.default)(node, event, handler, capture); - } - }; -}; - -var _on = __webpack_require__(76); - -var _on2 = _interopRequireDefault(_on); - -var _off = __webpack_require__(112); - -var _off2 = _interopRequireDefault(_off); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -module.exports = exports['default']; - -/***/ }), -/* 227 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = isOverflowing; - -var _isWindow = __webpack_require__(77); - -var _isWindow2 = _interopRequireDefault(_isWindow); - -var _ownerDocument = __webpack_require__(52); - -var _ownerDocument2 = _interopRequireDefault(_ownerDocument); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -function isBody(node) { - return node && node.tagName.toLowerCase() === 'body'; -} - -function bodyIsOverflowing(node) { - var doc = (0, _ownerDocument2.default)(node); - var win = (0, _isWindow2.default)(doc); - var fullWidth = win.innerWidth; - - // Support: ie8, no innerWidth - if (!fullWidth) { - var documentElementRect = doc.documentElement.getBoundingClientRect(); - fullWidth = documentElementRect.right - Math.abs(documentElementRect.left); - } - - return doc.body.clientWidth < fullWidth; -} - -function isOverflowing(container) { - var win = (0, _isWindow2.default)(container); - - return win || isBody(container) ? bodyIsOverflowing(container) : container.scrollHeight > container.clientHeight; -} -module.exports = exports['default']; - -/***/ }), -/* 228 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -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; }; - -exports.default = connectAdvanced; - -var _hoistNonReactStatics = __webpack_require__(178); - -var _hoistNonReactStatics2 = _interopRequireDefault(_hoistNonReactStatics); - -var _invariant = __webpack_require__(17); - -var _invariant2 = _interopRequireDefault(_invariant); - -var _react = __webpack_require__(1); - -var _Subscription = __webpack_require__(497); - -var _Subscription2 = _interopRequireDefault(_Subscription); - -var _PropTypes = __webpack_require__(230); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: 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; -}; - -function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} - -function _possibleConstructorReturn(self, call) { - if (!self) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - }return call && ((typeof call === "undefined" ? "undefined" : _typeof(call)) === "object" || typeof call === "function") ? call : self; -} - -function _inherits(subClass, superClass) { - if (typeof superClass !== "function" && superClass !== null) { - throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : _typeof(superClass))); - }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; -} - -function _objectWithoutProperties(obj, keys) { - var target = {};for (var i in obj) { - if (keys.indexOf(i) >= 0) continue;if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;target[i] = obj[i]; - }return target; -} - -var hotReloadingVersion = 0; -var dummyState = {}; -function noop() {} -function makeSelectorStateful(sourceSelector, store) { - // wrap the selector in an object that tracks its results between runs. - var selector = { - run: function runComponentSelector(props) { - try { - var nextProps = sourceSelector(store.getState(), props); - if (nextProps !== selector.props || selector.error) { - selector.shouldComponentUpdate = true; - selector.props = nextProps; - selector.error = null; - } - } catch (error) { - selector.shouldComponentUpdate = true; - selector.error = error; - } - } - }; - - return selector; -} - -function connectAdvanced( -/* - selectorFactory is a func that is responsible for returning the selector function used to - compute new props from state, props, and dispatch. For example: - export default connectAdvanced((dispatch, options) => (state, props) => ({ - thing: state.things[props.thingId], - saveThing: fields => dispatch(actionCreators.saveThing(props.thingId, fields)), - }))(YourComponent) - Access to dispatch is provided to the factory so selectorFactories can bind actionCreators - outside of their selector as an optimization. Options passed to connectAdvanced are passed to - the selectorFactory, along with displayName and WrappedComponent, as the second argument. - Note that selectorFactory is responsible for all caching/memoization of inbound and outbound - props. Do not use connectAdvanced directly without memoizing results between calls to your - selector, otherwise the Connect component will re-render on every state or props change. -*/ -selectorFactory) { - var _contextTypes, _childContextTypes; - - var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, - _ref$getDisplayName = _ref.getDisplayName, - getDisplayName = _ref$getDisplayName === undefined ? function (name) { - return 'ConnectAdvanced(' + name + ')'; - } : _ref$getDisplayName, - _ref$methodName = _ref.methodName, - methodName = _ref$methodName === undefined ? 'connectAdvanced' : _ref$methodName, - _ref$renderCountProp = _ref.renderCountProp, - renderCountProp = _ref$renderCountProp === undefined ? undefined : _ref$renderCountProp, - _ref$shouldHandleStat = _ref.shouldHandleStateChanges, - shouldHandleStateChanges = _ref$shouldHandleStat === undefined ? true : _ref$shouldHandleStat, - _ref$storeKey = _ref.storeKey, - storeKey = _ref$storeKey === undefined ? 'store' : _ref$storeKey, - _ref$withRef = _ref.withRef, - withRef = _ref$withRef === undefined ? false : _ref$withRef, - connectOptions = _objectWithoutProperties(_ref, ['getDisplayName', 'methodName', 'renderCountProp', 'shouldHandleStateChanges', 'storeKey', 'withRef']); - - var subscriptionKey = storeKey + 'Subscription'; - var version = hotReloadingVersion++; - - var contextTypes = (_contextTypes = {}, _contextTypes[storeKey] = _PropTypes.storeShape, _contextTypes[subscriptionKey] = _PropTypes.subscriptionShape, _contextTypes); - var childContextTypes = (_childContextTypes = {}, _childContextTypes[subscriptionKey] = _PropTypes.subscriptionShape, _childContextTypes); - - return function wrapWithConnect(WrappedComponent) { - (0, _invariant2.default)(typeof WrappedComponent == 'function', 'You must pass a component to the function returned by ' + ('connect. Instead received ' + JSON.stringify(WrappedComponent))); - - var wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component'; - - var displayName = getDisplayName(wrappedComponentName); - - var selectorFactoryOptions = _extends({}, connectOptions, { - getDisplayName: getDisplayName, - methodName: methodName, - renderCountProp: renderCountProp, - shouldHandleStateChanges: shouldHandleStateChanges, - storeKey: storeKey, - withRef: withRef, - displayName: displayName, - wrappedComponentName: wrappedComponentName, - WrappedComponent: WrappedComponent - }); - - var Connect = function (_Component) { - _inherits(Connect, _Component); - - function Connect(props, context) { - _classCallCheck(this, Connect); - - var _this = _possibleConstructorReturn(this, _Component.call(this, props, context)); - - _this.version = version; - _this.state = {}; - _this.renderCount = 0; - _this.store = props[storeKey] || context[storeKey]; - _this.propsMode = Boolean(props[storeKey]); - _this.setWrappedInstance = _this.setWrappedInstance.bind(_this); - - (0, _invariant2.default)(_this.store, 'Could not find "' + storeKey + '" in either the context or props of ' + ('"' + displayName + '". Either wrap the root component in a <Provider>, ') + ('or explicitly pass "' + storeKey + '" as a prop to "' + displayName + '".')); - - _this.initSelector(); - _this.initSubscription(); - return _this; - } - - Connect.prototype.getChildContext = function getChildContext() { - var _ref2; - - // If this component received store from props, its subscription should be transparent - // to any descendants receiving store+subscription from context; it passes along - // subscription passed to it. Otherwise, it shadows the parent subscription, which allows - // Connect to control ordering of notifications to flow top-down. - var subscription = this.propsMode ? null : this.subscription; - return _ref2 = {}, _ref2[subscriptionKey] = subscription || this.context[subscriptionKey], _ref2; - }; - - Connect.prototype.componentDidMount = function componentDidMount() { - if (!shouldHandleStateChanges) return; - - // componentWillMount fires during server side rendering, but componentDidMount and - // componentWillUnmount do not. Because of this, trySubscribe happens during ...didMount. - // Otherwise, unsubscription would never take place during SSR, causing a memory leak. - // To handle the case where a child component may have triggered a state change by - // dispatching an action in its componentWillMount, we have to re-run the select and maybe - // re-render. - this.subscription.trySubscribe(); - this.selector.run(this.props); - if (this.selector.shouldComponentUpdate) this.forceUpdate(); - }; - - Connect.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) { - this.selector.run(nextProps); - }; - - Connect.prototype.shouldComponentUpdate = function shouldComponentUpdate() { - return this.selector.shouldComponentUpdate; - }; - - Connect.prototype.componentWillUnmount = function componentWillUnmount() { - if (this.subscription) this.subscription.tryUnsubscribe(); - this.subscription = null; - this.notifyNestedSubs = noop; - this.store = null; - this.selector.run = noop; - this.selector.shouldComponentUpdate = false; - }; - - Connect.prototype.getWrappedInstance = function getWrappedInstance() { - (0, _invariant2.default)(withRef, 'To access the wrapped instance, you need to specify ' + ('{ withRef: true } in the options argument of the ' + methodName + '() call.')); - return this.wrappedInstance; - }; - - Connect.prototype.setWrappedInstance = function setWrappedInstance(ref) { - this.wrappedInstance = ref; - }; - - Connect.prototype.initSelector = function initSelector() { - var sourceSelector = selectorFactory(this.store.dispatch, selectorFactoryOptions); - this.selector = makeSelectorStateful(sourceSelector, this.store); - this.selector.run(this.props); - }; - - Connect.prototype.initSubscription = function initSubscription() { - if (!shouldHandleStateChanges) return; - - // parentSub's source should match where store came from: props vs. context. A component - // connected to the store via props shouldn't use subscription from context, or vice versa. - var parentSub = (this.propsMode ? this.props : this.context)[subscriptionKey]; - this.subscription = new _Subscription2.default(this.store, parentSub, this.onStateChange.bind(this)); - - // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in - // the middle of the notification loop, where `this.subscription` will then be null. An - // extra null check every change can be avoided by copying the method onto `this` and then - // replacing it with a no-op on unmount. This can probably be avoided if Subscription's - // listeners logic is changed to not call listeners that have been unsubscribed in the - // middle of the notification loop. - this.notifyNestedSubs = this.subscription.notifyNestedSubs.bind(this.subscription); - }; - - Connect.prototype.onStateChange = function onStateChange() { - this.selector.run(this.props); - - if (!this.selector.shouldComponentUpdate) { - this.notifyNestedSubs(); - } else { - this.componentDidUpdate = this.notifyNestedSubsOnComponentDidUpdate; - this.setState(dummyState); - } - }; - - Connect.prototype.notifyNestedSubsOnComponentDidUpdate = function notifyNestedSubsOnComponentDidUpdate() { - // `componentDidUpdate` is conditionally implemented when `onStateChange` determines it - // needs to notify nested subs. Once called, it unimplements itself until further state - // changes occur. Doing it this way vs having a permanent `componentDidMount` that does - // a boolean check every time avoids an extra method call most of the time, resulting - // in some perf boost. - this.componentDidUpdate = undefined; - this.notifyNestedSubs(); - }; - - Connect.prototype.isSubscribed = function isSubscribed() { - return Boolean(this.subscription) && this.subscription.isSubscribed(); - }; - - Connect.prototype.addExtraProps = function addExtraProps(props) { - if (!withRef && !renderCountProp && !(this.propsMode && this.subscription)) return props; - // make a shallow copy so that fields added don't leak to the original selector. - // this is especially important for 'ref' since that's a reference back to the component - // instance. a singleton memoized selector would then be holding a reference to the - // instance, preventing the instance from being garbage collected, and that would be bad - var withExtras = _extends({}, props); - if (withRef) withExtras.ref = this.setWrappedInstance; - if (renderCountProp) withExtras[renderCountProp] = this.renderCount++; - if (this.propsMode && this.subscription) withExtras[subscriptionKey] = this.subscription; - return withExtras; - }; - - Connect.prototype.render = function render() { - var selector = this.selector; - selector.shouldComponentUpdate = false; - - if (selector.error) { - throw selector.error; - } else { - return (0, _react.createElement)(WrappedComponent, this.addExtraProps(selector.props)); - } - }; - - return Connect; - }(_react.Component); - - Connect.WrappedComponent = WrappedComponent; - Connect.displayName = displayName; - Connect.childContextTypes = childContextTypes; - Connect.contextTypes = contextTypes; - Connect.propTypes = contextTypes; - - if (process.env.NODE_ENV !== 'production') { - Connect.prototype.componentWillUpdate = function componentWillUpdate() { - // We are hot reloading! - if (this.version !== version) { - this.version = version; - this.initSelector(); - - if (this.subscription) this.subscription.tryUnsubscribe(); - this.initSubscription(); - if (shouldHandleStateChanges) this.subscription.trySubscribe(); - } - }; - } - - return (0, _hoistNonReactStatics2.default)(Connect, WrappedComponent); - }; -} -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 229 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.wrapMapToPropsConstant = wrapMapToPropsConstant; -exports.getDependsOnOwnProps = getDependsOnOwnProps; -exports.wrapMapToPropsFunc = wrapMapToPropsFunc; - -var _verifyPlainObject = __webpack_require__(231); - -var _verifyPlainObject2 = _interopRequireDefault(_verifyPlainObject); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function wrapMapToPropsConstant(getConstant) { - return function initConstantSelector(dispatch, options) { - var constant = getConstant(dispatch, options); - - function constantSelector() { - return constant; - } - constantSelector.dependsOnOwnProps = false; - return constantSelector; - }; -} - -// dependsOnOwnProps is used by createMapToPropsProxy to determine whether to pass props as args -// to the mapToProps function being wrapped. It is also used by makePurePropsSelector to determine -// whether mapToProps needs to be invoked when props have changed. -// -// A length of one signals that mapToProps does not depend on props from the parent component. -// A length of zero is assumed to mean mapToProps is getting args via arguments or ...args and -// therefore not reporting its length accurately.. -function getDependsOnOwnProps(mapToProps) { - return mapToProps.dependsOnOwnProps !== null && mapToProps.dependsOnOwnProps !== undefined ? Boolean(mapToProps.dependsOnOwnProps) : mapToProps.length !== 1; -} - -// Used by whenMapStateToPropsIsFunction and whenMapDispatchToPropsIsFunction, -// this function wraps mapToProps in a proxy function which does several things: -// -// * Detects whether the mapToProps function being called depends on props, which -// is used by selectorFactory to decide if it should reinvoke on props changes. -// -// * On first call, handles mapToProps if returns another function, and treats that -// new function as the true mapToProps for subsequent calls. -// -// * On first call, verifies the first result is a plain object, in order to warn -// the developer that their mapToProps function is not returning a valid result. -// -function wrapMapToPropsFunc(mapToProps, methodName) { - return function initProxySelector(dispatch, _ref) { - var displayName = _ref.displayName; - - var proxy = function mapToPropsProxy(stateOrDispatch, ownProps) { - return proxy.dependsOnOwnProps ? proxy.mapToProps(stateOrDispatch, ownProps) : proxy.mapToProps(stateOrDispatch); - }; - - // allow detectFactoryAndVerify to get ownProps - proxy.dependsOnOwnProps = true; - - proxy.mapToProps = function detectFactoryAndVerify(stateOrDispatch, ownProps) { - proxy.mapToProps = mapToProps; - proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps); - var props = proxy(stateOrDispatch, ownProps); - - if (typeof props === 'function') { - proxy.mapToProps = props; - proxy.dependsOnOwnProps = getDependsOnOwnProps(props); - props = proxy(stateOrDispatch, ownProps); - } - - if (process.env.NODE_ENV !== 'production') (0, _verifyPlainObject2.default)(props, displayName, methodName); - - return props; - }; - - return proxy; - }; -} -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 230 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.storeShape = exports.subscriptionShape = undefined; - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var subscriptionShape = exports.subscriptionShape = _propTypes2.default.shape({ - trySubscribe: _propTypes2.default.func.isRequired, - tryUnsubscribe: _propTypes2.default.func.isRequired, - notifyNestedSubs: _propTypes2.default.func.isRequired, - isSubscribed: _propTypes2.default.func.isRequired -}); - -var storeShape = exports.storeShape = _propTypes2.default.shape({ - subscribe: _propTypes2.default.func.isRequired, - dispatch: _propTypes2.default.func.isRequired, - getState: _propTypes2.default.func.isRequired -}); - -/***/ }), -/* 231 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = verifyPlainObject; - -var _isPlainObject = __webpack_require__(119); - -var _isPlainObject2 = _interopRequireDefault(_isPlainObject); - -var _warning = __webpack_require__(143); - -var _warning2 = _interopRequireDefault(_warning); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function verifyPlainObject(value, displayName, methodName) { - if (!(0, _isPlainObject2.default)(value)) { - (0, _warning2.default)(methodName + '() in ' + displayName + ' must return a plain object. Instead received ' + value + '.'); - } -} - -/***/ }), -/* 232 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _createReactClass = __webpack_require__(31); - -var _createReactClass2 = _interopRequireDefault(_createReactClass); - -var _propTypes = __webpack_require__(7); - -var _invariant = __webpack_require__(17); - -var _invariant2 = _interopRequireDefault(_invariant); - -var _PropTypes = __webpack_require__(146); - -var _ContextUtils = __webpack_require__(145); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: 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; -}; - -function _objectWithoutProperties(obj, keys) { - var target = {};for (var i in obj) { - if (keys.indexOf(i) >= 0) continue;if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;target[i] = obj[i]; - }return target; -} - -function isLeftClickEvent(event) { - return event.button === 0; -} - -function isModifiedEvent(event) { - return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey); -} - -// TODO: De-duplicate against hasAnyProperties in createTransitionManager. -function isEmptyObject(object) { - for (var p in object) { - if (Object.prototype.hasOwnProperty.call(object, p)) return false; - }return true; -} - -function resolveToLocation(to, router) { - return typeof to === 'function' ? to(router.location) : to; -} - -/** - * A <Link> is used to create an <a> element that links to a route. - * When that route is active, the link gets the value of its - * activeClassName prop. - * - * For example, assuming you have the following route: - * - * <Route path="/posts/:postID" component={Post} /> - * - * You could use the following component to link to that route: - * - * <Link to={`/posts/${post.id}`} /> - */ -var Link = (0, _createReactClass2.default)({ - displayName: 'Link', - - mixins: [(0, _ContextUtils.ContextSubscriber)('router')], - - contextTypes: { - router: _PropTypes.routerShape - }, - - propTypes: { - to: (0, _propTypes.oneOfType)([_propTypes.string, _propTypes.object, _propTypes.func]), - activeStyle: _propTypes.object, - activeClassName: _propTypes.string, - onlyActiveOnIndex: _propTypes.bool.isRequired, - onClick: _propTypes.func, - target: _propTypes.string - }, - - getDefaultProps: function getDefaultProps() { - return { - onlyActiveOnIndex: false, - style: {} - }; - }, - handleClick: function handleClick(event) { - if (this.props.onClick) this.props.onClick(event); - - if (event.defaultPrevented) return; - - var router = this.context.router; - - !router ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, '<Link>s rendered outside of a router context cannot navigate.') : (0, _invariant2.default)(false) : void 0; - - if (isModifiedEvent(event) || !isLeftClickEvent(event)) return; - - // If target prop is set (e.g. to "_blank"), let browser handle link. - /* istanbul ignore if: untestable with Karma */ - if (this.props.target) return; - - event.preventDefault(); - - router.push(resolveToLocation(this.props.to, router)); - }, - render: function render() { - var _props = this.props, - to = _props.to, - activeClassName = _props.activeClassName, - activeStyle = _props.activeStyle, - onlyActiveOnIndex = _props.onlyActiveOnIndex, - props = _objectWithoutProperties(_props, ['to', 'activeClassName', 'activeStyle', 'onlyActiveOnIndex']); - - // Ignore if rendered outside the context of router to simplify unit testing. - - - var router = this.context.router; - - if (router) { - // If user does not specify a `to` prop, return an empty anchor tag. - if (!to) { - return _react2.default.createElement('a', props); - } - - var toLocation = resolveToLocation(to, router); - props.href = router.createHref(toLocation); - - if (activeClassName || activeStyle != null && !isEmptyObject(activeStyle)) { - if (router.isActive(toLocation, onlyActiveOnIndex)) { - if (activeClassName) { - if (props.className) { - props.className += ' ' + activeClassName; - } else { - props.className = activeClassName; - } - } - - if (activeStyle) props.style = _extends({}, props.style, activeStyle); - } - } - } - - return _react2.default.createElement('a', _extends({}, props, { onClick: this.handleClick })); - } -}); - -exports.default = Link; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 233 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.isPromise = isPromise; -function isPromise(obj) { - return obj && typeof obj.then === 'function'; -} - -/***/ }), -/* 234 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createReactClass = __webpack_require__(31); - -var _createReactClass2 = _interopRequireDefault(_createReactClass); - -var _propTypes = __webpack_require__(7); - -var _invariant = __webpack_require__(17); - -var _invariant2 = _interopRequireDefault(_invariant); - -var _RouteUtils = __webpack_require__(40); - -var _PatternUtils = __webpack_require__(59); - -var _InternalPropTypes = __webpack_require__(73); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * A <Redirect> is used to declare another URL path a client should - * be sent to when they request a given URL. - * - * Redirects are placed alongside routes in the route configuration - * and are traversed in the same manner. - */ -/* eslint-disable react/require-render-return */ -var Redirect = (0, _createReactClass2.default)({ - displayName: 'Redirect', - - statics: { - createRouteFromReactElement: function createRouteFromReactElement(element) { - var route = (0, _RouteUtils.createRouteFromReactElement)(element); - - if (route.from) route.path = route.from; - - route.onEnter = function (nextState, replace) { - var location = nextState.location, - params = nextState.params; - - var pathname = void 0; - if (route.to.charAt(0) === '/') { - pathname = (0, _PatternUtils.formatPattern)(route.to, params); - } else if (!route.to) { - pathname = location.pathname; - } else { - var routeIndex = nextState.routes.indexOf(route); - var parentPattern = Redirect.getRoutePattern(nextState.routes, routeIndex - 1); - var pattern = parentPattern.replace(/\/*$/, '/') + route.to; - pathname = (0, _PatternUtils.formatPattern)(pattern, params); - } - - replace({ - pathname: pathname, - query: route.query || location.query, - state: route.state || location.state - }); - }; - - return route; - }, - getRoutePattern: function getRoutePattern(routes, routeIndex) { - var parentPattern = ''; - - for (var i = routeIndex; i >= 0; i--) { - var route = routes[i]; - var pattern = route.path || ''; - - parentPattern = pattern.replace(/\/*$/, '/') + parentPattern; - - if (pattern.indexOf('/') === 0) break; - } - - return '/' + parentPattern; - } - }, - - propTypes: { - path: _propTypes.string, - from: _propTypes.string, // Alias for path - to: _propTypes.string.isRequired, - query: _propTypes.object, - state: _propTypes.object, - onEnter: _InternalPropTypes.falsy, - children: _InternalPropTypes.falsy - }, - - /* istanbul ignore next: sanity check */ - render: function render() { - true ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, '<Redirect> elements are for router configuration only and should not be rendered') : (0, _invariant2.default)(false) : void 0; - } -}); - -exports.default = Redirect; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 235 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.createRouterObject = createRouterObject; -exports.assignRouterState = assignRouterState; -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; -}; - -function createRouterObject(history, transitionManager, state) { - var router = _extends({}, history, { - setRouteLeaveHook: transitionManager.listenBeforeLeavingRoute, - isActive: transitionManager.isActive - }); - - return assignRouterState(router, state); -} - -function assignRouterState(router, _ref) { - var location = _ref.location, - params = _ref.params, - routes = _ref.routes; - - router.location = location; - router.params = params; - router.routes = routes; - - return router; -} - -/***/ }), -/* 236 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = createMemoryHistory; - -var _useQueries = __webpack_require__(177); - -var _useQueries2 = _interopRequireDefault(_useQueries); - -var _useBasename = __webpack_require__(176); - -var _useBasename2 = _interopRequireDefault(_useBasename); - -var _createMemoryHistory = __webpack_require__(338); - -var _createMemoryHistory2 = _interopRequireDefault(_createMemoryHistory); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function createMemoryHistory(options) { - // signatures and type checking differ between `useQueries` and - // `createMemoryHistory`, have to create `memoryHistory` first because - // `useQueries` doesn't understand the signature - var memoryHistory = (0, _createMemoryHistory2.default)(options); - var createHistory = function createHistory() { - return memoryHistory; - }; - var history = (0, _useQueries2.default)((0, _useBasename2.default)(createHistory))(options); - return history; -} - -/***/ }), -/* 237 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = createRouterHistory; - -var _useRouterHistory = __webpack_require__(239); - -var _useRouterHistory2 = _interopRequireDefault(_useRouterHistory); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement); - -function createRouterHistory(createHistory) { - var history = void 0; - if (canUseDOM) history = (0, _useRouterHistory2.default)(createHistory)(); - return history; -} - -/***/ }), -/* 238 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = createTransitionManager; - -var _routerWarning = __webpack_require__(60); - -var _routerWarning2 = _interopRequireDefault(_routerWarning); - -var _computeChangedRoutes2 = __webpack_require__(507); - -var _computeChangedRoutes3 = _interopRequireDefault(_computeChangedRoutes2); - -var _TransitionUtils = __webpack_require__(504); - -var _TransitionUtils2 = _interopRequireDefault(_TransitionUtils); - -var _isActive2 = __webpack_require__(511); - -var _isActive3 = _interopRequireDefault(_isActive2); - -var _getComponents = __webpack_require__(508); - -var _getComponents2 = _interopRequireDefault(_getComponents); - -var _matchRoutes = __webpack_require__(513); - -var _matchRoutes2 = _interopRequireDefault(_matchRoutes); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: 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; -}; - -function hasAnyProperties(object) { - for (var p in object) { - if (Object.prototype.hasOwnProperty.call(object, p)) return true; - }return false; -} - -function createTransitionManager(history, routes) { - var state = {}; - - var _getTransitionUtils = (0, _TransitionUtils2.default)(), - runEnterHooks = _getTransitionUtils.runEnterHooks, - runChangeHooks = _getTransitionUtils.runChangeHooks, - runLeaveHooks = _getTransitionUtils.runLeaveHooks; - - // Signature should be (location, indexOnly), but needs to support (path, - // query, indexOnly) - - - function isActive(location, indexOnly) { - location = history.createLocation(location); - - return (0, _isActive3.default)(location, indexOnly, state.location, state.routes, state.params); - } - - var partialNextState = void 0; - - function match(location, callback) { - if (partialNextState && partialNextState.location === location) { - // Continue from where we left off. - finishMatch(partialNextState, callback); - } else { - (0, _matchRoutes2.default)(routes, location, function (error, nextState) { - if (error) { - callback(error); - } else if (nextState) { - finishMatch(_extends({}, nextState, { location: location }), callback); - } else { - callback(); - } - }); - } - } - - function finishMatch(nextState, callback) { - var _computeChangedRoutes = (0, _computeChangedRoutes3.default)(state, nextState), - leaveRoutes = _computeChangedRoutes.leaveRoutes, - changeRoutes = _computeChangedRoutes.changeRoutes, - enterRoutes = _computeChangedRoutes.enterRoutes; - - runLeaveHooks(leaveRoutes, state); - - // Tear down confirmation hooks for left routes - leaveRoutes.filter(function (route) { - return enterRoutes.indexOf(route) === -1; - }).forEach(removeListenBeforeHooksForRoute); - - // change and enter hooks are run in series - runChangeHooks(changeRoutes, state, nextState, function (error, redirectInfo) { - if (error || redirectInfo) return handleErrorOrRedirect(error, redirectInfo); - - runEnterHooks(enterRoutes, nextState, finishEnterHooks); - }); - - function finishEnterHooks(error, redirectInfo) { - if (error || redirectInfo) return handleErrorOrRedirect(error, redirectInfo); - - // TODO: Fetch components after state is updated. - (0, _getComponents2.default)(nextState, function (error, components) { - if (error) { - callback(error); - } else { - // TODO: Make match a pure function and have some other API - // for "match and update state". - callback(null, null, state = _extends({}, nextState, { components: components })); - } - }); - } - - function handleErrorOrRedirect(error, redirectInfo) { - if (error) callback(error);else callback(null, redirectInfo); - } - } - - var RouteGuid = 1; - - function getRouteID(route) { - var create = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - - return route.__id__ || create && (route.__id__ = RouteGuid++); - } - - var RouteHooks = Object.create(null); - - function getRouteHooksForRoutes(routes) { - return routes.map(function (route) { - return RouteHooks[getRouteID(route)]; - }).filter(function (hook) { - return hook; - }); - } - - function transitionHook(location, callback) { - (0, _matchRoutes2.default)(routes, location, function (error, nextState) { - if (nextState == null) { - // TODO: We didn't actually match anything, but hang - // onto error/nextState so we don't have to matchRoutes - // again in the listen callback. - callback(); - return; - } - - // Cache some state here so we don't have to - // matchRoutes() again in the listen callback. - partialNextState = _extends({}, nextState, { location: location }); - - var hooks = getRouteHooksForRoutes((0, _computeChangedRoutes3.default)(state, partialNextState).leaveRoutes); - - var result = void 0; - for (var i = 0, len = hooks.length; result == null && i < len; ++i) { - // Passing the location arg here indicates to - // the user that this is a transition hook. - result = hooks[i](location); - } - - callback(result); - }); - } - - /* istanbul ignore next: untestable with Karma */ - function beforeUnloadHook() { - // Synchronously check to see if any route hooks want - // to prevent the current window/tab from closing. - if (state.routes) { - var hooks = getRouteHooksForRoutes(state.routes); - - var message = void 0; - for (var i = 0, len = hooks.length; typeof message !== 'string' && i < len; ++i) { - // Passing no args indicates to the user that this is a - // beforeunload hook. We don't know the next location. - message = hooks[i](); - } - - return message; - } - } - - var unlistenBefore = void 0, - unlistenBeforeUnload = void 0; - - function removeListenBeforeHooksForRoute(route) { - var routeID = getRouteID(route); - if (!routeID) { - return; - } - - delete RouteHooks[routeID]; - - if (!hasAnyProperties(RouteHooks)) { - // teardown transition & beforeunload hooks - if (unlistenBefore) { - unlistenBefore(); - unlistenBefore = null; - } - - if (unlistenBeforeUnload) { - unlistenBeforeUnload(); - unlistenBeforeUnload = null; - } - } - } - - /** - * Registers the given hook function to run before leaving the given route. - * - * During a normal transition, the hook function receives the next location - * as its only argument and can return either a prompt message (string) to show the user, - * to make sure they want to leave the page; or `false`, to prevent the transition. - * Any other return value will have no effect. - * - * During the beforeunload event (in browsers) the hook receives no arguments. - * In this case it must return a prompt message to prevent the transition. - * - * Returns a function that may be used to unbind the listener. - */ - function listenBeforeLeavingRoute(route, hook) { - var thereWereNoRouteHooks = !hasAnyProperties(RouteHooks); - var routeID = getRouteID(route, true); - - RouteHooks[routeID] = hook; - - if (thereWereNoRouteHooks) { - // setup transition & beforeunload hooks - unlistenBefore = history.listenBefore(transitionHook); - - if (history.listenBeforeUnload) unlistenBeforeUnload = history.listenBeforeUnload(beforeUnloadHook); - } - - return function () { - removeListenBeforeHooksForRoute(route); - }; - } - - /** - * This is the API for stateful environments. As the location - * changes, we update state and call the listener. We can also - * gracefully handle errors and redirects. - */ - function listen(listener) { - function historyListener(location) { - if (state.location === location) { - listener(null, state); - } else { - match(location, function (error, redirectLocation, nextState) { - if (error) { - listener(error); - } else if (redirectLocation) { - history.replace(redirectLocation); - } else if (nextState) { - listener(null, nextState); - } else { - process.env.NODE_ENV !== 'production' ? (0, _routerWarning2.default)(false, 'Location "%s" did not match any routes', location.pathname + location.search + location.hash) : void 0; - } - }); - } - } - - // TODO: Only use a single history listener. Otherwise we'll end up with - // multiple concurrent calls to match. - - // Set up the history listener first in case the initial match redirects. - var unsubscribe = history.listen(historyListener); - - if (state.location) { - // Picking up on a matchContext. - listener(null, state); - } else { - historyListener(history.getCurrentLocation()); - } - - return unsubscribe; - } - - return { - isActive: isActive, - match: match, - listenBeforeLeavingRoute: listenBeforeLeavingRoute, - listen: listen - }; -} -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 239 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = useRouterHistory; - -var _useQueries = __webpack_require__(177); - -var _useQueries2 = _interopRequireDefault(_useQueries); - -var _useBasename = __webpack_require__(176); - -var _useBasename2 = _interopRequireDefault(_useBasename); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function useRouterHistory(createHistory) { - return function (options) { - var history = (0, _useQueries2.default)((0, _useBasename2.default)(createHistory))(options); - return history; - }; -} - -/***/ }), -/* 240 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - * - */ - - - -// The Symbol used to tag the ReactElement type. If there is no native Symbol -// nor polyfill, then a plain number is used for performance. - -var REACT_ELEMENT_TYPE = typeof Symbol === 'function' && Symbol['for'] && Symbol['for']('react.element') || 0xeac7; - -module.exports = REACT_ELEMENT_TYPE; - -/***/ }), -/* 241 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - -/** - * ReactElementValidator provides a wrapper around a element factory - * which validates the props passed to the element. This is intended to be - * used only in DEV and could be replaced by a static type checker for languages - * that support it. - */ - - - -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 ReactCurrentOwner = __webpack_require__(30); -var ReactComponentTreeHook = __webpack_require__(23); -var ReactElement = __webpack_require__(45); - -var checkReactTypeSpec = __webpack_require__(524); - -var canDefineProperty = __webpack_require__(93); -var getIteratorFn = __webpack_require__(243); -var warning = __webpack_require__(11); - -function getDeclarationErrorAddendum() { - if (ReactCurrentOwner.current) { - var name = ReactCurrentOwner.current.getName(); - if (name) { - return ' Check the render method of `' + name + '`.'; - } - } - return ''; -} - -function getSourceInfoErrorAddendum(elementProps) { - if (elementProps !== null && elementProps !== undefined && elementProps.__source !== undefined) { - var source = elementProps.__source; - var fileName = source.fileName.replace(/^.*[\\\/]/, ''); - var lineNumber = source.lineNumber; - return ' Check your code at ' + fileName + ':' + lineNumber + '.'; - } - return ''; -} - -/** - * Warn if there's no key explicitly set on dynamic arrays of children or - * object keys are not valid. This allows us to keep track of children between - * updates. - */ -var ownerHasKeyUseWarning = {}; - -function getCurrentComponentErrorInfo(parentType) { - var info = getDeclarationErrorAddendum(); - - if (!info) { - var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name; - if (parentName) { - info = ' Check the top-level render call using <' + parentName + '>.'; - } - } - return info; -} - -/** - * Warn if the element doesn't have an explicit key assigned to it. - * This element is in an array. The array could grow and shrink or be - * reordered. All children that haven't already been validated are required to - * have a "key" property assigned to it. Error statuses are cached so a warning - * will only be shown once. - * - * @internal - * @param {ReactElement} element Element that requires a key. - * @param {*} parentType element's parent's type. - */ -function validateExplicitKey(element, parentType) { - if (!element._store || element._store.validated || element.key != null) { - return; - } - element._store.validated = true; - - var memoizer = ownerHasKeyUseWarning.uniqueKey || (ownerHasKeyUseWarning.uniqueKey = {}); - - var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType); - if (memoizer[currentComponentErrorInfo]) { - return; - } - memoizer[currentComponentErrorInfo] = true; - - // Usually the current owner is the offender, but if it accepts children as a - // property, it may be the creator of the child that's responsible for - // assigning it a key. - var childOwner = ''; - if (element && element._owner && element._owner !== ReactCurrentOwner.current) { - // Give the component that originally created this child. - childOwner = ' It was passed a child from ' + element._owner.getName() + '.'; - } - - process.env.NODE_ENV !== 'production' ? warning(false, 'Each child in an array or iterator should have a unique "key" prop.' + '%s%s See https://fb.me/react-warning-keys for more information.%s', currentComponentErrorInfo, childOwner, ReactComponentTreeHook.getCurrentStackAddendum(element)) : void 0; -} - -/** - * Ensure that every element either is passed in a static location, in an - * array with an explicit keys property defined, or in an object literal - * with valid key property. - * - * @internal - * @param {ReactNode} node Statically passed child of any type. - * @param {*} parentType node's parent's type. - */ -function validateChildKeys(node, parentType) { - if ((typeof node === 'undefined' ? 'undefined' : _typeof(node)) !== 'object') { - return; - } - if (Array.isArray(node)) { - for (var i = 0; i < node.length; i++) { - var child = node[i]; - if (ReactElement.isValidElement(child)) { - validateExplicitKey(child, parentType); - } - } - } else if (ReactElement.isValidElement(node)) { - // This element was passed in a valid location. - if (node._store) { - node._store.validated = true; - } - } else if (node) { - var iteratorFn = getIteratorFn(node); - // Entry iterators provide implicit keys. - if (iteratorFn) { - if (iteratorFn !== node.entries) { - var iterator = iteratorFn.call(node); - var step; - while (!(step = iterator.next()).done) { - if (ReactElement.isValidElement(step.value)) { - validateExplicitKey(step.value, parentType); - } - } - } - } - } -} - -/** - * Given an element, validate that its props follow the propTypes definition, - * provided by the type. - * - * @param {ReactElement} element - */ -function validatePropTypes(element) { - var componentClass = element.type; - if (typeof componentClass !== 'function') { - return; - } - var name = componentClass.displayName || componentClass.name; - if (componentClass.propTypes) { - checkReactTypeSpec(componentClass.propTypes, element.props, 'prop', name, element, null); - } - if (typeof componentClass.getDefaultProps === 'function') { - process.env.NODE_ENV !== 'production' ? warning(componentClass.getDefaultProps.isReactClassApproved, 'getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.') : void 0; - } -} - -var ReactElementValidator = { - - createElement: function createElement(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 - // succeed and there will likely be errors in render. - if (!validType) { - if (typeof type !== 'function' && typeof type !== 'string') { - var info = ''; - if (type === undefined || (typeof type === 'undefined' ? '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.'; - } - - var sourceInfo = getSourceInfoErrorAddendum(props); - if (sourceInfo) { - info += sourceInfo; - } else { - info += getDeclarationErrorAddendum(); - } - - info += ReactComponentTreeHook.getCurrentStackAddendum(); - - 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 === 'undefined' ? 'undefined' : _typeof(type), info) : void 0; - } - } - - var element = ReactElement.createElement.apply(this, arguments); - - // The result can be nullish if a mock or a custom function is used. - // TODO: Drop this when these are no longer allowed as the type argument. - if (element == null) { - return element; - } - - // Skip key warning if the type isn't valid since our key validation logic - // doesn't expect a non-string/function type and can throw confusing errors. - // We don't want exception behavior to differ between dev and prod. - // (Rendering will throw with a helpful message and as soon as the type is - // fixed, the key warnings will appear.) - if (validType) { - for (var i = 2; i < arguments.length; i++) { - validateChildKeys(arguments[i], type); - } - } - - validatePropTypes(element); - - return element; - }, - - createFactory: function createFactory(type) { - var validatedFactory = ReactElementValidator.createElement.bind(null, type); - // Legacy hook TODO: Warn if this is accessed - validatedFactory.type = type; - - if (process.env.NODE_ENV !== 'production') { - if (canDefineProperty) { - Object.defineProperty(validatedFactory, 'type', { - enumerable: false, - get: function get() { - process.env.NODE_ENV !== 'production' ? warning(false, 'Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.') : void 0; - Object.defineProperty(this, 'type', { - value: type - }); - return type; - } - }); - } - } - - return validatedFactory; - }, - - cloneElement: function cloneElement(element, props, children) { - var newElement = ReactElement.cloneElement.apply(this, arguments); - for (var i = 2; i < arguments.length; i++) { - validateChildKeys(arguments[i], newElement.type); - } - validatePropTypes(newElement); - return newElement; - } - -}; - -module.exports = ReactElementValidator; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 242 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - * - */ - - - -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__(0))) - -/***/ }), -/* 243 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - * - */ - - - -/* global Symbol */ - -var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator; -var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec. - -/** - * Returns the iterator method function contained on the iterable object. - * - * Be sure to invoke the function with the iterable as context: - * - * var iteratorFn = getIteratorFn(myIterable); - * if (iteratorFn) { - * var iterator = iteratorFn.call(myIterable); - * ... - * } - * - * @param {?object} maybeIterable - * @return {?function} - */ -function getIteratorFn(maybeIterable) { - var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]); - if (typeof iteratorFn === 'function') { - return iteratorFn; - } -} - -module.exports = getIteratorFn; - -/***/ }), -/* 244 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = compose; -/** - * Composes single-argument functions from right to left. The rightmost - * function can take multiple arguments as it provides the signature for - * the resulting composite function. - * - * @param {...Function} funcs The functions to compose. - * @returns {Function} A function obtained by composing the argument functions - * from right to left. For example, compose(f, g, h) is identical to doing - * (...args) => f(g(h(...args))). - */ - -function compose() { - for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) { - funcs[_key] = arguments[_key]; - } - - if (funcs.length === 0) { - return function (arg) { - return arg; - }; - } - - if (funcs.length === 1) { - return funcs[0]; - } - - var last = funcs[funcs.length - 1]; - var rest = funcs.slice(0, -1); - return function () { - return rest.reduceRight(function (composed, f) { - return f(composed); - }, last.apply(undefined, arguments)); - }; -} - -/***/ }), -/* 245 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.ActionTypes = undefined; - -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; }; - -exports.default = createStore; - -var _isPlainObject = __webpack_require__(119); - -var _isPlainObject2 = _interopRequireDefault(_isPlainObject); - -var _symbolObservable = __webpack_require__(532); - -var _symbolObservable2 = _interopRequireDefault(_symbolObservable); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * These are private action types reserved by Redux. - * For any unknown actions, you must return the current state. - * If the current state is undefined, you must return the initial state. - * Do not reference these action types directly in your code. - */ -var ActionTypes = exports.ActionTypes = { - INIT: '@@redux/INIT' -}; - -/** - * Creates a Redux store that holds the state tree. - * The only way to change the data in the store is to call `dispatch()` on it. - * - * There should only be a single store in your app. To specify how different - * parts of the state tree respond to actions, you may combine several reducers - * into a single reducer function by using `combineReducers`. - * - * @param {Function} reducer A function that returns the next state tree, given - * the current state tree and the action to handle. - * - * @param {any} [preloadedState] The initial state. You may optionally specify it - * to hydrate the state from the server in universal apps, or to restore a - * previously serialized user session. - * If you use `combineReducers` to produce the root reducer function, this must be - * an object with the same shape as `combineReducers` keys. - * - * @param {Function} enhancer The store enhancer. You may optionally specify it - * to enhance the store with third-party capabilities such as middleware, - * time travel, persistence, etc. The only store enhancer that ships with Redux - * is `applyMiddleware()`. - * - * @returns {Store} A Redux store that lets you read the state, dispatch actions - * and subscribe to changes. - */ -function createStore(reducer, preloadedState, enhancer) { - var _ref2; - - if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') { - enhancer = preloadedState; - preloadedState = undefined; - } - - if (typeof enhancer !== 'undefined') { - if (typeof enhancer !== 'function') { - throw new Error('Expected the enhancer to be a function.'); - } - - return enhancer(createStore)(reducer, preloadedState); - } - - if (typeof reducer !== 'function') { - throw new Error('Expected the reducer to be a function.'); - } - - var currentReducer = reducer; - var currentState = preloadedState; - var currentListeners = []; - var nextListeners = currentListeners; - var isDispatching = false; - - function ensureCanMutateNextListeners() { - if (nextListeners === currentListeners) { - nextListeners = currentListeners.slice(); - } - } - - /** - * Reads the state tree managed by the store. - * - * @returns {any} The current state tree of your application. - */ - function getState() { - return currentState; - } - - /** - * Adds a change listener. It will be called any time an action is dispatched, - * and some part of the state tree may potentially have changed. You may then - * call `getState()` to read the current state tree inside the callback. - * - * You may call `dispatch()` from a change listener, with the following - * caveats: - * - * 1. The subscriptions are snapshotted just before every `dispatch()` call. - * If you subscribe or unsubscribe while the listeners are being invoked, this - * will not have any effect on the `dispatch()` that is currently in progress. - * However, the next `dispatch()` call, whether nested or not, will use a more - * recent snapshot of the subscription list. - * - * 2. The listener should not expect to see all state changes, as the state - * might have been updated multiple times during a nested `dispatch()` before - * the listener is called. It is, however, guaranteed that all subscribers - * registered before the `dispatch()` started will be called with the latest - * state by the time it exits. - * - * @param {Function} listener A callback to be invoked on every dispatch. - * @returns {Function} A function to remove this change listener. - */ - function subscribe(listener) { - if (typeof listener !== 'function') { - throw new Error('Expected listener to be a function.'); - } - - var isSubscribed = true; - - ensureCanMutateNextListeners(); - nextListeners.push(listener); - - return function unsubscribe() { - if (!isSubscribed) { - return; - } - - isSubscribed = false; - - ensureCanMutateNextListeners(); - var index = nextListeners.indexOf(listener); - nextListeners.splice(index, 1); - }; - } - - /** - * Dispatches an action. It is the only way to trigger a state change. - * - * The `reducer` function, used to create the store, will be called with the - * current state tree and the given `action`. Its return value will - * be considered the **next** state of the tree, and the change listeners - * will be notified. - * - * The base implementation only supports plain object actions. If you want to - * dispatch a Promise, an Observable, a thunk, or something else, you need to - * wrap your store creating function into the corresponding middleware. For - * example, see the documentation for the `redux-thunk` package. Even the - * middleware will eventually dispatch plain object actions using this method. - * - * @param {Object} action A plain object representing “what changed”. It is - * a good idea to keep actions serializable so you can record and replay user - * sessions, or use the time travelling `redux-devtools`. An action must have - * a `type` property which may not be `undefined`. It is a good idea to use - * string constants for action types. - * - * @returns {Object} For convenience, the same action object you dispatched. - * - * Note that, if you use a custom middleware, it may wrap `dispatch()` to - * return something else (for example, a Promise you can await). - */ - function dispatch(action) { - if (!(0, _isPlainObject2.default)(action)) { - throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.'); - } - - if (typeof action.type === 'undefined') { - throw new Error('Actions may not have an undefined "type" property. ' + 'Have you misspelled a constant?'); - } - - if (isDispatching) { - throw new Error('Reducers may not dispatch actions.'); - } - - try { - isDispatching = true; - currentState = currentReducer(currentState, action); - } finally { - isDispatching = false; - } - - var listeners = currentListeners = nextListeners; - for (var i = 0; i < listeners.length; i++) { - listeners[i](); - } - - return action; - } - - /** - * Replaces the reducer currently used by the store to calculate the state. - * - * You might need this if your app implements code splitting and you want to - * load some of the reducers dynamically. You might also need this if you - * implement a hot reloading mechanism for Redux. - * - * @param {Function} nextReducer The reducer for the store to use instead. - * @returns {void} - */ - function replaceReducer(nextReducer) { - if (typeof nextReducer !== 'function') { - throw new Error('Expected the nextReducer to be a function.'); - } - - currentReducer = nextReducer; - dispatch({ type: ActionTypes.INIT }); - } - - /** - * Interoperability point for observable/reactive libraries. - * @returns {observable} A minimal observable of state changes. - * For more information, see the observable proposal: - * https://github.com/zenparsing/es-observable - */ - function observable() { - var _ref; - - var outerSubscribe = subscribe; - return _ref = { - /** - * The minimal observable subscription method. - * @param {Object} observer Any object that can be used as an observer. - * The observer object should have a `next` method. - * @returns {subscription} An object with an `unsubscribe` method that can - * be used to unsubscribe the observable from the store, and prevent further - * emission of values from the observable. - */ - subscribe: function subscribe(observer) { - if ((typeof observer === 'undefined' ? 'undefined' : _typeof(observer)) !== 'object') { - throw new TypeError('Expected the observer to be an object.'); - } - - function observeState() { - if (observer.next) { - observer.next(getState()); - } - } - - observeState(); - var unsubscribe = outerSubscribe(observeState); - return { unsubscribe: unsubscribe }; - } - }, _ref[_symbolObservable2.default] = function () { - return this; - }, _ref; - } - - // When a store is created, an "INIT" action is dispatched so that every - // reducer returns their initial state. This effectively populates - // the initial state tree. - dispatch({ type: ActionTypes.INIT }); - - return _ref2 = { - dispatch: dispatch, - subscribe: subscribe, - getState: getState, - replaceReducer: replaceReducer - }, _ref2[_symbolObservable2.default] = observable, _ref2; -} - -/***/ }), -/* 246 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = warning; -/** - * Prints a warning in the console if it exists. - * - * @param {String} message The warning message. - * @returns {void} - */ -function warning(message) { - /* eslint-disable no-console */ - if (typeof console !== 'undefined' && typeof console.error === 'function') { - console.error(message); - } - /* eslint-enable no-console */ - try { - // This error was thrown as a convenience so that if you enable - // "break on all exceptions" in your console, - // it would pause the execution at this line. - throw new Error(message); - /* eslint-disable no-empty */ - } catch (e) {} - /* eslint-enable no-empty */ -} - -/***/ }), -/* 247 */ -/***/ (function(module, exports) { - -/* WEBPACK VAR INJECTION */(function(__webpack_amd_options__) {/* globals __webpack_amd_options__ */ -module.exports = __webpack_amd_options__; - -/* WEBPACK VAR INJECTION */}.call(exports, {})) - -/***/ }), -/* 248 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.createMemoryHistory = exports.hashHistory = exports.browserHistory = exports.applyRouterMiddleware = exports.formatPattern = exports.useRouterHistory = exports.match = exports.routerShape = exports.locationShape = exports.RouterContext = exports.createRoutes = exports.Route = exports.Redirect = exports.IndexRoute = exports.IndexRedirect = exports.withRouter = exports.IndexLink = exports.Link = exports.Router = undefined; - -var _RouteUtils = __webpack_require__(40); - -Object.defineProperty(exports, 'createRoutes', { - enumerable: true, - get: function get() { - return _RouteUtils.createRoutes; - } -}); - -var _PropTypes = __webpack_require__(146); - -Object.defineProperty(exports, 'locationShape', { - enumerable: true, - get: function get() { - return _PropTypes.locationShape; - } -}); -Object.defineProperty(exports, 'routerShape', { - enumerable: true, - get: function get() { - return _PropTypes.routerShape; - } -}); - -var _PatternUtils = __webpack_require__(59); - -Object.defineProperty(exports, 'formatPattern', { - enumerable: true, - get: function get() { - return _PatternUtils.formatPattern; - } -}); - -var _Router2 = __webpack_require__(503); - -var _Router3 = _interopRequireDefault(_Router2); - -var _Link2 = __webpack_require__(232); - -var _Link3 = _interopRequireDefault(_Link2); - -var _IndexLink2 = __webpack_require__(499); - -var _IndexLink3 = _interopRequireDefault(_IndexLink2); - -var _withRouter2 = __webpack_require__(514); - -var _withRouter3 = _interopRequireDefault(_withRouter2); - -var _IndexRedirect2 = __webpack_require__(500); - -var _IndexRedirect3 = _interopRequireDefault(_IndexRedirect2); - -var _IndexRoute2 = __webpack_require__(501); - -var _IndexRoute3 = _interopRequireDefault(_IndexRoute2); - -var _Redirect2 = __webpack_require__(234); - -var _Redirect3 = _interopRequireDefault(_Redirect2); - -var _Route2 = __webpack_require__(502); - -var _Route3 = _interopRequireDefault(_Route2); - -var _RouterContext2 = __webpack_require__(147); - -var _RouterContext3 = _interopRequireDefault(_RouterContext2); - -var _match2 = __webpack_require__(512); - -var _match3 = _interopRequireDefault(_match2); - -var _useRouterHistory2 = __webpack_require__(239); - -var _useRouterHistory3 = _interopRequireDefault(_useRouterHistory2); - -var _applyRouterMiddleware2 = __webpack_require__(505); - -var _applyRouterMiddleware3 = _interopRequireDefault(_applyRouterMiddleware2); - -var _browserHistory2 = __webpack_require__(506); - -var _browserHistory3 = _interopRequireDefault(_browserHistory2); - -var _hashHistory2 = __webpack_require__(510); - -var _hashHistory3 = _interopRequireDefault(_hashHistory2); - -var _createMemoryHistory2 = __webpack_require__(236); - -var _createMemoryHistory3 = _interopRequireDefault(_createMemoryHistory2); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.Router = _Router3.default; /* components */ - -exports.Link = _Link3.default; -exports.IndexLink = _IndexLink3.default; -exports.withRouter = _withRouter3.default; - -/* components (configuration) */ - -exports.IndexRedirect = _IndexRedirect3.default; -exports.IndexRoute = _IndexRoute3.default; -exports.Redirect = _Redirect3.default; -exports.Route = _Route3.default; - -/* utils */ - -exports.RouterContext = _RouterContext3.default; -exports.match = _match3.default; -exports.useRouterHistory = _useRouterHistory3.default; -exports.applyRouterMiddleware = _applyRouterMiddleware3.default; - -/* histories */ - -exports.browserHistory = _browserHistory3.default; -exports.hashHistory = _hashHistory3.default; -exports.createMemoryHistory = _createMemoryHistory3.default; - -/***/ }), -/* 249 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(global) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__; - -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; }; - -!function (e, t) { - "object" == ( false ? "undefined" : _typeof(exports)) && "undefined" != typeof module ? t(exports) : true ? !(__WEBPACK_AMD_DEFINE_ARRAY__ = [exports], __WEBPACK_AMD_DEFINE_FACTORY__ = (t), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)) : t(e.reduxLogger = e.reduxLogger || {}); -}(undefined, function (e) { - "use strict"; - function t(e, t) { - e.super_ = t, e.prototype = Object.create(t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0 } }); - }function r(e, t) { - Object.defineProperty(this, "kind", { value: e, enumerable: !0 }), t && t.length && Object.defineProperty(this, "path", { value: t, enumerable: !0 }); - }function n(e, t, r) { - n.super_.call(this, "E", e), Object.defineProperty(this, "lhs", { value: t, enumerable: !0 }), Object.defineProperty(this, "rhs", { value: r, enumerable: !0 }); - }function o(e, t) { - o.super_.call(this, "N", e), Object.defineProperty(this, "rhs", { value: t, enumerable: !0 }); - }function i(e, t) { - i.super_.call(this, "D", e), Object.defineProperty(this, "lhs", { value: t, enumerable: !0 }); - }function a(e, t, r) { - a.super_.call(this, "A", e), Object.defineProperty(this, "index", { value: t, enumerable: !0 }), Object.defineProperty(this, "item", { value: r, enumerable: !0 }); - }function f(e, t, r) { - var n = e.slice((r || t) + 1 || e.length);return e.length = t < 0 ? e.length + t : t, e.push.apply(e, n), e; - }function u(e) { - var t = "undefined" == typeof e ? "undefined" : N(e);return "object" !== t ? t : e === Math ? "math" : null === e ? "null" : Array.isArray(e) ? "array" : "[object Date]" === Object.prototype.toString.call(e) ? "date" : "function" == typeof e.toString && /^\/.*\//.test(e.toString()) ? "regexp" : "object"; - }function l(e, t, r, c, s, d, p) { - s = s || [], p = p || [];var g = s.slice(0);if ("undefined" != typeof d) { - if (c) { - if ("function" == typeof c && c(g, d)) return;if ("object" === ("undefined" == typeof c ? "undefined" : N(c))) { - if (c.prefilter && c.prefilter(g, d)) return;if (c.normalize) { - var h = c.normalize(g, d, e, t);h && (e = h[0], t = h[1]); - } - } - }g.push(d); - }"regexp" === u(e) && "regexp" === u(t) && (e = e.toString(), t = t.toString());var y = "undefined" == typeof e ? "undefined" : N(e), - v = "undefined" == typeof t ? "undefined" : N(t), - b = "undefined" !== y || p && p[p.length - 1].lhs && p[p.length - 1].lhs.hasOwnProperty(d), - m = "undefined" !== v || p && p[p.length - 1].rhs && p[p.length - 1].rhs.hasOwnProperty(d);if (!b && m) r(new o(g, t));else if (!m && b) r(new i(g, e));else if (u(e) !== u(t)) r(new n(g, e, t));else if ("date" === u(e) && e - t !== 0) r(new n(g, e, t));else if ("object" === y && null !== e && null !== t) { - if (p.filter(function (t) { - return t.lhs === e; - }).length) e !== t && r(new n(g, e, t));else { - if (p.push({ lhs: e, rhs: t }), Array.isArray(e)) { - var w;e.length;for (w = 0; w < e.length; w++) { - w >= t.length ? r(new a(g, w, new i(void 0, e[w]))) : l(e[w], t[w], r, c, g, w, p); - }for (; w < t.length;) { - r(new a(g, w, new o(void 0, t[w++]))); - } - } else { - var x = Object.keys(e), - S = Object.keys(t);x.forEach(function (n, o) { - var i = S.indexOf(n);i >= 0 ? (l(e[n], t[n], r, c, g, n, p), S = f(S, i)) : l(e[n], void 0, r, c, g, n, p); - }), S.forEach(function (e) { - l(void 0, t[e], r, c, g, e, p); - }); - }p.length = p.length - 1; - } - } else e !== t && ("number" === y && isNaN(e) && isNaN(t) || r(new n(g, e, t))); - }function c(e, t, r, n) { - return n = n || [], l(e, t, function (e) { - e && n.push(e); - }, r), n.length ? n : void 0; - }function s(e, t, r) { - if (r.path && r.path.length) { - var n, - o = e[t], - i = r.path.length - 1;for (n = 0; n < i; n++) { - o = o[r.path[n]]; - }switch (r.kind) {case "A": - s(o[r.path[n]], r.index, r.item);break;case "D": - delete o[r.path[n]];break;case "E":case "N": - o[r.path[n]] = r.rhs;} - } else switch (r.kind) {case "A": - s(e[t], r.index, r.item);break;case "D": - e = f(e, t);break;case "E":case "N": - e[t] = r.rhs;}return e; - }function d(e, t, r) { - if (e && t && r && r.kind) { - for (var n = e, o = -1, i = r.path ? r.path.length - 1 : 0; ++o < i;) { - "undefined" == typeof n[r.path[o]] && (n[r.path[o]] = "number" == typeof r.path[o] ? [] : {}), n = n[r.path[o]]; - }switch (r.kind) {case "A": - s(r.path ? n[r.path[o]] : n, r.index, r.item);break;case "D": - delete n[r.path[o]];break;case "E":case "N": - n[r.path[o]] = r.rhs;} - } - }function p(e, t, r) { - if (r.path && r.path.length) { - var n, - o = e[t], - i = r.path.length - 1;for (n = 0; n < i; n++) { - o = o[r.path[n]]; - }switch (r.kind) {case "A": - p(o[r.path[n]], r.index, r.item);break;case "D": - o[r.path[n]] = r.lhs;break;case "E": - o[r.path[n]] = r.lhs;break;case "N": - delete o[r.path[n]];} - } else switch (r.kind) {case "A": - p(e[t], r.index, r.item);break;case "D": - e[t] = r.lhs;break;case "E": - e[t] = r.lhs;break;case "N": - e = f(e, t);}return e; - }function g(e, t, r) { - if (e && t && r && r.kind) { - var n, - o, - i = e;for (o = r.path.length - 1, n = 0; n < o; n++) { - "undefined" == typeof i[r.path[n]] && (i[r.path[n]] = {}), i = i[r.path[n]]; - }switch (r.kind) {case "A": - p(i[r.path[n]], r.index, r.item);break;case "D": - i[r.path[n]] = r.lhs;break;case "E": - i[r.path[n]] = r.lhs;break;case "N": - delete i[r.path[n]];} - } - }function h(e, t, r) { - if (e && t) { - var n = function n(_n) { - r && !r(e, t, _n) || d(e, t, _n); - };l(e, t, n); - } - }function y(e) { - return "color: " + F[e].color + "; font-weight: bold"; - }function v(e) { - var t = e.kind, - r = e.path, - n = e.lhs, - o = e.rhs, - i = e.index, - a = e.item;switch (t) {case "E": - return [r.join("."), n, "→", o];case "N": - return [r.join("."), o];case "D": - return [r.join(".")];case "A": - return [r.join(".") + "[" + i + "]", a];default: - return [];} - }function b(e, t, r, n) { - var o = c(e, t);try { - n ? r.groupCollapsed("diff") : r.group("diff"); - } catch (e) { - r.log("diff"); - }o ? o.forEach(function (e) { - var t = e.kind, - n = v(e);r.log.apply(r, ["%c " + F[t].text, y(t)].concat(P(n))); - }) : r.log("—— no diff ——");try { - r.groupEnd(); - } catch (e) { - r.log("—— diff end —— "); - } - }function m(e, t, r, n) { - switch ("undefined" == typeof e ? "undefined" : N(e)) {case "object": - return "function" == typeof e[n] ? e[n].apply(e, P(r)) : e[n];case "function": - return e(t);default: - return e;} - }function w(e) { - var t = e.timestamp, - r = e.duration;return function (e, n, o) { - var i = ["action"];return i.push("%c" + String(e.type)), t && i.push("%c@ " + n), r && i.push("%c(in " + o.toFixed(2) + " ms)"), i.join(" "); - }; - }function x(e, t) { - var r = t.logger, - n = t.actionTransformer, - o = t.titleFormatter, - i = void 0 === o ? w(t) : o, - a = t.collapsed, - f = t.colors, - u = t.level, - l = t.diff, - c = "undefined" == typeof t.titleFormatter;e.forEach(function (o, s) { - var d = o.started, - p = o.startedTime, - g = o.action, - h = o.prevState, - y = o.error, - v = o.took, - w = o.nextState, - x = e[s + 1];x && (w = x.prevState, v = x.started - d);var S = n(g), - k = "function" == typeof a ? a(function () { - return w; - }, g, o) : a, - j = D(p), - E = f.title ? "color: " + f.title(S) + ";" : "", - A = ["color: gray; font-weight: lighter;"];A.push(E), t.timestamp && A.push("color: gray; font-weight: lighter;"), t.duration && A.push("color: gray; font-weight: lighter;");var O = i(S, j, v);try { - k ? f.title && c ? r.groupCollapsed.apply(r, ["%c " + O].concat(A)) : r.groupCollapsed(O) : f.title && c ? r.group.apply(r, ["%c " + O].concat(A)) : r.group(O); - } catch (e) { - r.log(O); - }var N = m(u, S, [h], "prevState"), - P = m(u, S, [S], "action"), - C = m(u, S, [y, h], "error"), - F = m(u, S, [w], "nextState");if (N) if (f.prevState) { - var L = "color: " + f.prevState(h) + "; font-weight: bold";r[N]("%c prev state", L, h); - } else r[N]("prev state", h);if (P) if (f.action) { - var T = "color: " + f.action(S) + "; font-weight: bold";r[P]("%c action ", T, S); - } else r[P]("action ", S);if (y && C) if (f.error) { - var M = "color: " + f.error(y, h) + "; font-weight: bold;";r[C]("%c error ", M, y); - } else r[C]("error ", y);if (F) if (f.nextState) { - var _ = "color: " + f.nextState(w) + "; font-weight: bold";r[F]("%c next state", _, w); - } else r[F]("next state", w);l && b(h, w, r, k);try { - r.groupEnd(); - } catch (e) { - r.log("—— log end ——"); - } - }); - }function S() { - var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, - t = Object.assign({}, L, e), - r = t.logger, - n = t.stateTransformer, - o = t.errorTransformer, - i = t.predicate, - a = t.logErrors, - f = t.diffPredicate;if ("undefined" == typeof r) return function () { - return function (e) { - return function (t) { - return e(t); - }; - }; - };if (e.getState && e.dispatch) return console.error("[redux-logger] redux-logger not installed. Make sure to pass logger instance as middleware:\n// Logger with default options\nimport { logger } from 'redux-logger'\nconst store = createStore(\n reducer,\n applyMiddleware(logger)\n)\n// Or you can create your own logger with custom options http://bit.ly/redux-logger-options\nimport createLogger from 'redux-logger'\nconst logger = createLogger({\n // ...options\n});\nconst store = createStore(\n reducer,\n applyMiddleware(logger)\n)\n"), function () { - return function (e) { - return function (t) { - return e(t); - }; - }; - };var u = [];return function (e) { - var r = e.getState;return function (e) { - return function (l) { - if ("function" == typeof i && !i(r, l)) return e(l);var c = {};u.push(c), c.started = O.now(), c.startedTime = new Date(), c.prevState = n(r()), c.action = l;var s = void 0;if (a) try { - s = e(l); - } catch (e) { - c.error = o(e); - } else s = e(l);c.took = O.now() - c.started, c.nextState = n(r());var d = t.diff && "function" == typeof f ? f(r, l) : t.diff;if (x(u, Object.assign({}, t, { diff: d })), u.length = 0, c.error) throw c.error;return s; - }; - }; - }; - }var k, - j, - E = function E(e, t) { - return new Array(t + 1).join(e); - }, - A = function A(e, t) { - return E("0", t - e.toString().length) + e; - }, - D = function D(e) { - return A(e.getHours(), 2) + ":" + A(e.getMinutes(), 2) + ":" + A(e.getSeconds(), 2) + "." + A(e.getMilliseconds(), 3); - }, - O = "undefined" != typeof performance && null !== performance && "function" == typeof performance.now ? performance : Date, - N = "function" == typeof Symbol && "symbol" == _typeof(Symbol.iterator) ? function (e) { - return typeof e === "undefined" ? "undefined" : _typeof(e); - } : function (e) { - return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e === "undefined" ? "undefined" : _typeof(e); - }, - P = function P(e) { - if (Array.isArray(e)) { - for (var t = 0, r = Array(e.length); t < e.length; t++) { - r[t] = e[t]; - }return r; - }return Array.from(e); - }, - C = [];k = "object" === ("undefined" == typeof global ? "undefined" : N(global)) && global ? global : "undefined" != typeof window ? window : {}, j = k.DeepDiff, j && C.push(function () { - "undefined" != typeof j && k.DeepDiff === c && (k.DeepDiff = j, j = void 0); - }), t(n, r), t(o, r), t(i, r), t(a, r), Object.defineProperties(c, { diff: { value: c, enumerable: !0 }, observableDiff: { value: l, enumerable: !0 }, applyDiff: { value: h, enumerable: !0 }, applyChange: { value: d, enumerable: !0 }, revertChange: { value: g, enumerable: !0 }, isConflict: { value: function value() { - return "undefined" != typeof j; - }, enumerable: !0 }, noConflict: { value: function value() { - return C && (C.forEach(function (e) { - e(); - }), C = null), c; - }, enumerable: !0 } });var F = { E: { color: "#2196F3", text: "CHANGED:" }, N: { color: "#4CAF50", text: "ADDED:" }, D: { color: "#F44336", text: "DELETED:" }, A: { color: "#2196F3", text: "ARRAY:" } }, - L = { level: "log", logger: console, logErrors: !0, collapsed: void 0, predicate: void 0, duration: !1, timestamp: !0, stateTransformer: function stateTransformer(e) { - return e; - }, actionTransformer: function actionTransformer(e) { - return e; - }, errorTransformer: function errorTransformer(e) { - return e; - }, colors: { title: function title() { - return "inherit"; - }, prevState: function prevState() { - return "#9E9E9E"; - }, action: function action() { - return "#03A9F4"; - }, nextState: function nextState() { - return "#4CAF50"; - }, error: function error() { - return "#F20404"; - } }, diff: !1, diffPredicate: void 0, transformer: void 0 }, - T = function T() { - var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, - t = e.dispatch, - r = e.getState;return "function" == typeof t || "function" == typeof r ? S()({ dispatch: t, getState: r }) : void console.error("\n[redux-logger v3] BREAKING CHANGE\n[redux-logger v3] Since 3.0.0 redux-logger exports by default logger with default settings.\n[redux-logger v3] Change\n[redux-logger v3] import createLogger from 'redux-logger'\n[redux-logger v3] to\n[redux-logger v3] import { createLogger } from 'redux-logger'\n"); - };e.defaults = L, e.createLogger = S, e.logger = T, e.default = T, Object.defineProperty(e, "__esModule", { value: !0 }); -}); -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(150))) - -/***/ }), -/* 250 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -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; }; }(); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _reactBootstrap = __webpack_require__(56); - -var _reactRedux = __webpack_require__(41); - -var _redux = __webpack_require__(33); - -var _reactDom = __webpack_require__(21); - -var _booksActions = __webpack_require__(74); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var BooksForm = function (_React$Component) { - _inherits(BooksForm, _React$Component); - - function BooksForm() { - _classCallCheck(this, BooksForm); - - return _possibleConstructorReturn(this, (BooksForm.__proto__ || Object.getPrototypeOf(BooksForm)).apply(this, arguments)); - } - - _createClass(BooksForm, [{ - key: 'handleSubmit', - value: function handleSubmit() { - var book = [{ - title: (0, _reactDom.findDOMNode)(this.refs.title).value, - description: (0, _reactDom.findDOMNode)(this.refs.description).value, - price: (0, _reactDom.findDOMNode)(this.refs.price).value - }]; - - this.props.postBooks(book); - } - }, { - key: 'onDelete', - value: function onDelete() { - var bookId = (0, _reactDom.findDOMNode)(this.refs.delete).value; - this.props.deleteBooks(bookId); - } - }, { - key: 'render', - value: function render() { - var booksList = this.props.books.map(function (booksArr) { - return _react2.default.createElement( - 'option', - { key: booksArr._id }, - booksArr._id - ); - }); - - return _react2.default.createElement( - _reactBootstrap.Well, - null, - _react2.default.createElement( - _reactBootstrap.Panel, - null, - _react2.default.createElement( - _reactBootstrap.FormGroup, - { controlId: 'title' }, - _react2.default.createElement( - _reactBootstrap.ControlLabel, - null, - 'Title' - ), - _react2.default.createElement(_reactBootstrap.FormControl, { - type: 'text', - placeholder: 'Enter Title', - ref: 'title' }) - ), - _react2.default.createElement( - _reactBootstrap.FormGroup, - { controlId: 'description' }, - _react2.default.createElement( - _reactBootstrap.ControlLabel, - null, - 'Description' - ), - _react2.default.createElement(_reactBootstrap.FormControl, { - type: 'text', - placeholder: 'Enter\r Description', - ref: 'description' }) - ), - _react2.default.createElement( - _reactBootstrap.FormGroup, - { controlId: 'price' }, - _react2.default.createElement( - _reactBootstrap.ControlLabel, - null, - 'Price' - ), - _react2.default.createElement(_reactBootstrap.FormControl, { - type: 'text', - placeholder: 'Enter Price', - ref: 'price' }) - ), - _react2.default.createElement( - _reactBootstrap.Button, - { onClick: this.handleSubmit.bind(this), bsStyle: 'primary' }, - 'Save book' - ) - ), - _react2.default.createElement( - _reactBootstrap.Panel, - { style: { marginTop: '25px' } }, - _react2.default.createElement( - _reactBootstrap.FormGroup, - { controlId: 'formControlsSelect' }, - _react2.default.createElement( - _reactBootstrap.ControlLabel, - null, - 'Select a book id to delete' - ), - _react2.default.createElement( - _reactBootstrap.FormControl, - { ref: 'delete', componentClass: 'select', placeholder: 'select' }, - _react2.default.createElement( - 'option', - { value: 'select' }, - 'select' - ), - booksList - ) - ), - _react2.default.createElement( - _reactBootstrap.Button, - { onClick: this.onDelete.bind(this), bsStyle: 'danger' }, - 'Delete book' - ) - ) - ); - } - }]); - - return BooksForm; -}(_react2.default.Component); - -function mapStateToProps(state) { - return { - books: state.books.books - }; -} - -function mapDispatchToProps(dispatch) { - return (0, _redux.bindActionCreators)({ - postBooks: _booksActions.postBooks, - deleteBooks: _booksActions.deleteBooks - }, dispatch); -} - -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(BooksForm); - -/***/ }), -/* 251 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -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; }; }(); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _reactRedux = __webpack_require__(41); - -var _booksActions = __webpack_require__(74); - -var _redux = __webpack_require__(33); - -var _reactBootstrap = __webpack_require__(56); - -var _bookItem = __webpack_require__(542); - -var _bookItem2 = _interopRequireDefault(_bookItem); - -var _BooksForm = __webpack_require__(541); - -var _BooksForm2 = _interopRequireDefault(_BooksForm); - -var _cart = __webpack_require__(151); - -var _cart2 = _interopRequireDefault(_cart); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var BooksList = function (_React$Component) { - _inherits(BooksList, _React$Component); - - function BooksList() { - _classCallCheck(this, BooksList); - - return _possibleConstructorReturn(this, (BooksList.__proto__ || Object.getPrototypeOf(BooksList)).apply(this, arguments)); - } - - _createClass(BooksList, [{ - key: 'componentDidMount', - value: function componentDidMount() { - this.props.getBooks(); - } - }, { - key: 'render', - value: function render() { - var booksList = this.props.books.map(function (booksArr) { - return _react2.default.createElement( - _reactBootstrap.Col, - { xs: 12, sm: 6, md: 4, - key: booksArr._id }, - _react2.default.createElement(_bookItem2.default, { - _id: booksArr._id, - title: booksArr.title, - description: booksArr.description, - price: booksArr.price }) - ); - }); - return _react2.default.createElement( - _reactBootstrap.Grid, - null, - _react2.default.createElement( - _reactBootstrap.Row, - null, - _react2.default.createElement(_cart2.default, null) - ), - _react2.default.createElement( - _reactBootstrap.Row, - null, - _react2.default.createElement( - _reactBootstrap.Col, - { xs: 12, sm: 6 }, - _react2.default.createElement(_BooksForm2.default, null) - ), - booksList - ) - ); - } - }]); - - return BooksList; -}(_react2.default.Component); - -function mapStateToProps(state) { - return { - books: state.books.books - }; -} -function mapDispatchToProps(dispatch) { - return (0, _redux.bindActionCreators)({ - getBooks: _booksActions.getBooks - }, dispatch); -} -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(BooksList); - -/***/ }), -/* 252 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -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; }; }(); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _menu = __webpack_require__(540); - -var _menu2 = _interopRequireDefault(_menu); - -var _footer = __webpack_require__(539); - -var _footer2 = _interopRequireDefault(_footer); - -var _reactRedux = __webpack_require__(41); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var Main = function (_React$Component) { - _inherits(Main, _React$Component); - - function Main() { - _classCallCheck(this, Main); - - return _possibleConstructorReturn(this, (Main.__proto__ || Object.getPrototypeOf(Main)).apply(this, arguments)); - } - - _createClass(Main, [{ - key: 'render', - value: function render() { - return _react2.default.createElement( - 'div', - null, - _react2.default.createElement(_menu2.default, { cartItemsNumber: this.props.totalQty }), - this.props.children, - _react2.default.createElement(_footer2.default, null) - ); - } - }]); - - return Main; -}(_react2.default.Component); - -function mapStateToProps(state) { - return { - totalQty: state.cart.totalQty - }; -} - -exports.default = (0, _reactRedux.connect)(mapStateToProps)(Main); - -/***/ }), -/* 253 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _redux = __webpack_require__(33); - -var _booksReducers = __webpack_require__(543); - -var _cartReducers = __webpack_require__(544); - -// HERE COMBINE THE REDUCERS - - -// HERE IMPORT REDUCERS TO BE COMBINED -exports.default = (0, _redux.combineReducers)({ - books: _booksReducers.booksReducers, - cart: _cartReducers.cartReducers -}); - -/***/ }), -/* 254 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = { "default": __webpack_require__(259), __esModule: true }; - -/***/ }), -/* 255 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = { "default": __webpack_require__(261), __esModule: true }; - -/***/ }), -/* 256 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = { "default": __webpack_require__(263), __esModule: true }; - -/***/ }), -/* 257 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = { "default": __webpack_require__(265), __esModule: true }; - -/***/ }), -/* 258 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = { "default": __webpack_require__(266), __esModule: true }; - -/***/ }), -/* 259 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -__webpack_require__(164); -__webpack_require__(290); -module.exports = __webpack_require__(26).Array.from; - -/***/ }), -/* 260 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -__webpack_require__(292); -module.exports = __webpack_require__(26).Object.assign; - -/***/ }), -/* 261 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -__webpack_require__(293); -var $Object = __webpack_require__(26).Object; -module.exports = function create(P, D) { - return $Object.create(P, D); -}; - -/***/ }), -/* 262 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -__webpack_require__(297); -module.exports = __webpack_require__(26).Object.entries; - -/***/ }), -/* 263 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -__webpack_require__(294); -module.exports = __webpack_require__(26).Object.setPrototypeOf; - -/***/ }), -/* 264 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -__webpack_require__(298); -module.exports = __webpack_require__(26).Object.values; - -/***/ }), -/* 265 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -__webpack_require__(296); -__webpack_require__(295); -__webpack_require__(299); -__webpack_require__(300); -module.exports = __webpack_require__(26).Symbol; - -/***/ }), -/* 266 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -__webpack_require__(164); -__webpack_require__(301); -module.exports = __webpack_require__(111).f('iterator'); - -/***/ }), -/* 267 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = function (it) { - if (typeof it != 'function') throw TypeError(it + ' is not a function!'); - return it; -}; - -/***/ }), -/* 268 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = function () {/* empty */}; - -/***/ }), -/* 269 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -// false -> Array#indexOf -// true -> Array#includes -var toIObject = __webpack_require__(36), - toLength = __webpack_require__(163), - toIndex = __webpack_require__(288); -module.exports = function (IS_INCLUDES) { - return function ($this, el, fromIndex) { - var O = toIObject($this), - length = toLength(O.length), - index = toIndex(fromIndex, length), - value; - // Array#includes uses SameValueZero equality algorithm - if (IS_INCLUDES && el != el) while (length > index) { - value = O[index++]; - if (value != value) return true; - // Array#toIndex ignores holes, Array#includes - not - } else for (; length > index; index++) { - if (IS_INCLUDES || index in O) { - if (O[index] === el) return IS_INCLUDES || index || 0; - } - }return !IS_INCLUDES && -1; - }; -}; - -/***/ }), -/* 270 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -// getting tag from 19.1.3.6 Object.prototype.toString() -var cof = __webpack_require__(97), - TAG = __webpack_require__(27)('toStringTag') -// ES3 wrong here -, - ARG = cof(function () { - return arguments; -}()) == 'Arguments'; - -// fallback for IE11 Script Access Denied error -var tryGet = function tryGet(it, key) { - try { - return it[key]; - } catch (e) {/* empty */} -}; - -module.exports = function (it) { - var O, T, B; - return it === undefined ? 'Undefined' : it === null ? 'Null' - // @@toStringTag case - : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T - // builtinTag case - : ARG ? cof(O) - // ES3 arguments fallback - : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B; -}; - -/***/ }), -/* 271 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var $defineProperty = __webpack_require__(43), - createDesc = __webpack_require__(66); - -module.exports = function (object, index, value) { - if (index in object) $defineProperty.f(object, index, createDesc(0, value));else object[index] = value; -}; - -/***/ }), -/* 272 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -// all enumerable object keys, includes symbols -var getKeys = __webpack_require__(51), - gOPS = __webpack_require__(103), - pIE = __webpack_require__(65); -module.exports = function (it) { - var result = getKeys(it), - getSymbols = gOPS.f; - if (getSymbols) { - var symbols = getSymbols(it), - isEnum = pIE.f, - i = 0, - key; - while (symbols.length > i) { - if (isEnum.call(it, key = symbols[i++])) result.push(key); - } - }return result; -}; - -/***/ }), -/* 273 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = __webpack_require__(35).document && document.documentElement; - -/***/ }), -/* 274 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -// check on default Array iterator -var Iterators = __webpack_require__(64), - ITERATOR = __webpack_require__(27)('iterator'), - ArrayProto = Array.prototype; - -module.exports = function (it) { - return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it); -}; - -/***/ }), -/* 275 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -// 7.2.2 IsArray(argument) -var cof = __webpack_require__(97); -module.exports = Array.isArray || function isArray(arg) { - return cof(arg) == 'Array'; -}; - -/***/ }), -/* 276 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -// call something on iterator step with safe closing on error -var anObject = __webpack_require__(48); -module.exports = function (iterator, fn, value, entries) { - try { - return entries ? fn(anObject(value)[0], value[1]) : fn(value); - // 7.4.6 IteratorClose(iterator, completion) - } catch (e) { - var ret = iterator['return']; - if (ret !== undefined) anObject(ret.call(iterator)); - throw e; - } -}; - -/***/ }), -/* 277 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var create = __webpack_require__(102), - descriptor = __webpack_require__(66), - setToStringTag = __webpack_require__(104), - IteratorPrototype = {}; - -// 25.1.2.1.1 %IteratorPrototype%[@@iterator]() -__webpack_require__(50)(IteratorPrototype, __webpack_require__(27)('iterator'), function () { - return this; -}); - -module.exports = function (Constructor, NAME, next) { - Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) }); - setToStringTag(Constructor, NAME + ' Iterator'); -}; - -/***/ }), -/* 278 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var ITERATOR = __webpack_require__(27)('iterator'), - SAFE_CLOSING = false; - -try { - var riter = [7][ITERATOR](); - riter['return'] = function () { - SAFE_CLOSING = true; - }; - Array.from(riter, function () { - throw 2; - }); -} catch (e) {/* empty */} - -module.exports = function (exec, skipClosing) { - if (!skipClosing && !SAFE_CLOSING) return false; - var safe = false; - try { - var arr = [7], - iter = arr[ITERATOR](); - iter.next = function () { - return { done: safe = true }; - }; - arr[ITERATOR] = function () { - return iter; - }; - exec(arr); - } catch (e) {/* empty */} - return safe; -}; - -/***/ }), -/* 279 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = function (done, value) { - return { value: value, done: !!done }; -}; - -/***/ }), -/* 280 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var getKeys = __webpack_require__(51), - toIObject = __webpack_require__(36); -module.exports = function (object, el) { - var O = toIObject(object), - keys = getKeys(O), - length = keys.length, - index = 0, - key; - while (length > index) { - if (O[key = keys[index++]] === el) return key; - } -}; - -/***/ }), -/* 281 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -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 META = __webpack_require__(75)('meta'), - isObject = __webpack_require__(63), - has = __webpack_require__(42), - setDesc = __webpack_require__(43).f, - id = 0; -var isExtensible = Object.isExtensible || function () { - return true; -}; -var FREEZE = !__webpack_require__(62)(function () { - return isExtensible(Object.preventExtensions({})); -}); -var setMeta = function setMeta(it) { - setDesc(it, META, { value: { - i: 'O' + ++id, // object ID - w: {} // weak collections IDs - } }); -}; -var fastKey = function fastKey(it, create) { - // return primitive with prefix - if (!isObject(it)) return (typeof it === 'undefined' ? 'undefined' : _typeof(it)) == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; - if (!has(it, META)) { - // can't set metadata to uncaught frozen object - if (!isExtensible(it)) return 'F'; - // not necessary to add metadata - if (!create) return 'E'; - // add missing metadata - setMeta(it); - // return object ID - }return it[META].i; -}; -var getWeak = function getWeak(it, create) { - if (!has(it, META)) { - // can't set metadata to uncaught frozen object - if (!isExtensible(it)) return true; - // not necessary to add metadata - if (!create) return false; - // add missing metadata - setMeta(it); - // return hash weak collections IDs - }return it[META].w; -}; -// add metadata on freeze-family methods calling -var onFreeze = function onFreeze(it) { - if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it); - return it; -}; -var meta = module.exports = { - KEY: META, - NEED: false, - fastKey: fastKey, - getWeak: getWeak, - onFreeze: onFreeze -}; - -/***/ }), -/* 282 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -// 19.1.2.1 Object.assign(target, source, ...) - -var getKeys = __webpack_require__(51), - gOPS = __webpack_require__(103), - pIE = __webpack_require__(65), - toObject = __webpack_require__(108), - IObject = __webpack_require__(156), - $assign = Object.assign; - -// should work with symbols and should have deterministic property order (V8 bug) -module.exports = !$assign || __webpack_require__(62)(function () { - var A = {}, - B = {}, - S = Symbol(), - K = 'abcdefghijklmnopqrst'; - A[S] = 7; - K.split('').forEach(function (k) { - B[k] = k; - }); - return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K; -}) ? function assign(target, source) { - // eslint-disable-line no-unused-vars - var T = toObject(target), - aLen = arguments.length, - index = 1, - getSymbols = gOPS.f, - isEnum = pIE.f; - while (aLen > index) { - var S = IObject(arguments[index++]), - keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S), - length = keys.length, - j = 0, - key; - while (length > j) { - if (isEnum.call(S, key = keys[j++])) T[key] = S[key]; - } - }return T; -} : $assign; - -/***/ }), -/* 283 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var dP = __webpack_require__(43), - anObject = __webpack_require__(48), - getKeys = __webpack_require__(51); - -module.exports = __webpack_require__(49) ? Object.defineProperties : function defineProperties(O, Properties) { - anObject(O); - var keys = getKeys(Properties), - length = keys.length, - i = 0, - P; - while (length > i) { - dP.f(O, P = keys[i++], Properties[P]); - }return O; -}; - -/***/ }), -/* 284 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -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; }; - -// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window -var toIObject = __webpack_require__(36), - gOPN = __webpack_require__(159).f, - toString = {}.toString; - -var windowNames = (typeof window === 'undefined' ? 'undefined' : _typeof(window)) == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : []; - -var getWindowNames = function getWindowNames(it) { - try { - return gOPN(it); - } catch (e) { - return windowNames.slice(); - } -}; - -module.exports.f = function getOwnPropertyNames(it) { - return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it)); -}; - -/***/ }), -/* 285 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) -var has = __webpack_require__(42), - toObject = __webpack_require__(108), - IE_PROTO = __webpack_require__(105)('IE_PROTO'), - ObjectProto = Object.prototype; - -module.exports = Object.getPrototypeOf || function (O) { - O = toObject(O); - if (has(O, IE_PROTO)) return O[IE_PROTO]; - if (typeof O.constructor == 'function' && O instanceof O.constructor) { - return O.constructor.prototype; - }return O instanceof Object ? ObjectProto : null; -}; - -/***/ }), -/* 286 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -// Works with __proto__ only. Old v8 can't work with null proto objects. -/* eslint-disable no-proto */ -var isObject = __webpack_require__(63), - anObject = __webpack_require__(48); -var check = function check(O, proto) { - anObject(O); - if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!"); -}; -module.exports = { - set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line - function (test, buggy, set) { - try { - set = __webpack_require__(98)(Function.call, __webpack_require__(158).f(Object.prototype, '__proto__').set, 2); - set(test, []); - buggy = !(test instanceof Array); - } catch (e) { - buggy = true; - } - return function setPrototypeOf(O, proto) { - check(O, proto); - if (buggy) O.__proto__ = proto;else set(O, proto); - return O; - }; - }({}, false) : undefined), - check: check -}; - -/***/ }), -/* 287 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var toInteger = __webpack_require__(107), - defined = __webpack_require__(99); -// true -> String#at -// false -> String#codePointAt -module.exports = function (TO_STRING) { - return function (that, pos) { - var s = String(defined(that)), - i = toInteger(pos), - l = s.length, - a, - b; - if (i < 0 || i >= l) return TO_STRING ? '' : undefined; - a = s.charCodeAt(i); - return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff ? TO_STRING ? s.charAt(i) : a : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000; - }; -}; - -/***/ }), -/* 288 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var toInteger = __webpack_require__(107), - max = Math.max, - min = Math.min; -module.exports = function (index, length) { - index = toInteger(index); - return index < 0 ? max(index + length, 0) : min(index, length); -}; - -/***/ }), -/* 289 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var classof = __webpack_require__(270), - ITERATOR = __webpack_require__(27)('iterator'), - Iterators = __webpack_require__(64); -module.exports = __webpack_require__(26).getIteratorMethod = function (it) { - if (it != undefined) return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)]; -}; - -/***/ }), -/* 290 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var ctx = __webpack_require__(98), - $export = __webpack_require__(34), - toObject = __webpack_require__(108), - call = __webpack_require__(276), - isArrayIter = __webpack_require__(274), - toLength = __webpack_require__(163), - createProperty = __webpack_require__(271), - getIterFn = __webpack_require__(289); - -$export($export.S + $export.F * !__webpack_require__(278)(function (iter) { - Array.from(iter); -}), 'Array', { - // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined) - from: function from(arrayLike /*, mapfn = undefined, thisArg = undefined*/) { - var O = toObject(arrayLike), - C = typeof this == 'function' ? this : Array, - aLen = arguments.length, - mapfn = aLen > 1 ? arguments[1] : undefined, - mapping = mapfn !== undefined, - index = 0, - iterFn = getIterFn(O), - length, - result, - step, - iterator; - if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2); - // if object isn't iterable or it's array with default iterator - use simple case - if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) { - for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) { - createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value); - } - } else { - length = toLength(O.length); - for (result = new C(length); length > index; index++) { - createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]); - } - } - result.length = index; - return result; - } -}); - -/***/ }), -/* 291 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var addToUnscopables = __webpack_require__(268), - step = __webpack_require__(279), - Iterators = __webpack_require__(64), - toIObject = __webpack_require__(36); - -// 22.1.3.4 Array.prototype.entries() -// 22.1.3.13 Array.prototype.keys() -// 22.1.3.29 Array.prototype.values() -// 22.1.3.30 Array.prototype[@@iterator]() -module.exports = __webpack_require__(157)(Array, 'Array', function (iterated, kind) { - this._t = toIObject(iterated); // target - this._i = 0; // next index - this._k = kind; // kind - // 22.1.5.2.1 %ArrayIteratorPrototype%.next() -}, function () { - var O = this._t, - kind = this._k, - index = this._i++; - if (!O || index >= O.length) { - this._t = undefined; - return step(1); - } - if (kind == 'keys') return step(0, index); - if (kind == 'values') return step(0, O[index]); - return step(0, [index, O[index]]); -}, 'values'); - -// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7) -Iterators.Arguments = Iterators.Array; - -addToUnscopables('keys'); -addToUnscopables('values'); -addToUnscopables('entries'); - -/***/ }), -/* 292 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -// 19.1.3.1 Object.assign(target, source) -var $export = __webpack_require__(34); - -$export($export.S + $export.F, 'Object', { assign: __webpack_require__(282) }); - -/***/ }), -/* 293 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var $export = __webpack_require__(34); -// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) -$export($export.S, 'Object', { create: __webpack_require__(102) }); - -/***/ }), -/* 294 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -// 19.1.3.19 Object.setPrototypeOf(O, proto) -var $export = __webpack_require__(34); -$export($export.S, 'Object', { setPrototypeOf: __webpack_require__(286).set }); - -/***/ }), -/* 295 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -/***/ }), -/* 296 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -// ECMAScript 6 symbols shim - -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 global = __webpack_require__(35), - has = __webpack_require__(42), - DESCRIPTORS = __webpack_require__(49), - $export = __webpack_require__(34), - redefine = __webpack_require__(162), - META = __webpack_require__(281).KEY, - $fails = __webpack_require__(62), - shared = __webpack_require__(106), - setToStringTag = __webpack_require__(104), - uid = __webpack_require__(75), - wks = __webpack_require__(27), - wksExt = __webpack_require__(111), - wksDefine = __webpack_require__(110), - keyOf = __webpack_require__(280), - enumKeys = __webpack_require__(272), - isArray = __webpack_require__(275), - anObject = __webpack_require__(48), - toIObject = __webpack_require__(36), - toPrimitive = __webpack_require__(109), - createDesc = __webpack_require__(66), - _create = __webpack_require__(102), - gOPNExt = __webpack_require__(284), - $GOPD = __webpack_require__(158), - $DP = __webpack_require__(43), - $keys = __webpack_require__(51), - gOPD = $GOPD.f, - dP = $DP.f, - gOPN = gOPNExt.f, - $Symbol = global.Symbol, - $JSON = global.JSON, - _stringify = $JSON && $JSON.stringify, - PROTOTYPE = 'prototype', - HIDDEN = wks('_hidden'), - TO_PRIMITIVE = wks('toPrimitive'), - isEnum = {}.propertyIsEnumerable, - SymbolRegistry = shared('symbol-registry'), - AllSymbols = shared('symbols'), - OPSymbols = shared('op-symbols'), - ObjectProto = Object[PROTOTYPE], - USE_NATIVE = typeof $Symbol == 'function', - QObject = global.QObject; -// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 -var setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; - -// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 -var setSymbolDesc = DESCRIPTORS && $fails(function () { - return _create(dP({}, 'a', { - get: function get() { - return dP(this, 'a', { value: 7 }).a; - } - })).a != 7; -}) ? function (it, key, D) { - var protoDesc = gOPD(ObjectProto, key); - if (protoDesc) delete ObjectProto[key]; - dP(it, key, D); - if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc); -} : dP; - -var wrap = function wrap(tag) { - var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]); - sym._k = tag; - return sym; -}; - -var isSymbol = USE_NATIVE && _typeof($Symbol.iterator) == 'symbol' ? function (it) { - return (typeof it === 'undefined' ? 'undefined' : _typeof(it)) == 'symbol'; -} : function (it) { - return it instanceof $Symbol; -}; - -var $defineProperty = function defineProperty(it, key, D) { - if (it === ObjectProto) $defineProperty(OPSymbols, key, D); - anObject(it); - key = toPrimitive(key, true); - anObject(D); - if (has(AllSymbols, key)) { - if (!D.enumerable) { - if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {})); - it[HIDDEN][key] = true; - } else { - if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false; - D = _create(D, { enumerable: createDesc(0, false) }); - }return setSymbolDesc(it, key, D); - }return dP(it, key, D); -}; -var $defineProperties = function defineProperties(it, P) { - anObject(it); - var keys = enumKeys(P = toIObject(P)), - i = 0, - l = keys.length, - key; - while (l > i) { - $defineProperty(it, key = keys[i++], P[key]); - }return it; -}; -var $create = function create(it, P) { - return P === undefined ? _create(it) : $defineProperties(_create(it), P); -}; -var $propertyIsEnumerable = function propertyIsEnumerable(key) { - var E = isEnum.call(this, key = toPrimitive(key, true)); - if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false; - return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true; -}; -var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) { - it = toIObject(it); - key = toPrimitive(key, true); - if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return; - var D = gOPD(it, key); - if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true; - return D; -}; -var $getOwnPropertyNames = function getOwnPropertyNames(it) { - var names = gOPN(toIObject(it)), - result = [], - i = 0, - key; - while (names.length > i) { - if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key); - }return result; -}; -var $getOwnPropertySymbols = function getOwnPropertySymbols(it) { - var IS_OP = it === ObjectProto, - names = gOPN(IS_OP ? OPSymbols : toIObject(it)), - result = [], - i = 0, - key; - while (names.length > i) { - if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]); - }return result; -}; - -// 19.4.1.1 Symbol([description]) -if (!USE_NATIVE) { - $Symbol = function _Symbol() { - if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!'); - var tag = uid(arguments.length > 0 ? arguments[0] : undefined); - var $set = function $set(value) { - if (this === ObjectProto) $set.call(OPSymbols, value); - if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false; - setSymbolDesc(this, tag, createDesc(1, value)); - }; - if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set }); - return wrap(tag); - }; - redefine($Symbol[PROTOTYPE], 'toString', function toString() { - return this._k; - }); - - $GOPD.f = $getOwnPropertyDescriptor; - $DP.f = $defineProperty; - __webpack_require__(159).f = gOPNExt.f = $getOwnPropertyNames; - __webpack_require__(65).f = $propertyIsEnumerable; - __webpack_require__(103).f = $getOwnPropertySymbols; - - if (DESCRIPTORS && !__webpack_require__(101)) { - redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true); - } - - wksExt.f = function (name) { - return wrap(wks(name)); - }; -} - -$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol }); - -for (var symbols = -// 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14 -'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'.split(','), i = 0; symbols.length > i;) { - wks(symbols[i++]); -}for (var symbols = $keys(wks.store), i = 0; symbols.length > i;) { - wksDefine(symbols[i++]); -}$export($export.S + $export.F * !USE_NATIVE, 'Symbol', { - // 19.4.2.1 Symbol.for(key) - 'for': function _for(key) { - return has(SymbolRegistry, key += '') ? SymbolRegistry[key] : SymbolRegistry[key] = $Symbol(key); - }, - // 19.4.2.5 Symbol.keyFor(sym) - keyFor: function keyFor(key) { - if (isSymbol(key)) return keyOf(SymbolRegistry, key); - throw TypeError(key + ' is not a symbol!'); - }, - useSetter: function useSetter() { - setter = true; - }, - useSimple: function useSimple() { - setter = false; - } -}); - -$export($export.S + $export.F * !USE_NATIVE, 'Object', { - // 19.1.2.2 Object.create(O [, Properties]) - create: $create, - // 19.1.2.4 Object.defineProperty(O, P, Attributes) - defineProperty: $defineProperty, - // 19.1.2.3 Object.defineProperties(O, Properties) - defineProperties: $defineProperties, - // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) - getOwnPropertyDescriptor: $getOwnPropertyDescriptor, - // 19.1.2.7 Object.getOwnPropertyNames(O) - getOwnPropertyNames: $getOwnPropertyNames, - // 19.1.2.8 Object.getOwnPropertySymbols(O) - getOwnPropertySymbols: $getOwnPropertySymbols -}); - -// 24.3.2 JSON.stringify(value [, replacer [, space]]) -$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () { - var S = $Symbol(); - // MS Edge converts symbol values to JSON as {} - // WebKit converts symbol values to JSON as null - // V8 throws on boxed symbols - return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}'; -})), 'JSON', { - stringify: function stringify(it) { - if (it === undefined || isSymbol(it)) return; // IE8 returns string on undefined - var args = [it], - i = 1, - replacer, - $replacer; - while (arguments.length > i) { - args.push(arguments[i++]); - }replacer = args[1]; - if (typeof replacer == 'function') $replacer = replacer; - if ($replacer || !isArray(replacer)) replacer = function replacer(key, value) { - if ($replacer) value = $replacer.call(this, key, value); - if (!isSymbol(value)) return value; - }; - args[1] = replacer; - return _stringify.apply($JSON, args); - } -}); - -// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint) -$Symbol[PROTOTYPE][TO_PRIMITIVE] || __webpack_require__(50)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf); -// 19.4.3.5 Symbol.prototype[@@toStringTag] -setToStringTag($Symbol, 'Symbol'); -// 20.2.1.9 Math[@@toStringTag] -setToStringTag(Math, 'Math', true); -// 24.3.3 JSON[@@toStringTag] -setToStringTag(global.JSON, 'JSON', true); - -/***/ }), -/* 297 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -// https://github.com/tc39/proposal-object-values-entries -var $export = __webpack_require__(34), - $entries = __webpack_require__(161)(true); - -$export($export.S, 'Object', { - entries: function entries(it) { - return $entries(it); - } -}); - -/***/ }), -/* 298 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -// https://github.com/tc39/proposal-object-values-entries -var $export = __webpack_require__(34), - $values = __webpack_require__(161)(false); - -$export($export.S, 'Object', { - values: function values(it) { - return $values(it); - } -}); - -/***/ }), -/* 299 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -__webpack_require__(110)('asyncIterator'); - -/***/ }), -/* 300 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -__webpack_require__(110)('observable'); - -/***/ }), -/* 301 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -__webpack_require__(291); -var global = __webpack_require__(35), - hide = __webpack_require__(50), - Iterators = __webpack_require__(64), - TO_STRING_TAG = __webpack_require__(27)('toStringTag'); - -for (var collections = ['NodeList', 'DOMTokenList', 'MediaList', 'StyleSheetList', 'CSSRuleList'], i = 0; i < 5; i++) { - var NAME = collections[i], - Collection = global[NAME], - proto = Collection && Collection.prototype; - if (proto && !proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME); - Iterators[NAME] = Iterators.Array; -} - -/***/ }), -/* 302 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -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 _assign = __webpack_require__(14); - -var emptyObject = __webpack_require__(54); -var _invariant = __webpack_require__(10); - -if (process.env.NODE_ENV !== 'production') { - 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; -} - -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 <div>Hello World</div>; - * } - * }); - * - * 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 <div>Hello, {name}!</div>; - * } - * - * @return {ReactComponent} - * @nosideeffects - * @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 displayName(Constructor, _displayName) { - Constructor.displayName = _displayName; - }, - mixins: function mixins(Constructor, _mixins) { - if (_mixins) { - for (var i = 0; i < _mixins.length; i++) { - mixSpecIntoComponent(Constructor, _mixins[i]); - } - } - }, - childContextTypes: function childContextTypes(Constructor, _childContextTypes) { - if (process.env.NODE_ENV !== 'production') { - validateTypeDef(Constructor, _childContextTypes, 'childContext'); - } - Constructor.childContextTypes = _assign({}, Constructor.childContextTypes, _childContextTypes); - }, - contextTypes: function contextTypes(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 getDefaultProps(Constructor, _getDefaultProps) { - if (Constructor.getDefaultProps) { - Constructor.getDefaultProps = createMergedResultFunction(Constructor.getDefaultProps, _getDefaultProps); - } else { - Constructor.getDefaultProps = _getDefaultProps; - } - }, - propTypes: function propTypes(Constructor, _propTypes) { - if (process.env.NODE_ENV !== 'production') { - validateTypeDef(Constructor, _propTypes, 'prop'); - } - Constructor.propTypes = _assign({}, Constructor.propTypes, _propTypes); - }, - statics: function statics(Constructor, _statics) { - mixStaticSpecIntoComponent(Constructor, _statics); - }, - autobind: function autobind() {} }; - - 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)) { - _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); - } - - // 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); - } - } - - /** - * 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 === 'undefined' ? 'undefined' : _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; - } - - _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.'); - - 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. - _invariant(isReactClassMethod && (specPolicy === 'DEFINE_MANY_MERGED' || specPolicy === 'DEFINE_MANY'), 'ReactClass: Unexpected spec policy %s for key %s ' + 'when mixing in component specs.', specPolicy, name); - - // 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; - _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); - - var isInherited = name in Constructor; - _invariant(!isInherited, 'ReactClass: You are attempting to define ' + '`%s` on your component more than once. This conflict may be ' + 'due to a mixin.', name); - 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 === 'undefined' ? 'undefined' : _typeof(one)) === 'object' && (typeof two === 'undefined' ? 'undefined' : _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]; - } - } - 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); - } - } - - var IsMountedMixin = { - componentDidMount: function componentDidMount() { - this.__isMounted = true; - }, - componentWillUnmount: function componentWillUnmount() { - this.__isMounted = false; - } - }; - - /** - * 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 replaceState(newState, callback) { - this.updater.enqueueReplaceState(this, newState, callback); - }, - - /** - * Checks whether or not this composite component is mounted. - * @return {boolean} True if mounted, false otherwise. - * @protected - * @final - */ - isMounted: function isMounted() { - if (process.env.NODE_ENV !== 'production') { - 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') : void 0; - this.__didWarnIsMounted = true; - } - return !!this.__isMounted; - } - }; - - var ReactClassComponent = function ReactClassComponent() {}; - _assign(ReactClassComponent.prototype, ReactComponent.prototype, ReactClassMixin); - - /** - * 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') { - 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; - } - } - _invariant((typeof initialState === 'undefined' ? 'undefined' : _typeof(initialState)) === 'object' && !Array.isArray(initialState), '%s.getInitialState(): must return an object or null', Constructor.displayName || 'ReactCompositeComponent'); - - this.state = initialState; - }); - Constructor.prototype = new ReactClassComponent(); - Constructor.prototype.constructor = Constructor; - Constructor.prototype.__reactAutoBindPairs = []; - - injectedMixins.forEach(mixSpecIntoComponent.bind(null, Constructor)); - - mixSpecIntoComponent(Constructor, IsMountedMixin); - 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 = {}; - } - } - - _invariant(Constructor.prototype.render, 'createClass(...): Class specification must implement a `render` method.'); - - 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; - } - - return createClass; -} - -module.exports = factory; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 303 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = addClass; - -var _hasClass = __webpack_require__(166); - -var _hasClass2 = _interopRequireDefault(_hasClass); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -function addClass(element, className) { - if (element.classList) element.classList.add(className);else if (!(0, _hasClass2.default)(element)) element.className = element.className + ' ' + className; -} -module.exports = exports['default']; - -/***/ }), -/* 304 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.hasClass = exports.removeClass = exports.addClass = undefined; - -var _addClass = __webpack_require__(303); - -var _addClass2 = _interopRequireDefault(_addClass); - -var _removeClass = __webpack_require__(305); - -var _removeClass2 = _interopRequireDefault(_removeClass); - -var _hasClass = __webpack_require__(166); - -var _hasClass2 = _interopRequireDefault(_hasClass); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -exports.addClass = _addClass2.default; -exports.removeClass = _removeClass2.default; -exports.hasClass = _hasClass2.default; -exports.default = { addClass: _addClass2.default, removeClass: _removeClass2.default, hasClass: _hasClass2.default }; - -/***/ }), -/* 305 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = function removeClass(element, className) { - if (element.classList) element.classList.remove(className);else element.className = element.className.replace(new RegExp('(^|\\s)' + className + '(?:\\s|$)', 'g'), '$1').replace(/\s+/g, ' ').replace(/^\s*|\s*$/g, ''); -}; - -/***/ }), -/* 306 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = filterEvents; - -var _contains = __webpack_require__(53); - -var _contains2 = _interopRequireDefault(_contains); - -var _querySelectorAll = __webpack_require__(311); - -var _querySelectorAll2 = _interopRequireDefault(_querySelectorAll); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -function filterEvents(selector, handler) { - return function filterHandler(e) { - var top = e.currentTarget, - target = e.target, - matches = (0, _querySelectorAll2.default)(top, selector); - - if (matches.some(function (match) { - return (0, _contains2.default)(match, target); - })) handler.call(this, e); - }; -} -module.exports = exports['default']; - -/***/ }), -/* 307 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.listen = exports.filter = exports.off = exports.on = undefined; - -var _on = __webpack_require__(76); - -var _on2 = _interopRequireDefault(_on); - -var _off = __webpack_require__(112); - -var _off2 = _interopRequireDefault(_off); - -var _filter = __webpack_require__(306); - -var _filter2 = _interopRequireDefault(_filter); - -var _listen = __webpack_require__(308); - -var _listen2 = _interopRequireDefault(_listen); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -exports.on = _on2.default; -exports.off = _off2.default; -exports.filter = _filter2.default; -exports.listen = _listen2.default; -exports.default = { on: _on2.default, off: _off2.default, filter: _filter2.default, listen: _listen2.default }; - -/***/ }), -/* 308 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _inDOM = __webpack_require__(37); - -var _inDOM2 = _interopRequireDefault(_inDOM); - -var _on = __webpack_require__(76); - -var _on2 = _interopRequireDefault(_on); - -var _off = __webpack_require__(112); - -var _off2 = _interopRequireDefault(_off); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -var listen = function listen() {}; - -if (_inDOM2.default) { - listen = function listen(node, eventName, handler, capture) { - (0, _on2.default)(node, eventName, handler, capture); - return function () { - (0, _off2.default)(node, eventName, handler, capture); - }; - }; -} - -exports.default = listen; -module.exports = exports['default']; - -/***/ }), -/* 309 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = offsetParent; - -var _ownerDocument = __webpack_require__(52); - -var _ownerDocument2 = _interopRequireDefault(_ownerDocument); - -var _style = __webpack_require__(78); - -var _style2 = _interopRequireDefault(_style); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -function nodeName(node) { - return node.nodeName && node.nodeName.toLowerCase(); -} - -function offsetParent(node) { - var doc = (0, _ownerDocument2.default)(node), - offsetParent = node && node.offsetParent; - - while (offsetParent && nodeName(node) !== 'html' && (0, _style2.default)(offsetParent, 'position') === 'static') { - offsetParent = offsetParent.offsetParent; - } - - return offsetParent || doc.documentElement; -} -module.exports = exports['default']; - -/***/ }), -/* 310 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -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; -}; - -exports.default = position; - -var _offset = __webpack_require__(167); - -var _offset2 = _interopRequireDefault(_offset); - -var _offsetParent = __webpack_require__(309); - -var _offsetParent2 = _interopRequireDefault(_offsetParent); - -var _scrollTop = __webpack_require__(168); - -var _scrollTop2 = _interopRequireDefault(_scrollTop); - -var _scrollLeft = __webpack_require__(312); - -var _scrollLeft2 = _interopRequireDefault(_scrollLeft); - -var _style = __webpack_require__(78); - -var _style2 = _interopRequireDefault(_style); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -function nodeName(node) { - return node.nodeName && node.nodeName.toLowerCase(); -} - -function position(node, offsetParent) { - var parentOffset = { top: 0, left: 0 }, - offset; - - // Fixed elements are offset from window (parentOffset = {top:0, left: 0}, - // because it is its only offset parent - if ((0, _style2.default)(node, 'position') === 'fixed') { - offset = node.getBoundingClientRect(); - } else { - offsetParent = offsetParent || (0, _offsetParent2.default)(node); - offset = (0, _offset2.default)(node); - - if (nodeName(offsetParent) !== 'html') parentOffset = (0, _offset2.default)(offsetParent); - - parentOffset.top += parseInt((0, _style2.default)(offsetParent, 'borderTopWidth'), 10) - (0, _scrollTop2.default)(offsetParent) || 0; - parentOffset.left += parseInt((0, _style2.default)(offsetParent, 'borderLeftWidth'), 10) - (0, _scrollLeft2.default)(offsetParent) || 0; - } - - // Subtract parent offsets and node margins - return _extends({}, offset, { - top: offset.top - parentOffset.top - (parseInt((0, _style2.default)(node, 'marginTop'), 10) || 0), - left: offset.left - parentOffset.left - (parseInt((0, _style2.default)(node, 'marginLeft'), 10) || 0) - }); -} -module.exports = exports['default']; - -/***/ }), -/* 311 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = qsa; -// Zepto.js -// (c) 2010-2015 Thomas Fuchs -// Zepto.js may be freely distributed under the MIT license. -var simpleSelectorRE = /^[\w-]*$/; -var toArray = Function.prototype.bind.call(Function.prototype.call, [].slice); - -function qsa(element, selector) { - var maybeID = selector[0] === '#', - maybeClass = selector[0] === '.', - nameOnly = maybeID || maybeClass ? selector.slice(1) : selector, - isSimple = simpleSelectorRE.test(nameOnly), - found; - - if (isSimple) { - if (maybeID) { - element = element.getElementById ? element : document; - return (found = element.getElementById(nameOnly)) ? [found] : []; - } - - if (element.getElementsByClassName && maybeClass) return toArray(element.getElementsByClassName(nameOnly)); - - return toArray(element.getElementsByTagName(selector)); - } - - return toArray(element.querySelectorAll(selector)); -} -module.exports = exports['default']; - -/***/ }), -/* 312 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = scrollTop; - -var _isWindow = __webpack_require__(77); - -var _isWindow2 = _interopRequireDefault(_isWindow); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -function scrollTop(node, val) { - var win = (0, _isWindow2.default)(node); - - if (val === undefined) return win ? 'pageXOffset' in win ? win.pageXOffset : win.document.documentElement.scrollLeft : node.scrollLeft; - - if (win) win.scrollTo(val, 'pageYOffset' in win ? win.pageYOffset : win.document.documentElement.scrollTop);else node.scrollLeft = val; -} -module.exports = exports['default']; - -/***/ }), -/* 313 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = _getComputedStyle; - -var _camelizeStyle = __webpack_require__(170); - -var _camelizeStyle2 = _interopRequireDefault(_camelizeStyle); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -var rposition = /^(top|right|bottom|left)$/; -var rnumnonpx = /^([+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|))(?!px)[a-z%]+$/i; - -function _getComputedStyle(node) { - if (!node) throw new TypeError('No Element passed to `getComputedStyle()`'); - var doc = node.ownerDocument; - - return 'defaultView' in doc ? doc.defaultView.opener ? node.ownerDocument.defaultView.getComputedStyle(node, null) : window.getComputedStyle(node, null) : { - //ie 8 "magic" from: https://github.com/jquery/jquery/blob/1.11-stable/src/css/curCSS.js#L72 - getPropertyValue: function getPropertyValue(prop) { - var style = node.style; - - prop = (0, _camelizeStyle2.default)(prop); - - if (prop == 'float') prop = 'styleFloat'; - - var current = node.currentStyle[prop] || null; - - if (current == null && style && style[prop]) current = style[prop]; - - if (rnumnonpx.test(current) && !rposition.test(prop)) { - // Remember the original values - var left = style.left; - var runStyle = node.runtimeStyle; - var rsLeft = runStyle && runStyle.left; - - // Put in the new values to get a computed value out - if (rsLeft) runStyle.left = node.currentStyle.left; - - style.left = prop === 'fontSize' ? '1em' : current; - current = style.pixelLeft + 'px'; - - // Revert the changed values - style.left = left; - if (rsLeft) runStyle.left = rsLeft; - } - - return current; - } - }; -} -module.exports = exports['default']; - -/***/ }), -/* 314 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = removeStyle; -function removeStyle(node, key) { - return 'removeProperty' in node.style ? node.style.removeProperty(key) : node.style.removeAttribute(key); -} -module.exports = exports['default']; - -/***/ }), -/* 315 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = isTransform; -var supportedTransforms = /^((translate|rotate|scale)(X|Y|Z|3d)?|matrix(3d)?|perspective|skew(X|Y)?)$/i; - -function isTransform(property) { - return !!(property && supportedTransforms.test(property)); -} -module.exports = exports["default"]; - -/***/ }), -/* 316 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = camelize; -var rHyphen = /-(.)/g; - -function camelize(string) { - return string.replace(rHyphen, function (_, chr) { - return chr.toUpperCase(); - }); -} -module.exports = exports["default"]; - -/***/ }), -/* 317 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = hyphenate; - -var rUpper = /([A-Z])/g; - -function hyphenate(string) { - return string.replace(rUpper, '-$1').toLowerCase(); -} -module.exports = exports['default']; - -/***/ }), -/* 318 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = hyphenateStyleName; - -var _hyphenate = __webpack_require__(317); - -var _hyphenate2 = _interopRequireDefault(_hyphenate); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -var msPattern = /^ms-/; /** - * Copyright 2013-2014, Facebook, Inc. - * All rights reserved. - * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/hyphenateStyleName.js - */ - -function hyphenateStyleName(string) { - return (0, _hyphenate2.default)(string).replace(msPattern, '-ms-'); -} -module.exports = exports['default']; - -/***/ }), -/* 319 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @typechecks - */ - -var _hyphenPattern = /-(.)/g; - -/** - * Camelcases a hyphenated string, for example: - * - * > camelize('background-color') - * < "backgroundColor" - * - * @param {string} string - * @return {string} - */ -function camelize(string) { - return string.replace(_hyphenPattern, function (_, character) { - return character.toUpperCase(); - }); -} - -module.exports = camelize; - -/***/ }), -/* 320 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @typechecks - */ - - - -var camelize = __webpack_require__(319); - -var msPattern = /^-ms-/; - -/** - * Camelcases a hyphenated CSS property name, for example: - * - * > camelizeStyleName('background-color') - * < "backgroundColor" - * > camelizeStyleName('-moz-transition') - * < "MozTransition" - * > camelizeStyleName('-ms-transition') - * < "msTransition" - * - * As Andi Smith suggests - * (http://www.andismith.com/blog/2012/02/modernizr-prefixed/), an `-ms` prefix - * is converted to lowercase `ms`. - * - * @param {string} string - * @return {string} - */ -function camelizeStyleName(string) { - return camelize(string.replace(msPattern, 'ms-')); -} - -module.exports = camelizeStyleName; - -/***/ }), -/* 321 */ -/***/ (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. - * - * - */ - -var isTextNode = __webpack_require__(329); - -/*eslint-disable no-bitwise */ - -/** - * Checks if a given DOM node contains or is another DOM node. - */ -function containsNode(outerNode, innerNode) { - if (!outerNode || !innerNode) { - return false; - } else if (outerNode === innerNode) { - return true; - } else if (isTextNode(outerNode)) { - return false; - } else if (isTextNode(innerNode)) { - return containsNode(outerNode, innerNode.parentNode); - } else if ('contains' in outerNode) { - return outerNode.contains(innerNode); - } else if (outerNode.compareDocumentPosition) { - return !!(outerNode.compareDocumentPosition(innerNode) & 16); - } else { - return false; - } -} - -module.exports = containsNode; - -/***/ }), -/* 322 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @typechecks - */ - -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 invariant = __webpack_require__(10); - -/** - * Convert array-like objects to arrays. - * - * This API assumes the caller knows the contents of the data type. For less - * well defined inputs use createArrayFromMixed. - * - * @param {object|function|filelist} obj - * @return {array} - */ -function toArray(obj) { - var length = obj.length; - - // Some browsers builtin objects can report typeof 'function' (e.g. NodeList - // in old versions of Safari). - !(!Array.isArray(obj) && ((typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) === 'object' || typeof obj === 'function')) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'toArray: Array-like object expected') : invariant(false) : void 0; - - !(typeof length === 'number') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'toArray: Object needs a length property') : invariant(false) : void 0; - - !(length === 0 || length - 1 in obj) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'toArray: Object should have keys for indices') : invariant(false) : void 0; - - !(typeof obj.callee !== 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'toArray: Object can\'t be `arguments`. Use rest params ' + '(function(...args) {}) or Array.from() instead.') : invariant(false) : void 0; - - // Old IE doesn't give collections access to hasOwnProperty. Assume inputs - // without method will throw during the slice call and skip straight to the - // fallback. - if (obj.hasOwnProperty) { - try { - return Array.prototype.slice.call(obj); - } catch (e) { - // IE < 9 does not support Array#slice on collections objects - } - } - - // Fall back to copying key by key. This assumes all keys have a value, - // so will not preserve sparsely populated inputs. - var ret = Array(length); - for (var ii = 0; ii < length; ii++) { - ret[ii] = obj[ii]; - } - return ret; -} - -/** - * Perform a heuristic test to determine if an object is "array-like". - * - * A monk asked Joshu, a Zen master, "Has a dog Buddha nature?" - * Joshu replied: "Mu." - * - * This function determines if its argument has "array nature": it returns - * true if the argument is an actual array, an `arguments' object, or an - * HTMLCollection (e.g. node.childNodes or node.getElementsByTagName()). - * - * It will return false for other array-like objects like Filelist. - * - * @param {*} obj - * @return {boolean} - */ -function hasArrayNature(obj) { - return ( - // not null/false - !!obj && ( - // arrays are objects, NodeLists are functions in Safari - (typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) == 'object' || typeof obj == 'function') && - // quacks like an array - 'length' in obj && - // not window - !('setInterval' in obj) && - // no DOM node should be considered an array-like - // a 'select' element has 'length' and 'item' properties on IE8 - typeof obj.nodeType != 'number' && ( - // a real array - Array.isArray(obj) || - // arguments - 'callee' in obj || - // HTMLCollection/NodeList - 'item' in obj) - ); -} - -/** - * Ensure that the argument is an array by wrapping it in an array if it is not. - * Creates a copy of the argument if it is already an array. - * - * This is mostly useful idiomatically: - * - * var createArrayFromMixed = require('createArrayFromMixed'); - * - * function takesOneOrMoreThings(things) { - * things = createArrayFromMixed(things); - * ... - * } - * - * This allows you to treat `things' as an array, but accept scalars in the API. - * - * If you need to convert an array-like object, like `arguments`, into an array - * use toArray instead. - * - * @param {*} obj - * @return {array} - */ -function createArrayFromMixed(obj) { - if (!hasArrayNature(obj)) { - return [obj]; - } else if (Array.isArray(obj)) { - return obj.slice(); - } else { - return toArray(obj); - } -} - -module.exports = createArrayFromMixed; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 323 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @typechecks - */ - -/*eslint-disable fb-www/unsafe-html*/ - -var ExecutionEnvironment = __webpack_require__(18); - -var createArrayFromMixed = __webpack_require__(322); -var getMarkupWrap = __webpack_require__(324); -var invariant = __webpack_require__(10); - -/** - * Dummy container used to render all markup. - */ -var dummyNode = ExecutionEnvironment.canUseDOM ? document.createElement('div') : null; - -/** - * Pattern used by `getNodeName`. - */ -var nodeNamePattern = /^\s*<(\w+)/; - -/** - * Extracts the `nodeName` of the first element in a string of markup. - * - * @param {string} markup String of markup. - * @return {?string} Node name of the supplied markup. - */ -function getNodeName(markup) { - var nodeNameMatch = markup.match(nodeNamePattern); - return nodeNameMatch && nodeNameMatch[1].toLowerCase(); -} - -/** - * Creates an array containing the nodes rendered from the supplied markup. The - * optionally supplied `handleScript` function will be invoked once for each - * <script> element that is rendered. If no `handleScript` function is supplied, - * an exception is thrown if any <script> elements are rendered. - * - * @param {string} markup A string of valid HTML markup. - * @param {?function} handleScript Invoked once for each rendered <script>. - * @return {array<DOMElement|DOMTextNode>} An array of rendered nodes. - */ -function createNodesFromMarkup(markup, handleScript) { - var node = dummyNode; - !!!dummyNode ? process.env.NODE_ENV !== 'production' ? invariant(false, 'createNodesFromMarkup dummy not initialized') : invariant(false) : void 0; - var nodeName = getNodeName(markup); - - var wrap = nodeName && getMarkupWrap(nodeName); - if (wrap) { - node.innerHTML = wrap[1] + markup + wrap[2]; - - var wrapDepth = wrap[0]; - while (wrapDepth--) { - node = node.lastChild; - } - } else { - node.innerHTML = markup; - } - - var scripts = node.getElementsByTagName('script'); - if (scripts.length) { - !handleScript ? process.env.NODE_ENV !== 'production' ? invariant(false, 'createNodesFromMarkup(...): Unexpected <script> element rendered.') : invariant(false) : void 0; - createArrayFromMixed(scripts).forEach(handleScript); - } - - var nodes = Array.from(node.childNodes); - while (node.lastChild) { - node.removeChild(node.lastChild); - } - return nodes; -} - -module.exports = createNodesFromMarkup; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 324 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - -/*eslint-disable fb-www/unsafe-html */ - -var ExecutionEnvironment = __webpack_require__(18); - -var invariant = __webpack_require__(10); - -/** - * Dummy container used to detect which wraps are necessary. - */ -var dummyNode = ExecutionEnvironment.canUseDOM ? document.createElement('div') : null; - -/** - * Some browsers cannot use `innerHTML` to render certain elements standalone, - * so we wrap them, render the wrapped nodes, then extract the desired node. - * - * In IE8, certain elements cannot render alone, so wrap all elements ('*'). - */ - -var shouldWrap = {}; - -var selectWrap = [1, '<select multiple="true">', '</select>']; -var tableWrap = [1, '<table>', '</table>']; -var trWrap = [3, '<table><tbody><tr>', '</tr></tbody></table>']; - -var svgWrap = [1, '<svg xmlns="http://www.w3.org/2000/svg">', '</svg>']; - -var markupWrap = { - '*': [1, '?<div>', '</div>'], - - 'area': [1, '<map>', '</map>'], - 'col': [2, '<table><tbody></tbody><colgroup>', '</colgroup></table>'], - 'legend': [1, '<fieldset>', '</fieldset>'], - 'param': [1, '<object>', '</object>'], - 'tr': [2, '<table><tbody>', '</tbody></table>'], - - 'optgroup': selectWrap, - 'option': selectWrap, - - 'caption': tableWrap, - 'colgroup': tableWrap, - 'tbody': tableWrap, - 'tfoot': tableWrap, - 'thead': tableWrap, - - 'td': trWrap, - 'th': trWrap -}; - -// Initialize the SVG elements since we know they'll always need to be wrapped -// consistently. If they are created inside a <div> they will be initialized in -// the wrong namespace (and will not display). -var svgElements = ['circle', 'clipPath', 'defs', 'ellipse', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'text', 'tspan']; -svgElements.forEach(function (nodeName) { - markupWrap[nodeName] = svgWrap; - shouldWrap[nodeName] = true; -}); - -/** - * Gets the markup wrap configuration for the supplied `nodeName`. - * - * NOTE: This lazily detects which wraps are necessary for the current browser. - * - * @param {string} nodeName Lowercase `nodeName`. - * @return {?array} Markup wrap configuration, if applicable. - */ -function getMarkupWrap(nodeName) { - !!!dummyNode ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Markup wrapping node not initialized') : invariant(false) : void 0; - if (!markupWrap.hasOwnProperty(nodeName)) { - nodeName = '*'; - } - if (!shouldWrap.hasOwnProperty(nodeName)) { - if (nodeName === '*') { - dummyNode.innerHTML = '<link />'; - } else { - dummyNode.innerHTML = '<' + nodeName + '></' + nodeName + '>'; - } - shouldWrap[nodeName] = !dummyNode.firstChild; - } - return shouldWrap[nodeName] ? markupWrap[nodeName] : null; -} - -module.exports = getMarkupWrap; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 325 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @typechecks - */ - - - -/** - * Gets the scroll position of the supplied element or window. - * - * The return values are unbounded, unlike `getScrollPosition`. This means they - * may be negative or exceed the element boundaries (which is possible using - * inertial scrolling). - * - * @param {DOMWindow|DOMElement} scrollable - * @return {object} Map with `x` and `y` keys. - */ - -function getUnboundedScrollPosition(scrollable) { - if (scrollable.Window && scrollable instanceof scrollable.Window) { - return { - x: scrollable.pageXOffset || scrollable.document.documentElement.scrollLeft, - y: scrollable.pageYOffset || scrollable.document.documentElement.scrollTop - }; - } - return { - x: scrollable.scrollLeft, - y: scrollable.scrollTop - }; -} - -module.exports = getUnboundedScrollPosition; - -/***/ }), -/* 326 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @typechecks - */ - -var _uppercasePattern = /([A-Z])/g; - -/** - * Hyphenates a camelcased string, for example: - * - * > hyphenate('backgroundColor') - * < "background-color" - * - * For CSS style names, use `hyphenateStyleName` instead which works properly - * with all vendor prefixes, including `ms`. - * - * @param {string} string - * @return {string} - */ -function hyphenate(string) { - return string.replace(_uppercasePattern, '-$1').toLowerCase(); -} - -module.exports = hyphenate; - -/***/ }), -/* 327 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @typechecks - */ - - - -var hyphenate = __webpack_require__(326); - -var msPattern = /^ms-/; - -/** - * Hyphenates a camelcased CSS property name, for example: - * - * > hyphenateStyleName('backgroundColor') - * < "background-color" - * > hyphenateStyleName('MozTransition') - * < "-moz-transition" - * > hyphenateStyleName('msTransition') - * < "-ms-transition" - * - * As Modernizr suggests (http://modernizr.com/docs/#prefixed), an `ms` prefix - * is converted to `-ms-`. - * - * @param {string} string - * @return {string} - */ -function hyphenateStyleName(string) { - return hyphenate(string).replace(msPattern, '-ms-'); -} - -module.exports = hyphenateStyleName; - -/***/ }), -/* 328 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @typechecks - */ - -/** - * @param {*} object The object to check. - * @return {boolean} Whether or not the object is a DOM node. - */ - -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; }; - -function isNode(object) { - var doc = object ? object.ownerDocument || object : document; - var defaultView = doc.defaultView || window; - return !!(object && (typeof defaultView.Node === 'function' ? object instanceof defaultView.Node : (typeof object === 'undefined' ? 'undefined' : _typeof(object)) === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string')); -} - -module.exports = isNode; - -/***/ }), -/* 329 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @typechecks - */ - -var isNode = __webpack_require__(328); - -/** - * @param {*} object The object to check. - * @return {boolean} Whether or not the object is a DOM text node. - */ -function isTextNode(object) { - return isNode(object) && object.nodeType == 3; -} - -module.exports = isTextNode; - -/***/ }), -/* 330 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * - * @typechecks static-only - */ - - - -/** - * Memoizes the return value of a function that accepts one string argument. - */ - -function memoizeStringOnly(callback) { - var cache = {}; - return function (string) { - if (!cache.hasOwnProperty(string)) { - cache[string] = callback.call(this, string); - } - return cache[string]; - }; -} - -module.exports = memoizeStringOnly; - -/***/ }), -/* 331 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @typechecks - */ - - - -var ExecutionEnvironment = __webpack_require__(18); - -var performance; - -if (ExecutionEnvironment.canUseDOM) { - performance = window.performance || window.msPerformance || window.webkitPerformance; -} - -module.exports = performance || {}; - -/***/ }), -/* 332 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @typechecks - */ - -var performance = __webpack_require__(331); - -var performanceNow; - -/** - * Detect if we can use `window.performance.now()` and gracefully fallback to - * `Date.now()` if it doesn't exist. We need to support Firefox < 15 for now - * because of Facebook's testing infrastructure. - */ -if (performance.now) { - performanceNow = function performanceNow() { - return performance.now(); - }; -} else { - performanceNow = function performanceNow() { - return Date.now(); - }; -} - -module.exports = performanceNow; - -/***/ }), -/* 333 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.__esModule = true; -var loopAsync = exports.loopAsync = function loopAsync(turns, work, callback) { - var currentTurn = 0, - isDone = false; - var isSync = false, - hasNext = false, - doneArgs = void 0; - - var done = function done() { - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - isDone = true; - - if (isSync) { - // Iterate instead of recursing if possible. - doneArgs = args; - return; - } - - callback.apply(undefined, args); - }; - - var next = function next() { - if (isDone) return; - - hasNext = true; - - if (isSync) return; // Iterate instead of recursing if possible. - - isSync = true; - - while (!isDone && currentTurn < turns && hasNext) { - hasNext = false; - work(currentTurn++, next, done); - } - - isSync = false; - - if (isDone) { - // This means the loop finished synchronously. - callback.apply(undefined, doneArgs); - return; - } - - if (currentTurn >= turns && hasNext) { - isDone = true; - callback(); - } - }; - - next(); -}; - -/***/ }), -/* 334 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -exports.__esModule = true; -exports.replaceLocation = exports.pushLocation = exports.startListener = exports.getCurrentLocation = exports.go = exports.getUserConfirmation = undefined; - -var _BrowserProtocol = __webpack_require__(114); - -Object.defineProperty(exports, 'getUserConfirmation', { - enumerable: true, - get: function get() { - return _BrowserProtocol.getUserConfirmation; - } -}); -Object.defineProperty(exports, 'go', { - enumerable: true, - get: function get() { - return _BrowserProtocol.go; - } -}); - -var _warning = __webpack_require__(16); - -var _warning2 = _interopRequireDefault(_warning); - -var _LocationUtils = __webpack_require__(55); - -var _DOMUtils = __webpack_require__(80); - -var _DOMStateStorage = __webpack_require__(175); - -var _PathUtils = __webpack_require__(38); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -var HashChangeEvent = 'hashchange'; - -var getHashPath = function getHashPath() { - // We can't use window.location.hash here because it's not - // consistent across browsers - Firefox will pre-decode it! - var href = window.location.href; - var hashIndex = href.indexOf('#'); - return hashIndex === -1 ? '' : href.substring(hashIndex + 1); -}; - -var pushHashPath = function pushHashPath(path) { - return window.location.hash = path; -}; - -var replaceHashPath = function replaceHashPath(path) { - var hashIndex = window.location.href.indexOf('#'); - - window.location.replace(window.location.href.slice(0, hashIndex >= 0 ? hashIndex : 0) + '#' + path); -}; - -var getCurrentLocation = exports.getCurrentLocation = function getCurrentLocation(pathCoder, queryKey) { - var path = pathCoder.decodePath(getHashPath()); - var key = (0, _PathUtils.getQueryStringValueFromPath)(path, queryKey); - - var state = void 0; - if (key) { - path = (0, _PathUtils.stripQueryStringValueFromPath)(path, queryKey); - state = (0, _DOMStateStorage.readState)(key); - } - - var init = (0, _PathUtils.parsePath)(path); - init.state = state; - - return (0, _LocationUtils.createLocation)(init, undefined, key); -}; - -var prevLocation = void 0; - -var startListener = exports.startListener = function startListener(listener, pathCoder, queryKey) { - var handleHashChange = function handleHashChange() { - var path = getHashPath(); - var encodedPath = pathCoder.encodePath(path); - - if (path !== encodedPath) { - // Always be sure we have a properly-encoded hash. - replaceHashPath(encodedPath); - } else { - var currentLocation = getCurrentLocation(pathCoder, queryKey); - - if (prevLocation && currentLocation.key && prevLocation.key === currentLocation.key) return; // Ignore extraneous hashchange events - - prevLocation = currentLocation; - - listener(currentLocation); - } - }; - - // Ensure the hash is encoded properly. - var path = getHashPath(); - var encodedPath = pathCoder.encodePath(path); - - if (path !== encodedPath) replaceHashPath(encodedPath); - - (0, _DOMUtils.addEventListener)(window, HashChangeEvent, handleHashChange); - - return function () { - return (0, _DOMUtils.removeEventListener)(window, HashChangeEvent, handleHashChange); - }; -}; - -var updateLocation = function updateLocation(location, pathCoder, queryKey, updateHash) { - var state = location.state, - key = location.key; - - var path = pathCoder.encodePath((0, _PathUtils.createPath)(location)); - - if (state !== undefined) { - path = (0, _PathUtils.addQueryStringValueToPath)(path, queryKey, key); - (0, _DOMStateStorage.saveState)(key, state); - } - - prevLocation = location; - - updateHash(path); -}; - -var pushLocation = exports.pushLocation = function pushLocation(location, pathCoder, queryKey) { - return updateLocation(location, pathCoder, queryKey, function (path) { - if (getHashPath() !== path) { - pushHashPath(path); - } else { - process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(false, 'You cannot PUSH the same path using hash history') : void 0; - } - }); -}; - -var replaceLocation = exports.replaceLocation = function replaceLocation(location, pathCoder, queryKey) { - return updateLocation(location, pathCoder, queryKey, function (path) { - if (getHashPath() !== path) replaceHashPath(path); - }); -}; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 335 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.__esModule = true; -exports.replaceLocation = exports.pushLocation = exports.getCurrentLocation = exports.go = exports.getUserConfirmation = undefined; - -var _BrowserProtocol = __webpack_require__(114); - -Object.defineProperty(exports, 'getUserConfirmation', { - enumerable: true, - get: function get() { - return _BrowserProtocol.getUserConfirmation; - } -}); -Object.defineProperty(exports, 'go', { - enumerable: true, - get: function get() { - return _BrowserProtocol.go; - } -}); - -var _LocationUtils = __webpack_require__(55); - -var _PathUtils = __webpack_require__(38); - -var getCurrentLocation = exports.getCurrentLocation = function getCurrentLocation() { - return (0, _LocationUtils.createLocation)(window.location); -}; - -var pushLocation = exports.pushLocation = function pushLocation(location) { - window.location.href = (0, _PathUtils.createPath)(location); - return false; // Don't update location -}; - -var replaceLocation = exports.replaceLocation = function replaceLocation(location) { - window.location.replace((0, _PathUtils.createPath)(location)); - return false; // Don't update location -}; - -/***/ }), -/* 336 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -exports.__esModule = true; - -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 _invariant = __webpack_require__(17); - -var _invariant2 = _interopRequireDefault(_invariant); - -var _ExecutionEnvironment = __webpack_require__(115); - -var _BrowserProtocol = __webpack_require__(114); - -var BrowserProtocol = _interopRequireWildcard(_BrowserProtocol); - -var _RefreshProtocol = __webpack_require__(335); - -var RefreshProtocol = _interopRequireWildcard(_RefreshProtocol); - -var _DOMUtils = __webpack_require__(80); - -var _createHistory = __webpack_require__(116); - -var _createHistory2 = _interopRequireDefault(_createHistory); - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } else { - var newObj = {};if (obj != null) { - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; - } - }newObj.default = obj;return newObj; - } -} - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -/** - * Creates and returns a history object that uses HTML5's history API - * (pushState, replaceState, and the popstate event) to manage history. - * This is the recommended method of managing history in browsers because - * it provides the cleanest URLs. - * - * Note: In browsers that do not support the HTML5 history API full - * page reloads will be used to preserve clean URLs. You can force this - * behavior using { forceRefresh: true } in options. - */ -var createBrowserHistory = function createBrowserHistory() { - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - - !_ExecutionEnvironment.canUseDOM ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'Browser history needs a DOM') : (0, _invariant2.default)(false) : void 0; - - var useRefresh = options.forceRefresh || !(0, _DOMUtils.supportsHistory)(); - var Protocol = useRefresh ? RefreshProtocol : BrowserProtocol; - - var getUserConfirmation = Protocol.getUserConfirmation, - getCurrentLocation = Protocol.getCurrentLocation, - pushLocation = Protocol.pushLocation, - replaceLocation = Protocol.replaceLocation, - go = Protocol.go; - - var history = (0, _createHistory2.default)(_extends({ - getUserConfirmation: getUserConfirmation }, options, { - getCurrentLocation: getCurrentLocation, - pushLocation: pushLocation, - replaceLocation: replaceLocation, - go: go - })); - - var listenerCount = 0, - stopListener = void 0; - - var startListener = function startListener(listener, before) { - if (++listenerCount === 1) stopListener = BrowserProtocol.startListener(history.transitionTo); - - var unlisten = before ? history.listenBefore(listener) : history.listen(listener); - - return function () { - unlisten(); - - if (--listenerCount === 0) stopListener(); - }; - }; - - var listenBefore = function listenBefore(listener) { - return startListener(listener, true); - }; - - var listen = function listen(listener) { - return startListener(listener, false); - }; - - return _extends({}, history, { - listenBefore: listenBefore, - listen: listen - }); -}; - -exports.default = createBrowserHistory; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 337 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -exports.__esModule = true; - -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 _warning = __webpack_require__(16); - -var _warning2 = _interopRequireDefault(_warning); - -var _invariant = __webpack_require__(17); - -var _invariant2 = _interopRequireDefault(_invariant); - -var _ExecutionEnvironment = __webpack_require__(115); - -var _DOMUtils = __webpack_require__(80); - -var _HashProtocol = __webpack_require__(334); - -var HashProtocol = _interopRequireWildcard(_HashProtocol); - -var _createHistory = __webpack_require__(116); - -var _createHistory2 = _interopRequireDefault(_createHistory); - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } else { - var newObj = {};if (obj != null) { - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; - } - }newObj.default = obj;return newObj; - } -} - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -var DefaultQueryKey = '_k'; - -var addLeadingSlash = function addLeadingSlash(path) { - return path.charAt(0) === '/' ? path : '/' + path; -}; - -var HashPathCoders = { - hashbang: { - encodePath: function encodePath(path) { - return path.charAt(0) === '!' ? path : '!' + path; - }, - decodePath: function decodePath(path) { - return path.charAt(0) === '!' ? path.substring(1) : path; - } - }, - noslash: { - encodePath: function encodePath(path) { - return path.charAt(0) === '/' ? path.substring(1) : path; - }, - decodePath: addLeadingSlash - }, - slash: { - encodePath: addLeadingSlash, - decodePath: addLeadingSlash - } -}; - -var createHashHistory = function createHashHistory() { - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - - !_ExecutionEnvironment.canUseDOM ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'Hash history needs a DOM') : (0, _invariant2.default)(false) : void 0; - - var queryKey = options.queryKey, - hashType = options.hashType; - - process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(queryKey !== false, 'Using { queryKey: false } no longer works. Instead, just don\'t ' + 'use location state if you don\'t want a key in your URL query string') : void 0; - - if (typeof queryKey !== 'string') queryKey = DefaultQueryKey; - - if (hashType == null) hashType = 'slash'; - - if (!(hashType in HashPathCoders)) { - process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(false, 'Invalid hash type: %s', hashType) : void 0; - - hashType = 'slash'; - } - - var pathCoder = HashPathCoders[hashType]; - - var getUserConfirmation = HashProtocol.getUserConfirmation; - - var getCurrentLocation = function getCurrentLocation() { - return HashProtocol.getCurrentLocation(pathCoder, queryKey); - }; - - var pushLocation = function pushLocation(location) { - return HashProtocol.pushLocation(location, pathCoder, queryKey); - }; - - var replaceLocation = function replaceLocation(location) { - return HashProtocol.replaceLocation(location, pathCoder, queryKey); - }; - - var history = (0, _createHistory2.default)(_extends({ - getUserConfirmation: getUserConfirmation }, options, { - getCurrentLocation: getCurrentLocation, - pushLocation: pushLocation, - replaceLocation: replaceLocation, - go: HashProtocol.go - })); - - var listenerCount = 0, - stopListener = void 0; - - var startListener = function startListener(listener, before) { - if (++listenerCount === 1) stopListener = HashProtocol.startListener(history.transitionTo, pathCoder, queryKey); - - var unlisten = before ? history.listenBefore(listener) : history.listen(listener); - - return function () { - unlisten(); - - if (--listenerCount === 0) stopListener(); - }; - }; - - var listenBefore = function listenBefore(listener) { - return startListener(listener, true); - }; - - var listen = function listen(listener) { - return startListener(listener, false); - }; - - var goIsSupportedWithoutReload = (0, _DOMUtils.supportsGoWithoutReloadUsingHash)(); - - var go = function go(n) { - process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(goIsSupportedWithoutReload, 'Hash history go(n) causes a full page reload in this browser') : void 0; - - history.go(n); - }; - - var createHref = function createHref(path) { - return '#' + pathCoder.encodePath(history.createHref(path)); - }; - - return _extends({}, history, { - listenBefore: listenBefore, - listen: listen, - go: go, - createHref: createHref - }); -}; - -exports.default = createHashHistory; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 338 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -exports.__esModule = true; - -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 _warning = __webpack_require__(16); - -var _warning2 = _interopRequireDefault(_warning); - -var _invariant = __webpack_require__(17); - -var _invariant2 = _interopRequireDefault(_invariant); - -var _LocationUtils = __webpack_require__(55); - -var _PathUtils = __webpack_require__(38); - -var _createHistory = __webpack_require__(116); - -var _createHistory2 = _interopRequireDefault(_createHistory); - -var _Actions = __webpack_require__(79); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -var createStateStorage = function createStateStorage(entries) { - return entries.filter(function (entry) { - return entry.state; - }).reduce(function (memo, entry) { - memo[entry.key] = entry.state; - return memo; - }, {}); -}; - -var createMemoryHistory = function createMemoryHistory() { - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - - if (Array.isArray(options)) { - options = { entries: options }; - } else if (typeof options === 'string') { - options = { entries: [options] }; - } - - var getCurrentLocation = function getCurrentLocation() { - var entry = entries[current]; - var path = (0, _PathUtils.createPath)(entry); - - var key = void 0, - state = void 0; - if (entry.key) { - key = entry.key; - state = readState(key); - } - - var init = (0, _PathUtils.parsePath)(path); - - return (0, _LocationUtils.createLocation)(_extends({}, init, { state: state }), undefined, key); - }; - - var canGo = function canGo(n) { - var index = current + n; - return index >= 0 && index < entries.length; - }; - - var go = function go(n) { - if (!n) return; - - if (!canGo(n)) { - process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(false, 'Cannot go(%s) there is not enough history', n) : void 0; - - return; - } - - current += n; - var currentLocation = getCurrentLocation(); - - // Change action to POP - history.transitionTo(_extends({}, currentLocation, { action: _Actions.POP })); - }; - - var pushLocation = function pushLocation(location) { - current += 1; - - if (current < entries.length) entries.splice(current); - - entries.push(location); - - saveState(location.key, location.state); - }; - - var replaceLocation = function replaceLocation(location) { - entries[current] = location; - saveState(location.key, location.state); - }; - - var history = (0, _createHistory2.default)(_extends({}, options, { - getCurrentLocation: getCurrentLocation, - pushLocation: pushLocation, - replaceLocation: replaceLocation, - go: go - })); - - var _options = options, - entries = _options.entries, - current = _options.current; - - if (typeof entries === 'string') { - entries = [entries]; - } else if (!Array.isArray(entries)) { - entries = ['/']; - } - - entries = entries.map(function (entry) { - return (0, _LocationUtils.createLocation)(entry); - }); - - if (current == null) { - current = entries.length - 1; - } else { - !(current >= 0 && current < entries.length) ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'Current index must be >= 0 and < %s, was %s', entries.length, current) : (0, _invariant2.default)(false) : void 0; - } - - var storage = createStateStorage(entries); - - var saveState = function saveState(key, state) { - return storage[key] = state; - }; - - var readState = function readState(key) { - return storage[key]; - }; - - return _extends({}, history, { - canGo: canGo - }); -}; - -exports.default = createMemoryHistory; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 339 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _Symbol2 = __webpack_require__(179); - -var _Symbol3 = _interopRequireDefault(_Symbol2); - -var _getRawTag = __webpack_require__(342); - -var _getRawTag2 = _interopRequireDefault(_getRawTag); - -var _objectToString = __webpack_require__(343); - -var _objectToString2 = _interopRequireDefault(_objectToString); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** `Object#toString` result references. */ -var nullTag = '[object Null]', - undefinedTag = '[object Undefined]'; - -/** Built-in value references. */ -var symToStringTag = _Symbol3.default ? _Symbol3.default.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) ? (0, _getRawTag2.default)(value) : (0, _objectToString2.default)(value); -} - -exports.default = baseGetTag; - -/***/ }), -/* 340 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(global) { - -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; }; - -/** Detect free variable `global` from Node.js. */ -var freeGlobal = (typeof global === 'undefined' ? 'undefined' : _typeof(global)) == 'object' && global && global.Object === Object && global; - -exports.default = freeGlobal; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(150))) - -/***/ }), -/* 341 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _overArg = __webpack_require__(344); - -var _overArg2 = _interopRequireDefault(_overArg); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** Built-in value references. */ -var getPrototype = (0, _overArg2.default)(Object.getPrototypeOf, Object); - -exports.default = getPrototype; - -/***/ }), -/* 342 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _Symbol2 = __webpack_require__(179); - -var _Symbol3 = _interopRequireDefault(_Symbol2); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** 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/7.0/#sec-object.prototype.tostring) - * of values. - */ -var nativeObjectToString = objectProto.toString; - -/** Built-in value references. */ -var symToStringTag = _Symbol3.default ? _Symbol3.default.toStringTag : undefined; - -/** - * 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; -} - -exports.default = getRawTag; - -/***/ }), -/* 343 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** - * Used to resolve the - * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) - * of values. - */ -var nativeObjectToString = objectProto.toString; - -/** - * 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); -} - -exports.default = objectToString; - -/***/ }), -/* 344 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -/** - * Creates a unary function that invokes `func` with its argument transformed. - * - * @private - * @param {Function} func The function to wrap. - * @param {Function} transform The argument transform. - * @returns {Function} Returns the new function. - */ -function overArg(func, transform) { - return function (arg) { - return func(transform(arg)); - }; -} - -exports.default = overArg; - -/***/ }), -/* 345 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -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 _freeGlobal = __webpack_require__(340); - -var _freeGlobal2 = _interopRequireDefault(_freeGlobal); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** Detect free variable `self`. */ -var freeSelf = (typeof self === 'undefined' ? 'undefined' : _typeof(self)) == 'object' && self && self.Object === Object && self; - -/** Used as a reference to the global object. */ -var root = _freeGlobal2.default || freeSelf || Function('return this')(); - -exports.default = root; - -/***/ }), -/* 346 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -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; }; - -/** - * Checks if `value` is object-like. A value is object-like if it's not `null` - * and has a `typeof` result of "object". - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is object-like, else `false`. - * @example - * - * _.isObjectLike({}); - * // => true - * - * _.isObjectLike([1, 2, 3]); - * // => true - * - * _.isObjectLike(_.noop); - * // => false - * - * _.isObjectLike(null); - * // => false - */ -function isObjectLike(value) { - return value != null && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) == 'object'; -} - -exports.default = isObjectLike; - -/***/ }), -/* 347 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - */ - - - -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; }; - -if (process.env.NODE_ENV !== 'production') { - var invariant = __webpack_require__(10); - var warning = __webpack_require__(11); - var ReactPropTypesSecret = __webpack_require__(120); - var loggedTypeFailures = {}; -} - -/** - * 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; - } - 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 === 'undefined' ? 'undefined' : _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; - - var stack = getStack ? getStack() : ''; - - warning(false, 'Failed %s type: %s%s', location, error.message, stack != null ? stack : ''); - } - } - } - } -} - -module.exports = checkPropTypes; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 348 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - */ - - - -var emptyFunction = __webpack_require__(24); -var invariant = __webpack_require__(10); -var ReactPropTypesSecret = __webpack_require__(120); - -module.exports = function () { - function shim(props, propName, componentName, location, propFullName, secret) { - if (secret === ReactPropTypesSecret) { - // It is still safe when called from React. - return; - } - invariant(false, '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'); - }; - 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, - func: shim, - number: shim, - object: shim, - string: shim, - symbol: shim, - - any: shim, - arrayOf: getShim, - element: shim, - instanceOf: getShim, - node: shim, - objectOf: getShim, - oneOf: getShim, - oneOfType: getShim, - shape: getShim - }; - - ReactPropTypes.checkPropTypes = emptyFunction; - ReactPropTypes.PropTypes = ReactPropTypes; - - return ReactPropTypes; -}; - -/***/ }), -/* 349 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -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 strictUriEncode = __webpack_require__(531); -var objectAssign = __webpack_require__(14); - -function encoderForArrayFormat(opts) { - switch (opts.arrayFormat) { - case 'index': - return function (key, value, index) { - return value === null ? [encode(key, opts), '[', index, ']'].join('') : [encode(key, opts), '[', encode(index, opts), ']=', encode(value, opts)].join(''); - }; - - case 'bracket': - return function (key, value) { - return value === null ? encode(key, opts) : [encode(key, opts), '[]=', encode(value, opts)].join(''); - }; - - default: - return function (key, value) { - return value === null ? encode(key, opts) : [encode(key, opts), '=', encode(value, opts)].join(''); - }; - } -} - -function parserForArrayFormat(opts) { - var result; - - switch (opts.arrayFormat) { - case 'index': - return function (key, value, accumulator) { - result = /\[(\d*)\]$/.exec(key); - - key = key.replace(/\[\d*\]$/, ''); - - if (!result) { - accumulator[key] = value; - return; - } - - if (accumulator[key] === undefined) { - accumulator[key] = {}; - } - - accumulator[key][result[1]] = value; - }; - - case 'bracket': - return function (key, value, accumulator) { - result = /(\[\])$/.exec(key); - key = key.replace(/\[\]$/, ''); - - if (!result) { - accumulator[key] = value; - return; - } else if (accumulator[key] === undefined) { - accumulator[key] = [value]; - return; - } - - accumulator[key] = [].concat(accumulator[key], value); - }; - - default: - return function (key, value, accumulator) { - if (accumulator[key] === undefined) { - accumulator[key] = value; - return; - } - - accumulator[key] = [].concat(accumulator[key], value); - }; - } -} - -function encode(value, opts) { - if (opts.encode) { - return opts.strict ? strictUriEncode(value) : encodeURIComponent(value); - } - - return value; -} - -function keysSorter(input) { - if (Array.isArray(input)) { - return input.sort(); - } else if ((typeof input === 'undefined' ? 'undefined' : _typeof(input)) === 'object') { - return keysSorter(Object.keys(input)).sort(function (a, b) { - return Number(a) - Number(b); - }).map(function (key) { - return input[key]; - }); - } - - return input; -} - -exports.extract = function (str) { - return str.split('?')[1] || ''; -}; - -exports.parse = function (str, opts) { - opts = objectAssign({ arrayFormat: 'none' }, opts); - - var formatter = parserForArrayFormat(opts); - - // Create an object with no prototype - // https://github.com/sindresorhus/query-string/issues/47 - var ret = Object.create(null); - - if (typeof str !== 'string') { - return ret; - } - - str = str.trim().replace(/^(\?|#|&)/, ''); - - if (!str) { - return ret; - } - - str.split('&').forEach(function (param) { - var parts = param.replace(/\+/g, ' ').split('='); - // Firefox (pre 40) decodes `%3D` to `=` - // https://github.com/sindresorhus/query-string/pull/37 - var key = parts.shift(); - var val = parts.length > 0 ? parts.join('=') : undefined; - - // missing `=` should be `null`: - // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters - val = val === undefined ? null : decodeURIComponent(val); - - formatter(decodeURIComponent(key), val, ret); - }); - - return Object.keys(ret).sort().reduce(function (result, key) { - var val = ret[key]; - if (Boolean(val) && (typeof val === 'undefined' ? 'undefined' : _typeof(val)) === 'object' && !Array.isArray(val)) { - // Sort object keys, not values - result[key] = keysSorter(val); - } else { - result[key] = val; - } - - return result; - }, Object.create(null)); -}; - -exports.stringify = function (obj, opts) { - var defaults = { - encode: true, - strict: true, - arrayFormat: 'none' - }; - - opts = objectAssign(defaults, opts); - - var formatter = encoderForArrayFormat(opts); - - return obj ? Object.keys(obj).sort().map(function (key) { - var val = obj[key]; - - if (val === undefined) { - return ''; - } - - if (val === null) { - return encode(key, opts); - } - - if (Array.isArray(val)) { - var result = []; - - val.slice().forEach(function (val2) { - if (val2 === undefined) { - return; - } - - result.push(formatter(key, val2, result.length)); - }); - - return result.join('&'); - } - - return encode(key, opts) + '=' + encode(val, opts); - }).filter(function (x) { - return x.length > 0; - }).join('&') : ''; -}; - -/***/ }), -/* 350 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _PanelGroup = __webpack_require__(199); - -var _PanelGroup2 = _interopRequireDefault(_PanelGroup); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var Accordion = function (_React$Component) { - (0, _inherits3.default)(Accordion, _React$Component); - - function Accordion() { - (0, _classCallCheck3.default)(this, Accordion); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - Accordion.prototype.render = function render() { - return _react2.default.createElement(_PanelGroup2.default, (0, _extends3.default)({}, this.props, { accordion: true }), this.props.children); - }; - - return Accordion; -}(_react2.default.Component); - -exports.default = Accordion; - -/***/ }), -/* 351 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _values = __webpack_require__(47); - -var _values2 = _interopRequireDefault(_values); - -var _extends3 = __webpack_require__(5); - -var _extends4 = _interopRequireDefault(_extends3); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _bootstrapUtils = __webpack_require__(9); - -var _StyleConfig = __webpack_require__(20); - -var _CloseButton = __webpack_require__(185); - -var _CloseButton2 = _interopRequireDefault(_CloseButton); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - onDismiss: _propTypes2.default.func, - closeLabel: _propTypes2.default.string -}; - -var defaultProps = { - closeLabel: 'Close alert' -}; - -var Alert = function (_React$Component) { - (0, _inherits3.default)(Alert, _React$Component); - - function Alert() { - (0, _classCallCheck3.default)(this, Alert); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - Alert.prototype.render = function render() { - var _extends2; - - var _props = this.props, - onDismiss = _props.onDismiss, - closeLabel = _props.closeLabel, - className = _props.className, - children = _props.children, - props = (0, _objectWithoutProperties3.default)(_props, ['onDismiss', 'closeLabel', 'className', 'children']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var dismissable = !!onDismiss; - var classes = (0, _extends4.default)({}, (0, _bootstrapUtils.getClassSet)(bsProps), (_extends2 = {}, _extends2[(0, _bootstrapUtils.prefix)(bsProps, 'dismissable')] = dismissable, _extends2)); - - return _react2.default.createElement('div', (0, _extends4.default)({}, elementProps, { - role: 'alert', - className: (0, _classnames2.default)(className, classes) - }), dismissable && _react2.default.createElement(_CloseButton2.default, { - onClick: onDismiss, - label: closeLabel - }), children); - }; - - return Alert; -}(_react2.default.Component); - -Alert.propTypes = propTypes; -Alert.defaultProps = defaultProps; - -exports.default = (0, _bootstrapUtils.bsStyles)((0, _values2.default)(_StyleConfig.State), _StyleConfig.State.INFO, (0, _bootstrapUtils.bsClass)('alert', Alert)); - -/***/ }), -/* 352 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _bootstrapUtils = __webpack_require__(9); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -// TODO: `pullRight` doesn't belong here. There's no special handling here. - -var propTypes = { - pullRight: _propTypes2.default.bool -}; - -var defaultProps = { - pullRight: false -}; - -var Badge = function (_React$Component) { - (0, _inherits3.default)(Badge, _React$Component); - - function Badge() { - (0, _classCallCheck3.default)(this, Badge); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - Badge.prototype.hasContent = function hasContent(children) { - var result = false; - - _react2.default.Children.forEach(children, function (child) { - if (result) { - return; - } - - if (child || child === 0) { - result = true; - } - }); - - return result; - }; - - Badge.prototype.render = function render() { - var _props = this.props, - pullRight = _props.pullRight, - className = _props.className, - children = _props.children, - props = (0, _objectWithoutProperties3.default)(_props, ['pullRight', 'className', 'children']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var classes = (0, _extends3.default)({}, (0, _bootstrapUtils.getClassSet)(bsProps), { - 'pull-right': pullRight, - - // Hack for collapsing on IE8. - hidden: !this.hasContent(children) - }); - - return _react2.default.createElement('span', (0, _extends3.default)({}, elementProps, { - className: (0, _classnames2.default)(className, classes) - }), children); - }; - - return Badge; -}(_react2.default.Component); - -Badge.propTypes = propTypes; -Badge.defaultProps = defaultProps; - -exports.default = (0, _bootstrapUtils.bsClass)('badge', Badge); - -/***/ }), -/* 353 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _BreadcrumbItem = __webpack_require__(182); - -var _BreadcrumbItem2 = _interopRequireDefault(_BreadcrumbItem); - -var _bootstrapUtils = __webpack_require__(9); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var Breadcrumb = function (_React$Component) { - (0, _inherits3.default)(Breadcrumb, _React$Component); - - function Breadcrumb() { - (0, _classCallCheck3.default)(this, Breadcrumb); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - Breadcrumb.prototype.render = function render() { - var _props = this.props, - className = _props.className, - props = (0, _objectWithoutProperties3.default)(_props, ['className']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var classes = (0, _bootstrapUtils.getClassSet)(bsProps); - - return _react2.default.createElement('ol', (0, _extends3.default)({}, elementProps, { - role: 'navigation', - 'aria-label': 'breadcrumbs', - className: (0, _classnames2.default)(className, classes) - })); - }; - - return Breadcrumb; -}(_react2.default.Component); - -Breadcrumb.Item = _BreadcrumbItem2.default; - -exports.default = (0, _bootstrapUtils.bsClass)('breadcrumb', Breadcrumb); - -/***/ }), -/* 354 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _Button = __webpack_require__(67); - -var _Button2 = _interopRequireDefault(_Button); - -var _bootstrapUtils = __webpack_require__(9); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var ButtonToolbar = function (_React$Component) { - (0, _inherits3.default)(ButtonToolbar, _React$Component); - - function ButtonToolbar() { - (0, _classCallCheck3.default)(this, ButtonToolbar); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - ButtonToolbar.prototype.render = function render() { - var _props = this.props, - className = _props.className, - props = (0, _objectWithoutProperties3.default)(_props, ['className']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var classes = (0, _bootstrapUtils.getClassSet)(bsProps); - - return _react2.default.createElement('div', (0, _extends3.default)({}, elementProps, { - role: 'toolbar', - className: (0, _classnames2.default)(className, classes) - })); - }; - - return ButtonToolbar; -}(_react2.default.Component); - -exports.default = (0, _bootstrapUtils.bsClass)('btn-toolbar', (0, _bootstrapUtils.bsSizes)(_Button2.default.SIZES, ButtonToolbar)); - -/***/ }), -/* 355 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _CarouselCaption = __webpack_require__(356); - -var _CarouselCaption2 = _interopRequireDefault(_CarouselCaption); - -var _CarouselItem = __webpack_require__(184); - -var _CarouselItem2 = _interopRequireDefault(_CarouselItem); - -var _Glyphicon = __webpack_require__(122); - -var _Glyphicon2 = _interopRequireDefault(_Glyphicon); - -var _SafeAnchor = __webpack_require__(28); - -var _SafeAnchor2 = _interopRequireDefault(_SafeAnchor); - -var _bootstrapUtils = __webpack_require__(9); - -var _ValidComponentChildren = __webpack_require__(22); - -var _ValidComponentChildren2 = _interopRequireDefault(_ValidComponentChildren); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -// TODO: `slide` should be `animate`. - -// TODO: Use uncontrollable. - -var propTypes = { - slide: _propTypes2.default.bool, - indicators: _propTypes2.default.bool, - interval: _propTypes2.default.number, - controls: _propTypes2.default.bool, - pauseOnHover: _propTypes2.default.bool, - wrap: _propTypes2.default.bool, - /** - * Callback fired when the active item changes. - * - * ```js - * (eventKey: any) => any | (eventKey: any, event: Object) => any - * ``` - * - * If this callback takes two or more arguments, the second argument will - * be a persisted event object with `direction` set to the direction of the - * transition. - */ - onSelect: _propTypes2.default.func, - onSlideEnd: _propTypes2.default.func, - activeIndex: _propTypes2.default.number, - defaultActiveIndex: _propTypes2.default.number, - direction: _propTypes2.default.oneOf(['prev', 'next']), - prevIcon: _propTypes2.default.node, - /** - * Label shown to screen readers only, can be used to show the previous element - * in the carousel. - * Set to null to deactivate. - */ - prevLabel: _propTypes2.default.string, - nextIcon: _propTypes2.default.node, - /** - * Label shown to screen readers only, can be used to show the next element - * in the carousel. - * Set to null to deactivate. - */ - nextLabel: _propTypes2.default.string -}; - -var defaultProps = { - slide: true, - interval: 5000, - pauseOnHover: true, - wrap: true, - indicators: true, - controls: true, - prevIcon: _react2.default.createElement(_Glyphicon2.default, { glyph: 'chevron-left' }), - prevLabel: 'Previous', - nextIcon: _react2.default.createElement(_Glyphicon2.default, { glyph: 'chevron-right' }), - nextLabel: 'Next' -}; - -var Carousel = function (_React$Component) { - (0, _inherits3.default)(Carousel, _React$Component); - - function Carousel(props, context) { - (0, _classCallCheck3.default)(this, Carousel); - - var _this = (0, _possibleConstructorReturn3.default)(this, _React$Component.call(this, props, context)); - - _this.handleMouseOver = _this.handleMouseOver.bind(_this); - _this.handleMouseOut = _this.handleMouseOut.bind(_this); - _this.handlePrev = _this.handlePrev.bind(_this); - _this.handleNext = _this.handleNext.bind(_this); - _this.handleItemAnimateOutEnd = _this.handleItemAnimateOutEnd.bind(_this); - - var defaultActiveIndex = props.defaultActiveIndex; - - _this.state = { - activeIndex: defaultActiveIndex != null ? defaultActiveIndex : 0, - previousActiveIndex: null, - direction: null - }; - - _this.isUnmounted = false; - return _this; - } - - Carousel.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) { - var activeIndex = this.getActiveIndex(); - - if (nextProps.activeIndex != null && nextProps.activeIndex !== activeIndex) { - clearTimeout(this.timeout); - - this.setState({ - previousActiveIndex: activeIndex, - direction: nextProps.direction != null ? nextProps.direction : this.getDirection(activeIndex, nextProps.activeIndex) - }); - } - }; - - Carousel.prototype.componentDidMount = function componentDidMount() { - this.waitForNext(); - }; - - Carousel.prototype.componentWillUnmount = function componentWillUnmount() { - clearTimeout(this.timeout); - this.isUnmounted = true; - }; - - Carousel.prototype.handleMouseOver = function handleMouseOver() { - if (this.props.pauseOnHover) { - this.pause(); - } - }; - - Carousel.prototype.handleMouseOut = function handleMouseOut() { - if (this.isPaused) { - this.play(); - } - }; - - Carousel.prototype.handlePrev = function handlePrev(e) { - var index = this.getActiveIndex() - 1; - - if (index < 0) { - if (!this.props.wrap) { - return; - } - index = _ValidComponentChildren2.default.count(this.props.children) - 1; - } - - this.select(index, e, 'prev'); - }; - - Carousel.prototype.handleNext = function handleNext(e) { - var index = this.getActiveIndex() + 1; - var count = _ValidComponentChildren2.default.count(this.props.children); - - if (index > count - 1) { - if (!this.props.wrap) { - return; - } - index = 0; - } - - this.select(index, e, 'next'); - }; - - Carousel.prototype.handleItemAnimateOutEnd = function handleItemAnimateOutEnd() { - var _this2 = this; - - this.setState({ - previousActiveIndex: null, - direction: null - }, function () { - _this2.waitForNext(); - - if (_this2.props.onSlideEnd) { - _this2.props.onSlideEnd(); - } - }); - }; - - Carousel.prototype.getActiveIndex = function getActiveIndex() { - var activeIndexProp = this.props.activeIndex; - return activeIndexProp != null ? activeIndexProp : this.state.activeIndex; - }; - - Carousel.prototype.getDirection = function getDirection(prevIndex, index) { - if (prevIndex === index) { - return null; - } - - return prevIndex > index ? 'prev' : 'next'; - }; - - Carousel.prototype.select = function select(index, e, direction) { - clearTimeout(this.timeout); - - // TODO: Is this necessary? Seems like the only risk is if the component - // unmounts while handleItemAnimateOutEnd fires. - if (this.isUnmounted) { - return; - } - - var previousActiveIndex = this.props.slide ? this.getActiveIndex() : null; - direction = direction || this.getDirection(previousActiveIndex, index); - - var onSelect = this.props.onSelect; - - if (onSelect) { - if (onSelect.length > 1) { - // React SyntheticEvents are pooled, so we need to remove this event - // from the pool to add a custom property. To avoid unnecessarily - // removing objects from the pool, only do this when the listener - // actually wants the event. - if (e) { - e.persist(); - e.direction = direction; - } else { - e = { direction: direction }; - } - - onSelect(index, e); - } else { - onSelect(index); - } - } - - if (this.props.activeIndex == null && index !== previousActiveIndex) { - if (this.state.previousActiveIndex != null) { - // If currently animating don't activate the new index. - // TODO: look into queueing this canceled call and - // animating after the current animation has ended. - return; - } - - this.setState({ - activeIndex: index, - previousActiveIndex: previousActiveIndex, - direction: direction - }); - } - }; - - Carousel.prototype.waitForNext = function waitForNext() { - var _props = this.props, - slide = _props.slide, - interval = _props.interval, - activeIndexProp = _props.activeIndex; - - if (!this.isPaused && slide && interval && activeIndexProp == null) { - this.timeout = setTimeout(this.handleNext, interval); - } - }; - - // This might be a public API. - - - Carousel.prototype.pause = function pause() { - this.isPaused = true; - clearTimeout(this.timeout); - }; - - // This might be a public API. - - - Carousel.prototype.play = function play() { - this.isPaused = false; - this.waitForNext(); - }; - - Carousel.prototype.renderIndicators = function renderIndicators(children, activeIndex, bsProps) { - var _this3 = this; - - var indicators = []; - - _ValidComponentChildren2.default.forEach(children, function (child, index) { - indicators.push(_react2.default.createElement('li', { - key: index, - className: index === activeIndex ? 'active' : null, - onClick: function onClick(e) { - return _this3.select(index, e); - } - }), - - // Force whitespace between indicator elements. Bootstrap requires - // this for correct spacing of elements. - ' '); - }); - - return _react2.default.createElement('ol', { className: (0, _bootstrapUtils.prefix)(bsProps, 'indicators') }, indicators); - }; - - Carousel.prototype.renderControls = function renderControls(properties) { - var wrap = properties.wrap, - children = properties.children, - activeIndex = properties.activeIndex, - prevIcon = properties.prevIcon, - nextIcon = properties.nextIcon, - bsProps = properties.bsProps, - prevLabel = properties.prevLabel, - nextLabel = properties.nextLabel; - - var controlClassName = (0, _bootstrapUtils.prefix)(bsProps, 'control'); - var count = _ValidComponentChildren2.default.count(children); - - return [(wrap || activeIndex !== 0) && _react2.default.createElement(_SafeAnchor2.default, { - key: 'prev', - className: (0, _classnames2.default)(controlClassName, 'left'), - onClick: this.handlePrev - }, prevIcon, prevLabel && _react2.default.createElement('span', { className: 'sr-only' }, prevLabel)), (wrap || activeIndex !== count - 1) && _react2.default.createElement(_SafeAnchor2.default, { - key: 'next', - className: (0, _classnames2.default)(controlClassName, 'right'), - onClick: this.handleNext - }, nextIcon, nextLabel && _react2.default.createElement('span', { className: 'sr-only' }, nextLabel))]; - }; - - Carousel.prototype.render = function render() { - var _this4 = this; - - var _props2 = this.props, - slide = _props2.slide, - indicators = _props2.indicators, - controls = _props2.controls, - wrap = _props2.wrap, - prevIcon = _props2.prevIcon, - prevLabel = _props2.prevLabel, - nextIcon = _props2.nextIcon, - nextLabel = _props2.nextLabel, - className = _props2.className, - children = _props2.children, - props = (0, _objectWithoutProperties3.default)(_props2, ['slide', 'indicators', 'controls', 'wrap', 'prevIcon', 'prevLabel', 'nextIcon', 'nextLabel', 'className', 'children']); - - var _state = this.state, - previousActiveIndex = _state.previousActiveIndex, - direction = _state.direction; - - var _splitBsPropsAndOmit = (0, _bootstrapUtils.splitBsPropsAndOmit)(props, ['interval', 'pauseOnHover', 'onSelect', 'onSlideEnd', 'activeIndex', // Accessed via this.getActiveIndex(). - 'defaultActiveIndex', 'direction']), - bsProps = _splitBsPropsAndOmit[0], - elementProps = _splitBsPropsAndOmit[1]; - - var activeIndex = this.getActiveIndex(); - - var classes = (0, _extends3.default)({}, (0, _bootstrapUtils.getClassSet)(bsProps), { - slide: slide - }); - - return _react2.default.createElement('div', (0, _extends3.default)({}, elementProps, { - className: (0, _classnames2.default)(className, classes), - onMouseOver: this.handleMouseOver, - onMouseOut: this.handleMouseOut - }), indicators && this.renderIndicators(children, activeIndex, bsProps), _react2.default.createElement('div', { className: (0, _bootstrapUtils.prefix)(bsProps, 'inner') }, _ValidComponentChildren2.default.map(children, function (child, index) { - var active = index === activeIndex; - var previousActive = slide && index === previousActiveIndex; - - return (0, _react.cloneElement)(child, { - active: active, - index: index, - animateOut: previousActive, - animateIn: active && previousActiveIndex != null && slide, - direction: direction, - onAnimateOutEnd: previousActive ? _this4.handleItemAnimateOutEnd : null - }); - })), controls && this.renderControls({ - wrap: wrap, - children: children, - activeIndex: activeIndex, - prevIcon: prevIcon, - prevLabel: prevLabel, - nextIcon: nextIcon, - nextLabel: nextLabel, - bsProps: bsProps - })); - }; - - return Carousel; -}(_react2.default.Component); - -Carousel.propTypes = propTypes; -Carousel.defaultProps = defaultProps; - -Carousel.Caption = _CarouselCaption2.default; -Carousel.Item = _CarouselItem2.default; - -exports.default = (0, _bootstrapUtils.bsClass)('carousel', Carousel); - -/***/ }), -/* 356 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _elementType = __webpack_require__(13); - -var _elementType2 = _interopRequireDefault(_elementType); - -var _bootstrapUtils = __webpack_require__(9); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - componentClass: _elementType2.default -}; - -var defaultProps = { - componentClass: 'div' -}; - -var CarouselCaption = function (_React$Component) { - (0, _inherits3.default)(CarouselCaption, _React$Component); - - function CarouselCaption() { - (0, _classCallCheck3.default)(this, CarouselCaption); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - CarouselCaption.prototype.render = function render() { - var _props = this.props, - Component = _props.componentClass, - className = _props.className, - props = (0, _objectWithoutProperties3.default)(_props, ['componentClass', 'className']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var classes = (0, _bootstrapUtils.getClassSet)(bsProps); - - return _react2.default.createElement(Component, (0, _extends3.default)({}, elementProps, { - className: (0, _classnames2.default)(className, classes) - })); - }; - - return CarouselCaption; -}(_react2.default.Component); - -CarouselCaption.propTypes = propTypes; -CarouselCaption.defaultProps = defaultProps; - -exports.default = (0, _bootstrapUtils.bsClass)('carousel-caption', CarouselCaption); - -/***/ }), -/* 357 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _warning = __webpack_require__(16); - -var _warning2 = _interopRequireDefault(_warning); - -var _bootstrapUtils = __webpack_require__(9); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - inline: _propTypes2.default.bool, - disabled: _propTypes2.default.bool, - /** - * Only valid if `inline` is not set. - */ - validationState: _propTypes2.default.oneOf(['success', 'warning', 'error', null]), - /** - * Attaches a ref to the `<input>` element. Only functions can be used here. - * - * ```js - * <Checkbox inputRef={ref => { this.input = ref; }} /> - * ``` - */ - inputRef: _propTypes2.default.func -}; - -var defaultProps = { - inline: false, - disabled: false -}; - -var Checkbox = function (_React$Component) { - (0, _inherits3.default)(Checkbox, _React$Component); - - function Checkbox() { - (0, _classCallCheck3.default)(this, Checkbox); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - Checkbox.prototype.render = function render() { - var _props = this.props, - inline = _props.inline, - disabled = _props.disabled, - validationState = _props.validationState, - inputRef = _props.inputRef, - className = _props.className, - style = _props.style, - children = _props.children, - props = (0, _objectWithoutProperties3.default)(_props, ['inline', 'disabled', 'validationState', 'inputRef', 'className', 'style', 'children']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var input = _react2.default.createElement('input', (0, _extends3.default)({}, elementProps, { - ref: inputRef, - type: 'checkbox', - disabled: disabled - })); - - if (inline) { - var _classes2; - - var _classes = (_classes2 = {}, _classes2[(0, _bootstrapUtils.prefix)(bsProps, 'inline')] = true, _classes2.disabled = disabled, _classes2); - - // Use a warning here instead of in propTypes to get better-looking - // generated documentation. - process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(!validationState, '`validationState` is ignored on `<Checkbox inline>`. To display ' + 'validation state on an inline checkbox, set `validationState` on a ' + 'parent `<FormGroup>` or other element instead.') : void 0; - - return _react2.default.createElement('label', { className: (0, _classnames2.default)(className, _classes), style: style }, input, children); - } - - var classes = (0, _extends3.default)({}, (0, _bootstrapUtils.getClassSet)(bsProps), { - disabled: disabled - }); - if (validationState) { - classes['has-' + validationState] = true; - } - - return _react2.default.createElement('div', { className: (0, _classnames2.default)(className, classes), style: style }, _react2.default.createElement('label', null, input, children)); - }; - - return Checkbox; -}(_react2.default.Component); - -Checkbox.propTypes = propTypes; -Checkbox.defaultProps = defaultProps; - -exports.default = (0, _bootstrapUtils.bsClass)('checkbox', Checkbox); -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 358 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _elementType = __webpack_require__(13); - -var _elementType2 = _interopRequireDefault(_elementType); - -var _bootstrapUtils = __webpack_require__(9); - -var _capitalize = __webpack_require__(201); - -var _capitalize2 = _interopRequireDefault(_capitalize); - -var _StyleConfig = __webpack_require__(20); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - componentClass: _elementType2.default, - - /** - * Apply clearfix - * - * on Extra small devices Phones - * - * adds class `visible-xs-block` - */ - visibleXsBlock: _propTypes2.default.bool, - /** - * Apply clearfix - * - * on Small devices Tablets - * - * adds class `visible-sm-block` - */ - visibleSmBlock: _propTypes2.default.bool, - /** - * Apply clearfix - * - * on Medium devices Desktops - * - * adds class `visible-md-block` - */ - visibleMdBlock: _propTypes2.default.bool, - /** - * Apply clearfix - * - * on Large devices Desktops - * - * adds class `visible-lg-block` - */ - visibleLgBlock: _propTypes2.default.bool -}; - -var defaultProps = { - componentClass: 'div' -}; - -var Clearfix = function (_React$Component) { - (0, _inherits3.default)(Clearfix, _React$Component); - - function Clearfix() { - (0, _classCallCheck3.default)(this, Clearfix); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - Clearfix.prototype.render = function render() { - var _props = this.props, - Component = _props.componentClass, - className = _props.className, - props = (0, _objectWithoutProperties3.default)(_props, ['componentClass', 'className']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var classes = (0, _bootstrapUtils.getClassSet)(bsProps); - - _StyleConfig.DEVICE_SIZES.forEach(function (size) { - var propName = 'visible' + (0, _capitalize2.default)(size) + 'Block'; - if (elementProps[propName]) { - classes['visible-' + size + '-block'] = true; - } - - delete elementProps[propName]; - }); - - return _react2.default.createElement(Component, (0, _extends3.default)({}, elementProps, { - className: (0, _classnames2.default)(className, classes) - })); - }; - - return Clearfix; -}(_react2.default.Component); - -Clearfix.propTypes = propTypes; -Clearfix.defaultProps = defaultProps; - -exports.default = (0, _bootstrapUtils.bsClass)('clearfix', Clearfix); - -/***/ }), -/* 359 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _elementType = __webpack_require__(13); - -var _elementType2 = _interopRequireDefault(_elementType); - -var _bootstrapUtils = __webpack_require__(9); - -var _StyleConfig = __webpack_require__(20); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - componentClass: _elementType2.default, - - /** - * The number of columns you wish to span - * - * for Extra small devices Phones (<768px) - * - * class-prefix `col-xs-` - */ - xs: _propTypes2.default.number, - /** - * The number of columns you wish to span - * - * for Small devices Tablets (≥768px) - * - * class-prefix `col-sm-` - */ - sm: _propTypes2.default.number, - /** - * The number of columns you wish to span - * - * for Medium devices Desktops (≥992px) - * - * class-prefix `col-md-` - */ - md: _propTypes2.default.number, - /** - * The number of columns you wish to span - * - * for Large devices Desktops (≥1200px) - * - * class-prefix `col-lg-` - */ - lg: _propTypes2.default.number, - /** - * Hide column - * - * on Extra small devices Phones - * - * adds class `hidden-xs` - */ - xsHidden: _propTypes2.default.bool, - /** - * Hide column - * - * on Small devices Tablets - * - * adds class `hidden-sm` - */ - smHidden: _propTypes2.default.bool, - /** - * Hide column - * - * on Medium devices Desktops - * - * adds class `hidden-md` - */ - mdHidden: _propTypes2.default.bool, - /** - * Hide column - * - * on Large devices Desktops - * - * adds class `hidden-lg` - */ - lgHidden: _propTypes2.default.bool, - /** - * Move columns to the right - * - * for Extra small devices Phones - * - * class-prefix `col-xs-offset-` - */ - xsOffset: _propTypes2.default.number, - /** - * Move columns to the right - * - * for Small devices Tablets - * - * class-prefix `col-sm-offset-` - */ - smOffset: _propTypes2.default.number, - /** - * Move columns to the right - * - * for Medium devices Desktops - * - * class-prefix `col-md-offset-` - */ - mdOffset: _propTypes2.default.number, - /** - * Move columns to the right - * - * for Large devices Desktops - * - * class-prefix `col-lg-offset-` - */ - lgOffset: _propTypes2.default.number, - /** - * Change the order of grid columns to the right - * - * for Extra small devices Phones - * - * class-prefix `col-xs-push-` - */ - xsPush: _propTypes2.default.number, - /** - * Change the order of grid columns to the right - * - * for Small devices Tablets - * - * class-prefix `col-sm-push-` - */ - smPush: _propTypes2.default.number, - /** - * Change the order of grid columns to the right - * - * for Medium devices Desktops - * - * class-prefix `col-md-push-` - */ - mdPush: _propTypes2.default.number, - /** - * Change the order of grid columns to the right - * - * for Large devices Desktops - * - * class-prefix `col-lg-push-` - */ - lgPush: _propTypes2.default.number, - /** - * Change the order of grid columns to the left - * - * for Extra small devices Phones - * - * class-prefix `col-xs-pull-` - */ - xsPull: _propTypes2.default.number, - /** - * Change the order of grid columns to the left - * - * for Small devices Tablets - * - * class-prefix `col-sm-pull-` - */ - smPull: _propTypes2.default.number, - /** - * Change the order of grid columns to the left - * - * for Medium devices Desktops - * - * class-prefix `col-md-pull-` - */ - mdPull: _propTypes2.default.number, - /** - * Change the order of grid columns to the left - * - * for Large devices Desktops - * - * class-prefix `col-lg-pull-` - */ - lgPull: _propTypes2.default.number -}; - -var defaultProps = { - componentClass: 'div' -}; - -var Col = function (_React$Component) { - (0, _inherits3.default)(Col, _React$Component); - - function Col() { - (0, _classCallCheck3.default)(this, Col); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - Col.prototype.render = function render() { - var _props = this.props, - Component = _props.componentClass, - className = _props.className, - props = (0, _objectWithoutProperties3.default)(_props, ['componentClass', 'className']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var classes = []; - - _StyleConfig.DEVICE_SIZES.forEach(function (size) { - function popProp(propSuffix, modifier) { - var propName = '' + size + propSuffix; - var propValue = elementProps[propName]; - - if (propValue != null) { - classes.push((0, _bootstrapUtils.prefix)(bsProps, '' + size + modifier + '-' + propValue)); - } - - delete elementProps[propName]; - } - - popProp('', ''); - popProp('Offset', '-offset'); - popProp('Push', '-push'); - popProp('Pull', '-pull'); - - var hiddenPropName = size + 'Hidden'; - if (elementProps[hiddenPropName]) { - classes.push('hidden-' + size); - } - delete elementProps[hiddenPropName]; - }); - - return _react2.default.createElement(Component, (0, _extends3.default)({}, elementProps, { - className: (0, _classnames2.default)(className, classes) - })); - }; - - return Col; -}(_react2.default.Component); - -Col.propTypes = propTypes; -Col.defaultProps = defaultProps; - -exports.default = (0, _bootstrapUtils.bsClass)('col', Col); - -/***/ }), -/* 360 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _warning = __webpack_require__(16); - -var _warning2 = _interopRequireDefault(_warning); - -var _bootstrapUtils = __webpack_require__(9); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - /** - * Uses `controlId` from `<FormGroup>` if not explicitly specified. - */ - htmlFor: _propTypes2.default.string, - srOnly: _propTypes2.default.bool -}; - -var defaultProps = { - srOnly: false -}; - -var contextTypes = { - $bs_formGroup: _propTypes2.default.object -}; - -var ControlLabel = function (_React$Component) { - (0, _inherits3.default)(ControlLabel, _React$Component); - - function ControlLabel() { - (0, _classCallCheck3.default)(this, ControlLabel); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - ControlLabel.prototype.render = function render() { - var formGroup = this.context.$bs_formGroup; - var controlId = formGroup && formGroup.controlId; - - var _props = this.props, - _props$htmlFor = _props.htmlFor, - htmlFor = _props$htmlFor === undefined ? controlId : _props$htmlFor, - srOnly = _props.srOnly, - className = _props.className, - props = (0, _objectWithoutProperties3.default)(_props, ['htmlFor', 'srOnly', 'className']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(controlId == null || htmlFor === controlId, '`controlId` is ignored on `<ControlLabel>` when `htmlFor` is specified.') : void 0; - - var classes = (0, _extends3.default)({}, (0, _bootstrapUtils.getClassSet)(bsProps), { - 'sr-only': srOnly - }); - - return _react2.default.createElement('label', (0, _extends3.default)({}, elementProps, { - htmlFor: htmlFor, - className: (0, _classnames2.default)(className, classes) - })); - }; - - return ControlLabel; -}(_react2.default.Component); - -ControlLabel.propTypes = propTypes; -ControlLabel.defaultProps = defaultProps; -ControlLabel.contextTypes = contextTypes; - -exports.default = (0, _bootstrapUtils.bsClass)('control-label', ControlLabel); -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 361 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _Dropdown = __webpack_require__(81); - -var _Dropdown2 = _interopRequireDefault(_Dropdown); - -var _splitComponentProps2 = __webpack_require__(83); - -var _splitComponentProps3 = _interopRequireDefault(_splitComponentProps2); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = (0, _extends3.default)({}, _Dropdown2.default.propTypes, { - - // Toggle props. - bsStyle: _propTypes2.default.string, - bsSize: _propTypes2.default.string, - title: _propTypes2.default.node.isRequired, - noCaret: _propTypes2.default.bool, - - // Override generated docs from <Dropdown>. - /** - * @private - */ - children: _propTypes2.default.node -}); - -var DropdownButton = function (_React$Component) { - (0, _inherits3.default)(DropdownButton, _React$Component); - - function DropdownButton() { - (0, _classCallCheck3.default)(this, DropdownButton); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - DropdownButton.prototype.render = function render() { - var _props = this.props, - bsSize = _props.bsSize, - bsStyle = _props.bsStyle, - title = _props.title, - children = _props.children, - props = (0, _objectWithoutProperties3.default)(_props, ['bsSize', 'bsStyle', 'title', 'children']); - - var _splitComponentProps = (0, _splitComponentProps3.default)(props, _Dropdown2.default.ControlledComponent), - dropdownProps = _splitComponentProps[0], - toggleProps = _splitComponentProps[1]; - - return _react2.default.createElement(_Dropdown2.default, (0, _extends3.default)({}, dropdownProps, { - bsSize: bsSize, - bsStyle: bsStyle - }), _react2.default.createElement(_Dropdown2.default.Toggle, (0, _extends3.default)({}, toggleProps, { - bsSize: bsSize, - bsStyle: bsStyle - }), title), _react2.default.createElement(_Dropdown2.default.Menu, null, children)); - }; - - return DropdownButton; -}(_react2.default.Component); - -DropdownButton.propTypes = propTypes; - -exports.default = DropdownButton; - -/***/ }), -/* 362 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends3 = __webpack_require__(5); - -var _extends4 = _interopRequireDefault(_extends3); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _from = __webpack_require__(254); - -var _from2 = _interopRequireDefault(_from); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _keycode = __webpack_require__(118); - -var _keycode2 = _interopRequireDefault(_keycode); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _reactDom = __webpack_require__(21); - -var _reactDom2 = _interopRequireDefault(_reactDom); - -var _RootCloseWrapper = __webpack_require__(224); - -var _RootCloseWrapper2 = _interopRequireDefault(_RootCloseWrapper); - -var _bootstrapUtils = __webpack_require__(9); - -var _createChainedFunction = __webpack_require__(19); - -var _createChainedFunction2 = _interopRequireDefault(_createChainedFunction); - -var _ValidComponentChildren = __webpack_require__(22); - -var _ValidComponentChildren2 = _interopRequireDefault(_ValidComponentChildren); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - open: _propTypes2.default.bool, - pullRight: _propTypes2.default.bool, - onClose: _propTypes2.default.func, - labelledBy: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]), - onSelect: _propTypes2.default.func, - rootCloseEvent: _propTypes2.default.oneOf(['click', 'mousedown']) -}; - -var defaultProps = { - bsRole: 'menu', - pullRight: false -}; - -var DropdownMenu = function (_React$Component) { - (0, _inherits3.default)(DropdownMenu, _React$Component); - - function DropdownMenu(props) { - (0, _classCallCheck3.default)(this, DropdownMenu); - - var _this = (0, _possibleConstructorReturn3.default)(this, _React$Component.call(this, props)); - - _this.handleRootClose = _this.handleRootClose.bind(_this); - _this.handleKeyDown = _this.handleKeyDown.bind(_this); - return _this; - } - - DropdownMenu.prototype.handleRootClose = function handleRootClose(event) { - this.props.onClose(event, { source: 'rootClose' }); - }; - - DropdownMenu.prototype.handleKeyDown = function handleKeyDown(event) { - switch (event.keyCode) { - case _keycode2.default.codes.down: - this.focusNext(); - event.preventDefault(); - break; - case _keycode2.default.codes.up: - this.focusPrevious(); - event.preventDefault(); - break; - case _keycode2.default.codes.esc: - case _keycode2.default.codes.tab: - this.props.onClose(event, { source: 'keydown' }); - break; - default: - } - }; - - DropdownMenu.prototype.getItemsAndActiveIndex = function getItemsAndActiveIndex() { - var items = this.getFocusableMenuItems(); - var activeIndex = items.indexOf(document.activeElement); - - return { items: items, activeIndex: activeIndex }; - }; - - DropdownMenu.prototype.getFocusableMenuItems = function getFocusableMenuItems() { - var node = _reactDom2.default.findDOMNode(this); - if (!node) { - return []; - } - - return (0, _from2.default)(node.querySelectorAll('[tabIndex="-1"]')); - }; - - DropdownMenu.prototype.focusNext = function focusNext() { - var _getItemsAndActiveInd = this.getItemsAndActiveIndex(), - items = _getItemsAndActiveInd.items, - activeIndex = _getItemsAndActiveInd.activeIndex; - - if (items.length === 0) { - return; - } - - var nextIndex = activeIndex === items.length - 1 ? 0 : activeIndex + 1; - items[nextIndex].focus(); - }; - - DropdownMenu.prototype.focusPrevious = function focusPrevious() { - var _getItemsAndActiveInd2 = this.getItemsAndActiveIndex(), - items = _getItemsAndActiveInd2.items, - activeIndex = _getItemsAndActiveInd2.activeIndex; - - if (items.length === 0) { - return; - } - - var prevIndex = activeIndex === 0 ? items.length - 1 : activeIndex - 1; - items[prevIndex].focus(); - }; - - DropdownMenu.prototype.render = function render() { - var _extends2, - _this2 = this; - - var _props = this.props, - open = _props.open, - pullRight = _props.pullRight, - labelledBy = _props.labelledBy, - onSelect = _props.onSelect, - className = _props.className, - rootCloseEvent = _props.rootCloseEvent, - children = _props.children, - props = (0, _objectWithoutProperties3.default)(_props, ['open', 'pullRight', 'labelledBy', 'onSelect', 'className', 'rootCloseEvent', 'children']); - - var _splitBsPropsAndOmit = (0, _bootstrapUtils.splitBsPropsAndOmit)(props, ['onClose']), - bsProps = _splitBsPropsAndOmit[0], - elementProps = _splitBsPropsAndOmit[1]; - - var classes = (0, _extends4.default)({}, (0, _bootstrapUtils.getClassSet)(bsProps), (_extends2 = {}, _extends2[(0, _bootstrapUtils.prefix)(bsProps, 'right')] = pullRight, _extends2)); - - return _react2.default.createElement(_RootCloseWrapper2.default, { - disabled: !open, - onRootClose: this.handleRootClose, - event: rootCloseEvent - }, _react2.default.createElement('ul', (0, _extends4.default)({}, elementProps, { - role: 'menu', - className: (0, _classnames2.default)(className, classes), - 'aria-labelledby': labelledBy - }), _ValidComponentChildren2.default.map(children, function (child) { - return _react2.default.cloneElement(child, { - onKeyDown: (0, _createChainedFunction2.default)(child.props.onKeyDown, _this2.handleKeyDown), - onSelect: (0, _createChainedFunction2.default)(child.props.onSelect, onSelect) - }); - }))); - }; - - return DropdownMenu; -}(_react2.default.Component); - -DropdownMenu.propTypes = propTypes; -DropdownMenu.defaultProps = defaultProps; - -exports.default = (0, _bootstrapUtils.bsClass)('dropdown-menu', DropdownMenu); - -/***/ }), -/* 363 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _elementType = __webpack_require__(13); - -var _elementType2 = _interopRequireDefault(_elementType); - -var _bootstrapUtils = __webpack_require__(9); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - horizontal: _propTypes2.default.bool, - inline: _propTypes2.default.bool, - componentClass: _elementType2.default -}; - -var defaultProps = { - horizontal: false, - inline: false, - componentClass: 'form' -}; - -var Form = function (_React$Component) { - (0, _inherits3.default)(Form, _React$Component); - - function Form() { - (0, _classCallCheck3.default)(this, Form); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - Form.prototype.render = function render() { - var _props = this.props, - horizontal = _props.horizontal, - inline = _props.inline, - Component = _props.componentClass, - className = _props.className, - props = (0, _objectWithoutProperties3.default)(_props, ['horizontal', 'inline', 'componentClass', 'className']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var classes = []; - if (horizontal) { - classes.push((0, _bootstrapUtils.prefix)(bsProps, 'horizontal')); - } - if (inline) { - classes.push((0, _bootstrapUtils.prefix)(bsProps, 'inline')); - } - - return _react2.default.createElement(Component, (0, _extends3.default)({}, elementProps, { - className: (0, _classnames2.default)(className, classes) - })); - }; - - return Form; -}(_react2.default.Component); - -Form.propTypes = propTypes; -Form.defaultProps = defaultProps; - -exports.default = (0, _bootstrapUtils.bsClass)('form', Form); - -/***/ }), -/* 364 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _elementType = __webpack_require__(13); - -var _elementType2 = _interopRequireDefault(_elementType); - -var _warning = __webpack_require__(16); - -var _warning2 = _interopRequireDefault(_warning); - -var _FormControlFeedback = __webpack_require__(365); - -var _FormControlFeedback2 = _interopRequireDefault(_FormControlFeedback); - -var _FormControlStatic = __webpack_require__(366); - -var _FormControlStatic2 = _interopRequireDefault(_FormControlStatic); - -var _bootstrapUtils = __webpack_require__(9); - -var _StyleConfig = __webpack_require__(20); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - componentClass: _elementType2.default, - /** - * Only relevant if `componentClass` is `'input'`. - */ - type: _propTypes2.default.string, - /** - * Uses `controlId` from `<FormGroup>` if not explicitly specified. - */ - id: _propTypes2.default.string, - /** - * Attaches a ref to the `<input>` element. Only functions can be used here. - * - * ```js - * <FormControl inputRef={ref => { this.input = ref; }} /> - * ``` - */ - inputRef: _propTypes2.default.func -}; - -var defaultProps = { - componentClass: 'input' -}; - -var contextTypes = { - $bs_formGroup: _propTypes2.default.object -}; - -var FormControl = function (_React$Component) { - (0, _inherits3.default)(FormControl, _React$Component); - - function FormControl() { - (0, _classCallCheck3.default)(this, FormControl); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - FormControl.prototype.render = function render() { - var formGroup = this.context.$bs_formGroup; - var controlId = formGroup && formGroup.controlId; - - var _props = this.props, - Component = _props.componentClass, - type = _props.type, - _props$id = _props.id, - id = _props$id === undefined ? controlId : _props$id, - inputRef = _props.inputRef, - className = _props.className, - bsSize = _props.bsSize, - props = (0, _objectWithoutProperties3.default)(_props, ['componentClass', 'type', 'id', 'inputRef', 'className', 'bsSize']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(controlId == null || id === controlId, '`controlId` is ignored on `<FormControl>` when `id` is specified.') : void 0; - - // input[type="file"] should not have .form-control. - var classes = void 0; - if (type !== 'file') { - classes = (0, _bootstrapUtils.getClassSet)(bsProps); - } - - // If user provides a size, make sure to append it to classes as input- - // e.g. if bsSize is small, it will append input-sm - if (bsSize) { - var size = _StyleConfig.SIZE_MAP[bsSize] || bsSize; - classes[(0, _bootstrapUtils.prefix)({ bsClass: 'input' }, size)] = true; - } - - return _react2.default.createElement(Component, (0, _extends3.default)({}, elementProps, { - type: type, - id: id, - ref: inputRef, - className: (0, _classnames2.default)(className, classes) - })); - }; - - return FormControl; -}(_react2.default.Component); - -FormControl.propTypes = propTypes; -FormControl.defaultProps = defaultProps; -FormControl.contextTypes = contextTypes; - -FormControl.Feedback = _FormControlFeedback2.default; -FormControl.Static = _FormControlStatic2.default; - -exports.default = (0, _bootstrapUtils.bsClass)('form-control', (0, _bootstrapUtils.bsSizes)([_StyleConfig.Size.SMALL, _StyleConfig.Size.LARGE], FormControl)); -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 365 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _Glyphicon = __webpack_require__(122); - -var _Glyphicon2 = _interopRequireDefault(_Glyphicon); - -var _bootstrapUtils = __webpack_require__(9); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var defaultProps = { - bsRole: 'feedback' -}; - -var contextTypes = { - $bs_formGroup: _propTypes2.default.object -}; - -var FormControlFeedback = function (_React$Component) { - (0, _inherits3.default)(FormControlFeedback, _React$Component); - - function FormControlFeedback() { - (0, _classCallCheck3.default)(this, FormControlFeedback); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - FormControlFeedback.prototype.getGlyph = function getGlyph(validationState) { - switch (validationState) { - case 'success': - return 'ok'; - case 'warning': - return 'warning-sign'; - case 'error': - return 'remove'; - default: - return null; - } - }; - - FormControlFeedback.prototype.renderDefaultFeedback = function renderDefaultFeedback(formGroup, className, classes, elementProps) { - var glyph = this.getGlyph(formGroup && formGroup.validationState); - if (!glyph) { - return null; - } - - return _react2.default.createElement(_Glyphicon2.default, (0, _extends3.default)({}, elementProps, { - glyph: glyph, - className: (0, _classnames2.default)(className, classes) - })); - }; - - FormControlFeedback.prototype.render = function render() { - var _props = this.props, - className = _props.className, - children = _props.children, - props = (0, _objectWithoutProperties3.default)(_props, ['className', 'children']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var classes = (0, _bootstrapUtils.getClassSet)(bsProps); - - if (!children) { - return this.renderDefaultFeedback(this.context.$bs_formGroup, className, classes, elementProps); - } - - var child = _react2.default.Children.only(children); - return _react2.default.cloneElement(child, (0, _extends3.default)({}, elementProps, { - className: (0, _classnames2.default)(child.props.className, className, classes) - })); - }; - - return FormControlFeedback; -}(_react2.default.Component); - -FormControlFeedback.defaultProps = defaultProps; -FormControlFeedback.contextTypes = contextTypes; - -exports.default = (0, _bootstrapUtils.bsClass)('form-control-feedback', FormControlFeedback); - -/***/ }), -/* 366 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _elementType = __webpack_require__(13); - -var _elementType2 = _interopRequireDefault(_elementType); - -var _bootstrapUtils = __webpack_require__(9); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - componentClass: _elementType2.default -}; - -var defaultProps = { - componentClass: 'p' -}; - -var FormControlStatic = function (_React$Component) { - (0, _inherits3.default)(FormControlStatic, _React$Component); - - function FormControlStatic() { - (0, _classCallCheck3.default)(this, FormControlStatic); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - FormControlStatic.prototype.render = function render() { - var _props = this.props, - Component = _props.componentClass, - className = _props.className, - props = (0, _objectWithoutProperties3.default)(_props, ['componentClass', 'className']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var classes = (0, _bootstrapUtils.getClassSet)(bsProps); - - return _react2.default.createElement(Component, (0, _extends3.default)({}, elementProps, { - className: (0, _classnames2.default)(className, classes) - })); - }; - - return FormControlStatic; -}(_react2.default.Component); - -FormControlStatic.propTypes = propTypes; -FormControlStatic.defaultProps = defaultProps; - -exports.default = (0, _bootstrapUtils.bsClass)('form-control-static', FormControlStatic); - -/***/ }), -/* 367 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _bootstrapUtils = __webpack_require__(9); - -var _StyleConfig = __webpack_require__(20); - -var _ValidComponentChildren = __webpack_require__(22); - -var _ValidComponentChildren2 = _interopRequireDefault(_ValidComponentChildren); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - /** - * Sets `id` on `<FormControl>` and `htmlFor` on `<FormGroup.Label>`. - */ - controlId: _propTypes2.default.string, - validationState: _propTypes2.default.oneOf(['success', 'warning', 'error', null]) -}; - -var childContextTypes = { - $bs_formGroup: _propTypes2.default.object.isRequired -}; - -var FormGroup = function (_React$Component) { - (0, _inherits3.default)(FormGroup, _React$Component); - - function FormGroup() { - (0, _classCallCheck3.default)(this, FormGroup); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - FormGroup.prototype.getChildContext = function getChildContext() { - var _props = this.props, - controlId = _props.controlId, - validationState = _props.validationState; - - return { - $bs_formGroup: { - controlId: controlId, - validationState: validationState - } - }; - }; - - FormGroup.prototype.hasFeedback = function hasFeedback(children) { - var _this2 = this; - - return _ValidComponentChildren2.default.some(children, function (child) { - return child.props.bsRole === 'feedback' || child.props.children && _this2.hasFeedback(child.props.children); - }); - }; - - FormGroup.prototype.render = function render() { - var _props2 = this.props, - validationState = _props2.validationState, - className = _props2.className, - children = _props2.children, - props = (0, _objectWithoutProperties3.default)(_props2, ['validationState', 'className', 'children']); - - var _splitBsPropsAndOmit = (0, _bootstrapUtils.splitBsPropsAndOmit)(props, ['controlId']), - bsProps = _splitBsPropsAndOmit[0], - elementProps = _splitBsPropsAndOmit[1]; - - var classes = (0, _extends3.default)({}, (0, _bootstrapUtils.getClassSet)(bsProps), { - 'has-feedback': this.hasFeedback(children) - }); - if (validationState) { - classes['has-' + validationState] = true; - } - - return _react2.default.createElement('div', (0, _extends3.default)({}, elementProps, { - className: (0, _classnames2.default)(className, classes) - }), children); - }; - - return FormGroup; -}(_react2.default.Component); - -FormGroup.propTypes = propTypes; -FormGroup.childContextTypes = childContextTypes; - -exports.default = (0, _bootstrapUtils.bsClass)('form-group', (0, _bootstrapUtils.bsSizes)([_StyleConfig.Size.LARGE, _StyleConfig.Size.SMALL], FormGroup)); - -/***/ }), -/* 368 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _bootstrapUtils = __webpack_require__(9); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var HelpBlock = function (_React$Component) { - (0, _inherits3.default)(HelpBlock, _React$Component); - - function HelpBlock() { - (0, _classCallCheck3.default)(this, HelpBlock); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - HelpBlock.prototype.render = function render() { - var _props = this.props, - className = _props.className, - props = (0, _objectWithoutProperties3.default)(_props, ['className']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var classes = (0, _bootstrapUtils.getClassSet)(bsProps); - - return _react2.default.createElement('span', (0, _extends3.default)({}, elementProps, { - className: (0, _classnames2.default)(className, classes) - })); - }; - - return HelpBlock; -}(_react2.default.Component); - -exports.default = (0, _bootstrapUtils.bsClass)('help-block', HelpBlock); - -/***/ }), -/* 369 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _bootstrapUtils = __webpack_require__(9); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - /** - * Sets image as responsive image - */ - responsive: _propTypes2.default.bool, - - /** - * Sets image shape as rounded - */ - rounded: _propTypes2.default.bool, - - /** - * Sets image shape as circle - */ - circle: _propTypes2.default.bool, - - /** - * Sets image shape as thumbnail - */ - thumbnail: _propTypes2.default.bool -}; - -var defaultProps = { - responsive: false, - rounded: false, - circle: false, - thumbnail: false -}; - -var Image = function (_React$Component) { - (0, _inherits3.default)(Image, _React$Component); - - function Image() { - (0, _classCallCheck3.default)(this, Image); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - Image.prototype.render = function render() { - var _classes; - - var _props = this.props, - responsive = _props.responsive, - rounded = _props.rounded, - circle = _props.circle, - thumbnail = _props.thumbnail, - className = _props.className, - props = (0, _objectWithoutProperties3.default)(_props, ['responsive', 'rounded', 'circle', 'thumbnail', 'className']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var classes = (_classes = {}, _classes[(0, _bootstrapUtils.prefix)(bsProps, 'responsive')] = responsive, _classes[(0, _bootstrapUtils.prefix)(bsProps, 'rounded')] = rounded, _classes[(0, _bootstrapUtils.prefix)(bsProps, 'circle')] = circle, _classes[(0, _bootstrapUtils.prefix)(bsProps, 'thumbnail')] = thumbnail, _classes); - - return _react2.default.createElement('img', (0, _extends3.default)({}, elementProps, { - className: (0, _classnames2.default)(className, classes) - })); - }; - - return Image; -}(_react2.default.Component); - -Image.propTypes = propTypes; -Image.defaultProps = defaultProps; - -exports.default = (0, _bootstrapUtils.bsClass)('img', Image); - -/***/ }), -/* 370 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _InputGroupAddon = __webpack_require__(371); - -var _InputGroupAddon2 = _interopRequireDefault(_InputGroupAddon); - -var _InputGroupButton = __webpack_require__(372); - -var _InputGroupButton2 = _interopRequireDefault(_InputGroupButton); - -var _bootstrapUtils = __webpack_require__(9); - -var _StyleConfig = __webpack_require__(20); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var InputGroup = function (_React$Component) { - (0, _inherits3.default)(InputGroup, _React$Component); - - function InputGroup() { - (0, _classCallCheck3.default)(this, InputGroup); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - InputGroup.prototype.render = function render() { - var _props = this.props, - className = _props.className, - props = (0, _objectWithoutProperties3.default)(_props, ['className']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var classes = (0, _bootstrapUtils.getClassSet)(bsProps); - - return _react2.default.createElement('span', (0, _extends3.default)({}, elementProps, { - className: (0, _classnames2.default)(className, classes) - })); - }; - - return InputGroup; -}(_react2.default.Component); - -InputGroup.Addon = _InputGroupAddon2.default; -InputGroup.Button = _InputGroupButton2.default; - -exports.default = (0, _bootstrapUtils.bsClass)('input-group', (0, _bootstrapUtils.bsSizes)([_StyleConfig.Size.LARGE, _StyleConfig.Size.SMALL], InputGroup)); - -/***/ }), -/* 371 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _bootstrapUtils = __webpack_require__(9); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var InputGroupAddon = function (_React$Component) { - (0, _inherits3.default)(InputGroupAddon, _React$Component); - - function InputGroupAddon() { - (0, _classCallCheck3.default)(this, InputGroupAddon); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - InputGroupAddon.prototype.render = function render() { - var _props = this.props, - className = _props.className, - props = (0, _objectWithoutProperties3.default)(_props, ['className']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var classes = (0, _bootstrapUtils.getClassSet)(bsProps); - - return _react2.default.createElement('span', (0, _extends3.default)({}, elementProps, { - className: (0, _classnames2.default)(className, classes) - })); - }; - - return InputGroupAddon; -}(_react2.default.Component); - -exports.default = (0, _bootstrapUtils.bsClass)('input-group-addon', InputGroupAddon); - -/***/ }), -/* 372 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _bootstrapUtils = __webpack_require__(9); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var InputGroupButton = function (_React$Component) { - (0, _inherits3.default)(InputGroupButton, _React$Component); - - function InputGroupButton() { - (0, _classCallCheck3.default)(this, InputGroupButton); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - InputGroupButton.prototype.render = function render() { - var _props = this.props, - className = _props.className, - props = (0, _objectWithoutProperties3.default)(_props, ['className']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var classes = (0, _bootstrapUtils.getClassSet)(bsProps); - - return _react2.default.createElement('span', (0, _extends3.default)({}, elementProps, { - className: (0, _classnames2.default)(className, classes) - })); - }; - - return InputGroupButton; -}(_react2.default.Component); - -exports.default = (0, _bootstrapUtils.bsClass)('input-group-btn', InputGroupButton); - -/***/ }), -/* 373 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _elementType = __webpack_require__(13); - -var _elementType2 = _interopRequireDefault(_elementType); - -var _bootstrapUtils = __webpack_require__(9); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - componentClass: _elementType2.default -}; - -var defaultProps = { - componentClass: 'div' -}; - -var Jumbotron = function (_React$Component) { - (0, _inherits3.default)(Jumbotron, _React$Component); - - function Jumbotron() { - (0, _classCallCheck3.default)(this, Jumbotron); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - Jumbotron.prototype.render = function render() { - var _props = this.props, - Component = _props.componentClass, - className = _props.className, - props = (0, _objectWithoutProperties3.default)(_props, ['componentClass', 'className']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var classes = (0, _bootstrapUtils.getClassSet)(bsProps); - - return _react2.default.createElement(Component, (0, _extends3.default)({}, elementProps, { - className: (0, _classnames2.default)(className, classes) - })); - }; - - return Jumbotron; -}(_react2.default.Component); - -Jumbotron.propTypes = propTypes; -Jumbotron.defaultProps = defaultProps; - -exports.default = (0, _bootstrapUtils.bsClass)('jumbotron', Jumbotron); - -/***/ }), -/* 374 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _values = __webpack_require__(47); - -var _values2 = _interopRequireDefault(_values); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _bootstrapUtils = __webpack_require__(9); - -var _StyleConfig = __webpack_require__(20); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var Label = function (_React$Component) { - (0, _inherits3.default)(Label, _React$Component); - - function Label() { - (0, _classCallCheck3.default)(this, Label); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - Label.prototype.hasContent = function hasContent(children) { - var result = false; - - _react2.default.Children.forEach(children, function (child) { - if (result) { - return; - } - - if (child || child === 0) { - result = true; - } - }); - - return result; - }; - - Label.prototype.render = function render() { - var _props = this.props, - className = _props.className, - children = _props.children, - props = (0, _objectWithoutProperties3.default)(_props, ['className', 'children']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var classes = (0, _extends3.default)({}, (0, _bootstrapUtils.getClassSet)(bsProps), { - - // Hack for collapsing on IE8. - hidden: !this.hasContent(children) - }); - - return _react2.default.createElement('span', (0, _extends3.default)({}, elementProps, { - className: (0, _classnames2.default)(className, classes) - }), children); - }; - - return Label; -}(_react2.default.Component); - -exports.default = (0, _bootstrapUtils.bsClass)('label', (0, _bootstrapUtils.bsStyles)([].concat((0, _values2.default)(_StyleConfig.State), [_StyleConfig.Style.DEFAULT, _StyleConfig.Style.PRIMARY]), _StyleConfig.Style.DEFAULT, Label)); - -/***/ }), -/* 375 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _elementType = __webpack_require__(13); - -var _elementType2 = _interopRequireDefault(_elementType); - -var _ListGroupItem = __webpack_require__(188); - -var _ListGroupItem2 = _interopRequireDefault(_ListGroupItem); - -var _bootstrapUtils = __webpack_require__(9); - -var _ValidComponentChildren = __webpack_require__(22); - -var _ValidComponentChildren2 = _interopRequireDefault(_ValidComponentChildren); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - /** - * You can use a custom element type for this component. - * - * If not specified, it will be treated as `'li'` if every child is a - * non-actionable `<ListGroupItem>`, and `'div'` otherwise. - */ - componentClass: _elementType2.default -}; - -function getDefaultComponent(children) { - if (!children) { - // FIXME: This is the old behavior. Is this right? - return 'div'; - } - - if (_ValidComponentChildren2.default.some(children, function (child) { - return child.type !== _ListGroupItem2.default || child.props.href || child.props.onClick; - })) { - return 'div'; - } - - return 'ul'; -} - -var ListGroup = function (_React$Component) { - (0, _inherits3.default)(ListGroup, _React$Component); - - function ListGroup() { - (0, _classCallCheck3.default)(this, ListGroup); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - ListGroup.prototype.render = function render() { - var _props = this.props, - children = _props.children, - _props$componentClass = _props.componentClass, - Component = _props$componentClass === undefined ? getDefaultComponent(children) : _props$componentClass, - className = _props.className, - props = (0, _objectWithoutProperties3.default)(_props, ['children', 'componentClass', 'className']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var classes = (0, _bootstrapUtils.getClassSet)(bsProps); - - var useListItem = Component === 'ul' && _ValidComponentChildren2.default.every(children, function (child) { - return child.type === _ListGroupItem2.default; - }); - - return _react2.default.createElement(Component, (0, _extends3.default)({}, elementProps, { - className: (0, _classnames2.default)(className, classes) - }), useListItem ? _ValidComponentChildren2.default.map(children, function (child) { - return (0, _react.cloneElement)(child, { listItem: true }); - }) : children); - }; - - return ListGroup; -}(_react2.default.Component); - -ListGroup.propTypes = propTypes; - -exports.default = (0, _bootstrapUtils.bsClass)('list-group', ListGroup); - -/***/ }), -/* 376 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _elementType = __webpack_require__(13); - -var _elementType2 = _interopRequireDefault(_elementType); - -var _bootstrapUtils = __webpack_require__(9); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - componentClass: _elementType2.default -}; - -var defaultProps = { - componentClass: 'div' -}; - -var MediaBody = function (_React$Component) { - (0, _inherits3.default)(MediaBody, _React$Component); - - function MediaBody() { - (0, _classCallCheck3.default)(this, MediaBody); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - MediaBody.prototype.render = function render() { - var _props = this.props, - Component = _props.componentClass, - className = _props.className, - props = (0, _objectWithoutProperties3.default)(_props, ['componentClass', 'className']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var classes = (0, _bootstrapUtils.getClassSet)(bsProps); - - return _react2.default.createElement(Component, (0, _extends3.default)({}, elementProps, { - className: (0, _classnames2.default)(className, classes) - })); - }; - - return MediaBody; -}(_react2.default.Component); - -MediaBody.propTypes = propTypes; -MediaBody.defaultProps = defaultProps; - -exports.default = (0, _bootstrapUtils.bsClass)('media-body', MediaBody); - -/***/ }), -/* 377 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _elementType = __webpack_require__(13); - -var _elementType2 = _interopRequireDefault(_elementType); - -var _bootstrapUtils = __webpack_require__(9); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - componentClass: _elementType2.default -}; - -var defaultProps = { - componentClass: 'h4' -}; - -var MediaHeading = function (_React$Component) { - (0, _inherits3.default)(MediaHeading, _React$Component); - - function MediaHeading() { - (0, _classCallCheck3.default)(this, MediaHeading); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - MediaHeading.prototype.render = function render() { - var _props = this.props, - Component = _props.componentClass, - className = _props.className, - props = (0, _objectWithoutProperties3.default)(_props, ['componentClass', 'className']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var classes = (0, _bootstrapUtils.getClassSet)(bsProps); - - return _react2.default.createElement(Component, (0, _extends3.default)({}, elementProps, { - className: (0, _classnames2.default)(className, classes) - })); - }; - - return MediaHeading; -}(_react2.default.Component); - -MediaHeading.propTypes = propTypes; -MediaHeading.defaultProps = defaultProps; - -exports.default = (0, _bootstrapUtils.bsClass)('media-heading', MediaHeading); - -/***/ }), -/* 378 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _Media = __webpack_require__(123); - -var _Media2 = _interopRequireDefault(_Media); - -var _bootstrapUtils = __webpack_require__(9); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - /** - * Align the media to the top, middle, or bottom of the media object. - */ - align: _propTypes2.default.oneOf(['top', 'middle', 'bottom']) -}; - -var MediaLeft = function (_React$Component) { - (0, _inherits3.default)(MediaLeft, _React$Component); - - function MediaLeft() { - (0, _classCallCheck3.default)(this, MediaLeft); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - MediaLeft.prototype.render = function render() { - var _props = this.props, - align = _props.align, - className = _props.className, - props = (0, _objectWithoutProperties3.default)(_props, ['align', 'className']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var classes = (0, _bootstrapUtils.getClassSet)(bsProps); - - if (align) { - // The class is e.g. `media-top`, not `media-left-top`. - classes[(0, _bootstrapUtils.prefix)(_Media2.default.defaultProps, align)] = true; - } - - return _react2.default.createElement('div', (0, _extends3.default)({}, elementProps, { - className: (0, _classnames2.default)(className, classes) - })); - }; - - return MediaLeft; -}(_react2.default.Component); - -MediaLeft.propTypes = propTypes; - -exports.default = (0, _bootstrapUtils.bsClass)('media-left', MediaLeft); - -/***/ }), -/* 379 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _bootstrapUtils = __webpack_require__(9); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var MediaList = function (_React$Component) { - (0, _inherits3.default)(MediaList, _React$Component); - - function MediaList() { - (0, _classCallCheck3.default)(this, MediaList); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - MediaList.prototype.render = function render() { - var _props = this.props, - className = _props.className, - props = (0, _objectWithoutProperties3.default)(_props, ['className']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var classes = (0, _bootstrapUtils.getClassSet)(bsProps); - - return _react2.default.createElement('ul', (0, _extends3.default)({}, elementProps, { - className: (0, _classnames2.default)(className, classes) - })); - }; - - return MediaList; -}(_react2.default.Component); - -exports.default = (0, _bootstrapUtils.bsClass)('media-list', MediaList); - -/***/ }), -/* 380 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _bootstrapUtils = __webpack_require__(9); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var MediaListItem = function (_React$Component) { - (0, _inherits3.default)(MediaListItem, _React$Component); - - function MediaListItem() { - (0, _classCallCheck3.default)(this, MediaListItem); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - MediaListItem.prototype.render = function render() { - var _props = this.props, - className = _props.className, - props = (0, _objectWithoutProperties3.default)(_props, ['className']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var classes = (0, _bootstrapUtils.getClassSet)(bsProps); - - return _react2.default.createElement('li', (0, _extends3.default)({}, elementProps, { - className: (0, _classnames2.default)(className, classes) - })); - }; - - return MediaListItem; -}(_react2.default.Component); - -exports.default = (0, _bootstrapUtils.bsClass)('media', MediaListItem); - -/***/ }), -/* 381 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _Media = __webpack_require__(123); - -var _Media2 = _interopRequireDefault(_Media); - -var _bootstrapUtils = __webpack_require__(9); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - /** - * Align the media to the top, middle, or bottom of the media object. - */ - align: _propTypes2.default.oneOf(['top', 'middle', 'bottom']) -}; - -var MediaRight = function (_React$Component) { - (0, _inherits3.default)(MediaRight, _React$Component); - - function MediaRight() { - (0, _classCallCheck3.default)(this, MediaRight); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - MediaRight.prototype.render = function render() { - var _props = this.props, - align = _props.align, - className = _props.className, - props = (0, _objectWithoutProperties3.default)(_props, ['align', 'className']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var classes = (0, _bootstrapUtils.getClassSet)(bsProps); - - if (align) { - // The class is e.g. `media-top`, not `media-right-top`. - classes[(0, _bootstrapUtils.prefix)(_Media2.default.defaultProps, align)] = true; - } - - return _react2.default.createElement('div', (0, _extends3.default)({}, elementProps, { - className: (0, _classnames2.default)(className, classes) - })); - }; - - return MediaRight; -}(_react2.default.Component); - -MediaRight.propTypes = propTypes; - -exports.default = (0, _bootstrapUtils.bsClass)('media-right', MediaRight); - -/***/ }), -/* 382 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _all = __webpack_require__(90); - -var _all2 = _interopRequireDefault(_all); - -var _SafeAnchor = __webpack_require__(28); - -var _SafeAnchor2 = _interopRequireDefault(_SafeAnchor); - -var _bootstrapUtils = __webpack_require__(9); - -var _createChainedFunction = __webpack_require__(19); - -var _createChainedFunction2 = _interopRequireDefault(_createChainedFunction); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - /** - * Highlight the menu item as active. - */ - active: _propTypes2.default.bool, - - /** - * Disable the menu item, making it unselectable. - */ - disabled: _propTypes2.default.bool, - - /** - * Styles the menu item as a horizontal rule, providing visual separation between - * groups of menu items. - */ - divider: (0, _all2.default)(_propTypes2.default.bool, function (_ref) { - var divider = _ref.divider, - children = _ref.children; - return divider && children ? new Error('Children will not be rendered for dividers') : null; - }), - - /** - * Value passed to the `onSelect` handler, useful for identifying the selected menu item. - */ - eventKey: _propTypes2.default.any, - - /** - * Styles the menu item as a header label, useful for describing a group of menu items. - */ - header: _propTypes2.default.bool, - - /** - * HTML `href` attribute corresponding to `a.href`. - */ - href: _propTypes2.default.string, - - /** - * Callback fired when the menu item is clicked. - */ - onClick: _propTypes2.default.func, - - /** - * Callback fired when the menu item is selected. - * - * ```js - * (eventKey: any, event: Object) => any - * ``` - */ - onSelect: _propTypes2.default.func -}; - -var defaultProps = { - divider: false, - disabled: false, - header: false -}; - -var MenuItem = function (_React$Component) { - (0, _inherits3.default)(MenuItem, _React$Component); - - function MenuItem(props, context) { - (0, _classCallCheck3.default)(this, MenuItem); - - var _this = (0, _possibleConstructorReturn3.default)(this, _React$Component.call(this, props, context)); - - _this.handleClick = _this.handleClick.bind(_this); - return _this; - } - - MenuItem.prototype.handleClick = function handleClick(event) { - var _props = this.props, - href = _props.href, - disabled = _props.disabled, - onSelect = _props.onSelect, - eventKey = _props.eventKey; - - if (!href || disabled) { - event.preventDefault(); - } - - if (disabled) { - return; - } - - if (onSelect) { - onSelect(eventKey, event); - } - }; - - MenuItem.prototype.render = function render() { - var _props2 = this.props, - active = _props2.active, - disabled = _props2.disabled, - divider = _props2.divider, - header = _props2.header, - onClick = _props2.onClick, - className = _props2.className, - style = _props2.style, - props = (0, _objectWithoutProperties3.default)(_props2, ['active', 'disabled', 'divider', 'header', 'onClick', 'className', 'style']); - - var _splitBsPropsAndOmit = (0, _bootstrapUtils.splitBsPropsAndOmit)(props, ['eventKey', 'onSelect']), - bsProps = _splitBsPropsAndOmit[0], - elementProps = _splitBsPropsAndOmit[1]; - - if (divider) { - // Forcibly blank out the children; separators shouldn't render any. - elementProps.children = undefined; - - return _react2.default.createElement('li', (0, _extends3.default)({}, elementProps, { - role: 'separator', - className: (0, _classnames2.default)(className, 'divider'), - style: style - })); - } - - if (header) { - return _react2.default.createElement('li', (0, _extends3.default)({}, elementProps, { - role: 'heading', - className: (0, _classnames2.default)(className, (0, _bootstrapUtils.prefix)(bsProps, 'header')), - style: style - })); - } - - return _react2.default.createElement('li', { - role: 'presentation', - className: (0, _classnames2.default)(className, { active: active, disabled: disabled }), - style: style - }, _react2.default.createElement(_SafeAnchor2.default, (0, _extends3.default)({}, elementProps, { - role: 'menuitem', - tabIndex: '-1', - onClick: (0, _createChainedFunction2.default)(onClick, this.handleClick) - }))); - }; - - return MenuItem; -}(_react2.default.Component); - -MenuItem.propTypes = propTypes; -MenuItem.defaultProps = defaultProps; - -exports.default = (0, _bootstrapUtils.bsClass)('dropdown', MenuItem); - -/***/ }), -/* 383 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _events = __webpack_require__(307); - -var _events2 = _interopRequireDefault(_events); - -var _ownerDocument = __webpack_require__(52); - -var _ownerDocument2 = _interopRequireDefault(_ownerDocument); - -var _inDOM = __webpack_require__(37); - -var _inDOM2 = _interopRequireDefault(_inDOM); - -var _scrollbarSize = __webpack_require__(171); - -var _scrollbarSize2 = _interopRequireDefault(_scrollbarSize); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _reactDom = __webpack_require__(21); - -var _reactDom2 = _interopRequireDefault(_reactDom); - -var _Modal = __webpack_require__(483); - -var _Modal2 = _interopRequireDefault(_Modal); - -var _isOverflowing = __webpack_require__(227); - -var _isOverflowing2 = _interopRequireDefault(_isOverflowing); - -var _elementType = __webpack_require__(13); - -var _elementType2 = _interopRequireDefault(_elementType); - -var _Fade = __webpack_require__(82); - -var _Fade2 = _interopRequireDefault(_Fade); - -var _ModalBody = __webpack_require__(189); - -var _ModalBody2 = _interopRequireDefault(_ModalBody); - -var _ModalDialog = __webpack_require__(384); - -var _ModalDialog2 = _interopRequireDefault(_ModalDialog); - -var _ModalFooter = __webpack_require__(190); - -var _ModalFooter2 = _interopRequireDefault(_ModalFooter); - -var _ModalHeader = __webpack_require__(191); - -var _ModalHeader2 = _interopRequireDefault(_ModalHeader); - -var _ModalTitle = __webpack_require__(192); - -var _ModalTitle2 = _interopRequireDefault(_ModalTitle); - -var _bootstrapUtils = __webpack_require__(9); - -var _createChainedFunction = __webpack_require__(19); - -var _createChainedFunction2 = _interopRequireDefault(_createChainedFunction); - -var _splitComponentProps2 = __webpack_require__(83); - -var _splitComponentProps3 = _interopRequireDefault(_splitComponentProps2); - -var _StyleConfig = __webpack_require__(20); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = (0, _extends3.default)({}, _Modal2.default.propTypes, _ModalDialog2.default.propTypes, { - - /** - * Include a backdrop component. Specify 'static' for a backdrop that doesn't - * trigger an "onHide" when clicked. - */ - backdrop: _propTypes2.default.oneOf(['static', true, false]), - - /** - * Close the modal when escape key is pressed - */ - keyboard: _propTypes2.default.bool, - - /** - * Open and close the Modal with a slide and fade animation. - */ - animation: _propTypes2.default.bool, - - /** - * A Component type that provides the modal content Markup. This is a useful - * prop when you want to use your own styles and markup to create a custom - * modal component. - */ - dialogComponentClass: _elementType2.default, - - /** - * When `true` The modal will automatically shift focus to itself when it - * opens, and replace it to the last focused element when it closes. - * Generally this should never be set to false as it makes the Modal less - * accessible to assistive technologies, like screen-readers. - */ - autoFocus: _propTypes2.default.bool, - - /** - * When `true` The modal will prevent focus from leaving the Modal while - * open. Consider leaving the default value here, as it is necessary to make - * the Modal work well with assistive technologies, such as screen readers. - */ - enforceFocus: _propTypes2.default.bool, - - /** - * When `true` The modal will restore focus to previously focused element once - * modal is hidden - */ - restoreFocus: _propTypes2.default.bool, - - /** - * When `true` The modal will show itself. - */ - show: _propTypes2.default.bool, - - /** - * A callback fired when the header closeButton or non-static backdrop is - * clicked. Required if either are specified. - */ - onHide: _propTypes2.default.func, - - /** - * Callback fired before the Modal transitions in - */ - onEnter: _propTypes2.default.func, - - /** - * Callback fired as the Modal begins to transition in - */ - onEntering: _propTypes2.default.func, - - /** - * Callback fired after the Modal finishes transitioning in - */ - onEntered: _propTypes2.default.func, - - /** - * Callback fired right before the Modal transitions out - */ - onExit: _propTypes2.default.func, - - /** - * Callback fired as the Modal begins to transition out - */ - onExiting: _propTypes2.default.func, - - /** - * Callback fired after the Modal finishes transitioning out - */ - onExited: _propTypes2.default.func, - - /** - * @private - */ - container: _Modal2.default.propTypes.container -}); - -var defaultProps = (0, _extends3.default)({}, _Modal2.default.defaultProps, { - animation: true, - dialogComponentClass: _ModalDialog2.default -}); - -var childContextTypes = { - $bs_modal: _propTypes2.default.shape({ - onHide: _propTypes2.default.func - }) -}; - -var Modal = function (_React$Component) { - (0, _inherits3.default)(Modal, _React$Component); - - function Modal(props, context) { - (0, _classCallCheck3.default)(this, Modal); - - var _this = (0, _possibleConstructorReturn3.default)(this, _React$Component.call(this, props, context)); - - _this.handleEntering = _this.handleEntering.bind(_this); - _this.handleExited = _this.handleExited.bind(_this); - _this.handleWindowResize = _this.handleWindowResize.bind(_this); - _this.handleDialogClick = _this.handleDialogClick.bind(_this); - - _this.state = { - style: {} - }; - return _this; - } - - Modal.prototype.getChildContext = function getChildContext() { - return { - $bs_modal: { - onHide: this.props.onHide - } - }; - }; - - Modal.prototype.componentWillUnmount = function componentWillUnmount() { - // Clean up the listener if we need to. - this.handleExited(); - }; - - Modal.prototype.handleEntering = function handleEntering() { - // FIXME: This should work even when animation is disabled. - _events2.default.on(window, 'resize', this.handleWindowResize); - this.updateStyle(); - }; - - Modal.prototype.handleExited = function handleExited() { - // FIXME: This should work even when animation is disabled. - _events2.default.off(window, 'resize', this.handleWindowResize); - }; - - Modal.prototype.handleWindowResize = function handleWindowResize() { - this.updateStyle(); - }; - - Modal.prototype.handleDialogClick = function handleDialogClick(e) { - if (e.target !== e.currentTarget) { - return; - } - - this.props.onHide(); - }; - - Modal.prototype.updateStyle = function updateStyle() { - if (!_inDOM2.default) { - return; - } - - var dialogNode = this._modal.getDialogElement(); - var dialogHeight = dialogNode.scrollHeight; - - var document = (0, _ownerDocument2.default)(dialogNode); - var bodyIsOverflowing = (0, _isOverflowing2.default)(_reactDom2.default.findDOMNode(this.props.container || document.body)); - var modalIsOverflowing = dialogHeight > document.documentElement.clientHeight; - - this.setState({ - style: { - paddingRight: bodyIsOverflowing && !modalIsOverflowing ? (0, _scrollbarSize2.default)() : undefined, - paddingLeft: !bodyIsOverflowing && modalIsOverflowing ? (0, _scrollbarSize2.default)() : undefined - } - }); - }; - - Modal.prototype.render = function render() { - var _this2 = this; - - var _props = this.props, - backdrop = _props.backdrop, - animation = _props.animation, - show = _props.show, - Dialog = _props.dialogComponentClass, - className = _props.className, - style = _props.style, - children = _props.children, - onEntering = _props.onEntering, - onExited = _props.onExited, - props = (0, _objectWithoutProperties3.default)(_props, ['backdrop', 'animation', 'show', 'dialogComponentClass', 'className', 'style', 'children', 'onEntering', 'onExited']); - - var _splitComponentProps = (0, _splitComponentProps3.default)(props, _Modal2.default), - baseModalProps = _splitComponentProps[0], - dialogProps = _splitComponentProps[1]; - - var inClassName = show && !animation && 'in'; - - return _react2.default.createElement(_Modal2.default, (0, _extends3.default)({}, baseModalProps, { - ref: function ref(c) { - _this2._modal = c; - }, - show: show, - onEntering: (0, _createChainedFunction2.default)(onEntering, this.handleEntering), - onExited: (0, _createChainedFunction2.default)(onExited, this.handleExited), - backdrop: backdrop, - backdropClassName: (0, _classnames2.default)((0, _bootstrapUtils.prefix)(props, 'backdrop'), inClassName), - containerClassName: (0, _bootstrapUtils.prefix)(props, 'open'), - transition: animation ? _Fade2.default : undefined, - dialogTransitionTimeout: Modal.TRANSITION_DURATION, - backdropTransitionTimeout: Modal.BACKDROP_TRANSITION_DURATION - }), _react2.default.createElement(Dialog, (0, _extends3.default)({}, dialogProps, { - style: (0, _extends3.default)({}, this.state.style, style), - className: (0, _classnames2.default)(className, inClassName), - onClick: backdrop === true ? this.handleDialogClick : null - }), children)); - }; - - return Modal; -}(_react2.default.Component); - -Modal.propTypes = propTypes; -Modal.defaultProps = defaultProps; -Modal.childContextTypes = childContextTypes; - -Modal.Body = _ModalBody2.default; -Modal.Header = _ModalHeader2.default; -Modal.Title = _ModalTitle2.default; -Modal.Footer = _ModalFooter2.default; - -Modal.Dialog = _ModalDialog2.default; - -Modal.TRANSITION_DURATION = 300; -Modal.BACKDROP_TRANSITION_DURATION = 150; - -exports.default = (0, _bootstrapUtils.bsClass)('modal', (0, _bootstrapUtils.bsSizes)([_StyleConfig.Size.LARGE, _StyleConfig.Size.SMALL], Modal)); - -/***/ }), -/* 384 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends3 = __webpack_require__(5); - -var _extends4 = _interopRequireDefault(_extends3); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _bootstrapUtils = __webpack_require__(9); - -var _StyleConfig = __webpack_require__(20); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - /** - * A css class to apply to the Modal dialog DOM node. - */ - dialogClassName: _propTypes2.default.string -}; - -var ModalDialog = function (_React$Component) { - (0, _inherits3.default)(ModalDialog, _React$Component); - - function ModalDialog() { - (0, _classCallCheck3.default)(this, ModalDialog); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - ModalDialog.prototype.render = function render() { - var _extends2; - - var _props = this.props, - dialogClassName = _props.dialogClassName, - className = _props.className, - style = _props.style, - children = _props.children, - props = (0, _objectWithoutProperties3.default)(_props, ['dialogClassName', 'className', 'style', 'children']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var bsClassName = (0, _bootstrapUtils.prefix)(bsProps); - - var modalStyle = (0, _extends4.default)({ display: 'block' }, style); - - var dialogClasses = (0, _extends4.default)({}, (0, _bootstrapUtils.getClassSet)(bsProps), (_extends2 = {}, _extends2[bsClassName] = false, _extends2[(0, _bootstrapUtils.prefix)(bsProps, 'dialog')] = true, _extends2)); - - return _react2.default.createElement('div', (0, _extends4.default)({}, elementProps, { - tabIndex: '-1', - role: 'dialog', - style: modalStyle, - className: (0, _classnames2.default)(className, bsClassName) - }), _react2.default.createElement('div', { className: (0, _classnames2.default)(dialogClassName, dialogClasses) }, _react2.default.createElement('div', { className: (0, _bootstrapUtils.prefix)(bsProps, 'content'), role: 'document' }, children))); - }; - - return ModalDialog; -}(_react2.default.Component); - -ModalDialog.propTypes = propTypes; - -exports.default = (0, _bootstrapUtils.bsClass)('modal', (0, _bootstrapUtils.bsSizes)([_StyleConfig.Size.LARGE, _StyleConfig.Size.SMALL], ModalDialog)); - -/***/ }), -/* 385 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _Dropdown = __webpack_require__(81); - -var _Dropdown2 = _interopRequireDefault(_Dropdown); - -var _splitComponentProps2 = __webpack_require__(83); - -var _splitComponentProps3 = _interopRequireDefault(_splitComponentProps2); - -var _ValidComponentChildren = __webpack_require__(22); - -var _ValidComponentChildren2 = _interopRequireDefault(_ValidComponentChildren); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = (0, _extends3.default)({}, _Dropdown2.default.propTypes, { - - // Toggle props. - title: _propTypes2.default.node.isRequired, - noCaret: _propTypes2.default.bool, - active: _propTypes2.default.bool, - - // Override generated docs from <Dropdown>. - /** - * @private - */ - children: _propTypes2.default.node -}); - -var NavDropdown = function (_React$Component) { - (0, _inherits3.default)(NavDropdown, _React$Component); - - function NavDropdown() { - (0, _classCallCheck3.default)(this, NavDropdown); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - NavDropdown.prototype.isActive = function isActive(_ref, activeKey, activeHref) { - var props = _ref.props; - - var _this2 = this; - - if (props.active || activeKey != null && props.eventKey === activeKey || activeHref && props.href === activeHref) { - return true; - } - - if (_ValidComponentChildren2.default.some(props.children, function (child) { - return _this2.isActive(child, activeKey, activeHref); - })) { - return true; - } - - return props.active; - }; - - NavDropdown.prototype.render = function render() { - var _this3 = this; - - var _props = this.props, - title = _props.title, - activeKey = _props.activeKey, - activeHref = _props.activeHref, - className = _props.className, - style = _props.style, - children = _props.children, - props = (0, _objectWithoutProperties3.default)(_props, ['title', 'activeKey', 'activeHref', 'className', 'style', 'children']); - - var active = this.isActive(this, activeKey, activeHref); - delete props.active; // Accessed via this.isActive(). - delete props.eventKey; // Accessed via this.isActive(). - - var _splitComponentProps = (0, _splitComponentProps3.default)(props, _Dropdown2.default.ControlledComponent), - dropdownProps = _splitComponentProps[0], - toggleProps = _splitComponentProps[1]; - - // Unlike for the other dropdowns, styling needs to go to the `<Dropdown>` - // rather than the `<Dropdown.Toggle>`. - - return _react2.default.createElement(_Dropdown2.default, (0, _extends3.default)({}, dropdownProps, { - componentClass: 'li', - className: (0, _classnames2.default)(className, { active: active }), - style: style - }), _react2.default.createElement(_Dropdown2.default.Toggle, (0, _extends3.default)({}, toggleProps, { useAnchor: true }), title), _react2.default.createElement(_Dropdown2.default.Menu, null, _ValidComponentChildren2.default.map(children, function (child) { - return _react2.default.cloneElement(child, { - active: _this3.isActive(child, activeKey, activeHref) - }); - }))); - }; - - return NavDropdown; -}(_react2.default.Component); - -NavDropdown.propTypes = propTypes; - -exports.default = NavDropdown; - -/***/ }), -/* 386 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends3 = __webpack_require__(5); - -var _extends4 = _interopRequireDefault(_extends3); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _elementType = __webpack_require__(13); - -var _elementType2 = _interopRequireDefault(_elementType); - -var _uncontrollable = __webpack_require__(94); - -var _uncontrollable2 = _interopRequireDefault(_uncontrollable); - -var _Grid = __webpack_require__(187); - -var _Grid2 = _interopRequireDefault(_Grid); - -var _NavbarBrand = __webpack_require__(195); - -var _NavbarBrand2 = _interopRequireDefault(_NavbarBrand); - -var _NavbarCollapse = __webpack_require__(387); - -var _NavbarCollapse2 = _interopRequireDefault(_NavbarCollapse); - -var _NavbarHeader = __webpack_require__(388); - -var _NavbarHeader2 = _interopRequireDefault(_NavbarHeader); - -var _NavbarToggle = __webpack_require__(389); - -var _NavbarToggle2 = _interopRequireDefault(_NavbarToggle); - -var _bootstrapUtils = __webpack_require__(9); - -var _StyleConfig = __webpack_require__(20); - -var _createChainedFunction = __webpack_require__(19); - -var _createChainedFunction2 = _interopRequireDefault(_createChainedFunction); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - /** - * Create a fixed navbar along the top of the screen, that scrolls with the - * page - */ - fixedTop: _propTypes2.default.bool, - /** - * Create a fixed navbar along the bottom of the screen, that scrolls with - * the page - */ - fixedBottom: _propTypes2.default.bool, - /** - * Create a full-width navbar that scrolls away with the page - */ - staticTop: _propTypes2.default.bool, - /** - * An alternative dark visual style for the Navbar - */ - inverse: _propTypes2.default.bool, - /** - * Allow the Navbar to fluidly adjust to the page or container width, instead - * of at the predefined screen breakpoints - */ - fluid: _propTypes2.default.bool, - - /** - * Set a custom element for this component. - */ - componentClass: _elementType2.default, - /** - * A callback fired when the `<Navbar>` body collapses or expands. Fired when - * a `<Navbar.Toggle>` is clicked and called with the new `navExpanded` - * boolean value. - * - * @controllable navExpanded - */ - onToggle: _propTypes2.default.func, - /** - * A callback fired when a descendant of a child `<Nav>` is selected. Should - * be used to execute complex closing or other miscellaneous actions desired - * after selecting a descendant of `<Nav>`. Does nothing if no `<Nav>` or `<Nav>` - * descendants exist. The callback is called with an eventKey, which is a - * prop from the selected `<Nav>` descendant, and an event. - * - * ```js - * function ( - * Any eventKey, - * SyntheticEvent event? - * ) - * ``` - * - * For basic closing behavior after all `<Nav>` descendant onSelect events in - * mobile viewports, try using collapseOnSelect. - * - * Note: If you are manually closing the navbar using this `OnSelect` prop, - * ensure that you are setting `expanded` to false and not *toggling* between - * true and false. - */ - onSelect: _propTypes2.default.func, - /** - * Sets `expanded` to `false` after the onSelect event of a descendant of a - * child `<Nav>`. Does nothing if no `<Nav>` or `<Nav>` descendants exist. - * - * The onSelect callback should be used instead for more complex operations - * that need to be executed after the `select` event of `<Nav>` descendants. - */ - collapseOnSelect: _propTypes2.default.bool, - /** - * Explicitly set the visiblity of the navbar body - * - * @controllable onToggle - */ - expanded: _propTypes2.default.bool, - - role: _propTypes2.default.string -}; -// TODO: Remove this pragma once we upgrade eslint-config-airbnb. -/* eslint-disable react/no-multi-comp */ - -var defaultProps = { - componentClass: 'nav', - fixedTop: false, - fixedBottom: false, - staticTop: false, - inverse: false, - fluid: false, - collapseOnSelect: false -}; - -var childContextTypes = { - $bs_navbar: _propTypes2.default.shape({ - bsClass: _propTypes2.default.string, - expanded: _propTypes2.default.bool, - onToggle: _propTypes2.default.func.isRequired, - onSelect: _propTypes2.default.func - }) -}; - -var Navbar = function (_React$Component) { - (0, _inherits3.default)(Navbar, _React$Component); - - function Navbar(props, context) { - (0, _classCallCheck3.default)(this, Navbar); - - var _this = (0, _possibleConstructorReturn3.default)(this, _React$Component.call(this, props, context)); - - _this.handleToggle = _this.handleToggle.bind(_this); - _this.handleCollapse = _this.handleCollapse.bind(_this); - return _this; - } - - Navbar.prototype.getChildContext = function getChildContext() { - var _props = this.props, - bsClass = _props.bsClass, - expanded = _props.expanded, - onSelect = _props.onSelect, - collapseOnSelect = _props.collapseOnSelect; - - return { - $bs_navbar: { - bsClass: bsClass, - expanded: expanded, - onToggle: this.handleToggle, - onSelect: (0, _createChainedFunction2.default)(onSelect, collapseOnSelect ? this.handleCollapse : null) - } - }; - }; - - Navbar.prototype.handleCollapse = function handleCollapse() { - var _props2 = this.props, - onToggle = _props2.onToggle, - expanded = _props2.expanded; - - if (expanded) { - onToggle(false); - } - }; - - Navbar.prototype.handleToggle = function handleToggle() { - var _props3 = this.props, - onToggle = _props3.onToggle, - expanded = _props3.expanded; - - onToggle(!expanded); - }; - - Navbar.prototype.render = function render() { - var _extends2; - - var _props4 = this.props, - Component = _props4.componentClass, - fixedTop = _props4.fixedTop, - fixedBottom = _props4.fixedBottom, - staticTop = _props4.staticTop, - inverse = _props4.inverse, - fluid = _props4.fluid, - className = _props4.className, - children = _props4.children, - props = (0, _objectWithoutProperties3.default)(_props4, ['componentClass', 'fixedTop', 'fixedBottom', 'staticTop', 'inverse', 'fluid', 'className', 'children']); - - var _splitBsPropsAndOmit = (0, _bootstrapUtils.splitBsPropsAndOmit)(props, ['expanded', 'onToggle', 'onSelect', 'collapseOnSelect']), - bsProps = _splitBsPropsAndOmit[0], - elementProps = _splitBsPropsAndOmit[1]; - - // will result in some false positives but that seems better - // than false negatives. strict `undefined` check allows explicit - // "nulling" of the role if the user really doesn't want one - - - if (elementProps.role === undefined && Component !== 'nav') { - elementProps.role = 'navigation'; - } - - if (inverse) { - bsProps.bsStyle = _StyleConfig.Style.INVERSE; - } - - var classes = (0, _extends4.default)({}, (0, _bootstrapUtils.getClassSet)(bsProps), (_extends2 = {}, _extends2[(0, _bootstrapUtils.prefix)(bsProps, 'fixed-top')] = fixedTop, _extends2[(0, _bootstrapUtils.prefix)(bsProps, 'fixed-bottom')] = fixedBottom, _extends2[(0, _bootstrapUtils.prefix)(bsProps, 'static-top')] = staticTop, _extends2)); - - return _react2.default.createElement(Component, (0, _extends4.default)({}, elementProps, { - className: (0, _classnames2.default)(className, classes) - }), _react2.default.createElement(_Grid2.default, { fluid: fluid }, children)); - }; - - return Navbar; -}(_react2.default.Component); - -Navbar.propTypes = propTypes; -Navbar.defaultProps = defaultProps; -Navbar.childContextTypes = childContextTypes; - -(0, _bootstrapUtils.bsClass)('navbar', Navbar); - -var UncontrollableNavbar = (0, _uncontrollable2.default)(Navbar, { expanded: 'onToggle' }); - -function createSimpleWrapper(tag, suffix, displayName) { - var Wrapper = function Wrapper(_ref, _ref2) { - var _ref2$$bs_navbar = _ref2.$bs_navbar, - navbarProps = _ref2$$bs_navbar === undefined ? { bsClass: 'navbar' } : _ref2$$bs_navbar; - - var Component = _ref.componentClass, - className = _ref.className, - pullRight = _ref.pullRight, - pullLeft = _ref.pullLeft, - props = (0, _objectWithoutProperties3.default)(_ref, ['componentClass', 'className', 'pullRight', 'pullLeft']); - - return _react2.default.createElement(Component, (0, _extends4.default)({}, props, { - className: (0, _classnames2.default)(className, (0, _bootstrapUtils.prefix)(navbarProps, suffix), pullRight && (0, _bootstrapUtils.prefix)(navbarProps, 'right'), pullLeft && (0, _bootstrapUtils.prefix)(navbarProps, 'left')) - })); - }; - - Wrapper.displayName = displayName; - - Wrapper.propTypes = { - componentClass: _elementType2.default, - pullRight: _propTypes2.default.bool, - pullLeft: _propTypes2.default.bool - }; - - Wrapper.defaultProps = { - componentClass: tag, - pullRight: false, - pullLeft: false - }; - - Wrapper.contextTypes = { - $bs_navbar: _propTypes2.default.shape({ - bsClass: _propTypes2.default.string - }) - }; - - return Wrapper; -} - -UncontrollableNavbar.Brand = _NavbarBrand2.default; -UncontrollableNavbar.Header = _NavbarHeader2.default; -UncontrollableNavbar.Toggle = _NavbarToggle2.default; -UncontrollableNavbar.Collapse = _NavbarCollapse2.default; - -UncontrollableNavbar.Form = createSimpleWrapper('div', 'form', 'NavbarForm'); -UncontrollableNavbar.Text = createSimpleWrapper('p', 'text', 'NavbarText'); -UncontrollableNavbar.Link = createSimpleWrapper('a', 'link', 'NavbarLink'); - -// Set bsStyles here so they can be overridden. -exports.default = (0, _bootstrapUtils.bsStyles)([_StyleConfig.Style.DEFAULT, _StyleConfig.Style.INVERSE], _StyleConfig.Style.DEFAULT, UncontrollableNavbar); - -/***/ }), -/* 387 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _Collapse = __webpack_require__(121); - -var _Collapse2 = _interopRequireDefault(_Collapse); - -var _bootstrapUtils = __webpack_require__(9); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var contextTypes = { - $bs_navbar: _propTypes2.default.shape({ - bsClass: _propTypes2.default.string, - expanded: _propTypes2.default.bool - }) -}; - -var NavbarCollapse = function (_React$Component) { - (0, _inherits3.default)(NavbarCollapse, _React$Component); - - function NavbarCollapse() { - (0, _classCallCheck3.default)(this, NavbarCollapse); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - NavbarCollapse.prototype.render = function render() { - var _props = this.props, - children = _props.children, - props = (0, _objectWithoutProperties3.default)(_props, ['children']); - - var navbarProps = this.context.$bs_navbar || { bsClass: 'navbar' }; - - var bsClassName = (0, _bootstrapUtils.prefix)(navbarProps, 'collapse'); - - return _react2.default.createElement(_Collapse2.default, (0, _extends3.default)({ 'in': navbarProps.expanded }, props), _react2.default.createElement('div', { className: bsClassName }, children)); - }; - - return NavbarCollapse; -}(_react2.default.Component); - -NavbarCollapse.contextTypes = contextTypes; - -exports.default = NavbarCollapse; - -/***/ }), -/* 388 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _bootstrapUtils = __webpack_require__(9); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var contextTypes = { - $bs_navbar: _propTypes2.default.shape({ - bsClass: _propTypes2.default.string - }) -}; - -var NavbarHeader = function (_React$Component) { - (0, _inherits3.default)(NavbarHeader, _React$Component); - - function NavbarHeader() { - (0, _classCallCheck3.default)(this, NavbarHeader); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - NavbarHeader.prototype.render = function render() { - var _props = this.props, - className = _props.className, - props = (0, _objectWithoutProperties3.default)(_props, ['className']); - - var navbarProps = this.context.$bs_navbar || { bsClass: 'navbar' }; - - var bsClassName = (0, _bootstrapUtils.prefix)(navbarProps, 'header'); - - return _react2.default.createElement('div', (0, _extends3.default)({}, props, { className: (0, _classnames2.default)(className, bsClassName) })); - }; - - return NavbarHeader; -}(_react2.default.Component); - -NavbarHeader.contextTypes = contextTypes; - -exports.default = NavbarHeader; - -/***/ }), -/* 389 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _bootstrapUtils = __webpack_require__(9); - -var _createChainedFunction = __webpack_require__(19); - -var _createChainedFunction2 = _interopRequireDefault(_createChainedFunction); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - onClick: _propTypes2.default.func, - /** - * The toggle content, if left empty it will render the default toggle (seen above). - */ - children: _propTypes2.default.node -}; - -var contextTypes = { - $bs_navbar: _propTypes2.default.shape({ - bsClass: _propTypes2.default.string, - expanded: _propTypes2.default.bool, - onToggle: _propTypes2.default.func.isRequired - }) -}; - -var NavbarToggle = function (_React$Component) { - (0, _inherits3.default)(NavbarToggle, _React$Component); - - function NavbarToggle() { - (0, _classCallCheck3.default)(this, NavbarToggle); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - NavbarToggle.prototype.render = function render() { - var _props = this.props, - onClick = _props.onClick, - className = _props.className, - children = _props.children, - props = (0, _objectWithoutProperties3.default)(_props, ['onClick', 'className', 'children']); - - var navbarProps = this.context.$bs_navbar || { bsClass: 'navbar' }; - - var buttonProps = (0, _extends3.default)({ - type: 'button' - }, props, { - onClick: (0, _createChainedFunction2.default)(onClick, navbarProps.onToggle), - className: (0, _classnames2.default)(className, (0, _bootstrapUtils.prefix)(navbarProps, 'toggle'), !navbarProps.expanded && 'collapsed') - }); - - if (children) { - return _react2.default.createElement('button', buttonProps, children); - } - - return _react2.default.createElement('button', buttonProps, _react2.default.createElement('span', { className: 'sr-only' }, 'Toggle navigation'), _react2.default.createElement('span', { className: 'icon-bar' }), _react2.default.createElement('span', { className: 'icon-bar' }), _react2.default.createElement('span', { className: 'icon-bar' })); - }; - - return NavbarToggle; -}(_react2.default.Component); - -NavbarToggle.propTypes = propTypes; -NavbarToggle.contextTypes = contextTypes; - -exports.default = NavbarToggle; - -/***/ }), -/* 390 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _contains = __webpack_require__(53); - -var _contains2 = _interopRequireDefault(_contains); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _reactDom = __webpack_require__(21); - -var _reactDom2 = _interopRequireDefault(_reactDom); - -var _warning = __webpack_require__(16); - -var _warning2 = _interopRequireDefault(_warning); - -var _Overlay = __webpack_require__(196); - -var _Overlay2 = _interopRequireDefault(_Overlay); - -var _createChainedFunction = __webpack_require__(19); - -var _createChainedFunction2 = _interopRequireDefault(_createChainedFunction); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * Check if value one is inside or equal to the of value - * - * @param {string} one - * @param {string|array} of - * @returns {boolean} - */ -function isOneOf(one, of) { - if (Array.isArray(of)) { - return of.indexOf(one) >= 0; - } - return one === of; -} - -var triggerType = _propTypes2.default.oneOf(['click', 'hover', 'focus']); - -var propTypes = (0, _extends3.default)({}, _Overlay2.default.propTypes, { - - /** - * Specify which action or actions trigger Overlay visibility - */ - trigger: _propTypes2.default.oneOfType([triggerType, _propTypes2.default.arrayOf(triggerType)]), - - /** - * A millisecond delay amount to show and hide the Overlay once triggered - */ - delay: _propTypes2.default.number, - /** - * A millisecond delay amount before showing the Overlay once triggered. - */ - delayShow: _propTypes2.default.number, - /** - * A millisecond delay amount before hiding the Overlay once triggered. - */ - delayHide: _propTypes2.default.number, - - // FIXME: This should be `defaultShow`. - /** - * The initial visibility state of the Overlay. For more nuanced visibility - * control, consider using the Overlay component directly. - */ - defaultOverlayShown: _propTypes2.default.bool, - - /** - * An element or text to overlay next to the target. - */ - overlay: _propTypes2.default.node.isRequired, - - /** - * @private - */ - onBlur: _propTypes2.default.func, - /** - * @private - */ - onClick: _propTypes2.default.func, - /** - * @private - */ - onFocus: _propTypes2.default.func, - /** - * @private - */ - onMouseOut: _propTypes2.default.func, - /** - * @private - */ - onMouseOver: _propTypes2.default.func, - - // Overridden props from `<Overlay>`. - /** - * @private - */ - target: _propTypes2.default.oneOf([null]), - /** - * @private - */ - onHide: _propTypes2.default.oneOf([null]), - /** - * @private - */ - show: _propTypes2.default.oneOf([null]) -}); - -var defaultProps = { - defaultOverlayShown: false, - trigger: ['hover', 'focus'] -}; - -var OverlayTrigger = function (_React$Component) { - (0, _inherits3.default)(OverlayTrigger, _React$Component); - - function OverlayTrigger(props, context) { - (0, _classCallCheck3.default)(this, OverlayTrigger); - - var _this = (0, _possibleConstructorReturn3.default)(this, _React$Component.call(this, props, context)); - - _this.handleToggle = _this.handleToggle.bind(_this); - _this.handleDelayedShow = _this.handleDelayedShow.bind(_this); - _this.handleDelayedHide = _this.handleDelayedHide.bind(_this); - _this.handleHide = _this.handleHide.bind(_this); - - _this.handleMouseOver = function (e) { - return _this.handleMouseOverOut(_this.handleDelayedShow, e); - }; - _this.handleMouseOut = function (e) { - return _this.handleMouseOverOut(_this.handleDelayedHide, e); - }; - - _this._mountNode = null; - - _this.state = { - show: props.defaultOverlayShown - }; - return _this; - } - - OverlayTrigger.prototype.componentDidMount = function componentDidMount() { - this._mountNode = document.createElement('div'); - this.renderOverlay(); - }; - - OverlayTrigger.prototype.componentDidUpdate = function componentDidUpdate() { - this.renderOverlay(); - }; - - OverlayTrigger.prototype.componentWillUnmount = function componentWillUnmount() { - _reactDom2.default.unmountComponentAtNode(this._mountNode); - this._mountNode = null; - - clearTimeout(this._hoverShowDelay); - clearTimeout(this._hoverHideDelay); - }; - - OverlayTrigger.prototype.handleToggle = function handleToggle() { - if (this.state.show) { - this.hide(); - } else { - this.show(); - } - }; - - OverlayTrigger.prototype.handleDelayedShow = function handleDelayedShow() { - var _this2 = this; - - if (this._hoverHideDelay != null) { - clearTimeout(this._hoverHideDelay); - this._hoverHideDelay = null; - return; - } - - if (this.state.show || this._hoverShowDelay != null) { - return; - } - - var delay = this.props.delayShow != null ? this.props.delayShow : this.props.delay; - - if (!delay) { - this.show(); - return; - } - - this._hoverShowDelay = setTimeout(function () { - _this2._hoverShowDelay = null; - _this2.show(); - }, delay); - }; - - OverlayTrigger.prototype.handleDelayedHide = function handleDelayedHide() { - var _this3 = this; - - if (this._hoverShowDelay != null) { - clearTimeout(this._hoverShowDelay); - this._hoverShowDelay = null; - return; - } - - if (!this.state.show || this._hoverHideDelay != null) { - return; - } - - var delay = this.props.delayHide != null ? this.props.delayHide : this.props.delay; - - if (!delay) { - this.hide(); - return; - } - - this._hoverHideDelay = setTimeout(function () { - _this3._hoverHideDelay = null; - _this3.hide(); - }, delay); - }; - - // Simple implementation of mouseEnter and mouseLeave. - // React's built version is broken: https://github.com/facebook/react/issues/4251 - // for cases when the trigger is disabled and mouseOut/Over can cause flicker - // moving from one child element to another. - - - OverlayTrigger.prototype.handleMouseOverOut = function handleMouseOverOut(handler, e) { - var target = e.currentTarget; - var related = e.relatedTarget || e.nativeEvent.toElement; - - if (!related || related !== target && !(0, _contains2.default)(target, related)) { - handler(e); - } - }; - - OverlayTrigger.prototype.handleHide = function handleHide() { - this.hide(); - }; - - OverlayTrigger.prototype.show = function show() { - this.setState({ show: true }); - }; - - OverlayTrigger.prototype.hide = function hide() { - this.setState({ show: false }); - }; - - OverlayTrigger.prototype.makeOverlay = function makeOverlay(overlay, props) { - return _react2.default.createElement(_Overlay2.default, (0, _extends3.default)({}, props, { - show: this.state.show, - onHide: this.handleHide, - target: this - }), overlay); - }; - - OverlayTrigger.prototype.renderOverlay = function renderOverlay() { - _reactDom2.default.unstable_renderSubtreeIntoContainer(this, this._overlay, this._mountNode); - }; - - OverlayTrigger.prototype.render = function render() { - var _props = this.props, - trigger = _props.trigger, - overlay = _props.overlay, - children = _props.children, - onBlur = _props.onBlur, - onClick = _props.onClick, - onFocus = _props.onFocus, - onMouseOut = _props.onMouseOut, - onMouseOver = _props.onMouseOver, - props = (0, _objectWithoutProperties3.default)(_props, ['trigger', 'overlay', 'children', 'onBlur', 'onClick', 'onFocus', 'onMouseOut', 'onMouseOver']); - - delete props.delay; - delete props.delayShow; - delete props.delayHide; - delete props.defaultOverlayShown; - - var child = _react2.default.Children.only(children); - var childProps = child.props; - var triggerProps = {}; - - if (this.state.show) { - triggerProps['aria-describedby'] = overlay.props.id; - } - - // FIXME: The logic here for passing through handlers on this component is - // inconsistent. We shouldn't be passing any of these props through. - - triggerProps.onClick = (0, _createChainedFunction2.default)(childProps.onClick, onClick); - - if (isOneOf('click', trigger)) { - triggerProps.onClick = (0, _createChainedFunction2.default)(triggerProps.onClick, this.handleToggle); - } - - if (isOneOf('hover', trigger)) { - process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(!(trigger === 'hover'), '[react-bootstrap] Specifying only the `"hover"` trigger limits the ' + 'visibility of the overlay to just mouse users. Consider also ' + 'including the `"focus"` trigger so that touch and keyboard only ' + 'users can see the overlay as well.') : void 0; - - triggerProps.onMouseOver = (0, _createChainedFunction2.default)(childProps.onMouseOver, onMouseOver, this.handleMouseOver); - triggerProps.onMouseOut = (0, _createChainedFunction2.default)(childProps.onMouseOut, onMouseOut, this.handleMouseOut); - } - - if (isOneOf('focus', trigger)) { - triggerProps.onFocus = (0, _createChainedFunction2.default)(childProps.onFocus, onFocus, this.handleDelayedShow); - triggerProps.onBlur = (0, _createChainedFunction2.default)(childProps.onBlur, onBlur, this.handleDelayedHide); - } - - this._overlay = this.makeOverlay(overlay, props); - - return (0, _react.cloneElement)(child, triggerProps); - }; - - return OverlayTrigger; -}(_react2.default.Component); - -OverlayTrigger.propTypes = propTypes; -OverlayTrigger.defaultProps = defaultProps; - -exports.default = OverlayTrigger; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 391 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _bootstrapUtils = __webpack_require__(9); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var PageHeader = function (_React$Component) { - (0, _inherits3.default)(PageHeader, _React$Component); - - function PageHeader() { - (0, _classCallCheck3.default)(this, PageHeader); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - PageHeader.prototype.render = function render() { - var _props = this.props, - className = _props.className, - children = _props.children, - props = (0, _objectWithoutProperties3.default)(_props, ['className', 'children']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var classes = (0, _bootstrapUtils.getClassSet)(bsProps); - - return _react2.default.createElement('div', (0, _extends3.default)({}, elementProps, { - className: (0, _classnames2.default)(className, classes) - }), _react2.default.createElement('h1', null, children)); - }; - - return PageHeader; -}(_react2.default.Component); - -exports.default = (0, _bootstrapUtils.bsClass)('page-header', PageHeader); - -/***/ }), -/* 392 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _PagerItem = __webpack_require__(197); - -var _PagerItem2 = _interopRequireDefault(_PagerItem); - -var _deprecationWarning = __webpack_require__(411); - -var _deprecationWarning2 = _interopRequireDefault(_deprecationWarning); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = _deprecationWarning2.default.wrapper(_PagerItem2.default, '`<PageItem>`', '`<Pager.Item>`'); - -/***/ }), -/* 393 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _PagerItem = __webpack_require__(197); - -var _PagerItem2 = _interopRequireDefault(_PagerItem); - -var _bootstrapUtils = __webpack_require__(9); - -var _createChainedFunction = __webpack_require__(19); - -var _createChainedFunction2 = _interopRequireDefault(_createChainedFunction); - -var _ValidComponentChildren = __webpack_require__(22); - -var _ValidComponentChildren2 = _interopRequireDefault(_ValidComponentChildren); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - onSelect: _propTypes2.default.func -}; - -var Pager = function (_React$Component) { - (0, _inherits3.default)(Pager, _React$Component); - - function Pager() { - (0, _classCallCheck3.default)(this, Pager); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - Pager.prototype.render = function render() { - var _props = this.props, - onSelect = _props.onSelect, - className = _props.className, - children = _props.children, - props = (0, _objectWithoutProperties3.default)(_props, ['onSelect', 'className', 'children']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var classes = (0, _bootstrapUtils.getClassSet)(bsProps); - - return _react2.default.createElement('ul', (0, _extends3.default)({}, elementProps, { - className: (0, _classnames2.default)(className, classes) - }), _ValidComponentChildren2.default.map(children, function (child) { - return (0, _react.cloneElement)(child, { - onSelect: (0, _createChainedFunction2.default)(child.props.onSelect, onSelect) - }); - })); - }; - - return Pager; -}(_react2.default.Component); - -Pager.propTypes = propTypes; - -Pager.Item = _PagerItem2.default; - -exports.default = (0, _bootstrapUtils.bsClass)('pager', Pager); - -/***/ }), -/* 394 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _elementType = __webpack_require__(13); - -var _elementType2 = _interopRequireDefault(_elementType); - -var _PaginationButton = __webpack_require__(198); - -var _PaginationButton2 = _interopRequireDefault(_PaginationButton); - -var _bootstrapUtils = __webpack_require__(9); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - activePage: _propTypes2.default.number, - items: _propTypes2.default.number, - maxButtons: _propTypes2.default.number, - - /** - * When `true`, will display the first and the last button page when - * displaying ellipsis. - */ - boundaryLinks: _propTypes2.default.bool, - - /** - * When `true`, will display the default node value ('…'). - * Otherwise, will display provided node (when specified). - */ - ellipsis: _propTypes2.default.oneOfType([_propTypes2.default.bool, _propTypes2.default.node]), - - /** - * When `true`, will display the default node value ('«'). - * Otherwise, will display provided node (when specified). - */ - first: _propTypes2.default.oneOfType([_propTypes2.default.bool, _propTypes2.default.node]), - - /** - * When `true`, will display the default node value ('»'). - * Otherwise, will display provided node (when specified). - */ - last: _propTypes2.default.oneOfType([_propTypes2.default.bool, _propTypes2.default.node]), - - /** - * When `true`, will display the default node value ('‹'). - * Otherwise, will display provided node (when specified). - */ - prev: _propTypes2.default.oneOfType([_propTypes2.default.bool, _propTypes2.default.node]), - - /** - * When `true`, will display the default node value ('›'). - * Otherwise, will display provided node (when specified). - */ - next: _propTypes2.default.oneOfType([_propTypes2.default.bool, _propTypes2.default.node]), - - onSelect: _propTypes2.default.func, - - /** - * You can use a custom element for the buttons - */ - buttonComponentClass: _elementType2.default -}; - -var defaultProps = { - activePage: 1, - items: 1, - maxButtons: 0, - first: false, - last: false, - prev: false, - next: false, - ellipsis: true, - boundaryLinks: false -}; - -var Pagination = function (_React$Component) { - (0, _inherits3.default)(Pagination, _React$Component); - - function Pagination() { - (0, _classCallCheck3.default)(this, Pagination); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - Pagination.prototype.renderPageButtons = function renderPageButtons(activePage, items, maxButtons, boundaryLinks, ellipsis, buttonProps) { - var pageButtons = []; - - var startPage = void 0; - var endPage = void 0; - - if (maxButtons && maxButtons < items) { - startPage = Math.max(Math.min(activePage - Math.floor(maxButtons / 2, 10), items - maxButtons + 1), 1); - endPage = startPage + maxButtons - 1; - } else { - startPage = 1; - endPage = items; - } - - for (var page = startPage; page <= endPage; ++page) { - pageButtons.push(_react2.default.createElement(_PaginationButton2.default, (0, _extends3.default)({}, buttonProps, { - key: page, - eventKey: page, - active: page === activePage - }), page)); - } - - if (ellipsis && boundaryLinks && startPage > 1) { - if (startPage > 2) { - pageButtons.unshift(_react2.default.createElement(_PaginationButton2.default, { - key: 'ellipsisFirst', - disabled: true, - componentClass: buttonProps.componentClass - }, _react2.default.createElement('span', { 'aria-label': 'More' }, ellipsis === true ? '\u2026' : ellipsis))); - } - - pageButtons.unshift(_react2.default.createElement(_PaginationButton2.default, (0, _extends3.default)({}, buttonProps, { - key: 1, - eventKey: 1, - active: false - }), '1')); - } - - if (ellipsis && endPage < items) { - if (!boundaryLinks || endPage < items - 1) { - pageButtons.push(_react2.default.createElement(_PaginationButton2.default, { - key: 'ellipsis', - disabled: true, - componentClass: buttonProps.componentClass - }, _react2.default.createElement('span', { 'aria-label': 'More' }, ellipsis === true ? '\u2026' : ellipsis))); - } - - if (boundaryLinks) { - pageButtons.push(_react2.default.createElement(_PaginationButton2.default, (0, _extends3.default)({}, buttonProps, { - key: items, - eventKey: items, - active: false - }), items)); - } - } - - return pageButtons; - }; - - Pagination.prototype.render = function render() { - var _props = this.props, - activePage = _props.activePage, - items = _props.items, - maxButtons = _props.maxButtons, - boundaryLinks = _props.boundaryLinks, - ellipsis = _props.ellipsis, - first = _props.first, - last = _props.last, - prev = _props.prev, - next = _props.next, - onSelect = _props.onSelect, - buttonComponentClass = _props.buttonComponentClass, - className = _props.className, - props = (0, _objectWithoutProperties3.default)(_props, ['activePage', 'items', 'maxButtons', 'boundaryLinks', 'ellipsis', 'first', 'last', 'prev', 'next', 'onSelect', 'buttonComponentClass', 'className']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var classes = (0, _bootstrapUtils.getClassSet)(bsProps); - - var buttonProps = { - onSelect: onSelect, - componentClass: buttonComponentClass - }; - - return _react2.default.createElement('ul', (0, _extends3.default)({}, elementProps, { - className: (0, _classnames2.default)(className, classes) - }), first && _react2.default.createElement(_PaginationButton2.default, (0, _extends3.default)({}, buttonProps, { - eventKey: 1, - disabled: activePage === 1 - }), _react2.default.createElement('span', { 'aria-label': 'First' }, first === true ? '\xAB' : first)), prev && _react2.default.createElement(_PaginationButton2.default, (0, _extends3.default)({}, buttonProps, { - eventKey: activePage - 1, - disabled: activePage === 1 - }), _react2.default.createElement('span', { 'aria-label': 'Previous' }, prev === true ? '\u2039' : prev)), this.renderPageButtons(activePage, items, maxButtons, boundaryLinks, ellipsis, buttonProps), next && _react2.default.createElement(_PaginationButton2.default, (0, _extends3.default)({}, buttonProps, { - eventKey: activePage + 1, - disabled: activePage >= items - }), _react2.default.createElement('span', { 'aria-label': 'Next' }, next === true ? '\u203A' : next)), last && _react2.default.createElement(_PaginationButton2.default, (0, _extends3.default)({}, buttonProps, { - eventKey: items, - disabled: activePage >= items - }), _react2.default.createElement('span', { 'aria-label': 'Last' }, last === true ? '\xBB' : last))); - }; - - return Pagination; -}(_react2.default.Component); - -Pagination.propTypes = propTypes; -Pagination.defaultProps = defaultProps; - -exports.default = (0, _bootstrapUtils.bsClass)('pagination', Pagination); - -/***/ }), -/* 395 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _values = __webpack_require__(47); - -var _values2 = _interopRequireDefault(_values); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _Collapse = __webpack_require__(121); - -var _Collapse2 = _interopRequireDefault(_Collapse); - -var _bootstrapUtils = __webpack_require__(9); - -var _StyleConfig = __webpack_require__(20); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -// TODO: Use uncontrollable. - -var propTypes = { - collapsible: _propTypes2.default.bool, - onSelect: _propTypes2.default.func, - header: _propTypes2.default.node, - id: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]), - footer: _propTypes2.default.node, - defaultExpanded: _propTypes2.default.bool, - expanded: _propTypes2.default.bool, - eventKey: _propTypes2.default.any, - headerRole: _propTypes2.default.string, - panelRole: _propTypes2.default.string, - - // From Collapse. - onEnter: _propTypes2.default.func, - onEntering: _propTypes2.default.func, - onEntered: _propTypes2.default.func, - onExit: _propTypes2.default.func, - onExiting: _propTypes2.default.func, - onExited: _propTypes2.default.func -}; - -var defaultProps = { - defaultExpanded: false -}; - -var Panel = function (_React$Component) { - (0, _inherits3.default)(Panel, _React$Component); - - function Panel(props, context) { - (0, _classCallCheck3.default)(this, Panel); - - var _this = (0, _possibleConstructorReturn3.default)(this, _React$Component.call(this, props, context)); - - _this.handleClickTitle = _this.handleClickTitle.bind(_this); - - _this.state = { - expanded: _this.props.defaultExpanded - }; - return _this; - } - - Panel.prototype.handleClickTitle = function handleClickTitle(e) { - // FIXME: What the heck? This API is horrible. This needs to go away! - e.persist(); - e.selected = true; - - if (this.props.onSelect) { - this.props.onSelect(this.props.eventKey, e); - } else { - e.preventDefault(); - } - - if (e.selected) { - this.setState({ expanded: !this.state.expanded }); - } - }; - - Panel.prototype.renderHeader = function renderHeader(collapsible, header, id, role, expanded, bsProps) { - var titleClassName = (0, _bootstrapUtils.prefix)(bsProps, 'title'); - - if (!collapsible) { - if (!_react2.default.isValidElement(header)) { - return header; - } - - return (0, _react.cloneElement)(header, { - className: (0, _classnames2.default)(header.props.className, titleClassName) - }); - } - - if (!_react2.default.isValidElement(header)) { - return _react2.default.createElement('h4', { role: 'presentation', className: titleClassName }, this.renderAnchor(header, id, role, expanded)); - } - - return (0, _react.cloneElement)(header, { - className: (0, _classnames2.default)(header.props.className, titleClassName), - children: this.renderAnchor(header.props.children, id, role, expanded) - }); - }; - - Panel.prototype.renderAnchor = function renderAnchor(header, id, role, expanded) { - return _react2.default.createElement('a', { - role: role, - href: id && '#' + id, - onClick: this.handleClickTitle, - 'aria-controls': id, - 'aria-expanded': expanded, - 'aria-selected': expanded, - className: expanded ? null : 'collapsed' - }, header); - }; - - Panel.prototype.renderCollapsibleBody = function renderCollapsibleBody(id, expanded, role, children, bsProps, animationHooks) { - return _react2.default.createElement(_Collapse2.default, (0, _extends3.default)({ 'in': expanded }, animationHooks), _react2.default.createElement('div', { - id: id, - role: role, - className: (0, _bootstrapUtils.prefix)(bsProps, 'collapse'), - 'aria-hidden': !expanded - }, this.renderBody(children, bsProps))); - }; - - Panel.prototype.renderBody = function renderBody(rawChildren, bsProps) { - var children = []; - var bodyChildren = []; - - var bodyClassName = (0, _bootstrapUtils.prefix)(bsProps, 'body'); - - function maybeAddBody() { - if (!bodyChildren.length) { - return; - } - - // Derive the key from the index here, since we need to make one up. - children.push(_react2.default.createElement('div', { key: children.length, className: bodyClassName }, bodyChildren)); - - bodyChildren = []; - } - - // Convert to array so we can re-use keys. - _react2.default.Children.toArray(rawChildren).forEach(function (child) { - if (_react2.default.isValidElement(child) && child.props.fill) { - maybeAddBody(); - - // Remove the child's unknown `fill` prop. - children.push((0, _react.cloneElement)(child, { fill: undefined })); - - return; - } - - bodyChildren.push(child); - }); - - maybeAddBody(); - - return children; - }; - - Panel.prototype.render = function render() { - var _props = this.props, - collapsible = _props.collapsible, - header = _props.header, - id = _props.id, - footer = _props.footer, - propsExpanded = _props.expanded, - headerRole = _props.headerRole, - panelRole = _props.panelRole, - className = _props.className, - children = _props.children, - onEnter = _props.onEnter, - onEntering = _props.onEntering, - onEntered = _props.onEntered, - onExit = _props.onExit, - onExiting = _props.onExiting, - onExited = _props.onExited, - props = (0, _objectWithoutProperties3.default)(_props, ['collapsible', 'header', 'id', 'footer', 'expanded', 'headerRole', 'panelRole', 'className', 'children', 'onEnter', 'onEntering', 'onEntered', 'onExit', 'onExiting', 'onExited']); - - var _splitBsPropsAndOmit = (0, _bootstrapUtils.splitBsPropsAndOmit)(props, ['defaultExpanded', 'eventKey', 'onSelect']), - bsProps = _splitBsPropsAndOmit[0], - elementProps = _splitBsPropsAndOmit[1]; - - var expanded = propsExpanded != null ? propsExpanded : this.state.expanded; - - var classes = (0, _bootstrapUtils.getClassSet)(bsProps); - - return _react2.default.createElement('div', (0, _extends3.default)({}, elementProps, { - className: (0, _classnames2.default)(className, classes), - id: collapsible ? null : id - }), header && _react2.default.createElement('div', { className: (0, _bootstrapUtils.prefix)(bsProps, 'heading') }, this.renderHeader(collapsible, header, id, headerRole, expanded, bsProps)), collapsible ? this.renderCollapsibleBody(id, expanded, panelRole, children, bsProps, { onEnter: onEnter, onEntering: onEntering, onEntered: onEntered, onExit: onExit, onExiting: onExiting, onExited: onExited }) : this.renderBody(children, bsProps), footer && _react2.default.createElement('div', { className: (0, _bootstrapUtils.prefix)(bsProps, 'footer') }, footer)); - }; - - return Panel; -}(_react2.default.Component); - -Panel.propTypes = propTypes; -Panel.defaultProps = defaultProps; - -exports.default = (0, _bootstrapUtils.bsClass)('panel', (0, _bootstrapUtils.bsStyles)([].concat((0, _values2.default)(_StyleConfig.State), [_StyleConfig.Style.DEFAULT, _StyleConfig.Style.PRIMARY]), _StyleConfig.Style.DEFAULT, Panel)); - -/***/ }), -/* 396 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends3 = __webpack_require__(5); - -var _extends4 = _interopRequireDefault(_extends3); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _isRequiredForA11y = __webpack_require__(91); - -var _isRequiredForA11y2 = _interopRequireDefault(_isRequiredForA11y); - -var _bootstrapUtils = __webpack_require__(9); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - /** - * An html id attribute, necessary for accessibility - * @type {string} - * @required - */ - id: (0, _isRequiredForA11y2.default)(_propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number])), - - /** - * Sets the direction the Popover is positioned towards. - */ - placement: _propTypes2.default.oneOf(['top', 'right', 'bottom', 'left']), - - /** - * The "top" position value for the Popover. - */ - positionTop: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.string]), - /** - * The "left" position value for the Popover. - */ - positionLeft: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.string]), - - /** - * The "top" position value for the Popover arrow. - */ - arrowOffsetTop: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.string]), - /** - * The "left" position value for the Popover arrow. - */ - arrowOffsetLeft: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.string]), - - /** - * Title content - */ - title: _propTypes2.default.node -}; - -var defaultProps = { - placement: 'right' -}; - -var Popover = function (_React$Component) { - (0, _inherits3.default)(Popover, _React$Component); - - function Popover() { - (0, _classCallCheck3.default)(this, Popover); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - Popover.prototype.render = function render() { - var _extends2; - - var _props = this.props, - placement = _props.placement, - positionTop = _props.positionTop, - positionLeft = _props.positionLeft, - arrowOffsetTop = _props.arrowOffsetTop, - arrowOffsetLeft = _props.arrowOffsetLeft, - title = _props.title, - className = _props.className, - style = _props.style, - children = _props.children, - props = (0, _objectWithoutProperties3.default)(_props, ['placement', 'positionTop', 'positionLeft', 'arrowOffsetTop', 'arrowOffsetLeft', 'title', 'className', 'style', 'children']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var classes = (0, _extends4.default)({}, (0, _bootstrapUtils.getClassSet)(bsProps), (_extends2 = {}, _extends2[placement] = true, _extends2)); - - var outerStyle = (0, _extends4.default)({ - display: 'block', - top: positionTop, - left: positionLeft - }, style); - - var arrowStyle = { - top: arrowOffsetTop, - left: arrowOffsetLeft - }; - - return _react2.default.createElement('div', (0, _extends4.default)({}, elementProps, { - role: 'tooltip', - className: (0, _classnames2.default)(className, classes), - style: outerStyle - }), _react2.default.createElement('div', { className: 'arrow', style: arrowStyle }), title && _react2.default.createElement('h3', { className: (0, _bootstrapUtils.prefix)(bsProps, 'title') }, title), _react2.default.createElement('div', { className: (0, _bootstrapUtils.prefix)(bsProps, 'content') }, children)); - }; - - return Popover; -}(_react2.default.Component); - -Popover.propTypes = propTypes; -Popover.defaultProps = defaultProps; - -exports.default = (0, _bootstrapUtils.bsClass)('popover', Popover); - -/***/ }), -/* 397 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _values = __webpack_require__(47); - -var _values2 = _interopRequireDefault(_values); - -var _extends3 = __webpack_require__(5); - -var _extends4 = _interopRequireDefault(_extends3); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _bootstrapUtils = __webpack_require__(9); - -var _StyleConfig = __webpack_require__(20); - -var _ValidComponentChildren = __webpack_require__(22); - -var _ValidComponentChildren2 = _interopRequireDefault(_ValidComponentChildren); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var ROUND_PRECISION = 1000; - -/** - * Validate that children, if any, are instances of `<ProgressBar>`. - */ -function onlyProgressBar(props, propName, componentName) { - var children = props[propName]; - if (!children) { - return null; - } - - var error = null; - - _react2.default.Children.forEach(children, function (child) { - if (error) { - return; - } - - if (child.type === ProgressBar) { - // eslint-disable-line no-use-before-define - return; - } - - var childIdentifier = _react2.default.isValidElement(child) ? child.type.displayName || child.type.name || child.type : child; - error = new Error('Children of ' + componentName + ' can contain only ProgressBar ' + ('components. Found ' + childIdentifier + '.')); - }); - - return error; -} - -var propTypes = { - min: _propTypes2.default.number, - now: _propTypes2.default.number, - max: _propTypes2.default.number, - label: _propTypes2.default.node, - srOnly: _propTypes2.default.bool, - striped: _propTypes2.default.bool, - active: _propTypes2.default.bool, - children: onlyProgressBar, - - /** - * @private - */ - isChild: _propTypes2.default.bool -}; - -var defaultProps = { - min: 0, - max: 100, - active: false, - isChild: false, - srOnly: false, - striped: false -}; - -function getPercentage(now, min, max) { - var percentage = (now - min) / (max - min) * 100; - return Math.round(percentage * ROUND_PRECISION) / ROUND_PRECISION; -} - -var ProgressBar = function (_React$Component) { - (0, _inherits3.default)(ProgressBar, _React$Component); - - function ProgressBar() { - (0, _classCallCheck3.default)(this, ProgressBar); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - ProgressBar.prototype.renderProgressBar = function renderProgressBar(_ref) { - var _extends2; - - var min = _ref.min, - now = _ref.now, - max = _ref.max, - label = _ref.label, - srOnly = _ref.srOnly, - striped = _ref.striped, - active = _ref.active, - className = _ref.className, - style = _ref.style, - props = (0, _objectWithoutProperties3.default)(_ref, ['min', 'now', 'max', 'label', 'srOnly', 'striped', 'active', 'className', 'style']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var classes = (0, _extends4.default)({}, (0, _bootstrapUtils.getClassSet)(bsProps), (_extends2 = { - active: active - }, _extends2[(0, _bootstrapUtils.prefix)(bsProps, 'striped')] = active || striped, _extends2)); - - return _react2.default.createElement('div', (0, _extends4.default)({}, elementProps, { - role: 'progressbar', - className: (0, _classnames2.default)(className, classes), - style: (0, _extends4.default)({ width: getPercentage(now, min, max) + '%' }, style), - 'aria-valuenow': now, - 'aria-valuemin': min, - 'aria-valuemax': max - }), srOnly ? _react2.default.createElement('span', { className: 'sr-only' }, label) : label); - }; - - ProgressBar.prototype.render = function render() { - var _props = this.props, - isChild = _props.isChild, - props = (0, _objectWithoutProperties3.default)(_props, ['isChild']); - - if (isChild) { - return this.renderProgressBar(props); - } - - var min = props.min, - now = props.now, - max = props.max, - label = props.label, - srOnly = props.srOnly, - striped = props.striped, - active = props.active, - bsClass = props.bsClass, - bsStyle = props.bsStyle, - className = props.className, - children = props.children, - wrapperProps = (0, _objectWithoutProperties3.default)(props, ['min', 'now', 'max', 'label', 'srOnly', 'striped', 'active', 'bsClass', 'bsStyle', 'className', 'children']); - - return _react2.default.createElement('div', (0, _extends4.default)({}, wrapperProps, { - className: (0, _classnames2.default)(className, 'progress') - }), children ? _ValidComponentChildren2.default.map(children, function (child) { - return (0, _react.cloneElement)(child, { isChild: true }); - }) : this.renderProgressBar({ - min: min, now: now, max: max, label: label, srOnly: srOnly, striped: striped, active: active, bsClass: bsClass, bsStyle: bsStyle - })); - }; - - return ProgressBar; -}(_react2.default.Component); - -ProgressBar.propTypes = propTypes; -ProgressBar.defaultProps = defaultProps; - -exports.default = (0, _bootstrapUtils.bsClass)('progress-bar', (0, _bootstrapUtils.bsStyles)((0, _values2.default)(_StyleConfig.State), ProgressBar)); - -/***/ }), -/* 398 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _warning = __webpack_require__(16); - -var _warning2 = _interopRequireDefault(_warning); - -var _bootstrapUtils = __webpack_require__(9); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - inline: _propTypes2.default.bool, - disabled: _propTypes2.default.bool, - /** - * Only valid if `inline` is not set. - */ - validationState: _propTypes2.default.oneOf(['success', 'warning', 'error', null]), - /** - * Attaches a ref to the `<input>` element. Only functions can be used here. - * - * ```js - * <Radio inputRef={ref => { this.input = ref; }} /> - * ``` - */ - inputRef: _propTypes2.default.func -}; - -var defaultProps = { - inline: false, - disabled: false -}; - -var Radio = function (_React$Component) { - (0, _inherits3.default)(Radio, _React$Component); - - function Radio() { - (0, _classCallCheck3.default)(this, Radio); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - Radio.prototype.render = function render() { - var _props = this.props, - inline = _props.inline, - disabled = _props.disabled, - validationState = _props.validationState, - inputRef = _props.inputRef, - className = _props.className, - style = _props.style, - children = _props.children, - props = (0, _objectWithoutProperties3.default)(_props, ['inline', 'disabled', 'validationState', 'inputRef', 'className', 'style', 'children']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var input = _react2.default.createElement('input', (0, _extends3.default)({}, elementProps, { - ref: inputRef, - type: 'radio', - disabled: disabled - })); - - if (inline) { - var _classes2; - - var _classes = (_classes2 = {}, _classes2[(0, _bootstrapUtils.prefix)(bsProps, 'inline')] = true, _classes2.disabled = disabled, _classes2); - - // Use a warning here instead of in propTypes to get better-looking - // generated documentation. - process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(!validationState, '`validationState` is ignored on `<Radio inline>`. To display ' + 'validation state on an inline radio, set `validationState` on a ' + 'parent `<FormGroup>` or other element instead.') : void 0; - - return _react2.default.createElement('label', { className: (0, _classnames2.default)(className, _classes), style: style }, input, children); - } - - var classes = (0, _extends3.default)({}, (0, _bootstrapUtils.getClassSet)(bsProps), { - disabled: disabled - }); - if (validationState) { - classes['has-' + validationState] = true; - } - - return _react2.default.createElement('div', { className: (0, _classnames2.default)(className, classes), style: style }, _react2.default.createElement('label', null, input, children)); - }; - - return Radio; -}(_react2.default.Component); - -Radio.propTypes = propTypes; -Radio.defaultProps = defaultProps; - -exports.default = (0, _bootstrapUtils.bsClass)('radio', Radio); -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 399 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends3 = __webpack_require__(5); - -var _extends4 = _interopRequireDefault(_extends3); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _warning = __webpack_require__(16); - -var _warning2 = _interopRequireDefault(_warning); - -var _bootstrapUtils = __webpack_require__(9); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -// TODO: This should probably take a single `aspectRatio` prop. - -var propTypes = { - /** - * This component requires a single child element - */ - children: _propTypes2.default.element.isRequired, - /** - * 16by9 aspect ratio - */ - a16by9: _propTypes2.default.bool, - /** - * 4by3 aspect ratio - */ - a4by3: _propTypes2.default.bool -}; - -var defaultProps = { - a16by9: false, - a4by3: false -}; - -var ResponsiveEmbed = function (_React$Component) { - (0, _inherits3.default)(ResponsiveEmbed, _React$Component); - - function ResponsiveEmbed() { - (0, _classCallCheck3.default)(this, ResponsiveEmbed); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - ResponsiveEmbed.prototype.render = function render() { - var _extends2; - - var _props = this.props, - a16by9 = _props.a16by9, - a4by3 = _props.a4by3, - className = _props.className, - children = _props.children, - props = (0, _objectWithoutProperties3.default)(_props, ['a16by9', 'a4by3', 'className', 'children']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(a16by9 || a4by3, 'Either `a16by9` or `a4by3` must be set.') : void 0; - process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(!(a16by9 && a4by3), 'Only one of `a16by9` or `a4by3` can be set.') : void 0; - - var classes = (0, _extends4.default)({}, (0, _bootstrapUtils.getClassSet)(bsProps), (_extends2 = {}, _extends2[(0, _bootstrapUtils.prefix)(bsProps, '16by9')] = a16by9, _extends2[(0, _bootstrapUtils.prefix)(bsProps, '4by3')] = a4by3, _extends2)); - - return _react2.default.createElement('div', { className: (0, _classnames2.default)(classes) }, (0, _react.cloneElement)(children, (0, _extends4.default)({}, elementProps, { - className: (0, _classnames2.default)(className, (0, _bootstrapUtils.prefix)(bsProps, 'item')) - }))); - }; - - return ResponsiveEmbed; -}(_react2.default.Component); - -ResponsiveEmbed.propTypes = propTypes; -ResponsiveEmbed.defaultProps = defaultProps; - -exports.default = (0, _bootstrapUtils.bsClass)('embed-responsive', ResponsiveEmbed); -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 400 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _elementType = __webpack_require__(13); - -var _elementType2 = _interopRequireDefault(_elementType); - -var _bootstrapUtils = __webpack_require__(9); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - componentClass: _elementType2.default -}; - -var defaultProps = { - componentClass: 'div' -}; - -var Row = function (_React$Component) { - (0, _inherits3.default)(Row, _React$Component); - - function Row() { - (0, _classCallCheck3.default)(this, Row); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - Row.prototype.render = function render() { - var _props = this.props, - Component = _props.componentClass, - className = _props.className, - props = (0, _objectWithoutProperties3.default)(_props, ['componentClass', 'className']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var classes = (0, _bootstrapUtils.getClassSet)(bsProps); - - return _react2.default.createElement(Component, (0, _extends3.default)({}, elementProps, { - className: (0, _classnames2.default)(className, classes) - })); - }; - - return Row; -}(_react2.default.Component); - -Row.propTypes = propTypes; -Row.defaultProps = defaultProps; - -exports.default = (0, _bootstrapUtils.bsClass)('row', Row); - -/***/ }), -/* 401 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _Button = __webpack_require__(67); - -var _Button2 = _interopRequireDefault(_Button); - -var _Dropdown = __webpack_require__(81); - -var _Dropdown2 = _interopRequireDefault(_Dropdown); - -var _SplitToggle = __webpack_require__(402); - -var _SplitToggle2 = _interopRequireDefault(_SplitToggle); - -var _splitComponentProps2 = __webpack_require__(83); - -var _splitComponentProps3 = _interopRequireDefault(_splitComponentProps2); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = (0, _extends3.default)({}, _Dropdown2.default.propTypes, { - - // Toggle props. - bsStyle: _propTypes2.default.string, - bsSize: _propTypes2.default.string, - href: _propTypes2.default.string, - onClick: _propTypes2.default.func, - /** - * The content of the split button. - */ - title: _propTypes2.default.node.isRequired, - /** - * Accessible label for the toggle; the value of `title` if not specified. - */ - toggleLabel: _propTypes2.default.string, - - // Override generated docs from <Dropdown>. - /** - * @private - */ - children: _propTypes2.default.node -}); - -var SplitButton = function (_React$Component) { - (0, _inherits3.default)(SplitButton, _React$Component); - - function SplitButton() { - (0, _classCallCheck3.default)(this, SplitButton); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - SplitButton.prototype.render = function render() { - var _props = this.props, - bsSize = _props.bsSize, - bsStyle = _props.bsStyle, - title = _props.title, - toggleLabel = _props.toggleLabel, - children = _props.children, - props = (0, _objectWithoutProperties3.default)(_props, ['bsSize', 'bsStyle', 'title', 'toggleLabel', 'children']); - - var _splitComponentProps = (0, _splitComponentProps3.default)(props, _Dropdown2.default.ControlledComponent), - dropdownProps = _splitComponentProps[0], - buttonProps = _splitComponentProps[1]; - - return _react2.default.createElement(_Dropdown2.default, (0, _extends3.default)({}, dropdownProps, { - bsSize: bsSize, - bsStyle: bsStyle - }), _react2.default.createElement(_Button2.default, (0, _extends3.default)({}, buttonProps, { - disabled: props.disabled, - bsSize: bsSize, - bsStyle: bsStyle - }), title), _react2.default.createElement(_SplitToggle2.default, { - 'aria-label': toggleLabel || title, - bsSize: bsSize, - bsStyle: bsStyle - }), _react2.default.createElement(_Dropdown2.default.Menu, null, children)); - }; - - return SplitButton; -}(_react2.default.Component); - -SplitButton.propTypes = propTypes; - -SplitButton.Toggle = _SplitToggle2.default; - -exports.default = SplitButton; - -/***/ }), -/* 402 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _DropdownToggle = __webpack_require__(186); - -var _DropdownToggle2 = _interopRequireDefault(_DropdownToggle); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var SplitToggle = function (_React$Component) { - (0, _inherits3.default)(SplitToggle, _React$Component); - - function SplitToggle() { - (0, _classCallCheck3.default)(this, SplitToggle); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - SplitToggle.prototype.render = function render() { - return _react2.default.createElement(_DropdownToggle2.default, (0, _extends3.default)({}, this.props, { - useAnchor: false, - noCaret: false - })); - }; - - return SplitToggle; -}(_react2.default.Component); - -SplitToggle.defaultProps = _DropdownToggle2.default.defaultProps; - -exports.default = SplitToggle; - -/***/ }), -/* 403 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _TabContainer = __webpack_require__(124); - -var _TabContainer2 = _interopRequireDefault(_TabContainer); - -var _TabContent = __webpack_require__(125); - -var _TabContent2 = _interopRequireDefault(_TabContent); - -var _TabPane = __webpack_require__(200); - -var _TabPane2 = _interopRequireDefault(_TabPane); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = (0, _extends3.default)({}, _TabPane2.default.propTypes, { - - disabled: _propTypes2.default.bool, - - title: _propTypes2.default.node, - - /** - * tabClassName is used as className for the associated NavItem - */ - tabClassName: _propTypes2.default.string -}); - -var Tab = function (_React$Component) { - (0, _inherits3.default)(Tab, _React$Component); - - function Tab() { - (0, _classCallCheck3.default)(this, Tab); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - Tab.prototype.render = function render() { - var props = (0, _extends3.default)({}, this.props); - - // These props are for the parent `<Tabs>` rather than the `<TabPane>`. - delete props.title; - delete props.disabled; - delete props.tabClassName; - - return _react2.default.createElement(_TabPane2.default, props); - }; - - return Tab; -}(_react2.default.Component); - -Tab.propTypes = propTypes; - -Tab.Container = _TabContainer2.default; -Tab.Content = _TabContent2.default; -Tab.Pane = _TabPane2.default; - -exports.default = Tab; - -/***/ }), -/* 404 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends3 = __webpack_require__(5); - -var _extends4 = _interopRequireDefault(_extends3); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _bootstrapUtils = __webpack_require__(9); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - striped: _propTypes2.default.bool, - bordered: _propTypes2.default.bool, - condensed: _propTypes2.default.bool, - hover: _propTypes2.default.bool, - responsive: _propTypes2.default.bool -}; - -var defaultProps = { - bordered: false, - condensed: false, - hover: false, - responsive: false, - striped: false -}; - -var Table = function (_React$Component) { - (0, _inherits3.default)(Table, _React$Component); - - function Table() { - (0, _classCallCheck3.default)(this, Table); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - Table.prototype.render = function render() { - var _extends2; - - var _props = this.props, - striped = _props.striped, - bordered = _props.bordered, - condensed = _props.condensed, - hover = _props.hover, - responsive = _props.responsive, - className = _props.className, - props = (0, _objectWithoutProperties3.default)(_props, ['striped', 'bordered', 'condensed', 'hover', 'responsive', 'className']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var classes = (0, _extends4.default)({}, (0, _bootstrapUtils.getClassSet)(bsProps), (_extends2 = {}, _extends2[(0, _bootstrapUtils.prefix)(bsProps, 'striped')] = striped, _extends2[(0, _bootstrapUtils.prefix)(bsProps, 'bordered')] = bordered, _extends2[(0, _bootstrapUtils.prefix)(bsProps, 'condensed')] = condensed, _extends2[(0, _bootstrapUtils.prefix)(bsProps, 'hover')] = hover, _extends2)); - - var table = _react2.default.createElement('table', (0, _extends4.default)({}, elementProps, { - className: (0, _classnames2.default)(className, classes) - })); - - if (responsive) { - return _react2.default.createElement('div', { className: (0, _bootstrapUtils.prefix)(bsProps, 'responsive') }, table); - } - - return table; - }; - - return Table; -}(_react2.default.Component); - -Table.propTypes = propTypes; -Table.defaultProps = defaultProps; - -exports.default = (0, _bootstrapUtils.bsClass)('table', Table); - -/***/ }), -/* 405 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _isRequiredForA11y = __webpack_require__(91); - -var _isRequiredForA11y2 = _interopRequireDefault(_isRequiredForA11y); - -var _uncontrollable = __webpack_require__(94); - -var _uncontrollable2 = _interopRequireDefault(_uncontrollable); - -var _Nav = __webpack_require__(193); - -var _Nav2 = _interopRequireDefault(_Nav); - -var _NavItem = __webpack_require__(194); - -var _NavItem2 = _interopRequireDefault(_NavItem); - -var _TabContainer = __webpack_require__(124); - -var _TabContainer2 = _interopRequireDefault(_TabContainer); - -var _TabContent = __webpack_require__(125); - -var _TabContent2 = _interopRequireDefault(_TabContent); - -var _bootstrapUtils = __webpack_require__(9); - -var _ValidComponentChildren = __webpack_require__(22); - -var _ValidComponentChildren2 = _interopRequireDefault(_ValidComponentChildren); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var TabContainer = _TabContainer2.default.ControlledComponent; - -var propTypes = { - /** - * Mark the Tab with a matching `eventKey` as active. - * - * @controllable onSelect - */ - activeKey: _propTypes2.default.any, - - /** - * Navigation style - */ - bsStyle: _propTypes2.default.oneOf(['tabs', 'pills']), - - animation: _propTypes2.default.bool, - - id: (0, _isRequiredForA11y2.default)(_propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number])), - - /** - * Callback fired when a Tab is selected. - * - * ```js - * function ( - * Any eventKey, - * SyntheticEvent event? - * ) - * ``` - * - * @controllable activeKey - */ - onSelect: _propTypes2.default.func, - - /** - * Wait until the first "enter" transition to mount tabs (add them to the DOM) - */ - mountOnEnter: _propTypes2.default.bool, - - /** - * Unmount tabs (remove it from the DOM) when it is no longer visible - */ - unmountOnExit: _propTypes2.default.bool -}; - -var defaultProps = { - bsStyle: 'tabs', - animation: true, - mountOnEnter: false, - unmountOnExit: false -}; - -function getDefaultActiveKey(children) { - var defaultActiveKey = void 0; - _ValidComponentChildren2.default.forEach(children, function (child) { - if (defaultActiveKey == null) { - defaultActiveKey = child.props.eventKey; - } - }); - - return defaultActiveKey; -} - -var Tabs = function (_React$Component) { - (0, _inherits3.default)(Tabs, _React$Component); - - function Tabs() { - (0, _classCallCheck3.default)(this, Tabs); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - Tabs.prototype.renderTab = function renderTab(child) { - var _child$props = child.props, - title = _child$props.title, - eventKey = _child$props.eventKey, - disabled = _child$props.disabled, - tabClassName = _child$props.tabClassName; - - if (title == null) { - return null; - } - - return _react2.default.createElement(_NavItem2.default, { - eventKey: eventKey, - disabled: disabled, - className: tabClassName - }, title); - }; - - Tabs.prototype.render = function render() { - var _props = this.props, - id = _props.id, - onSelect = _props.onSelect, - animation = _props.animation, - mountOnEnter = _props.mountOnEnter, - unmountOnExit = _props.unmountOnExit, - bsClass = _props.bsClass, - className = _props.className, - style = _props.style, - children = _props.children, - _props$activeKey = _props.activeKey, - activeKey = _props$activeKey === undefined ? getDefaultActiveKey(children) : _props$activeKey, - props = (0, _objectWithoutProperties3.default)(_props, ['id', 'onSelect', 'animation', 'mountOnEnter', 'unmountOnExit', 'bsClass', 'className', 'style', 'children', 'activeKey']); - - return _react2.default.createElement(TabContainer, { - id: id, - activeKey: activeKey, - onSelect: onSelect, - className: className, - style: style - }, _react2.default.createElement('div', null, _react2.default.createElement(_Nav2.default, (0, _extends3.default)({}, props, { - role: 'tablist' - }), _ValidComponentChildren2.default.map(children, this.renderTab)), _react2.default.createElement(_TabContent2.default, { - bsClass: bsClass, - animation: animation, - mountOnEnter: mountOnEnter, - unmountOnExit: unmountOnExit - }, children))); - }; - - return Tabs; -}(_react2.default.Component); - -Tabs.propTypes = propTypes; -Tabs.defaultProps = defaultProps; - -(0, _bootstrapUtils.bsClass)('tab', Tabs); - -exports.default = (0, _uncontrollable2.default)(Tabs, { activeKey: 'onSelect' }); - -/***/ }), -/* 406 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _SafeAnchor = __webpack_require__(28); - -var _SafeAnchor2 = _interopRequireDefault(_SafeAnchor); - -var _bootstrapUtils = __webpack_require__(9); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - src: _propTypes2.default.string, - alt: _propTypes2.default.string, - href: _propTypes2.default.string -}; - -var Thumbnail = function (_React$Component) { - (0, _inherits3.default)(Thumbnail, _React$Component); - - function Thumbnail() { - (0, _classCallCheck3.default)(this, Thumbnail); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - Thumbnail.prototype.render = function render() { - var _props = this.props, - src = _props.src, - alt = _props.alt, - className = _props.className, - children = _props.children, - props = (0, _objectWithoutProperties3.default)(_props, ['src', 'alt', 'className', 'children']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var Component = elementProps.href ? _SafeAnchor2.default : 'div'; - var classes = (0, _bootstrapUtils.getClassSet)(bsProps); - - return _react2.default.createElement(Component, (0, _extends3.default)({}, elementProps, { - className: (0, _classnames2.default)(className, classes) - }), _react2.default.createElement('img', { src: src, alt: alt }), children && _react2.default.createElement('div', { className: 'caption' }, children)); - }; - - return Thumbnail; -}(_react2.default.Component); - -Thumbnail.propTypes = propTypes; - -exports.default = (0, _bootstrapUtils.bsClass)('thumbnail', Thumbnail); - -/***/ }), -/* 407 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends3 = __webpack_require__(5); - -var _extends4 = _interopRequireDefault(_extends3); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _isRequiredForA11y = __webpack_require__(91); - -var _isRequiredForA11y2 = _interopRequireDefault(_isRequiredForA11y); - -var _bootstrapUtils = __webpack_require__(9); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var propTypes = { - /** - * An html id attribute, necessary for accessibility - * @type {string|number} - * @required - */ - id: (0, _isRequiredForA11y2.default)(_propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number])), - - /** - * Sets the direction the Tooltip is positioned towards. - */ - placement: _propTypes2.default.oneOf(['top', 'right', 'bottom', 'left']), - - /** - * The "top" position value for the Tooltip. - */ - positionTop: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.string]), - /** - * The "left" position value for the Tooltip. - */ - positionLeft: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.string]), - - /** - * The "top" position value for the Tooltip arrow. - */ - arrowOffsetTop: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.string]), - /** - * The "left" position value for the Tooltip arrow. - */ - arrowOffsetLeft: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.string]) -}; - -var defaultProps = { - placement: 'right' -}; - -var Tooltip = function (_React$Component) { - (0, _inherits3.default)(Tooltip, _React$Component); - - function Tooltip() { - (0, _classCallCheck3.default)(this, Tooltip); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - Tooltip.prototype.render = function render() { - var _extends2; - - var _props = this.props, - placement = _props.placement, - positionTop = _props.positionTop, - positionLeft = _props.positionLeft, - arrowOffsetTop = _props.arrowOffsetTop, - arrowOffsetLeft = _props.arrowOffsetLeft, - className = _props.className, - style = _props.style, - children = _props.children, - props = (0, _objectWithoutProperties3.default)(_props, ['placement', 'positionTop', 'positionLeft', 'arrowOffsetTop', 'arrowOffsetLeft', 'className', 'style', 'children']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var classes = (0, _extends4.default)({}, (0, _bootstrapUtils.getClassSet)(bsProps), (_extends2 = {}, _extends2[placement] = true, _extends2)); - - var outerStyle = (0, _extends4.default)({ - top: positionTop, - left: positionLeft - }, style); - - var arrowStyle = { - top: arrowOffsetTop, - left: arrowOffsetLeft - }; - - return _react2.default.createElement('div', (0, _extends4.default)({}, elementProps, { - role: 'tooltip', - className: (0, _classnames2.default)(className, classes), - style: outerStyle - }), _react2.default.createElement('div', { className: (0, _bootstrapUtils.prefix)(bsProps, 'arrow'), style: arrowStyle }), _react2.default.createElement('div', { className: (0, _bootstrapUtils.prefix)(bsProps, 'inner') }, children)); - }; - - return Tooltip; -}(_react2.default.Component); - -Tooltip.propTypes = propTypes; -Tooltip.defaultProps = defaultProps; - -exports.default = (0, _bootstrapUtils.bsClass)('tooltip', Tooltip); - -/***/ }), -/* 408 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _extends2 = __webpack_require__(5); - -var _extends3 = _interopRequireDefault(_extends2); - -var _objectWithoutProperties2 = __webpack_require__(6); - -var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _bootstrapUtils = __webpack_require__(9); - -var _StyleConfig = __webpack_require__(20); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var Well = function (_React$Component) { - (0, _inherits3.default)(Well, _React$Component); - - function Well() { - (0, _classCallCheck3.default)(this, Well); - - return (0, _possibleConstructorReturn3.default)(this, _React$Component.apply(this, arguments)); - } - - Well.prototype.render = function render() { - var _props = this.props, - className = _props.className, - props = (0, _objectWithoutProperties3.default)(_props, ['className']); - - var _splitBsProps = (0, _bootstrapUtils.splitBsProps)(props), - bsProps = _splitBsProps[0], - elementProps = _splitBsProps[1]; - - var classes = (0, _bootstrapUtils.getClassSet)(bsProps); - - return _react2.default.createElement('div', (0, _extends3.default)({}, elementProps, { - className: (0, _classnames2.default)(className, classes) - })); - }; - - return Well; -}(_react2.default.Component); - -exports.default = (0, _bootstrapUtils.bsClass)('well', (0, _bootstrapUtils.bsSizes)([_StyleConfig.Size.LARGE, _StyleConfig.Size.SMALL], Well)); - -/***/ }), -/* 409 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.requiredRoles = requiredRoles; -exports.exclusiveRoles = exclusiveRoles; - -var _createChainableTypeChecker = __webpack_require__(92); - -var _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker); - -var _ValidComponentChildren = __webpack_require__(22); - -var _ValidComponentChildren2 = _interopRequireDefault(_ValidComponentChildren); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function requiredRoles() { - for (var _len = arguments.length, roles = Array(_len), _key = 0; _key < _len; _key++) { - roles[_key] = arguments[_key]; - } - - return (0, _createChainableTypeChecker2.default)(function (props, propName, component) { - var missing = void 0; - - roles.every(function (role) { - if (!_ValidComponentChildren2.default.some(props.children, function (child) { - return child.props.bsRole === role; - })) { - missing = role; - return false; - } - - return true; - }); - - if (missing) { - return new Error('(children) ' + component + ' - Missing a required child with bsRole: ' + (missing + '. ' + component + ' must have at least one child of each of ') + ('the following bsRoles: ' + roles.join(', '))); - } - - return null; - }); -} - -function exclusiveRoles() { - for (var _len2 = arguments.length, roles = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { - roles[_key2] = arguments[_key2]; - } - - return (0, _createChainableTypeChecker2.default)(function (props, propName, component) { - var duplicate = void 0; - - roles.every(function (role) { - var childrenWithRole = _ValidComponentChildren2.default.filter(props.children, function (child) { - return child.props.bsRole === role; - }); - - if (childrenWithRole.length > 1) { - duplicate = role; - return false; - } - - return true; - }); - - if (duplicate) { - return new Error('(children) ' + component + ' - Duplicate children detected of bsRole: ' + (duplicate + '. Only one child each allowed with the following ') + ('bsRoles: ' + roles.join(', '))); - } - - return null; - }); -} - -/***/ }), -/* 410 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -/** - * Copyright 2013-2014, Facebook, Inc. - * All rights reserved. - * - * This file contains a modified version of: - * https://github.com/facebook/react/blob/v0.12.0/src/addons/transitions/ReactTransitionEvents.js - * - * This source code is licensed under the BSD-style license found here: - * https://github.com/facebook/react/blob/v0.12.0/LICENSE - * An additional grant of patent rights can be found here: - * https://github.com/facebook/react/blob/v0.12.0/PATENTS - */ - -var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement); - -/** - * EVENT_NAME_MAP is used to determine which event fired when a - * transition/animation ends, based on the style property used to - * define that event. - */ -var EVENT_NAME_MAP = { - transitionend: { - 'transition': 'transitionend', - 'WebkitTransition': 'webkitTransitionEnd', - 'MozTransition': 'mozTransitionEnd', - 'OTransition': 'oTransitionEnd', - 'msTransition': 'MSTransitionEnd' - }, - - animationend: { - 'animation': 'animationend', - 'WebkitAnimation': 'webkitAnimationEnd', - 'MozAnimation': 'mozAnimationEnd', - 'OAnimation': 'oAnimationEnd', - 'msAnimation': 'MSAnimationEnd' - } -}; - -var endEvents = []; - -function detectEvents() { - var testEl = document.createElement('div'); - var style = testEl.style; - - // On some platforms, in particular some releases of Android 4.x, - // the un-prefixed "animation" and "transition" properties are defined on the - // style object but the events that fire will still be prefixed, so we need - // to check if the un-prefixed events are useable, and if not remove them - // from the map - if (!('AnimationEvent' in window)) { - delete EVENT_NAME_MAP.animationend.animation; - } - - if (!('TransitionEvent' in window)) { - delete EVENT_NAME_MAP.transitionend.transition; - } - - for (var baseEventName in EVENT_NAME_MAP) { - // eslint-disable-line guard-for-in - var baseEvents = EVENT_NAME_MAP[baseEventName]; - for (var styleName in baseEvents) { - if (styleName in style) { - endEvents.push(baseEvents[styleName]); - break; - } - } - } -} - -if (canUseDOM) { - detectEvents(); -} - -// We use the raw {add|remove}EventListener() call because EventListener -// does not know how to remove event listeners and we really should -// clean up. Also, these events are not triggered in older browsers -// so we should be A-OK here. - -function addEventListener(node, eventName, eventListener) { - node.addEventListener(eventName, eventListener, false); -} - -function removeEventListener(node, eventName, eventListener) { - node.removeEventListener(eventName, eventListener, false); -} - -var ReactTransitionEvents = { - addEndEventListener: function addEndEventListener(node, eventListener) { - if (endEvents.length === 0) { - // If CSS transitions are not supported, trigger an "end animation" - // event immediately. - window.setTimeout(eventListener, 0); - return; - } - endEvents.forEach(function (endEvent) { - addEventListener(node, endEvent, eventListener); - }); - }, - removeEndEventListener: function removeEndEventListener(node, eventListener) { - if (endEvents.length === 0) { - return; - } - endEvents.forEach(function (endEvent) { - removeEventListener(node, endEvent, eventListener); - }); - } -}; - -exports.default = ReactTransitionEvents; - -/***/ }), -/* 411 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports._resetWarned = _resetWarned; - -var _classCallCheck2 = __webpack_require__(2); - -var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); - -var _possibleConstructorReturn2 = __webpack_require__(4); - -var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); - -var _inherits2 = __webpack_require__(3); - -var _inherits3 = _interopRequireDefault(_inherits2); - -var _typeof2 = __webpack_require__(96); - -var _typeof3 = _interopRequireDefault(_typeof2); - -var _warning = __webpack_require__(16); - -var _warning2 = _interopRequireDefault(_warning); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var warned = {}; - -function deprecationWarning(oldname, newname, link) { - var message = void 0; - - if ((typeof oldname === 'undefined' ? 'undefined' : (0, _typeof3.default)(oldname)) === 'object') { - message = oldname.message; - } else { - message = oldname + ' is deprecated. Use ' + newname + ' instead.'; - - if (link) { - message += '\nYou can read more about it at ' + link; - } - } - - if (warned[message]) { - return; - } - - process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(false, message) : void 0; - warned[message] = true; -} - -deprecationWarning.wrapper = function (Component) { - for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - args[_key - 1] = arguments[_key]; - } - - return function (_Component) { - (0, _inherits3.default)(DeprecatedComponent, _Component); - - function DeprecatedComponent() { - (0, _classCallCheck3.default)(this, DeprecatedComponent); - - return (0, _possibleConstructorReturn3.default)(this, _Component.apply(this, arguments)); - } - - DeprecatedComponent.prototype.componentWillMount = function componentWillMount() { - deprecationWarning.apply(undefined, args); - - if (_Component.prototype.componentWillMount) { - var _Component$prototype$; - - for (var _len2 = arguments.length, methodArgs = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { - methodArgs[_key2] = arguments[_key2]; - } - - (_Component$prototype$ = _Component.prototype.componentWillMount).call.apply(_Component$prototype$, [this].concat(methodArgs)); - } - }; - - return DeprecatedComponent; - }(Component); -}; - -exports.default = deprecationWarning; -function _resetWarned() { - warned = {}; -} -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 412 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.ValidComponentChildren = exports.createChainedFunction = exports.bootstrapUtils = undefined; - -var _bootstrapUtils2 = __webpack_require__(9); - -var _bootstrapUtils = _interopRequireWildcard(_bootstrapUtils2); - -var _createChainedFunction2 = __webpack_require__(19); - -var _createChainedFunction3 = _interopRequireDefault(_createChainedFunction2); - -var _ValidComponentChildren2 = __webpack_require__(22); - -var _ValidComponentChildren3 = _interopRequireDefault(_ValidComponentChildren2); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -exports.bootstrapUtils = _bootstrapUtils; -exports.createChainedFunction = _createChainedFunction3.default; -exports.ValidComponentChildren = _ValidComponentChildren3.default; - -/***/ }), -/* 413 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var ARIADOMPropertyConfig = { - Properties: { - // Global States and Properties - 'aria-current': 0, // state - 'aria-details': 0, - 'aria-disabled': 0, // state - 'aria-hidden': 0, // state - 'aria-invalid': 0, // state - 'aria-keyshortcuts': 0, - 'aria-label': 0, - 'aria-roledescription': 0, - // Widget Attributes - 'aria-autocomplete': 0, - 'aria-checked': 0, - 'aria-expanded': 0, - 'aria-haspopup': 0, - 'aria-level': 0, - 'aria-modal': 0, - 'aria-multiline': 0, - 'aria-multiselectable': 0, - 'aria-orientation': 0, - 'aria-placeholder': 0, - 'aria-pressed': 0, - 'aria-readonly': 0, - 'aria-required': 0, - 'aria-selected': 0, - 'aria-sort': 0, - 'aria-valuemax': 0, - 'aria-valuemin': 0, - 'aria-valuenow': 0, - 'aria-valuetext': 0, - // Live Region Attributes - 'aria-atomic': 0, - 'aria-busy': 0, - 'aria-live': 0, - 'aria-relevant': 0, - // Drag-and-Drop Attributes - 'aria-dropeffect': 0, - 'aria-grabbed': 0, - // Relationship Attributes - 'aria-activedescendant': 0, - 'aria-colcount': 0, - 'aria-colindex': 0, - 'aria-colspan': 0, - 'aria-controls': 0, - 'aria-describedby': 0, - 'aria-errormessage': 0, - 'aria-flowto': 0, - 'aria-labelledby': 0, - 'aria-owns': 0, - 'aria-posinset': 0, - 'aria-rowcount': 0, - 'aria-rowindex': 0, - 'aria-rowspan': 0, - 'aria-setsize': 0 - }, - DOMAttributeNames: {}, - DOMPropertyNames: {} -}; - -module.exports = ARIADOMPropertyConfig; - -/***/ }), -/* 414 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var ReactDOMComponentTree = __webpack_require__(15); - -var focusNode = __webpack_require__(173); - -var AutoFocusUtils = { - focusDOMComponent: function focusDOMComponent() { - focusNode(ReactDOMComponentTree.getNodeFromInstance(this)); - } -}; - -module.exports = AutoFocusUtils; - -/***/ }), -/* 415 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -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 EventPropagators = __webpack_require__(69); -var ExecutionEnvironment = __webpack_require__(18); -var FallbackCompositionState = __webpack_require__(421); -var SyntheticCompositionEvent = __webpack_require__(464); -var SyntheticInputEvent = __webpack_require__(467); - -var END_KEYCODES = [9, 13, 27, 32]; // Tab, Return, Esc, Space -var START_KEYCODE = 229; - -var canUseCompositionEvent = ExecutionEnvironment.canUseDOM && 'CompositionEvent' in window; - -var documentMode = null; -if (ExecutionEnvironment.canUseDOM && 'documentMode' in document) { - documentMode = document.documentMode; -} - -// Webkit offers a very useful `textInput` event that can be used to -// directly represent `beforeInput`. The IE `textinput` event is not as -// useful, so we don't use it. -var canUseTextInputEvent = ExecutionEnvironment.canUseDOM && 'TextEvent' in window && !documentMode && !isPresto(); - -// In IE9+, we have access to composition events, but the data supplied -// by the native compositionend event may be incorrect. Japanese ideographic -// spaces, for instance (\u3000) are not recorded correctly. -var useFallbackCompositionData = ExecutionEnvironment.canUseDOM && (!canUseCompositionEvent || documentMode && documentMode > 8 && documentMode <= 11); - -/** - * Opera <= 12 includes TextEvent in window, but does not fire - * text input events. Rely on keypress instead. - */ -function isPresto() { - var opera = window.opera; - return (typeof opera === 'undefined' ? 'undefined' : _typeof(opera)) === 'object' && typeof opera.version === 'function' && parseInt(opera.version(), 10) <= 12; -} - -var SPACEBAR_CODE = 32; -var SPACEBAR_CHAR = String.fromCharCode(SPACEBAR_CODE); - -// Events and their corresponding property names. -var eventTypes = { - beforeInput: { - phasedRegistrationNames: { - bubbled: 'onBeforeInput', - captured: 'onBeforeInputCapture' - }, - dependencies: ['topCompositionEnd', 'topKeyPress', 'topTextInput', 'topPaste'] - }, - compositionEnd: { - phasedRegistrationNames: { - bubbled: 'onCompositionEnd', - captured: 'onCompositionEndCapture' - }, - dependencies: ['topBlur', 'topCompositionEnd', 'topKeyDown', 'topKeyPress', 'topKeyUp', 'topMouseDown'] - }, - compositionStart: { - phasedRegistrationNames: { - bubbled: 'onCompositionStart', - captured: 'onCompositionStartCapture' - }, - dependencies: ['topBlur', 'topCompositionStart', 'topKeyDown', 'topKeyPress', 'topKeyUp', 'topMouseDown'] - }, - compositionUpdate: { - phasedRegistrationNames: { - bubbled: 'onCompositionUpdate', - captured: 'onCompositionUpdateCapture' - }, - dependencies: ['topBlur', 'topCompositionUpdate', 'topKeyDown', 'topKeyPress', 'topKeyUp', 'topMouseDown'] - } -}; - -// Track whether we've ever handled a keypress on the space key. -var hasSpaceKeypress = false; - -/** - * Return whether a native keypress event is assumed to be a command. - * This is required because Firefox fires `keypress` events for key commands - * (cut, copy, select-all, etc.) even though no character is inserted. - */ -function isKeypressCommand(nativeEvent) { - return (nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) && - // ctrlKey && altKey is equivalent to AltGr, and is not a command. - !(nativeEvent.ctrlKey && nativeEvent.altKey); -} - -/** - * Translate native top level events into event types. - * - * @param {string} topLevelType - * @return {object} - */ -function getCompositionEventType(topLevelType) { - switch (topLevelType) { - case 'topCompositionStart': - return eventTypes.compositionStart; - case 'topCompositionEnd': - return eventTypes.compositionEnd; - case 'topCompositionUpdate': - return eventTypes.compositionUpdate; - } -} - -/** - * Does our fallback best-guess model think this event signifies that - * composition has begun? - * - * @param {string} topLevelType - * @param {object} nativeEvent - * @return {boolean} - */ -function isFallbackCompositionStart(topLevelType, nativeEvent) { - return topLevelType === 'topKeyDown' && nativeEvent.keyCode === START_KEYCODE; -} - -/** - * Does our fallback mode think that this event is the end of composition? - * - * @param {string} topLevelType - * @param {object} nativeEvent - * @return {boolean} - */ -function isFallbackCompositionEnd(topLevelType, nativeEvent) { - switch (topLevelType) { - case 'topKeyUp': - // Command keys insert or clear IME input. - return END_KEYCODES.indexOf(nativeEvent.keyCode) !== -1; - case 'topKeyDown': - // Expect IME keyCode on each keydown. If we get any other - // code we must have exited earlier. - return nativeEvent.keyCode !== START_KEYCODE; - case 'topKeyPress': - case 'topMouseDown': - case 'topBlur': - // Events are not possible without cancelling IME. - return true; - default: - return false; - } -} - -/** - * Google Input Tools provides composition data via a CustomEvent, - * with the `data` property populated in the `detail` object. If this - * is available on the event object, use it. If not, this is a plain - * composition event and we have nothing special to extract. - * - * @param {object} nativeEvent - * @return {?string} - */ -function getDataFromCustomEvent(nativeEvent) { - var detail = nativeEvent.detail; - if ((typeof detail === 'undefined' ? 'undefined' : _typeof(detail)) === 'object' && 'data' in detail) { - return detail.data; - } - return null; -} - -// Track the current IME composition fallback object, if any. -var currentComposition = null; - -/** - * @return {?object} A SyntheticCompositionEvent. - */ -function extractCompositionEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget) { - var eventType; - var fallbackData; - - if (canUseCompositionEvent) { - eventType = getCompositionEventType(topLevelType); - } else if (!currentComposition) { - if (isFallbackCompositionStart(topLevelType, nativeEvent)) { - eventType = eventTypes.compositionStart; - } - } else if (isFallbackCompositionEnd(topLevelType, nativeEvent)) { - eventType = eventTypes.compositionEnd; - } - - if (!eventType) { - return null; - } - - if (useFallbackCompositionData) { - // The current composition is stored statically and must not be - // overwritten while composition continues. - if (!currentComposition && eventType === eventTypes.compositionStart) { - currentComposition = FallbackCompositionState.getPooled(nativeEventTarget); - } else if (eventType === eventTypes.compositionEnd) { - if (currentComposition) { - fallbackData = currentComposition.getData(); - } - } - } - - var event = SyntheticCompositionEvent.getPooled(eventType, targetInst, nativeEvent, nativeEventTarget); - - if (fallbackData) { - // Inject data generated from fallback path into the synthetic event. - // This matches the property of native CompositionEventInterface. - event.data = fallbackData; - } else { - var customData = getDataFromCustomEvent(nativeEvent); - if (customData !== null) { - event.data = customData; - } - } - - EventPropagators.accumulateTwoPhaseDispatches(event); - return event; -} - -/** - * @param {string} topLevelType Record from `EventConstants`. - * @param {object} nativeEvent Native browser event. - * @return {?string} The string corresponding to this `beforeInput` event. - */ -function getNativeBeforeInputChars(topLevelType, nativeEvent) { - switch (topLevelType) { - case 'topCompositionEnd': - return getDataFromCustomEvent(nativeEvent); - case 'topKeyPress': - /** - * If native `textInput` events are available, our goal is to make - * use of them. However, there is a special case: the spacebar key. - * In Webkit, preventing default on a spacebar `textInput` event - * cancels character insertion, but it *also* causes the browser - * to fall back to its default spacebar behavior of scrolling the - * page. - * - * Tracking at: - * https://code.google.com/p/chromium/issues/detail?id=355103 - * - * To avoid this issue, use the keypress event as if no `textInput` - * event is available. - */ - var which = nativeEvent.which; - if (which !== SPACEBAR_CODE) { - return null; - } - - hasSpaceKeypress = true; - return SPACEBAR_CHAR; - - case 'topTextInput': - // Record the characters to be added to the DOM. - var chars = nativeEvent.data; - - // If it's a spacebar character, assume that we have already handled - // it at the keypress level and bail immediately. Android Chrome - // doesn't give us keycodes, so we need to blacklist it. - if (chars === SPACEBAR_CHAR && hasSpaceKeypress) { - return null; - } - - return chars; - - default: - // For other native event types, do nothing. - return null; - } -} - -/** - * For browsers that do not provide the `textInput` event, extract the - * appropriate string to use for SyntheticInputEvent. - * - * @param {string} topLevelType Record from `EventConstants`. - * @param {object} nativeEvent Native browser event. - * @return {?string} The fallback string for this `beforeInput` event. - */ -function getFallbackBeforeInputChars(topLevelType, nativeEvent) { - // If we are currently composing (IME) and using a fallback to do so, - // try to extract the composed characters from the fallback object. - // If composition event is available, we extract a string only at - // compositionevent, otherwise extract it at fallback events. - if (currentComposition) { - if (topLevelType === 'topCompositionEnd' || !canUseCompositionEvent && isFallbackCompositionEnd(topLevelType, nativeEvent)) { - var chars = currentComposition.getData(); - FallbackCompositionState.release(currentComposition); - currentComposition = null; - return chars; - } - return null; - } - - switch (topLevelType) { - case 'topPaste': - // If a paste event occurs after a keypress, throw out the input - // chars. Paste events should not lead to BeforeInput events. - return null; - case 'topKeyPress': - /** - * As of v27, Firefox may fire keypress events even when no character - * will be inserted. A few possibilities: - * - * - `which` is `0`. Arrow keys, Esc key, etc. - * - * - `which` is the pressed key code, but no char is available. - * Ex: 'AltGr + d` in Polish. There is no modified character for - * this key combination and no character is inserted into the - * document, but FF fires the keypress for char code `100` anyway. - * No `input` event will occur. - * - * - `which` is the pressed key code, but a command combination is - * being used. Ex: `Cmd+C`. No character is inserted, and no - * `input` event will occur. - */ - if (nativeEvent.which && !isKeypressCommand(nativeEvent)) { - return String.fromCharCode(nativeEvent.which); - } - return null; - case 'topCompositionEnd': - return useFallbackCompositionData ? null : nativeEvent.data; - default: - return null; - } -} - -/** - * Extract a SyntheticInputEvent for `beforeInput`, based on either native - * `textInput` or fallback behavior. - * - * @return {?object} A SyntheticInputEvent. - */ -function extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget) { - var chars; - - if (canUseTextInputEvent) { - chars = getNativeBeforeInputChars(topLevelType, nativeEvent); - } else { - chars = getFallbackBeforeInputChars(topLevelType, nativeEvent); - } - - // If no characters are being inserted, no BeforeInput event should - // be fired. - if (!chars) { - return null; - } - - var event = SyntheticInputEvent.getPooled(eventTypes.beforeInput, targetInst, nativeEvent, nativeEventTarget); - - event.data = chars; - EventPropagators.accumulateTwoPhaseDispatches(event); - return event; -} - -/** - * Create an `onBeforeInput` event to match - * http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105/#events-inputevents. - * - * This event plugin is based on the native `textInput` event - * available in Chrome, Safari, Opera, and IE. This event fires after - * `onKeyPress` and `onCompositionEnd`, but before `onInput`. - * - * `beforeInput` is spec'd but not implemented in any browsers, and - * the `input` event does not provide any useful information about what has - * actually been added, contrary to the spec. Thus, `textInput` is the best - * available event to identify the characters that have actually been inserted - * into the target node. - * - * This plugin is also responsible for emitting `composition` events, thus - * allowing us to share composition fallback code for both `beforeInput` and - * `composition` event types. - */ -var BeforeInputEventPlugin = { - - eventTypes: eventTypes, - - extractEvents: function extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget) { - return [extractCompositionEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget), extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget)]; - } -}; - -module.exports = BeforeInputEventPlugin; - -/***/ }), -/* 416 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -var CSSProperty = __webpack_require__(202); -var ExecutionEnvironment = __webpack_require__(18); -var ReactInstrumentation = __webpack_require__(25); - -var camelizeStyleName = __webpack_require__(320); -var dangerousStyleValue = __webpack_require__(474); -var hyphenateStyleName = __webpack_require__(327); -var memoizeStringOnly = __webpack_require__(330); -var warning = __webpack_require__(11); - -var processStyleName = memoizeStringOnly(function (styleName) { - return hyphenateStyleName(styleName); -}); - -var hasShorthandPropertyBug = false; -var styleFloatAccessor = 'cssFloat'; -if (ExecutionEnvironment.canUseDOM) { - var tempStyle = document.createElement('div').style; - try { - // IE8 throws "Invalid argument." if resetting shorthand style properties. - tempStyle.font = ''; - } catch (e) { - hasShorthandPropertyBug = true; - } - // IE8 only supports accessing cssFloat (standard) as styleFloat - if (document.documentElement.style.cssFloat === undefined) { - styleFloatAccessor = 'styleFloat'; - } -} - -if (process.env.NODE_ENV !== 'production') { - // 'msTransform' is correct, but the other prefixes should be capitalized - var badVendoredStyleNamePattern = /^(?:webkit|moz|o)[A-Z]/; - - // style values shouldn't contain a semicolon - var badStyleValueWithSemicolonPattern = /;\s*$/; - - var warnedStyleNames = {}; - var warnedStyleValues = {}; - var warnedForNaNValue = false; - - var warnHyphenatedStyleName = function warnHyphenatedStyleName(name, owner) { - if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) { - return; - } - - warnedStyleNames[name] = true; - process.env.NODE_ENV !== 'production' ? warning(false, 'Unsupported style property %s. Did you mean %s?%s', name, camelizeStyleName(name), checkRenderMessage(owner)) : void 0; - }; - - var warnBadVendoredStyleName = function warnBadVendoredStyleName(name, owner) { - if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) { - return; - } - - warnedStyleNames[name] = true; - process.env.NODE_ENV !== 'production' ? warning(false, 'Unsupported vendor-prefixed style property %s. Did you mean %s?%s', name, name.charAt(0).toUpperCase() + name.slice(1), checkRenderMessage(owner)) : void 0; - }; - - var warnStyleValueWithSemicolon = function warnStyleValueWithSemicolon(name, value, owner) { - if (warnedStyleValues.hasOwnProperty(value) && warnedStyleValues[value]) { - return; - } - - 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; - }; - - var warnStyleValueIsNaN = function warnStyleValueIsNaN(name, value, owner) { - if (warnedForNaNValue) { - return; - } - - warnedForNaNValue = true; - process.env.NODE_ENV !== 'production' ? warning(false, '`NaN` is an invalid value for the `%s` css style property.%s', name, checkRenderMessage(owner)) : void 0; - }; - - var checkRenderMessage = function checkRenderMessage(owner) { - if (owner) { - var name = owner.getName(); - if (name) { - return ' Check the render method of `' + name + '`.'; - } - } - return ''; - }; - - /** - * @param {string} name - * @param {*} value - * @param {ReactDOMComponent} component - */ - var warnValidStyle = function warnValidStyle(name, value, component) { - var owner; - if (component) { - owner = component._currentElement._owner; - } - if (name.indexOf('-') > -1) { - warnHyphenatedStyleName(name, owner); - } else if (badVendoredStyleNamePattern.test(name)) { - warnBadVendoredStyleName(name, owner); - } else if (badStyleValueWithSemicolonPattern.test(value)) { - warnStyleValueWithSemicolon(name, value, owner); - } - - if (typeof value === 'number' && isNaN(value)) { - warnStyleValueIsNaN(name, value, owner); - } - }; -} - -/** - * Operations for dealing with CSS properties. - */ -var CSSPropertyOperations = { - - /** - * Serializes a mapping of style properties for use as inline styles: - * - * > createMarkupForStyles({width: '200px', height: 0}) - * "width:200px;height:0;" - * - * Undefined values are ignored so that declarative programming is easier. - * The result should be HTML-escaped before insertion into the DOM. - * - * @param {object} styles - * @param {ReactDOMComponent} component - * @return {?string} - */ - createMarkupForStyles: function createMarkupForStyles(styles, component) { - var serialized = ''; - for (var styleName in styles) { - if (!styles.hasOwnProperty(styleName)) { - continue; - } - var styleValue = styles[styleName]; - if (process.env.NODE_ENV !== 'production') { - warnValidStyle(styleName, styleValue, component); - } - if (styleValue != null) { - serialized += processStyleName(styleName) + ':'; - serialized += dangerousStyleValue(styleName, styleValue, component) + ';'; - } - } - return serialized || null; - }, - - /** - * Sets the value for multiple styles on a node. If a value is specified as - * '' (empty string), the corresponding style property will be unset. - * - * @param {DOMElement} node - * @param {object} styles - * @param {ReactDOMComponent} component - */ - setValueForStyles: function setValueForStyles(node, styles, component) { - if (process.env.NODE_ENV !== 'production') { - ReactInstrumentation.debugTool.onHostOperation({ - instanceID: component._debugID, - type: 'update styles', - payload: styles - }); - } - - var style = node.style; - for (var styleName in styles) { - if (!styles.hasOwnProperty(styleName)) { - continue; - } - if (process.env.NODE_ENV !== 'production') { - warnValidStyle(styleName, styles[styleName], component); - } - var styleValue = dangerousStyleValue(styleName, styles[styleName], component); - if (styleName === 'float' || styleName === 'cssFloat') { - styleName = styleFloatAccessor; - } - if (styleValue) { - style[styleName] = styleValue; - } else { - var expansion = hasShorthandPropertyBug && CSSProperty.shorthandPropertyExpansions[styleName]; - if (expansion) { - // Shorthand property that IE8 won't like unsetting, so unset each - // component to placate it - for (var individualStyleName in expansion) { - style[individualStyleName] = ''; - } - } else { - style[styleName] = ''; - } - } - } - } - -}; - -module.exports = CSSPropertyOperations; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 417 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var EventPluginHub = __webpack_require__(68); -var EventPropagators = __webpack_require__(69); -var ExecutionEnvironment = __webpack_require__(18); -var ReactDOMComponentTree = __webpack_require__(15); -var ReactUpdates = __webpack_require__(29); -var SyntheticEvent = __webpack_require__(32); - -var getEventTarget = __webpack_require__(137); -var isEventSupported = __webpack_require__(138); -var isTextInputElement = __webpack_require__(220); - -var eventTypes = { - change: { - phasedRegistrationNames: { - bubbled: 'onChange', - captured: 'onChangeCapture' - }, - dependencies: ['topBlur', 'topChange', 'topClick', 'topFocus', 'topInput', 'topKeyDown', 'topKeyUp', 'topSelectionChange'] - } -}; - -/** - * For IE shims - */ -var activeElement = null; -var activeElementInst = null; -var activeElementValue = null; -var activeElementValueProp = null; - -/** - * SECTION: handle `change` event - */ -function shouldUseChangeEvent(elem) { - var nodeName = elem.nodeName && elem.nodeName.toLowerCase(); - return nodeName === 'select' || nodeName === 'input' && elem.type === 'file'; -} - -var doesChangeEventBubble = false; -if (ExecutionEnvironment.canUseDOM) { - // See `handleChange` comment below - doesChangeEventBubble = isEventSupported('change') && (!document.documentMode || document.documentMode > 8); -} - -function manualDispatchChangeEvent(nativeEvent) { - var event = SyntheticEvent.getPooled(eventTypes.change, activeElementInst, nativeEvent, getEventTarget(nativeEvent)); - EventPropagators.accumulateTwoPhaseDispatches(event); - - // If change and propertychange bubbled, we'd just bind to it like all the - // other events and have it go through ReactBrowserEventEmitter. Since it - // doesn't, we manually listen for the events and so we have to enqueue and - // process the abstract event manually. - // - // Batching is necessary here in order to ensure that all event handlers run - // before the next rerender (including event handlers attached to ancestor - // elements instead of directly on the input). Without this, controlled - // components don't work properly in conjunction with event bubbling because - // the component is rerendered and the value reverted before all the event - // handlers can run. See https://github.com/facebook/react/issues/708. - ReactUpdates.batchedUpdates(runEventInBatch, event); -} - -function runEventInBatch(event) { - EventPluginHub.enqueueEvents(event); - EventPluginHub.processEventQueue(false); -} - -function startWatchingForChangeEventIE8(target, targetInst) { - activeElement = target; - activeElementInst = targetInst; - activeElement.attachEvent('onchange', manualDispatchChangeEvent); -} - -function stopWatchingForChangeEventIE8() { - if (!activeElement) { - return; - } - activeElement.detachEvent('onchange', manualDispatchChangeEvent); - activeElement = null; - activeElementInst = null; -} - -function getTargetInstForChangeEvent(topLevelType, targetInst) { - if (topLevelType === '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 - // missed a blur event somehow. - stopWatchingForChangeEventIE8(); - startWatchingForChangeEventIE8(target, targetInst); - } else if (topLevelType === 'topBlur') { - stopWatchingForChangeEventIE8(); - } -} - -/** - * SECTION: handle `input` event - */ -var isInputEventSupported = false; -if (ExecutionEnvironment.canUseDOM) { - // IE9 claims to support the input event but fails to trigger it when - // deleting text, so we ignore its input events. - // IE10+ fire input events to often, such when a placeholder - // changes or when an input with a placeholder is focused. - isInputEventSupported = isEventSupported('input') && (!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 get() { - return activeElementValueProp.get.call(this); - }, - set: function set(val) { - // Cast to a string so we can do equality checks. - activeElementValue = '' + val; - activeElementValueProp.set.call(this, val); - } -}; - -/** - * (For IE <=11) Starts tracking propertychange events on the passed-in element - * and override the value property so that we can distinguish user events from - * value changes in JS. - */ -function startWatchingForValueChange(target, targetInst) { - activeElement = target; - activeElementInst = targetInst; - activeElementValue = target.value; - activeElementValueProp = Object.getOwnPropertyDescriptor(target.constructor.prototype, 'value'); - - // Not guarded in a canDefineProperty check: IE8 supports defineProperty only - // on DOM elements - Object.defineProperty(activeElement, 'value', newValueProp); - if (activeElement.attachEvent) { - activeElement.attachEvent('onpropertychange', handlePropertyChange); - } else { - activeElement.addEventListener('propertychange', handlePropertyChange, false); - } -} - -/** - * (For IE <=11) Removes the event listeners from the currently-tracked element, - * if any exists. - */ -function stopWatchingForValueChange() { - if (!activeElement) { - return; - } - - // delete restores the original property definition - delete activeElement.value; - - if (activeElement.detachEvent) { - activeElement.detachEvent('onpropertychange', handlePropertyChange); - } else { - activeElement.removeEventListener('propertychange', handlePropertyChange, false); - } - - activeElement = null; - activeElementInst = null; - activeElementValue = null; - activeElementValueProp = null; -} - -/** - * (For IE <=11) Handles a propertychange event, sending a `change` event if - * the value of the active element has changed. - */ -function handlePropertyChange(nativeEvent) { - if (nativeEvent.propertyName !== 'value') { - return; - } - var value = nativeEvent.srcElement.value; - if (value === activeElementValue) { - return; - } - activeElementValue = value; - - manualDispatchChangeEvent(nativeEvent); -} - -/** - * If a `change` event should be fired, returns the target's ID. - */ -function getTargetInstForInputEvent(topLevelType, targetInst) { - if (topLevelType === 'topInput') { - // In modern browsers (i.e., not IE8 or IE9), the input event is exactly - // what we want so fall through here and trigger an abstract event - return targetInst; - } -} - -function handleEventsForInputEventIE(topLevelType, target, targetInst) { - if (topLevelType === 'topFocus') { - // In IE8, we can capture almost all .value changes by adding a - // propertychange handler and looking for events with propertyName - // equal to 'value' - // In IE9-11, propertychange fires for most input events but is buggy and - // doesn't fire when text is deleted, but conveniently, selectionchange - // appears to fire in all of the remaining cases so we catch those and - // forward the event if the value has changed - // In either case, we don't want to call the event handler if the value - // is changed from JS so we redefine a setter for `.value` that updates - // our activeElementValue variable, allowing us to ignore those changes - // - // stopWatching() should be a noop here but we call it just in case we - // missed a blur event somehow. - stopWatchingForValueChange(); - startWatchingForValueChange(target, targetInst); - } else if (topLevelType === 'topBlur') { - stopWatchingForValueChange(); - } -} - -// For IE8 and IE9. -function getTargetInstForInputEventIE(topLevelType, targetInst) { - 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. - // - // 99% of the time, keydown and keyup aren't necessary. IE8 fails to fire - // propertychange on the first input event after setting `value` from a - // script and fires only keydown, keypress, keyup. Catching keyup usually - // gets it and catching keydown lets us fire an event for the first - // keystroke if user does a key repeat (it'll be a little delayed: right - // before the second keystroke). Other input methods (e.g., paste) seem to - // fire selectionchange normally. - if (activeElement && activeElement.value !== activeElementValue) { - activeElementValue = activeElement.value; - return activeElementInst; - } - } -} - -/** - * SECTION: handle `click` event - */ -function shouldUseClickEvent(elem) { - // Use the `click` event to detect changes to checkbox and radio inputs. - // This approach works across all browsers, whereas `change` does not fire - // until `blur` in IE8. - return elem.nodeName && elem.nodeName.toLowerCase() === 'input' && (elem.type === 'checkbox' || elem.type === 'radio'); -} - -function getTargetInstForClickEvent(topLevelType, targetInst) { - if (topLevelType === 'topClick') { - return targetInst; - } -} - -function handleControlledInputBlur(inst, node) { - // TODO: In IE, inst is occasionally null. Why? - if (inst == null) { - return; - } - - // Fiber and ReactDOM keep wrapper state in separate places - var state = inst._wrapperState || node._wrapperState; - - if (!state || !state.controlled || node.type !== 'number') { - return; - } - - // If controlled, assign the value attribute to the current value on blur - var value = '' + node.value; - if (node.getAttribute('value') !== value) { - node.setAttribute('value', value); - } -} - -/** - * This plugin creates an `onChange` event that normalizes change events - * across form elements. This event fires at a time when it's possible to - * change the element's value without seeing a flicker. - * - * Supported elements are: - * - input (see `isTextInputElement`) - * - textarea - * - select - */ -var ChangeEventPlugin = { - - eventTypes: eventTypes, - - extractEvents: function extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget) { - var targetNode = targetInst ? ReactDOMComponentTree.getNodeFromInstance(targetInst) : window; - - var getTargetInstFunc, handleEventFunc; - if (shouldUseChangeEvent(targetNode)) { - if (doesChangeEventBubble) { - getTargetInstFunc = getTargetInstForChangeEvent; - } else { - handleEventFunc = handleEventsForChangeEventIE8; - } - } else if (isTextInputElement(targetNode)) { - if (isInputEventSupported) { - getTargetInstFunc = getTargetInstForInputEvent; - } else { - getTargetInstFunc = getTargetInstForInputEventIE; - handleEventFunc = handleEventsForInputEventIE; - } - } else if (shouldUseClickEvent(targetNode)) { - getTargetInstFunc = getTargetInstForClickEvent; - } - - if (getTargetInstFunc) { - var inst = getTargetInstFunc(topLevelType, targetInst); - if (inst) { - var event = SyntheticEvent.getPooled(eventTypes.change, inst, nativeEvent, nativeEventTarget); - event.type = 'change'; - EventPropagators.accumulateTwoPhaseDispatches(event); - return event; - } - } - - if (handleEventFunc) { - handleEventFunc(topLevelType, targetNode, targetInst); - } - - // When blurring, set the value attribute for number inputs - if (topLevelType === 'topBlur') { - handleControlledInputBlur(targetInst, targetNode); - } - } - -}; - -module.exports = ChangeEventPlugin; - -/***/ }), -/* 418 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -var _prodInvariant = __webpack_require__(12); - -var DOMLazyTree = __webpack_require__(57); -var ExecutionEnvironment = __webpack_require__(18); - -var createNodesFromMarkup = __webpack_require__(323); -var emptyFunction = __webpack_require__(24); -var invariant = __webpack_require__(10); - -var Danger = { - - /** - * Replaces a node with a string of markup at its current position within its - * parent. The markup must render into a single root node. - * - * @param {DOMElement} oldChild Child node to replace. - * @param {string} markup Markup to render in place of the child node. - * @internal - */ - dangerouslyReplaceNodeWithMarkup: function dangerouslyReplaceNodeWithMarkup(oldChild, markup) { - !ExecutionEnvironment.canUseDOM ? process.env.NODE_ENV !== 'production' ? invariant(false, 'dangerouslyReplaceNodeWithMarkup(...): Cannot render markup in a worker thread. Make sure `window` and `document` are available globally before requiring React when unit testing or use ReactDOMServer.renderToString() for server rendering.') : _prodInvariant('56') : void 0; - !markup ? process.env.NODE_ENV !== 'production' ? invariant(false, 'dangerouslyReplaceNodeWithMarkup(...): Missing markup.') : _prodInvariant('57') : void 0; - !(oldChild.nodeName !== 'HTML') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'dangerouslyReplaceNodeWithMarkup(...): Cannot replace markup of the <html> node. This is because browser quirks make this unreliable and/or slow. If you want to render to the root you must use server rendering. See ReactDOMServer.renderToString().') : _prodInvariant('58') : void 0; - - if (typeof markup === 'string') { - var newChild = createNodesFromMarkup(markup, emptyFunction)[0]; - oldChild.parentNode.replaceChild(newChild, oldChild); - } else { - DOMLazyTree.replaceChildWithTree(oldChild, markup); - } - } - -}; - -module.exports = Danger; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 419 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -/** - * Module that is injectable into `EventPluginHub`, that specifies a - * deterministic ordering of `EventPlugin`s. A convenient way to reason about - * plugins, without having to package every one of them. This is better than - * having plugins be ordered in the same order that they are injected because - * that ordering would be influenced by the packaging order. - * `ResponderEventPlugin` must occur before `SimpleEventPlugin` so that - * preventing default on events is convenient in `SimpleEventPlugin` handlers. - */ - -var DefaultEventPluginOrder = ['ResponderEventPlugin', 'SimpleEventPlugin', 'TapEventPlugin', 'EnterLeaveEventPlugin', 'ChangeEventPlugin', 'SelectEventPlugin', 'BeforeInputEventPlugin']; - -module.exports = DefaultEventPluginOrder; - -/***/ }), -/* 420 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var EventPropagators = __webpack_require__(69); -var ReactDOMComponentTree = __webpack_require__(15); -var SyntheticMouseEvent = __webpack_require__(86); - -var eventTypes = { - mouseEnter: { - registrationName: 'onMouseEnter', - dependencies: ['topMouseOut', 'topMouseOver'] - }, - mouseLeave: { - registrationName: 'onMouseLeave', - dependencies: ['topMouseOut', 'topMouseOver'] - } -}; - -var EnterLeaveEventPlugin = { - - eventTypes: eventTypes, - - /** - * For almost every interaction we care about, there will be both a top-level - * `mouseover` and `mouseout` event that occurs. Only use `mouseout` so that - * we do not extract duplicate events. However, moving the mouse into the - * browser from outside will not fire a `mouseout` event. In this case, we use - * the `mouseover` top-level event. - */ - extractEvents: function extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget) { - if (topLevelType === 'topMouseOver' && (nativeEvent.relatedTarget || nativeEvent.fromElement)) { - return null; - } - if (topLevelType !== 'topMouseOut' && topLevelType !== 'topMouseOver') { - // Must not be a mouse in or mouse out - ignoring. - return null; - } - - var win; - if (nativeEventTarget.window === nativeEventTarget) { - // `nativeEventTarget` is probably a window object. - win = nativeEventTarget; - } else { - // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8. - var doc = nativeEventTarget.ownerDocument; - if (doc) { - win = doc.defaultView || doc.parentWindow; - } else { - win = window; - } - } - - var from; - var to; - if (topLevelType === 'topMouseOut') { - from = targetInst; - var related = nativeEvent.relatedTarget || nativeEvent.toElement; - to = related ? ReactDOMComponentTree.getClosestInstanceFromNode(related) : null; - } else { - // Moving to a node from outside the window. - from = null; - to = targetInst; - } - - if (from === to) { - // Nothing pertains to our managed components. - return null; - } - - var fromNode = from == null ? win : ReactDOMComponentTree.getNodeFromInstance(from); - var toNode = to == null ? win : ReactDOMComponentTree.getNodeFromInstance(to); - - var leave = SyntheticMouseEvent.getPooled(eventTypes.mouseLeave, from, nativeEvent, nativeEventTarget); - leave.type = 'mouseleave'; - leave.target = fromNode; - leave.relatedTarget = toNode; - - var enter = SyntheticMouseEvent.getPooled(eventTypes.mouseEnter, to, nativeEvent, nativeEventTarget); - enter.type = 'mouseenter'; - enter.target = toNode; - enter.relatedTarget = fromNode; - - EventPropagators.accumulateEnterLeaveDispatches(leave, enter, from, to); - - return [leave, enter]; - } - -}; - -module.exports = EnterLeaveEventPlugin; - -/***/ }), -/* 421 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var _assign = __webpack_require__(14); - -var PooledClass = __webpack_require__(44); - -var getTextContentAccessor = __webpack_require__(218); - -/** - * This helper class stores information about text content of a target node, - * allowing comparison of content before and after a given event. - * - * Identify the node where selection currently begins, then observe - * both its text content and its current position in the DOM. Since the - * browser may natively replace the target node during composition, we can - * use its position to find its replacement. - * - * @param {DOMEventTarget} root - */ -function FallbackCompositionState(root) { - this._root = root; - this._startText = this.getText(); - this._fallbackText = null; -} - -_assign(FallbackCompositionState.prototype, { - destructor: function destructor() { - this._root = null; - this._startText = null; - this._fallbackText = null; - }, - - /** - * Get current text of input. - * - * @return {string} - */ - getText: function getText() { - if ('value' in this._root) { - return this._root.value; - } - return this._root[getTextContentAccessor()]; - }, - - /** - * Determine the differing substring between the initially stored - * text content and the current content. - * - * @return {string} - */ - getData: function getData() { - if (this._fallbackText) { - return this._fallbackText; - } - - var start; - var startValue = this._startText; - var startLength = startValue.length; - var end; - var endValue = this.getText(); - var endLength = endValue.length; - - for (start = 0; start < startLength; start++) { - if (startValue[start] !== endValue[start]) { - break; - } - } - - var minEnd = startLength - start; - for (end = 1; end <= minEnd; end++) { - if (startValue[startLength - end] !== endValue[endLength - end]) { - break; - } - } - - var sliceTail = end > 1 ? 1 - end : undefined; - this._fallbackText = endValue.slice(start, sliceTail); - return this._fallbackText; - } -}); - -PooledClass.addPoolingTo(FallbackCompositionState); - -module.exports = FallbackCompositionState; - -/***/ }), -/* 422 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var DOMProperty = __webpack_require__(39); - -var MUST_USE_PROPERTY = DOMProperty.injection.MUST_USE_PROPERTY; -var HAS_BOOLEAN_VALUE = DOMProperty.injection.HAS_BOOLEAN_VALUE; -var HAS_NUMERIC_VALUE = DOMProperty.injection.HAS_NUMERIC_VALUE; -var HAS_POSITIVE_NUMERIC_VALUE = DOMProperty.injection.HAS_POSITIVE_NUMERIC_VALUE; -var HAS_OVERLOADED_BOOLEAN_VALUE = DOMProperty.injection.HAS_OVERLOADED_BOOLEAN_VALUE; - -var HTMLDOMPropertyConfig = { - isCustomAttribute: RegExp.prototype.test.bind(new RegExp('^(data|aria)-[' + DOMProperty.ATTRIBUTE_NAME_CHAR + ']*$')), - Properties: { - /** - * Standard Properties - */ - accept: 0, - acceptCharset: 0, - accessKey: 0, - action: 0, - allowFullScreen: HAS_BOOLEAN_VALUE, - allowTransparency: 0, - alt: 0, - // specifies target context for links with `preload` type - as: 0, - async: HAS_BOOLEAN_VALUE, - autoComplete: 0, - // autoFocus is polyfilled/normalized by AutoFocusUtils - // autoFocus: HAS_BOOLEAN_VALUE, - autoPlay: HAS_BOOLEAN_VALUE, - capture: HAS_BOOLEAN_VALUE, - cellPadding: 0, - cellSpacing: 0, - charSet: 0, - challenge: 0, - checked: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE, - cite: 0, - classID: 0, - className: 0, - cols: HAS_POSITIVE_NUMERIC_VALUE, - colSpan: 0, - content: 0, - contentEditable: 0, - contextMenu: 0, - controls: HAS_BOOLEAN_VALUE, - coords: 0, - crossOrigin: 0, - data: 0, // For `<object />` acts as `src`. - dateTime: 0, - 'default': HAS_BOOLEAN_VALUE, - defer: HAS_BOOLEAN_VALUE, - dir: 0, - disabled: HAS_BOOLEAN_VALUE, - download: HAS_OVERLOADED_BOOLEAN_VALUE, - draggable: 0, - encType: 0, - form: 0, - formAction: 0, - formEncType: 0, - formMethod: 0, - formNoValidate: HAS_BOOLEAN_VALUE, - formTarget: 0, - frameBorder: 0, - headers: 0, - height: 0, - hidden: HAS_BOOLEAN_VALUE, - high: 0, - href: 0, - hrefLang: 0, - htmlFor: 0, - httpEquiv: 0, - icon: 0, - id: 0, - inputMode: 0, - integrity: 0, - is: 0, - keyParams: 0, - keyType: 0, - kind: 0, - label: 0, - lang: 0, - list: 0, - loop: HAS_BOOLEAN_VALUE, - low: 0, - manifest: 0, - marginHeight: 0, - marginWidth: 0, - max: 0, - maxLength: 0, - media: 0, - mediaGroup: 0, - method: 0, - min: 0, - minLength: 0, - // Caution; `option.selected` is not updated if `select.multiple` is - // disabled with `removeAttribute`. - multiple: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE, - muted: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE, - name: 0, - nonce: 0, - noValidate: HAS_BOOLEAN_VALUE, - open: HAS_BOOLEAN_VALUE, - optimum: 0, - pattern: 0, - placeholder: 0, - playsInline: HAS_BOOLEAN_VALUE, - poster: 0, - preload: 0, - profile: 0, - radioGroup: 0, - readOnly: HAS_BOOLEAN_VALUE, - referrerPolicy: 0, - rel: 0, - required: HAS_BOOLEAN_VALUE, - reversed: HAS_BOOLEAN_VALUE, - role: 0, - rows: HAS_POSITIVE_NUMERIC_VALUE, - rowSpan: HAS_NUMERIC_VALUE, - sandbox: 0, - scope: 0, - scoped: HAS_BOOLEAN_VALUE, - scrolling: 0, - seamless: HAS_BOOLEAN_VALUE, - selected: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE, - shape: 0, - size: HAS_POSITIVE_NUMERIC_VALUE, - sizes: 0, - span: HAS_POSITIVE_NUMERIC_VALUE, - spellCheck: 0, - src: 0, - srcDoc: 0, - srcLang: 0, - srcSet: 0, - start: HAS_NUMERIC_VALUE, - step: 0, - style: 0, - summary: 0, - tabIndex: 0, - target: 0, - title: 0, - // Setting .type throws on non-<input> tags - type: 0, - useMap: 0, - value: 0, - width: 0, - wmode: 0, - wrap: 0, - - /** - * RDFa Properties - */ - about: 0, - datatype: 0, - inlist: 0, - prefix: 0, - // property is also supported for OpenGraph in meta tags. - property: 0, - resource: 0, - 'typeof': 0, - vocab: 0, - - /** - * Non-standard Properties - */ - // autoCapitalize and autoCorrect are supported in Mobile Safari for - // keyboard hints. - autoCapitalize: 0, - autoCorrect: 0, - // autoSave allows WebKit/Blink to persist values of input fields on page reloads - autoSave: 0, - // color is for Safari mask-icon link - color: 0, - // itemProp, itemScope, itemType are for - // Microdata support. See http://schema.org/docs/gs.html - itemProp: 0, - itemScope: HAS_BOOLEAN_VALUE, - itemType: 0, - // itemID and itemRef are for Microdata support as well but - // only specified in the WHATWG spec document. See - // https://html.spec.whatwg.org/multipage/microdata.html#microdata-dom-api - itemID: 0, - itemRef: 0, - // results show looking glass icon and recent searches on input - // search fields in WebKit/Blink - results: 0, - // IE-only attribute that specifies security restrictions on an iframe - // as an alternative to the sandbox attribute on IE<10 - security: 0, - // IE-only attribute that controls focus behavior - unselectable: 0 - }, - DOMAttributeNames: { - acceptCharset: 'accept-charset', - className: 'class', - htmlFor: 'for', - httpEquiv: 'http-equiv' - }, - DOMPropertyNames: {}, - DOMMutationMethods: { - value: function value(node, _value) { - if (_value == null) { - return node.removeAttribute('value'); - } - - // Number inputs get special treatment due to some edge cases in - // Chrome. Let everything else assign the value attribute as normal. - // https://github.com/facebook/react/issues/7253#issuecomment-236074326 - if (node.type !== 'number' || node.hasAttribute('value') === false) { - node.setAttribute('value', '' + _value); - } else if (node.validity && !node.validity.badInput && node.ownerDocument.activeElement !== node) { - // Don't assign an attribute if validation reports bad - // input. Chrome will clear the value. Additionally, don't - // operate on inputs that have focus, otherwise Chrome might - // strip off trailing decimal places and cause the user's - // cursor position to jump to the beginning of the input. - // - // In ReactDOMInput, we have an onBlur event that will trigger - // this function again when focus is lost. - node.setAttribute('value', '' + _value); - } - } - } -}; - -module.exports = HTMLDOMPropertyConfig; - -/***/ }), -/* 423 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -var ReactReconciler = __webpack_require__(58); - -var instantiateReactComponent = __webpack_require__(219); -var KeyEscapeUtils = __webpack_require__(129); -var shouldUpdateReactComponent = __webpack_require__(139); -var traverseAllChildren = __webpack_require__(222); -var warning = __webpack_require__(11); - -var ReactComponentTreeHook; - -if (typeof process !== 'undefined' && process.env && process.env.NODE_ENV === 'test') { - // Temporary hack. - // Inline requires don't work well with Jest: - // 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__(23); -} - -function instantiateChild(childInstances, child, name, selfDebugID) { - // We found a component instance. - var keyUnique = childInstances[name] === undefined; - if (process.env.NODE_ENV !== 'production') { - if (!ReactComponentTreeHook) { - ReactComponentTreeHook = __webpack_require__(23); - } - 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; - } - } - if (child != null && keyUnique) { - childInstances[name] = instantiateReactComponent(child, true); - } -} - -/** - * ReactChildReconciler provides helpers for initializing or updating a set of - * children. Its output is suitable for passing it onto ReactMultiChild which - * does diffed reordering and insertion. - */ -var ReactChildReconciler = { - /** - * Generates a "mount image" for each of the supplied children. In the case - * of `ReactDOMComponent`, a mount image is a string of markup. - * - * @param {?object} nestedChildNodes Nested child maps. - * @return {?object} A set of child instances. - * @internal - */ - instantiateChildren: function instantiateChildren(nestedChildNodes, transaction, context, selfDebugID // 0 in production and for roots - ) { - if (nestedChildNodes == null) { - return null; - } - var childInstances = {}; - - if (process.env.NODE_ENV !== 'production') { - traverseAllChildren(nestedChildNodes, function (childInsts, child, name) { - return instantiateChild(childInsts, child, name, selfDebugID); - }, childInstances); - } else { - traverseAllChildren(nestedChildNodes, instantiateChild, childInstances); - } - return childInstances; - }, - - /** - * Updates the rendered children and returns a new set of children. - * - * @param {?object} prevChildren Previously initialized set of children. - * @param {?object} nextChildren Flat child element maps. - * @param {ReactReconcileTransaction} transaction - * @param {object} context - * @return {?object} A new set of child instances. - * @internal - */ - updateChildren: function updateChildren(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. - // TODO: If nothing has changed, return the prevChildren object so that we - // can quickly bailout if nothing has changed. - if (!nextChildren && !prevChildren) { - return; - } - var name; - var prevChild; - for (name in nextChildren) { - if (!nextChildren.hasOwnProperty(name)) { - continue; - } - prevChild = prevChildren && prevChildren[name]; - var prevElement = prevChild && prevChild._currentElement; - var nextElement = nextChildren[name]; - if (prevChild != null && shouldUpdateReactComponent(prevElement, nextElement)) { - ReactReconciler.receiveComponent(prevChild, nextElement, transaction, context); - nextChildren[name] = prevChild; - } else { - if (prevChild) { - removedNodes[name] = ReactReconciler.getHostNode(prevChild); - ReactReconciler.unmountComponent(prevChild, false); - } - // The child must be instantiated before it's mounted. - var nextChildInstance = instantiateReactComponent(nextElement, true); - nextChildren[name] = nextChildInstance; - // Creating mount image now ensures refs are resolved in right order - // (see https://github.com/facebook/react/pull/7101 for explanation). - var nextChildMountImage = ReactReconciler.mountComponent(nextChildInstance, transaction, hostParent, hostContainerInfo, context, selfDebugID); - mountImages.push(nextChildMountImage); - } - } - // Unmount children that are no longer present. - for (name in prevChildren) { - if (prevChildren.hasOwnProperty(name) && !(nextChildren && nextChildren.hasOwnProperty(name))) { - prevChild = prevChildren[name]; - removedNodes[name] = ReactReconciler.getHostNode(prevChild); - ReactReconciler.unmountComponent(prevChild, false); - } - } - }, - - /** - * Unmounts all rendered children. This should be used to clean up children - * when this component is unmounted. - * - * @param {?object} renderedChildren Previously initialized set of children. - * @internal - */ - unmountChildren: function unmountChildren(renderedChildren, safely) { - for (var name in renderedChildren) { - if (renderedChildren.hasOwnProperty(name)) { - var renderedChild = renderedChildren[name]; - ReactReconciler.unmountComponent(renderedChild, safely); - } - } - } - -}; - -module.exports = ReactChildReconciler; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 424 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var DOMChildrenOperations = __webpack_require__(126); -var ReactDOMIDOperations = __webpack_require__(431); - -/** - * Abstracts away all functionality of the reconciler that requires knowledge of - * the browser context. TODO: These callers should be refactored to avoid the - * need for this injection. - */ -var ReactComponentBrowserEnvironment = { - - processChildrenUpdates: ReactDOMIDOperations.dangerouslyProcessChildrenUpdates, - - replaceNodeWithMarkup: DOMChildrenOperations.dangerouslyReplaceNodeWithMarkup - -}; - -module.exports = ReactComponentBrowserEnvironment; - -/***/ }), -/* 425 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -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 _prodInvariant = __webpack_require__(12), - _assign = __webpack_require__(14); - -var React = __webpack_require__(61); -var ReactComponentEnvironment = __webpack_require__(131); -var ReactCurrentOwner = __webpack_require__(30); -var ReactErrorUtils = __webpack_require__(132); -var ReactInstanceMap = __webpack_require__(70); -var ReactInstrumentation = __webpack_require__(25); -var ReactNodeTypes = __webpack_require__(212); -var ReactReconciler = __webpack_require__(58); - -if (process.env.NODE_ENV !== 'production') { - var checkReactTypeSpec = __webpack_require__(473); -} - -var emptyObject = __webpack_require__(54); -var invariant = __webpack_require__(10); -var shallowEqual = __webpack_require__(113); -var shouldUpdateReactComponent = __webpack_require__(139); -var warning = __webpack_require__(11); - -var CompositeTypes = { - ImpureClass: 0, - PureClass: 1, - StatelessFunctional: 2 -}; - -function StatelessComponent(Component) {} -StatelessComponent.prototype.render = function () { - var Component = ReactInstanceMap.get(this)._currentElement.type; - var element = Component(this.props, this.context, this.updater); - warnIfInvalidElement(Component, element); - return element; -}; - -function warnIfInvalidElement(Component, element) { - if (process.env.NODE_ENV !== 'production') { - process.env.NODE_ENV !== 'production' ? warning(element === null || element === false || React.isValidElement(element), '%s(...): A valid React element (or null) must be returned. You may have ' + 'returned undefined, an array or some other invalid object.', Component.displayName || Component.name || 'Component') : void 0; - process.env.NODE_ENV !== 'production' ? warning(!Component.childContextTypes, '%s(...): childContextTypes cannot be defined on a functional component.', Component.displayName || Component.name || 'Component') : void 0; - } -} - -function shouldConstruct(Component) { - return !!(Component.prototype && Component.prototype.isReactComponent); -} - -function isPureComponent(Component) { - return !!(Component.prototype && Component.prototype.isPureReactComponent); -} - -// Separated into a function to contain deoptimizations caused by try/finally. -function measureLifeCyclePerf(fn, debugID, timerType) { - if (debugID === 0) { - // Top-level wrappers (see ReactMount) and empty components (see - // ReactDOMEmptyComponent) are invisible to hooks and devtools. - // Both are implementation details that should go away in the future. - return fn(); - } - - ReactInstrumentation.debugTool.onBeginLifeCycleTimer(debugID, timerType); - try { - return fn(); - } finally { - ReactInstrumentation.debugTool.onEndLifeCycleTimer(debugID, timerType); - } -} - -/** - * ------------------ The Life-Cycle of a Composite Component ------------------ - * - * - constructor: Initialization of state. The instance is now retained. - * - componentWillMount - * - render - * - [children's constructors] - * - [children's componentWillMount and render] - * - [children's componentDidMount] - * - componentDidMount - * - * Update Phases: - * - componentWillReceiveProps (only called if parent updated) - * - shouldComponentUpdate - * - componentWillUpdate - * - render - * - [children's constructors or receive props phases] - * - componentDidUpdate - * - * - componentWillUnmount - * - [children's componentWillUnmount] - * - [children destroyed] - * - (destroyed): The instance is now blank, released by React and ready for GC. - * - * ----------------------------------------------------------------------------- - */ - -/** - * An incrementing ID assigned to each component when it is mounted. This is - * used to enforce the order in which `ReactUpdates` updates dirty components. - * - * @private - */ -var nextMountID = 1; - -/** - * @lends {ReactCompositeComponent.prototype} - */ -var ReactCompositeComponent = { - - /** - * Base constructor for all composite component. - * - * @param {ReactElement} element - * @final - * @internal - */ - construct: function construct(element) { - this._currentElement = element; - this._rootNodeID = 0; - this._compositeType = null; - this._instance = null; - this._hostParent = null; - this._hostContainerInfo = null; - - // See ReactUpdateQueue - this._updateBatchNumber = null; - this._pendingElement = null; - this._pendingStateQueue = null; - this._pendingReplaceState = false; - this._pendingForceUpdate = false; - - this._renderedNodeType = null; - this._renderedComponent = null; - this._context = null; - this._mountOrder = 0; - this._topLevelWrapper = null; - - // See ReactUpdates and ReactUpdateQueue. - this._pendingCallbacks = null; - - // ComponentWillUnmount shall only be called once - this._calledComponentWillUnmount = false; - - if (process.env.NODE_ENV !== 'production') { - this._warnedAboutRefsInRender = false; - } - }, - - /** - * Initializes the component, renders markup, and registers event listeners. - * - * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction - * @param {?object} hostParent - * @param {?object} hostContainerInfo - * @param {?object} context - * @return {?string} Rendered markup to be inserted into the DOM. - * @final - * @internal - */ - mountComponent: function mountComponent(transaction, hostParent, hostContainerInfo, context) { - var _this = this; - - this._context = context; - this._mountOrder = nextMountID++; - this._hostParent = hostParent; - this._hostContainerInfo = hostContainerInfo; - - var publicProps = this._currentElement.props; - var publicContext = this._processContext(context); - - var Component = this._currentElement.type; - - var updateQueue = transaction.getUpdateQueue(); - - // Initialize the public class - var doConstruct = shouldConstruct(Component); - var inst = this._constructComponent(doConstruct, publicProps, publicContext, updateQueue); - var renderedElement; - - // Support functional components - if (!doConstruct && (inst == null || inst.render == null)) { - renderedElement = inst; - warnIfInvalidElement(Component, renderedElement); - !(inst === null || inst === false || React.isValidElement(inst)) ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s(...): A valid React element (or null) must be returned. You may have returned undefined, an array or some other invalid object.', Component.displayName || Component.name || 'Component') : _prodInvariant('105', Component.displayName || Component.name || 'Component') : void 0; - inst = new StatelessComponent(Component); - this._compositeType = CompositeTypes.StatelessFunctional; - } else { - if (isPureComponent(Component)) { - this._compositeType = CompositeTypes.PureClass; - } else { - this._compositeType = CompositeTypes.ImpureClass; - } - } - - if (process.env.NODE_ENV !== 'production') { - // This will throw later in _renderValidatedComponent, but add an early - // warning now to help debugging - if (inst.render == null) { - process.env.NODE_ENV !== 'production' ? warning(false, '%s(...): No `render` method found on the returned component ' + 'instance: you may have forgotten to define `render`.', Component.displayName || Component.name || 'Component') : void 0; - } - - 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; - } - - // These should be set up in the constructor, but as a convenience for - // simpler class abstractions, we set them up after the fact. - inst.props = publicProps; - inst.context = publicContext; - inst.refs = emptyObject; - inst.updater = updateQueue; - - this._instance = inst; - - // Store a reference from the instance back to the internal representation - ReactInstanceMap.set(inst, this); - - if (process.env.NODE_ENV !== 'production') { - // Since plain JS classes are defined without any special initialization - // logic, we can not catch common errors early. Therefore, we have to - // catch them here, at initialization time, instead. - process.env.NODE_ENV !== 'production' ? warning(!inst.getInitialState || inst.getInitialState.isReactClassApproved || inst.state, 'getInitialState was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Did you mean to define a state property instead?', this.getName() || 'a component') : void 0; - process.env.NODE_ENV !== 'production' ? warning(!inst.getDefaultProps || inst.getDefaultProps.isReactClassApproved, 'getDefaultProps was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Use a static property to define defaultProps instead.', this.getName() || 'a component') : void 0; - process.env.NODE_ENV !== 'production' ? warning(!inst.propTypes, 'propTypes was defined as an instance property on %s. Use a static ' + 'property to define propTypes instead.', this.getName() || 'a component') : void 0; - process.env.NODE_ENV !== 'production' ? warning(!inst.contextTypes, 'contextTypes was defined as an instance property on %s. Use a ' + 'static property to define contextTypes instead.', this.getName() || 'a component') : void 0; - process.env.NODE_ENV !== 'production' ? warning(typeof inst.componentShouldUpdate !== 'function', '%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.', this.getName() || 'A component') : void 0; - process.env.NODE_ENV !== 'production' ? warning(typeof inst.componentDidUnmount !== 'function', '%s has a method called ' + 'componentDidUnmount(). But there is no such lifecycle method. ' + 'Did you mean componentWillUnmount()?', this.getName() || 'A component') : void 0; - process.env.NODE_ENV !== 'production' ? warning(typeof inst.componentWillRecieveProps !== 'function', '%s has a method called ' + 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?', this.getName() || 'A component') : void 0; - } - - var initialState = inst.state; - if (initialState === undefined) { - inst.state = initialState = null; - } - !((typeof initialState === 'undefined' ? 'undefined' : _typeof(initialState)) === 'object' && !Array.isArray(initialState)) ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s.state: must be set to an object or null', this.getName() || 'ReactCompositeComponent') : _prodInvariant('106', this.getName() || 'ReactCompositeComponent') : void 0; - - this._pendingStateQueue = null; - this._pendingReplaceState = false; - this._pendingForceUpdate = false; - - var markup; - if (inst.unstable_handleError) { - markup = this.performInitialMountWithErrorHandling(renderedElement, hostParent, hostContainerInfo, transaction, context); - } else { - markup = this.performInitialMount(renderedElement, hostParent, hostContainerInfo, transaction, context); - } - - if (inst.componentDidMount) { - if (process.env.NODE_ENV !== 'production') { - transaction.getReactMountReady().enqueue(function () { - measureLifeCyclePerf(function () { - return inst.componentDidMount(); - }, _this._debugID, 'componentDidMount'); - }); - } else { - transaction.getReactMountReady().enqueue(inst.componentDidMount, inst); - } - } - - return markup; - }, - - _constructComponent: function _constructComponent(doConstruct, publicProps, publicContext, updateQueue) { - if (process.env.NODE_ENV !== 'production') { - ReactCurrentOwner.current = this; - try { - return this._constructComponentWithoutOwner(doConstruct, publicProps, publicContext, updateQueue); - } finally { - ReactCurrentOwner.current = null; - } - } else { - return this._constructComponentWithoutOwner(doConstruct, publicProps, publicContext, updateQueue); - } - }, - - _constructComponentWithoutOwner: function _constructComponentWithoutOwner(doConstruct, publicProps, publicContext, updateQueue) { - var Component = this._currentElement.type; - - if (doConstruct) { - if (process.env.NODE_ENV !== 'production') { - return measureLifeCyclePerf(function () { - return new Component(publicProps, publicContext, updateQueue); - }, this._debugID, 'ctor'); - } else { - return new Component(publicProps, publicContext, updateQueue); - } - } - - // This can still be an instance in case of factory components - // but we'll count this as time spent rendering as the more common case. - if (process.env.NODE_ENV !== 'production') { - return measureLifeCyclePerf(function () { - return Component(publicProps, publicContext, updateQueue); - }, this._debugID, 'render'); - } else { - return Component(publicProps, publicContext, updateQueue); - } - }, - - performInitialMountWithErrorHandling: function performInitialMountWithErrorHandling(renderedElement, hostParent, hostContainerInfo, transaction, context) { - var markup; - var checkpoint = transaction.checkpoint(); - try { - markup = this.performInitialMount(renderedElement, hostParent, hostContainerInfo, transaction, context); - } catch (e) { - // Roll back to checkpoint, handle error (which may add items to the transaction), and take a new checkpoint - transaction.rollback(checkpoint); - this._instance.unstable_handleError(e); - if (this._pendingStateQueue) { - this._instance.state = this._processPendingState(this._instance.props, this._instance.context); - } - checkpoint = transaction.checkpoint(); - - this._renderedComponent.unmountComponent(true); - transaction.rollback(checkpoint); - - // Try again - we've informed the component about the error, so they can render an error message this time. - // If this throws again, the error will bubble up (and can be caught by a higher error boundary). - markup = this.performInitialMount(renderedElement, hostParent, hostContainerInfo, transaction, context); - } - return markup; - }, - - performInitialMount: function performInitialMount(renderedElement, hostParent, hostContainerInfo, transaction, context) { - var inst = this._instance; - - var debugID = 0; - if (process.env.NODE_ENV !== 'production') { - debugID = this._debugID; - } - - if (inst.componentWillMount) { - if (process.env.NODE_ENV !== 'production') { - measureLifeCyclePerf(function () { - return inst.componentWillMount(); - }, debugID, 'componentWillMount'); - } else { - inst.componentWillMount(); - } - // When mounting, calls to `setState` by `componentWillMount` will set - // `this._pendingStateQueue` without triggering a re-render. - if (this._pendingStateQueue) { - inst.state = this._processPendingState(inst.props, inst.context); - } - } - - // If not a stateless component, we now render - if (renderedElement === undefined) { - renderedElement = this._renderValidatedComponent(); - } - - var nodeType = ReactNodeTypes.getType(renderedElement); - this._renderedNodeType = nodeType; - var child = this._instantiateReactComponent(renderedElement, nodeType !== ReactNodeTypes.EMPTY /* shouldHaveDebugID */ - ); - this._renderedComponent = child; - - var markup = ReactReconciler.mountComponent(child, transaction, hostParent, hostContainerInfo, this._processChildContext(context), debugID); - - if (process.env.NODE_ENV !== 'production') { - if (debugID !== 0) { - var childDebugIDs = child._debugID !== 0 ? [child._debugID] : []; - ReactInstrumentation.debugTool.onSetChildren(debugID, childDebugIDs); - } - } - - return markup; - }, - - getHostNode: function getHostNode() { - return ReactReconciler.getHostNode(this._renderedComponent); - }, - - /** - * Releases any resources allocated by `mountComponent`. - * - * @final - * @internal - */ - unmountComponent: function unmountComponent(safely) { - if (!this._renderedComponent) { - return; - } - - var inst = this._instance; - - if (inst.componentWillUnmount && !inst._calledComponentWillUnmount) { - inst._calledComponentWillUnmount = true; - - if (safely) { - var name = this.getName() + '.componentWillUnmount()'; - ReactErrorUtils.invokeGuardedCallback(name, inst.componentWillUnmount.bind(inst)); - } else { - if (process.env.NODE_ENV !== 'production') { - measureLifeCyclePerf(function () { - return inst.componentWillUnmount(); - }, this._debugID, 'componentWillUnmount'); - } else { - inst.componentWillUnmount(); - } - } - } - - if (this._renderedComponent) { - ReactReconciler.unmountComponent(this._renderedComponent, safely); - this._renderedNodeType = null; - this._renderedComponent = null; - this._instance = null; - } - - // Reset pending fields - // Even if this component is scheduled for another update in ReactUpdates, - // it would still be ignored because these fields are reset. - this._pendingStateQueue = null; - this._pendingReplaceState = false; - this._pendingForceUpdate = false; - this._pendingCallbacks = null; - this._pendingElement = null; - - // These fields do not really need to be reset since this object is no - // longer accessible. - this._context = null; - this._rootNodeID = 0; - this._topLevelWrapper = null; - - // Delete the reference from the instance to this internal representation - // which allow the internals to be properly cleaned up even if the user - // leaks a reference to the public instance. - ReactInstanceMap.remove(inst); - - // Some existing components rely on inst.props even after they've been - // destroyed (in event handlers). - // TODO: inst.props = null; - // TODO: inst.state = null; - // TODO: inst.context = null; - }, - - /** - * Filters the context object to only contain keys specified in - * `contextTypes` - * - * @param {object} context - * @return {?object} - * @private - */ - _maskContext: function _maskContext(context) { - var Component = this._currentElement.type; - var contextTypes = Component.contextTypes; - if (!contextTypes) { - return emptyObject; - } - var maskedContext = {}; - for (var contextName in contextTypes) { - maskedContext[contextName] = context[contextName]; - } - return maskedContext; - }, - - /** - * Filters the context object to only contain keys specified in - * `contextTypes`, and asserts that they are valid. - * - * @param {object} context - * @return {?object} - * @private - */ - _processContext: function _processContext(context) { - var maskedContext = this._maskContext(context); - if (process.env.NODE_ENV !== 'production') { - var Component = this._currentElement.type; - if (Component.contextTypes) { - this._checkContextTypes(Component.contextTypes, maskedContext, 'context'); - } - } - return maskedContext; - }, - - /** - * @param {object} currentContext - * @return {object} - * @private - */ - _processChildContext: function _processChildContext(currentContext) { - var Component = this._currentElement.type; - var inst = this._instance; - var childContext; - - if (inst.getChildContext) { - if (process.env.NODE_ENV !== 'production') { - ReactInstrumentation.debugTool.onBeginProcessingChildContext(); - try { - childContext = inst.getChildContext(); - } finally { - ReactInstrumentation.debugTool.onEndProcessingChildContext(); - } - } else { - childContext = inst.getChildContext(); - } - } - - if (childContext) { - !(_typeof(Component.childContextTypes) === 'object') ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s.getChildContext(): childContextTypes must be defined in order to use getChildContext().', this.getName() || 'ReactCompositeComponent') : _prodInvariant('107', this.getName() || 'ReactCompositeComponent') : void 0; - if (process.env.NODE_ENV !== 'production') { - this._checkContextTypes(Component.childContextTypes, childContext, 'child context'); - } - for (var name in childContext) { - !(name in Component.childContextTypes) ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s.getChildContext(): key "%s" is not defined in childContextTypes.', this.getName() || 'ReactCompositeComponent', name) : _prodInvariant('108', this.getName() || 'ReactCompositeComponent', name) : void 0; - } - return _assign({}, currentContext, childContext); - } - return currentContext; - }, - - /** - * Assert that the context types are valid - * - * @param {object} typeSpecs Map of context field to a ReactPropType - * @param {object} values Runtime values that need to be type-checked - * @param {string} location e.g. "prop", "context", "child context" - * @private - */ - _checkContextTypes: function _checkContextTypes(typeSpecs, values, location) { - if (process.env.NODE_ENV !== 'production') { - checkReactTypeSpec(typeSpecs, values, location, this.getName(), null, this._debugID); - } - }, - - receiveComponent: function receiveComponent(nextElement, transaction, nextContext) { - var prevElement = this._currentElement; - var prevContext = this._context; - - this._pendingElement = null; - - this.updateComponent(transaction, prevElement, nextElement, prevContext, nextContext); - }, - - /** - * If any of `_pendingElement`, `_pendingStateQueue`, or `_pendingForceUpdate` - * is set, update the component. - * - * @param {ReactReconcileTransaction} transaction - * @internal - */ - performUpdateIfNecessary: function performUpdateIfNecessary(transaction) { - if (this._pendingElement != null) { - ReactReconciler.receiveComponent(this, this._pendingElement, transaction, this._context); - } else if (this._pendingStateQueue !== null || this._pendingForceUpdate) { - this.updateComponent(transaction, this._currentElement, this._currentElement, this._context, this._context); - } else { - this._updateBatchNumber = null; - } - }, - - /** - * Perform an update to a mounted component. The componentWillReceiveProps and - * shouldComponentUpdate methods are called, then (assuming the update isn't - * skipped) the remaining update lifecycle methods are called and the DOM - * representation is updated. - * - * By default, this implements React's rendering and reconciliation algorithm. - * Sophisticated clients may wish to override this. - * - * @param {ReactReconcileTransaction} transaction - * @param {ReactElement} prevParentElement - * @param {ReactElement} nextParentElement - * @internal - * @overridable - */ - updateComponent: function updateComponent(transaction, prevParentElement, nextParentElement, prevUnmaskedContext, nextUnmaskedContext) { - var inst = this._instance; - !(inst != null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Attempted to update component `%s` that has already been unmounted (or failed to mount).', this.getName() || 'ReactCompositeComponent') : _prodInvariant('136', this.getName() || 'ReactCompositeComponent') : void 0; - - var willReceive = false; - var nextContext; - - // Determine if the context has changed or not - if (this._context === nextUnmaskedContext) { - nextContext = inst.context; - } else { - nextContext = this._processContext(nextUnmaskedContext); - willReceive = true; - } - - var prevProps = prevParentElement.props; - var nextProps = nextParentElement.props; - - // Not a simple state update but a props update - if (prevParentElement !== nextParentElement) { - willReceive = true; - } - - // An update here will schedule an update but immediately set - // _pendingStateQueue which will ensure that any state updates gets - // immediately reconciled instead of waiting for the next batch. - if (willReceive && inst.componentWillReceiveProps) { - if (process.env.NODE_ENV !== 'production') { - measureLifeCyclePerf(function () { - return inst.componentWillReceiveProps(nextProps, nextContext); - }, this._debugID, 'componentWillReceiveProps'); - } else { - inst.componentWillReceiveProps(nextProps, nextContext); - } - } - - var nextState = this._processPendingState(nextProps, nextContext); - var shouldUpdate = true; - - if (!this._pendingForceUpdate) { - if (inst.shouldComponentUpdate) { - if (process.env.NODE_ENV !== 'production') { - shouldUpdate = measureLifeCyclePerf(function () { - return inst.shouldComponentUpdate(nextProps, nextState, nextContext); - }, this._debugID, 'shouldComponentUpdate'); - } else { - shouldUpdate = inst.shouldComponentUpdate(nextProps, nextState, nextContext); - } - } else { - if (this._compositeType === CompositeTypes.PureClass) { - shouldUpdate = !shallowEqual(prevProps, nextProps) || !shallowEqual(inst.state, nextState); - } - } - } - - if (process.env.NODE_ENV !== 'production') { - process.env.NODE_ENV !== 'production' ? warning(shouldUpdate !== undefined, '%s.shouldComponentUpdate(): Returned undefined instead of a ' + 'boolean value. Make sure to return true or false.', this.getName() || 'ReactCompositeComponent') : void 0; - } - - this._updateBatchNumber = null; - if (shouldUpdate) { - this._pendingForceUpdate = false; - // Will set `this.props`, `this.state` and `this.context`. - this._performComponentUpdate(nextParentElement, nextProps, nextState, nextContext, transaction, nextUnmaskedContext); - } else { - // If it's determined that a component should not update, we still want - // to set props and state but we shortcut the rest of the update. - this._currentElement = nextParentElement; - this._context = nextUnmaskedContext; - inst.props = nextProps; - inst.state = nextState; - inst.context = nextContext; - } - }, - - _processPendingState: function _processPendingState(props, context) { - var inst = this._instance; - var queue = this._pendingStateQueue; - var replace = this._pendingReplaceState; - this._pendingReplaceState = false; - this._pendingStateQueue = null; - - if (!queue) { - return inst.state; - } - - if (replace && queue.length === 1) { - return queue[0]; - } - - var nextState = _assign({}, replace ? queue[0] : inst.state); - for (var i = replace ? 1 : 0; i < queue.length; i++) { - var partial = queue[i]; - _assign(nextState, typeof partial === 'function' ? partial.call(inst, nextState, props, context) : partial); - } - - return nextState; - }, - - /** - * Merges new props and state, notifies delegate methods of update and - * performs update. - * - * @param {ReactElement} nextElement Next element - * @param {object} nextProps Next public object to set as properties. - * @param {?object} nextState Next object to set as state. - * @param {?object} nextContext Next public object to set as context. - * @param {ReactReconcileTransaction} transaction - * @param {?object} unmaskedContext - * @private - */ - _performComponentUpdate: function _performComponentUpdate(nextElement, nextProps, nextState, nextContext, transaction, unmaskedContext) { - var _this2 = this; - - var inst = this._instance; - - var hasComponentDidUpdate = Boolean(inst.componentDidUpdate); - var prevProps; - var prevState; - var prevContext; - if (hasComponentDidUpdate) { - prevProps = inst.props; - prevState = inst.state; - prevContext = inst.context; - } - - if (inst.componentWillUpdate) { - if (process.env.NODE_ENV !== 'production') { - measureLifeCyclePerf(function () { - return inst.componentWillUpdate(nextProps, nextState, nextContext); - }, this._debugID, 'componentWillUpdate'); - } else { - inst.componentWillUpdate(nextProps, nextState, nextContext); - } - } - - this._currentElement = nextElement; - this._context = unmaskedContext; - inst.props = nextProps; - inst.state = nextState; - inst.context = nextContext; - - this._updateRenderedComponent(transaction, unmaskedContext); - - if (hasComponentDidUpdate) { - if (process.env.NODE_ENV !== 'production') { - transaction.getReactMountReady().enqueue(function () { - measureLifeCyclePerf(inst.componentDidUpdate.bind(inst, prevProps, prevState, prevContext), _this2._debugID, 'componentDidUpdate'); - }); - } else { - transaction.getReactMountReady().enqueue(inst.componentDidUpdate.bind(inst, prevProps, prevState, prevContext), inst); - } - } - }, - - /** - * Call the component's `render` method and update the DOM accordingly. - * - * @param {ReactReconcileTransaction} transaction - * @internal - */ - _updateRenderedComponent: function _updateRenderedComponent(transaction, context) { - var prevComponentInstance = this._renderedComponent; - var prevRenderedElement = prevComponentInstance._currentElement; - var nextRenderedElement = this._renderValidatedComponent(); - - var debugID = 0; - if (process.env.NODE_ENV !== 'production') { - debugID = this._debugID; - } - - if (shouldUpdateReactComponent(prevRenderedElement, nextRenderedElement)) { - ReactReconciler.receiveComponent(prevComponentInstance, nextRenderedElement, transaction, this._processChildContext(context)); - } else { - var oldHostNode = ReactReconciler.getHostNode(prevComponentInstance); - ReactReconciler.unmountComponent(prevComponentInstance, false); - - var nodeType = ReactNodeTypes.getType(nextRenderedElement); - this._renderedNodeType = nodeType; - var child = this._instantiateReactComponent(nextRenderedElement, nodeType !== ReactNodeTypes.EMPTY /* shouldHaveDebugID */ - ); - this._renderedComponent = child; - - var nextMarkup = ReactReconciler.mountComponent(child, transaction, this._hostParent, this._hostContainerInfo, this._processChildContext(context), debugID); - - if (process.env.NODE_ENV !== 'production') { - if (debugID !== 0) { - var childDebugIDs = child._debugID !== 0 ? [child._debugID] : []; - ReactInstrumentation.debugTool.onSetChildren(debugID, childDebugIDs); - } - } - - this._replaceNodeWithMarkup(oldHostNode, nextMarkup, prevComponentInstance); - } - }, - - /** - * Overridden in shallow rendering. - * - * @protected - */ - _replaceNodeWithMarkup: function _replaceNodeWithMarkup(oldHostNode, nextMarkup, prevInstance) { - ReactComponentEnvironment.replaceNodeWithMarkup(oldHostNode, nextMarkup, prevInstance); - }, - - /** - * @protected - */ - _renderValidatedComponentWithoutOwnerOrContext: function _renderValidatedComponentWithoutOwnerOrContext() { - var inst = this._instance; - var renderedElement; - - if (process.env.NODE_ENV !== 'production') { - renderedElement = measureLifeCyclePerf(function () { - return inst.render(); - }, this._debugID, 'render'); - } else { - renderedElement = inst.render(); - } - - if (process.env.NODE_ENV !== 'production') { - // We allow auto-mocks to proceed as if they're returning null. - if (renderedElement === undefined && inst.render._isMockFunction) { - // This is probably bad practice. Consider warning here and - // deprecating this convenience. - renderedElement = null; - } - } - - return renderedElement; - }, - - /** - * @private - */ - _renderValidatedComponent: function _renderValidatedComponent() { - var renderedElement; - if (process.env.NODE_ENV !== 'production' || this._compositeType !== CompositeTypes.StatelessFunctional) { - ReactCurrentOwner.current = this; - try { - renderedElement = this._renderValidatedComponentWithoutOwnerOrContext(); - } finally { - ReactCurrentOwner.current = null; - } - } else { - renderedElement = this._renderValidatedComponentWithoutOwnerOrContext(); - } - !( - // TODO: An `isValidNode` function would probably be more appropriate - renderedElement === null || renderedElement === false || React.isValidElement(renderedElement)) ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s.render(): A valid React element (or null) must be returned. You may have returned undefined, an array or some other invalid object.', this.getName() || 'ReactCompositeComponent') : _prodInvariant('109', this.getName() || 'ReactCompositeComponent') : void 0; - - return renderedElement; - }, - - /** - * Lazily allocates the refs object and stores `component` as `ref`. - * - * @param {string} ref Reference name. - * @param {component} component Component to store as `ref`. - * @final - * @private - */ - attachRef: function attachRef(ref, component) { - var inst = this.getPublicInstance(); - !(inst != null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Stateless function components cannot have refs.') : _prodInvariant('110') : void 0; - var publicComponentInstance = component.getPublicInstance(); - if (process.env.NODE_ENV !== 'production') { - var componentName = component && component.getName ? component.getName() : 'a component'; - process.env.NODE_ENV !== 'production' ? warning(publicComponentInstance != null || component._compositeType !== CompositeTypes.StatelessFunctional, 'Stateless function components cannot be given refs ' + '(See ref "%s" in %s created by %s). ' + 'Attempts to access this ref will fail.', ref, componentName, this.getName()) : void 0; - } - var refs = inst.refs === emptyObject ? inst.refs = {} : inst.refs; - refs[ref] = publicComponentInstance; - }, - - /** - * Detaches a reference name. - * - * @param {string} ref Name to dereference. - * @final - * @private - */ - detachRef: function detachRef(ref) { - var refs = this.getPublicInstance().refs; - delete refs[ref]; - }, - - /** - * Get a text description of the component that can be used to identify it - * in error messages. - * @return {string} The name or null. - * @internal - */ - getName: function getName() { - var type = this._currentElement.type; - var constructor = this._instance && this._instance.constructor; - return type.displayName || constructor && constructor.displayName || type.name || constructor && constructor.name || null; - }, - - /** - * Get the publicly accessible representation of this component - i.e. what - * is exposed by refs and returned by render. Can be null for stateless - * components. - * - * @return {ReactComponent} the public component instance. - * @internal - */ - getPublicInstance: function getPublicInstance() { - var inst = this._instance; - if (this._compositeType === CompositeTypes.StatelessFunctional) { - return null; - } - return inst; - }, - - // Stub - _instantiateReactComponent: null - -}; - -module.exports = ReactCompositeComponent; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 426 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - -/* globals __REACT_DEVTOOLS_GLOBAL_HOOK__*/ - - - -var ReactDOMComponentTree = __webpack_require__(15); -var ReactDefaultInjection = __webpack_require__(443); -var ReactMount = __webpack_require__(211); -var ReactReconciler = __webpack_require__(58); -var ReactUpdates = __webpack_require__(29); -var ReactVersion = __webpack_require__(458); - -var findDOMNode = __webpack_require__(475); -var getHostComponentFromComposite = __webpack_require__(217); -var renderSubtreeIntoContainer = __webpack_require__(482); -var warning = __webpack_require__(11); - -ReactDefaultInjection.inject(); - -var ReactDOM = { - findDOMNode: findDOMNode, - render: ReactMount.render, - unmountComponentAtNode: ReactMount.unmountComponentAtNode, - version: ReactVersion, - - /* eslint-disable camelcase */ - unstable_batchedUpdates: ReactUpdates.batchedUpdates, - unstable_renderSubtreeIntoContainer: renderSubtreeIntoContainer -}; - -// Inject the runtime into a devtools global hook regardless of browser. -// Allows for debugging when the hook is injected on the page. -if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject === 'function') { - __REACT_DEVTOOLS_GLOBAL_HOOK__.inject({ - ComponentTree: { - getClosestInstanceFromNode: ReactDOMComponentTree.getClosestInstanceFromNode, - getNodeFromInstance: function getNodeFromInstance(inst) { - // inst is an internal instance (but could be a composite) - if (inst._renderedComponent) { - inst = getHostComponentFromComposite(inst); - } - if (inst) { - return ReactDOMComponentTree.getNodeFromInstance(inst); - } else { - return null; - } - } - }, - Mount: ReactMount, - Reconciler: ReactReconciler - }); -} - -if (process.env.NODE_ENV !== 'production') { - var ExecutionEnvironment = __webpack_require__(18); - if (ExecutionEnvironment.canUseDOM && window.top === window.self) { - - // First check if devtools is not installed - if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined') { - // If we're in Chrome or Firefox, provide a download link if not installed. - if (navigator.userAgent.indexOf('Chrome') > -1 && navigator.userAgent.indexOf('Edge') === -1 || navigator.userAgent.indexOf('Firefox') > -1) { - // Firefox does not have the issue with devtools loaded over file:// - var showFileUrlMessage = window.location.protocol.indexOf('http') === -1 && navigator.userAgent.indexOf('Firefox') === -1; - console.debug('Download the React DevTools ' + (showFileUrlMessage ? 'and use an HTTP server (instead of a file: URL) ' : '') + 'for a better development experience: ' + 'https://fb.me/react-devtools'); - } - } - - var testFunc = function testFn() {}; - process.env.NODE_ENV !== 'production' ? warning((testFunc.name || testFunc.toString()).indexOf('testFn') !== -1, 'It looks like you\'re using a minified copy of the development build ' + 'of React. When deploying React apps to production, make sure to use ' + 'the production build which skips development warnings and is faster. ' + 'See https://fb.me/react-minification for more details.') : void 0; - - // If we're in IE8, check to see if we are in compatibility mode and provide - // information on preventing compatibility mode - var ieCompatibilityMode = document.documentMode && document.documentMode < 8; - - process.env.NODE_ENV !== 'production' ? warning(!ieCompatibilityMode, 'Internet Explorer is running in compatibility mode; please add the ' + 'following tag to your HTML to prevent this from happening: ' + '<meta http-equiv="X-UA-Compatible" content="IE=edge" />') : void 0; - - var expectedFeatures = [ - // shims - Array.isArray, Array.prototype.every, Array.prototype.forEach, Array.prototype.indexOf, Array.prototype.map, Date.now, Function.prototype.bind, Object.keys, String.prototype.trim]; - - for (var i = 0; i < expectedFeatures.length; i++) { - if (!expectedFeatures[i]) { - process.env.NODE_ENV !== 'production' ? warning(false, 'One or more ES5 shims expected by React are not available: ' + 'https://fb.me/react-warning-polyfills') : void 0; - break; - } - } - } -} - -if (process.env.NODE_ENV !== 'production') { - var ReactInstrumentation = __webpack_require__(25); - var ReactDOMUnknownPropertyHook = __webpack_require__(440); - var ReactDOMNullInputValuePropHook = __webpack_require__(434); - var ReactDOMInvalidARIAHook = __webpack_require__(433); - - ReactInstrumentation.debugTool.addHook(ReactDOMUnknownPropertyHook); - ReactInstrumentation.debugTool.addHook(ReactDOMNullInputValuePropHook); - ReactInstrumentation.debugTool.addHook(ReactDOMInvalidARIAHook); -} - -module.exports = ReactDOM; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 427 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - -/* global hasOwnProperty: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 _prodInvariant = __webpack_require__(12), - _assign = __webpack_require__(14); - -var AutoFocusUtils = __webpack_require__(414); -var CSSPropertyOperations = __webpack_require__(416); -var DOMLazyTree = __webpack_require__(57); -var DOMNamespaces = __webpack_require__(127); -var DOMProperty = __webpack_require__(39); -var DOMPropertyOperations = __webpack_require__(204); -var EventPluginHub = __webpack_require__(68); -var EventPluginRegistry = __webpack_require__(84); -var ReactBrowserEventEmitter = __webpack_require__(85); -var ReactDOMComponentFlags = __webpack_require__(205); -var ReactDOMComponentTree = __webpack_require__(15); -var ReactDOMInput = __webpack_require__(432); -var ReactDOMOption = __webpack_require__(435); -var ReactDOMSelect = __webpack_require__(206); -var ReactDOMTextarea = __webpack_require__(438); -var ReactInstrumentation = __webpack_require__(25); -var ReactMultiChild = __webpack_require__(451); -var ReactServerRenderingTransaction = __webpack_require__(456); - -var emptyFunction = __webpack_require__(24); -var escapeTextContentForBrowser = __webpack_require__(88); -var invariant = __webpack_require__(10); -var isEventSupported = __webpack_require__(138); -var shallowEqual = __webpack_require__(113); -var validateDOMNesting = __webpack_require__(140); -var warning = __webpack_require__(11); - -var Flags = ReactDOMComponentFlags; -var deleteListener = EventPluginHub.deleteListener; -var getNode = ReactDOMComponentTree.getNodeFromInstance; -var listenTo = ReactBrowserEventEmitter.listenTo; -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 STYLE = 'style'; -var HTML = '__html'; -var RESERVED_PROPS = { - children: null, - dangerouslySetInnerHTML: null, - suppressContentEditableWarning: null -}; - -// Node type for document fragments (Node.DOCUMENT_FRAGMENT_NODE). -var DOC_FRAGMENT_TYPE = 11; - -function getDeclarationErrorAddendum(internalInstance) { - if (internalInstance) { - var owner = internalInstance._currentElement._owner || null; - if (owner) { - var name = owner.getName(); - if (name) { - return ' This DOM node was rendered by `' + name + '`.'; - } - } - } - return ''; -} - -function friendlyStringify(obj) { - if ((typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) === 'object') { - if (Array.isArray(obj)) { - return '[' + obj.map(friendlyStringify).join(', ') + ']'; - } else { - var pairs = []; - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) { - var keyEscaped = /^[a-z$_][\w$_]*$/i.test(key) ? key : JSON.stringify(key); - pairs.push(keyEscaped + ': ' + friendlyStringify(obj[key])); - } - } - return '{' + pairs.join(', ') + '}'; - } - } else if (typeof obj === 'string') { - return JSON.stringify(obj); - } else if (typeof obj === 'function') { - return '[function object]'; - } - // Differs from JSON.stringify in that undefined because undefined and that - // inf and nan don't become null - return String(obj); -} - -var styleMutationWarning = {}; - -function checkAndWarnForMutatedStyle(style1, style2, component) { - if (style1 == null || style2 == null) { - return; - } - if (shallowEqual(style1, style2)) { - return; - } - - var componentName = component._tag; - var owner = component._currentElement._owner; - var ownerName; - if (owner) { - ownerName = owner.getName(); - } - - var hash = ownerName + '|' + componentName; - - if (styleMutationWarning.hasOwnProperty(hash)) { - return; - } - - styleMutationWarning[hash] = true; - - process.env.NODE_ENV !== 'production' ? warning(false, '`%s` was passed a style object that has previously been mutated. ' + 'Mutating `style` is deprecated. Consider cloning it beforehand. Check ' + 'the `render` %s. Previous style: %s. Mutated style: %s.', componentName, owner ? 'of `' + ownerName + '`' : 'using <' + componentName + '>', friendlyStringify(style1), friendlyStringify(style2)) : void 0; -} - -/** - * @param {object} component - * @param {?object} props - */ -function assertValidProps(component, props) { - if (!props) { - return; - } - // Note the use of `==` which checks for null or undefined. - if (voidElementTags[component._tag]) { - !(props.children == null && props.dangerouslySetInnerHTML == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`.%s', component._tag, component._currentElement._owner ? ' Check the render method of ' + component._currentElement._owner.getName() + '.' : '') : _prodInvariant('137', component._tag, component._currentElement._owner ? ' Check the render method of ' + component._currentElement._owner.getName() + '.' : '') : void 0; - } - if (props.dangerouslySetInnerHTML != null) { - !(props.children == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Can only set one of `children` or `props.dangerouslySetInnerHTML`.') : _prodInvariant('60') : void 0; - !(_typeof(props.dangerouslySetInnerHTML) === 'object' && HTML in props.dangerouslySetInnerHTML) ? process.env.NODE_ENV !== 'production' ? invariant(false, '`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://fb.me/react-invariant-dangerously-set-inner-html for more information.') : _prodInvariant('61') : void 0; - } - if (process.env.NODE_ENV !== 'production') { - process.env.NODE_ENV !== 'production' ? warning(props.innerHTML == null, 'Directly setting property `innerHTML` is not permitted. ' + 'For more information, lookup documentation on `dangerouslySetInnerHTML`.') : void 0; - process.env.NODE_ENV !== 'production' ? warning(props.suppressContentEditableWarning || !props.contentEditable || props.children == null, 'A component is `contentEditable` and contains `children` managed by ' + 'React. It is now your responsibility to guarantee that none of ' + 'those nodes are unexpectedly modified or duplicated. This is ' + 'probably not intentional.') : void 0; - process.env.NODE_ENV !== 'production' ? warning(props.onFocusIn == null && props.onFocusOut == null, 'React uses onFocus and onBlur instead of onFocusIn and onFocusOut. ' + 'All React events are normalized to bubble, so onFocusIn and onFocusOut ' + 'are not needed/supported by React.') : void 0; - } - !(props.style == null || _typeof(props.style) === 'object') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + \'em\'}} when using JSX.%s', getDeclarationErrorAddendum(component)) : _prodInvariant('62', getDeclarationErrorAddendum(component)) : void 0; -} - -function enqueuePutListener(inst, registrationName, listener, transaction) { - if (transaction instanceof ReactServerRenderingTransaction) { - return; - } - 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; - } - var containerInfo = inst._hostContainerInfo; - var isDocumentFragment = containerInfo._node && containerInfo._node.nodeType === DOC_FRAGMENT_TYPE; - var doc = isDocumentFragment ? containerInfo._node : containerInfo._ownerDocument; - listenTo(registrationName, doc); - transaction.getReactMountReady().enqueue(putListener, { - inst: inst, - registrationName: registrationName, - listener: listener - }); -} - -function putListener() { - var listenerToPut = this; - EventPluginHub.putListener(listenerToPut.inst, listenerToPut.registrationName, listenerToPut.listener); -} - -function inputPostMount() { - var inst = this; - ReactDOMInput.postMountWrapper(inst); -} - -function textareaPostMount() { - var inst = this; - ReactDOMTextarea.postMountWrapper(inst); -} - -function optionPostMount() { - var inst = this; - ReactDOMOption.postMountWrapper(inst); -} - -var setAndValidateContentChildDev = emptyFunction; -if (process.env.NODE_ENV !== 'production') { - setAndValidateContentChildDev = function setAndValidateContentChildDev(content) { - var hasExistingContent = this._contentDebugID != null; - var debugID = this._debugID; - // This ID represents the inlined child that has no backing instance: - var contentDebugID = -debugID; - - if (content == null) { - if (hasExistingContent) { - ReactInstrumentation.debugTool.onUnmountComponent(this._contentDebugID); - } - this._contentDebugID = null; - return; - } - - validateDOMNesting(null, String(content), this, this._ancestorInfo); - this._contentDebugID = contentDebugID; - if (hasExistingContent) { - ReactInstrumentation.debugTool.onBeforeUpdateComponent(contentDebugID, content); - ReactInstrumentation.debugTool.onUpdateComponent(contentDebugID); - } else { - ReactInstrumentation.debugTool.onBeforeMountComponent(contentDebugID, content, debugID); - ReactInstrumentation.debugTool.onMountComponent(contentDebugID); - ReactInstrumentation.debugTool.onSetChildren(debugID, [contentDebugID]); - } - }; -} - -// There are so many media events, it makes sense to just -// maintain a list rather than create a `trapBubbledEvent` for each -var mediaEvents = { - topAbort: 'abort', - topCanPlay: 'canplay', - topCanPlayThrough: 'canplaythrough', - topDurationChange: 'durationchange', - topEmptied: 'emptied', - topEncrypted: 'encrypted', - topEnded: 'ended', - topError: 'error', - topLoadedData: 'loadeddata', - topLoadedMetadata: 'loadedmetadata', - topLoadStart: 'loadstart', - topPause: 'pause', - topPlay: 'play', - topPlaying: 'playing', - topProgress: 'progress', - topRateChange: 'ratechange', - topSeeked: 'seeked', - topSeeking: 'seeking', - topStalled: 'stalled', - topSuspend: 'suspend', - topTimeUpdate: 'timeupdate', - topVolumeChange: 'volumechange', - topWaiting: 'waiting' -}; - -function trapBubbledEventsLocal() { - var inst = this; - // If a component renders to null or if another component fatals and causes - // the state of the tree to be corrupted, `node` here can be null. - !inst._rootNodeID ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Must be mounted to trap events') : _prodInvariant('63') : void 0; - var node = getNode(inst); - !node ? process.env.NODE_ENV !== 'production' ? invariant(false, 'trapBubbledEvent(...): Requires node to be rendered.') : _prodInvariant('64') : void 0; - - switch (inst._tag) { - case 'iframe': - case 'object': - inst._wrapperState.listeners = [ReactBrowserEventEmitter.trapBubbledEvent('topLoad', 'load', node)]; - break; - case 'video': - case 'audio': - - inst._wrapperState.listeners = []; - // Create listener for each media event - for (var event in mediaEvents) { - if (mediaEvents.hasOwnProperty(event)) { - inst._wrapperState.listeners.push(ReactBrowserEventEmitter.trapBubbledEvent(event, mediaEvents[event], node)); - } - } - break; - case 'source': - inst._wrapperState.listeners = [ReactBrowserEventEmitter.trapBubbledEvent('topError', 'error', node)]; - break; - case 'img': - inst._wrapperState.listeners = [ReactBrowserEventEmitter.trapBubbledEvent('topError', 'error', node), ReactBrowserEventEmitter.trapBubbledEvent('topLoad', 'load', node)]; - break; - case 'form': - inst._wrapperState.listeners = [ReactBrowserEventEmitter.trapBubbledEvent('topReset', 'reset', node), ReactBrowserEventEmitter.trapBubbledEvent('topSubmit', 'submit', node)]; - break; - case 'input': - case 'select': - case 'textarea': - inst._wrapperState.listeners = [ReactBrowserEventEmitter.trapBubbledEvent('topInvalid', 'invalid', node)]; - break; - } -} - -function postUpdateSelectWrapper() { - ReactDOMSelect.postUpdateWrapper(this); -} - -// For HTML, certain tags should omit their close tag. We keep a whitelist for -// 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 -}; - -var newlineEatingTags = { - '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 -}, omittedCloseTags); - -// We accept any tag to be rendered but since this gets injected into arbitrary -// HTML, we want to make sure that it's a safe tag. -// http://www.w3.org/TR/REC-xml/#NT-Name - -var VALID_TAG_REGEX = /^[a-zA-Z][a-zA-Z:_\.\-\d]*$/; // Simplified subset -var validatedTagCache = {}; -var hasOwnProperty = {}.hasOwnProperty; - -function validateDangerousTag(tag) { - if (!hasOwnProperty.call(validatedTagCache, tag)) { - !VALID_TAG_REGEX.test(tag) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Invalid tag: %s', tag) : _prodInvariant('65', tag) : void 0; - validatedTagCache[tag] = true; - } -} - -function isCustomComponent(tagName, props) { - return tagName.indexOf('-') >= 0 || props.is != null; -} - -var globalIdCounter = 1; - -/** - * Creates a new React class that is idempotent and capable of containing other - * React components. It accepts event listeners and DOM properties that are - * valid according to `DOMProperty`. - * - * - Event listeners: `onClick`, `onMouseDown`, etc. - * - DOM properties: `className`, `name`, `title`, etc. - * - * The `style` property functions differently from the DOM API. It accepts an - * object mapping of style properties to values. - * - * @constructor ReactDOMComponent - * @extends ReactMultiChild - */ -function ReactDOMComponent(element) { - var tag = element.type; - validateDangerousTag(tag); - this._currentElement = element; - this._tag = tag.toLowerCase(); - this._namespaceURI = null; - this._renderedChildren = null; - this._previousStyle = null; - this._previousStyleCopy = null; - this._hostNode = null; - this._hostParent = null; - this._rootNodeID = 0; - this._domID = 0; - this._hostContainerInfo = null; - this._wrapperState = null; - this._topLevelWrapper = null; - this._flags = 0; - if (process.env.NODE_ENV !== 'production') { - this._ancestorInfo = null; - setAndValidateContentChildDev.call(this, null); - } -} - -ReactDOMComponent.displayName = 'ReactDOMComponent'; - -ReactDOMComponent.Mixin = { - - /** - * Generates root tag markup then recurses. This method has side effects and - * is not idempotent. - * - * @internal - * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction - * @param {?ReactDOMComponent} the parent component instance - * @param {?object} info about the host container - * @param {object} context - * @return {string} The computed markup. - */ - mountComponent: function mountComponent(transaction, hostParent, hostContainerInfo, context) { - this._rootNodeID = globalIdCounter++; - this._domID = hostContainerInfo._idCounter++; - this._hostParent = hostParent; - this._hostContainerInfo = hostContainerInfo; - - var props = this._currentElement.props; - - switch (this._tag) { - case 'audio': - case 'form': - case 'iframe': - case 'img': - case 'link': - case 'object': - case 'source': - case 'video': - this._wrapperState = { - listeners: null - }; - transaction.getReactMountReady().enqueue(trapBubbledEventsLocal, this); - break; - case 'input': - ReactDOMInput.mountWrapper(this, props, hostParent); - props = ReactDOMInput.getHostProps(this, props); - transaction.getReactMountReady().enqueue(trapBubbledEventsLocal, this); - break; - case 'option': - ReactDOMOption.mountWrapper(this, props, hostParent); - props = ReactDOMOption.getHostProps(this, props); - break; - case 'select': - ReactDOMSelect.mountWrapper(this, props, hostParent); - props = ReactDOMSelect.getHostProps(this, props); - transaction.getReactMountReady().enqueue(trapBubbledEventsLocal, this); - break; - case 'textarea': - ReactDOMTextarea.mountWrapper(this, props, hostParent); - props = ReactDOMTextarea.getHostProps(this, props); - transaction.getReactMountReady().enqueue(trapBubbledEventsLocal, this); - break; - } - - assertValidProps(this, props); - - // We create tags in the namespace of their parent container, except HTML - // tags get no namespace. - var namespaceURI; - var parentTag; - if (hostParent != null) { - namespaceURI = hostParent._namespaceURI; - parentTag = hostParent._tag; - } else if (hostContainerInfo._tag) { - namespaceURI = hostContainerInfo._namespaceURI; - parentTag = hostContainerInfo._tag; - } - if (namespaceURI == null || namespaceURI === DOMNamespaces.svg && parentTag === 'foreignobject') { - namespaceURI = DOMNamespaces.html; - } - if (namespaceURI === DOMNamespaces.html) { - if (this._tag === 'svg') { - namespaceURI = DOMNamespaces.svg; - } else if (this._tag === 'math') { - namespaceURI = DOMNamespaces.mathml; - } - } - this._namespaceURI = namespaceURI; - - if (process.env.NODE_ENV !== 'production') { - var parentInfo; - if (hostParent != null) { - parentInfo = hostParent._ancestorInfo; - } else if (hostContainerInfo._tag) { - parentInfo = hostContainerInfo._ancestorInfo; - } - if (parentInfo) { - // parentInfo should always be present except for the top-level - // component when server rendering - validateDOMNesting(this._tag, null, this, parentInfo); - } - this._ancestorInfo = validateDOMNesting.updatedAncestorInfo(parentInfo, this._tag, this); - } - - var mountImage; - if (transaction.useCreateElement) { - var ownerDocument = hostContainerInfo._ownerDocument; - var el; - if (namespaceURI === DOMNamespaces.html) { - if (this._tag === 'script') { - // Create the script via .innerHTML so its "parser-inserted" flag is - // set to true and it does not execute - var div = ownerDocument.createElement('div'); - var type = this._currentElement.type; - div.innerHTML = '<' + type + '></' + type + '>'; - el = div.removeChild(div.firstChild); - } else if (props.is) { - el = ownerDocument.createElement(this._currentElement.type, props.is); - } else { - // Separate else branch instead of using `props.is || undefined` above becuase of a Firefox bug. - // See discussion in https://github.com/facebook/react/pull/6896 - // and discussion in https://bugzilla.mozilla.org/show_bug.cgi?id=1276240 - el = ownerDocument.createElement(this._currentElement.type); - } - } else { - el = ownerDocument.createElementNS(namespaceURI, this._currentElement.type); - } - ReactDOMComponentTree.precacheNode(this, el); - this._flags |= Flags.hasCachedChildNodes; - if (!this._hostParent) { - DOMPropertyOperations.setAttributeForRoot(el); - } - this._updateDOMProperties(null, props, transaction); - var lazyTree = DOMLazyTree(el); - this._createInitialChildren(transaction, props, context, lazyTree); - mountImage = lazyTree; - } else { - var tagOpen = this._createOpenTagMarkupAndPutListeners(transaction, props); - var tagContent = this._createContentMarkup(transaction, props, context); - if (!tagContent && omittedCloseTags[this._tag]) { - mountImage = tagOpen + '/>'; - } else { - mountImage = tagOpen + '>' + tagContent + '</' + this._currentElement.type + '>'; - } - } - - switch (this._tag) { - case 'input': - transaction.getReactMountReady().enqueue(inputPostMount, this); - if (props.autoFocus) { - transaction.getReactMountReady().enqueue(AutoFocusUtils.focusDOMComponent, this); - } - break; - case 'textarea': - transaction.getReactMountReady().enqueue(textareaPostMount, this); - if (props.autoFocus) { - transaction.getReactMountReady().enqueue(AutoFocusUtils.focusDOMComponent, this); - } - break; - case 'select': - if (props.autoFocus) { - transaction.getReactMountReady().enqueue(AutoFocusUtils.focusDOMComponent, this); - } - break; - case 'button': - if (props.autoFocus) { - transaction.getReactMountReady().enqueue(AutoFocusUtils.focusDOMComponent, this); - } - break; - case 'option': - transaction.getReactMountReady().enqueue(optionPostMount, this); - break; - } - - return mountImage; - }, - - /** - * Creates markup for the open tag and all attributes. - * - * This method has side effects because events get registered. - * - * Iterating over object properties is faster than iterating over arrays. - * @see http://jsperf.com/obj-vs-arr-iteration - * - * @private - * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction - * @param {object} props - * @return {string} Markup of opening tag. - */ - _createOpenTagMarkupAndPutListeners: function _createOpenTagMarkupAndPutListeners(transaction, props) { - var ret = '<' + this._currentElement.type; - - for (var propKey in props) { - if (!props.hasOwnProperty(propKey)) { - continue; - } - var propValue = props[propKey]; - if (propValue == null) { - continue; - } - if (registrationNameModules.hasOwnProperty(propKey)) { - if (propValue) { - enqueuePutListener(this, propKey, propValue, transaction); - } - } else { - if (propKey === STYLE) { - if (propValue) { - if (process.env.NODE_ENV !== 'production') { - // See `_updateDOMProperties`. style block - this._previousStyle = propValue; - } - propValue = this._previousStyleCopy = _assign({}, props.style); - } - propValue = CSSPropertyOperations.createMarkupForStyles(propValue, this); - } - var markup = null; - if (this._tag != null && isCustomComponent(this._tag, props)) { - if (!RESERVED_PROPS.hasOwnProperty(propKey)) { - markup = DOMPropertyOperations.createMarkupForCustomAttribute(propKey, propValue); - } - } else { - markup = DOMPropertyOperations.createMarkupForProperty(propKey, propValue); - } - if (markup) { - ret += ' ' + markup; - } - } - } - - // For static pages, no need to put React ID and checksum. Saves lots of - // bytes. - if (transaction.renderToStaticMarkup) { - return ret; - } - - if (!this._hostParent) { - ret += ' ' + DOMPropertyOperations.createMarkupForRoot(); - } - ret += ' ' + DOMPropertyOperations.createMarkupForID(this._domID); - return ret; - }, - - /** - * Creates markup for the content between the tags. - * - * @private - * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction - * @param {object} props - * @param {object} context - * @return {string} Content markup. - */ - _createContentMarkup: function _createContentMarkup(transaction, props, context) { - var ret = ''; - - // Intentional use of != to avoid catching zero/false. - var innerHTML = props.dangerouslySetInnerHTML; - if (innerHTML != null) { - if (innerHTML.__html != null) { - ret = innerHTML.__html; - } - } else { - var contentToUse = CONTENT_TYPES[_typeof(props.children)] ? props.children : null; - var childrenToUse = contentToUse != null ? null : props.children; - if (contentToUse != null) { - // TODO: Validate that text is allowed as a child of this node - ret = escapeTextContentForBrowser(contentToUse); - if (process.env.NODE_ENV !== 'production') { - setAndValidateContentChildDev.call(this, contentToUse); - } - } else if (childrenToUse != null) { - var mountImages = this.mountChildren(childrenToUse, transaction, context); - ret = mountImages.join(''); - } - } - if (newlineEatingTags[this._tag] && ret.charAt(0) === '\n') { - // text/html ignores the first character in these tags if it's a newline - // Prefer to break application/xml over text/html (for now) by adding - // a newline specifically to get eaten by the parser. (Alternately for - // textareas, replacing "^\n" with "\r\n" doesn't get eaten, and the first - // \r is normalized out by HTMLTextAreaElement#value.) - // See: <http://www.w3.org/TR/html-polyglot/#newlines-in-textarea-and-pre> - // See: <http://www.w3.org/TR/html5/syntax.html#element-restrictions> - // See: <http://www.w3.org/TR/html5/syntax.html#newlines> - // See: Parsing of "textarea" "listing" and "pre" elements - // from <http://www.w3.org/TR/html5/syntax.html#parsing-main-inbody> - return '\n' + ret; - } else { - return ret; - } - }, - - _createInitialChildren: function _createInitialChildren(transaction, props, context, lazyTree) { - // Intentional use of != to avoid catching zero/false. - var innerHTML = props.dangerouslySetInnerHTML; - if (innerHTML != null) { - if (innerHTML.__html != null) { - DOMLazyTree.queueHTML(lazyTree, innerHTML.__html); - } - } else { - var contentToUse = CONTENT_TYPES[_typeof(props.children)] ? props.children : null; - var childrenToUse = contentToUse != null ? null : props.children; - // TODO: Validate that text is allowed as a child of this node - if (contentToUse != null) { - // Avoid setting textContent when the text is empty. In IE11 setting - // textContent on a text area will cause the placeholder to not - // show within the textarea until it has been focused and blurred again. - // https://github.com/facebook/react/issues/6731#issuecomment-254874553 - if (contentToUse !== '') { - if (process.env.NODE_ENV !== 'production') { - setAndValidateContentChildDev.call(this, contentToUse); - } - DOMLazyTree.queueText(lazyTree, contentToUse); - } - } else if (childrenToUse != null) { - var mountImages = this.mountChildren(childrenToUse, transaction, context); - for (var i = 0; i < mountImages.length; i++) { - DOMLazyTree.queueChild(lazyTree, mountImages[i]); - } - } - } - }, - - /** - * Receives a next element and updates the component. - * - * @internal - * @param {ReactElement} nextElement - * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction - * @param {object} context - */ - receiveComponent: function receiveComponent(nextElement, transaction, context) { - var prevElement = this._currentElement; - this._currentElement = nextElement; - this.updateComponent(transaction, prevElement, nextElement, context); - }, - - /** - * Updates a DOM component after it has already been allocated and - * attached to the DOM. Reconciles the root DOM node, then recurses. - * - * @param {ReactReconcileTransaction} transaction - * @param {ReactElement} prevElement - * @param {ReactElement} nextElement - * @internal - * @overridable - */ - updateComponent: function updateComponent(transaction, prevElement, nextElement, context) { - var lastProps = prevElement.props; - var nextProps = this._currentElement.props; - - switch (this._tag) { - case 'input': - lastProps = ReactDOMInput.getHostProps(this, lastProps); - nextProps = ReactDOMInput.getHostProps(this, nextProps); - break; - case 'option': - lastProps = ReactDOMOption.getHostProps(this, lastProps); - nextProps = ReactDOMOption.getHostProps(this, nextProps); - break; - case 'select': - lastProps = ReactDOMSelect.getHostProps(this, lastProps); - nextProps = ReactDOMSelect.getHostProps(this, nextProps); - break; - case 'textarea': - lastProps = ReactDOMTextarea.getHostProps(this, lastProps); - nextProps = ReactDOMTextarea.getHostProps(this, nextProps); - break; - } - - assertValidProps(this, nextProps); - this._updateDOMProperties(lastProps, nextProps, transaction); - this._updateDOMChildren(lastProps, nextProps, transaction, context); - - switch (this._tag) { - case 'input': - // Update the wrapper around inputs *after* updating props. This has to - // happen after `_updateDOMProperties`. Otherwise HTML5 input validations - // raise warnings and prevent the new value from being assigned. - ReactDOMInput.updateWrapper(this); - break; - case 'textarea': - ReactDOMTextarea.updateWrapper(this); - break; - case 'select': - // <select> value update needs to occur after <option> children - // reconciliation - transaction.getReactMountReady().enqueue(postUpdateSelectWrapper, this); - break; - } - }, - - /** - * Reconciles the properties by detecting differences in property values and - * updating the DOM as necessary. This function is probably the single most - * critical path for performance optimization. - * - * TODO: Benchmark whether checking for changed values in memory actually - * improves performance (especially statically positioned elements). - * TODO: Benchmark the effects of putting this at the top since 99% of props - * do not change for a given reconciliation. - * TODO: Benchmark areas that can be improved with caching. - * - * @private - * @param {object} lastProps - * @param {object} nextProps - * @param {?DOMElement} node - */ - _updateDOMProperties: function _updateDOMProperties(lastProps, nextProps, transaction) { - var propKey; - var styleName; - var styleUpdates; - for (propKey in lastProps) { - if (nextProps.hasOwnProperty(propKey) || !lastProps.hasOwnProperty(propKey) || lastProps[propKey] == null) { - continue; - } - if (propKey === STYLE) { - var lastStyle = this._previousStyleCopy; - for (styleName in lastStyle) { - if (lastStyle.hasOwnProperty(styleName)) { - styleUpdates = styleUpdates || {}; - styleUpdates[styleName] = ''; - } - } - this._previousStyleCopy = null; - } else if (registrationNameModules.hasOwnProperty(propKey)) { - if (lastProps[propKey]) { - // Only call deleteListener if there was a listener previously or - // else willDeleteListener gets called when there wasn't actually a - // listener (e.g., onClick={null}) - deleteListener(this, propKey); - } - } else if (isCustomComponent(this._tag, lastProps)) { - if (!RESERVED_PROPS.hasOwnProperty(propKey)) { - DOMPropertyOperations.deleteValueForAttribute(getNode(this), propKey); - } - } else if (DOMProperty.properties[propKey] || DOMProperty.isCustomAttribute(propKey)) { - DOMPropertyOperations.deleteValueForProperty(getNode(this), propKey); - } - } - for (propKey in nextProps) { - var nextProp = nextProps[propKey]; - var lastProp = propKey === STYLE ? this._previousStyleCopy : lastProps != null ? lastProps[propKey] : undefined; - if (!nextProps.hasOwnProperty(propKey) || nextProp === lastProp || nextProp == null && lastProp == null) { - continue; - } - if (propKey === STYLE) { - if (nextProp) { - if (process.env.NODE_ENV !== 'production') { - checkAndWarnForMutatedStyle(this._previousStyleCopy, this._previousStyle, this); - this._previousStyle = nextProp; - } - nextProp = this._previousStyleCopy = _assign({}, nextProp); - } else { - this._previousStyleCopy = null; - } - if (lastProp) { - // Unset styles on `lastProp` but not on `nextProp`. - for (styleName in lastProp) { - if (lastProp.hasOwnProperty(styleName) && (!nextProp || !nextProp.hasOwnProperty(styleName))) { - styleUpdates = styleUpdates || {}; - styleUpdates[styleName] = ''; - } - } - // Update styles that changed since `lastProp`. - for (styleName in nextProp) { - if (nextProp.hasOwnProperty(styleName) && lastProp[styleName] !== nextProp[styleName]) { - styleUpdates = styleUpdates || {}; - styleUpdates[styleName] = nextProp[styleName]; - } - } - } else { - // Relies on `updateStylesByID` not mutating `styleUpdates`. - styleUpdates = nextProp; - } - } else if (registrationNameModules.hasOwnProperty(propKey)) { - if (nextProp) { - enqueuePutListener(this, propKey, nextProp, transaction); - } else if (lastProp) { - deleteListener(this, propKey); - } - } else if (isCustomComponent(this._tag, nextProps)) { - if (!RESERVED_PROPS.hasOwnProperty(propKey)) { - DOMPropertyOperations.setValueForAttribute(getNode(this), propKey, nextProp); - } - } else if (DOMProperty.properties[propKey] || DOMProperty.isCustomAttribute(propKey)) { - var node = getNode(this); - // If we're updating to null or undefined, we should remove the property - // from the DOM node instead of inadvertently setting to a string. This - // brings us in line with the same behavior we have on initial render. - if (nextProp != null) { - DOMPropertyOperations.setValueForProperty(node, propKey, nextProp); - } else { - DOMPropertyOperations.deleteValueForProperty(node, propKey); - } - } - } - if (styleUpdates) { - CSSPropertyOperations.setValueForStyles(getNode(this), styleUpdates, this); - } - }, - - /** - * Reconciles the children with the various properties that affect the - * children content. - * - * @param {object} lastProps - * @param {object} nextProps - * @param {ReactReconcileTransaction} transaction - * @param {object} context - */ - _updateDOMChildren: function _updateDOMChildren(lastProps, nextProps, transaction, context) { - var lastContent = CONTENT_TYPES[_typeof(lastProps.children)] ? lastProps.children : null; - var nextContent = CONTENT_TYPES[_typeof(nextProps.children)] ? nextProps.children : null; - - var lastHtml = lastProps.dangerouslySetInnerHTML && lastProps.dangerouslySetInnerHTML.__html; - var nextHtml = nextProps.dangerouslySetInnerHTML && nextProps.dangerouslySetInnerHTML.__html; - - // Note the use of `!=` which checks for null or undefined. - var lastChildren = lastContent != null ? null : lastProps.children; - var nextChildren = nextContent != null ? null : nextProps.children; - - // If we're switching from children to content/html or vice versa, remove - // the old content - var lastHasContentOrHtml = lastContent != null || lastHtml != null; - var nextHasContentOrHtml = nextContent != null || nextHtml != null; - if (lastChildren != null && nextChildren == null) { - this.updateChildren(null, transaction, context); - } else if (lastHasContentOrHtml && !nextHasContentOrHtml) { - this.updateTextContent(''); - if (process.env.NODE_ENV !== 'production') { - ReactInstrumentation.debugTool.onSetChildren(this._debugID, []); - } - } - - if (nextContent != null) { - if (lastContent !== nextContent) { - this.updateTextContent('' + nextContent); - if (process.env.NODE_ENV !== 'production') { - setAndValidateContentChildDev.call(this, nextContent); - } - } - } else if (nextHtml != null) { - if (lastHtml !== nextHtml) { - this.updateMarkup('' + nextHtml); - } - if (process.env.NODE_ENV !== 'production') { - ReactInstrumentation.debugTool.onSetChildren(this._debugID, []); - } - } else if (nextChildren != null) { - if (process.env.NODE_ENV !== 'production') { - setAndValidateContentChildDev.call(this, null); - } - - this.updateChildren(nextChildren, transaction, context); - } - }, - - getHostNode: function getHostNode() { - return getNode(this); - }, - - /** - * Destroys all event registrations for this instance. Does not remove from - * the DOM. That must be done by the parent. - * - * @internal - */ - unmountComponent: function unmountComponent(safely) { - switch (this._tag) { - case 'audio': - case 'form': - case 'iframe': - case 'img': - case 'link': - case 'object': - case 'source': - case 'video': - var listeners = this._wrapperState.listeners; - if (listeners) { - for (var i = 0; i < listeners.length; i++) { - listeners[i].remove(); - } - } - break; - case 'html': - case 'head': - case 'body': - /** - * Components like <html> <head> and <body> can't be removed or added - * easily in a cross-browser way, however it's valuable to be able to - * take advantage of React's reconciliation for styling and <title> - * management. So we just document it and throw in dangerous cases. - */ - true ? process.env.NODE_ENV !== 'production' ? invariant(false, '<%s> tried to unmount. Because of cross-browser quirks it is impossible to unmount some top-level components (eg <html>, <head>, and <body>) reliably and efficiently. To fix this, have a single top-level component that never unmounts render these elements.', this._tag) : _prodInvariant('66', this._tag) : void 0; - break; - } - - this.unmountChildren(safely); - ReactDOMComponentTree.uncacheNode(this); - EventPluginHub.deleteAllListeners(this); - this._rootNodeID = 0; - this._domID = 0; - this._wrapperState = null; - - if (process.env.NODE_ENV !== 'production') { - setAndValidateContentChildDev.call(this, null); - } - }, - - getPublicInstance: function getPublicInstance() { - return getNode(this); - } - -}; - -_assign(ReactDOMComponent.prototype, ReactDOMComponent.Mixin, ReactMultiChild.Mixin); - -module.exports = ReactDOMComponent; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 428 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -var validateDOMNesting = __webpack_require__(140); - -var DOC_NODE_TYPE = 9; - -function ReactDOMContainerInfo(topLevelWrapper, node) { - var info = { - _topLevelWrapper: topLevelWrapper, - _idCounter: 1, - _ownerDocument: node ? node.nodeType === DOC_NODE_TYPE ? node : node.ownerDocument : null, - _node: node, - _tag: node ? node.nodeName.toLowerCase() : null, - _namespaceURI: node ? node.namespaceURI : null - }; - if (process.env.NODE_ENV !== 'production') { - info._ancestorInfo = node ? validateDOMNesting.updatedAncestorInfo(null, info._tag, null) : null; - } - return info; -} - -module.exports = ReactDOMContainerInfo; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 429 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var _assign = __webpack_require__(14); - -var DOMLazyTree = __webpack_require__(57); -var ReactDOMComponentTree = __webpack_require__(15); - -var ReactDOMEmptyComponent = function ReactDOMEmptyComponent(instantiate) { - // ReactCompositeComponent uses this: - this._currentElement = null; - // ReactDOMComponentTree uses these: - this._hostNode = null; - this._hostParent = null; - this._hostContainerInfo = null; - this._domID = 0; -}; -_assign(ReactDOMEmptyComponent.prototype, { - mountComponent: function mountComponent(transaction, hostParent, hostContainerInfo, context) { - var domID = hostContainerInfo._idCounter++; - this._domID = domID; - this._hostParent = hostParent; - this._hostContainerInfo = hostContainerInfo; - - var nodeValue = ' react-empty: ' + this._domID + ' '; - if (transaction.useCreateElement) { - var ownerDocument = hostContainerInfo._ownerDocument; - var node = ownerDocument.createComment(nodeValue); - ReactDOMComponentTree.precacheNode(this, node); - return DOMLazyTree(node); - } else { - if (transaction.renderToStaticMarkup) { - // Normally we'd insert a comment node, but since this is a situation - // where React won't take over (static pages), we can simply return - // nothing. - return ''; - } - return '<!--' + nodeValue + '-->'; - } - }, - receiveComponent: function receiveComponent() {}, - getHostNode: function getHostNode() { - return ReactDOMComponentTree.getNodeFromInstance(this); - }, - unmountComponent: function unmountComponent() { - ReactDOMComponentTree.uncacheNode(this); - } -}); - -module.exports = ReactDOMEmptyComponent; - -/***/ }), -/* 430 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var ReactDOMFeatureFlags = { - useCreateElement: true, - useFiber: false -}; - -module.exports = ReactDOMFeatureFlags; - -/***/ }), -/* 431 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var DOMChildrenOperations = __webpack_require__(126); -var ReactDOMComponentTree = __webpack_require__(15); - -/** - * Operations used to process updates to DOM nodes. - */ -var ReactDOMIDOperations = { - - /** - * Updates a component's children by processing a series of updates. - * - * @param {array<object>} updates List of update configurations. - * @internal - */ - dangerouslyProcessChildrenUpdates: function dangerouslyProcessChildrenUpdates(parentInst, updates) { - var node = ReactDOMComponentTree.getNodeFromInstance(parentInst); - DOMChildrenOperations.processUpdates(node, updates); - } -}; - -module.exports = ReactDOMIDOperations; - -/***/ }), -/* 432 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -var _prodInvariant = __webpack_require__(12), - _assign = __webpack_require__(14); - -var DOMPropertyOperations = __webpack_require__(204); -var LinkedValueUtils = __webpack_require__(130); -var ReactDOMComponentTree = __webpack_require__(15); -var ReactUpdates = __webpack_require__(29); - -var invariant = __webpack_require__(10); -var warning = __webpack_require__(11); - -var didWarnValueLink = false; -var didWarnCheckedLink = false; -var didWarnValueDefaultValue = false; -var didWarnCheckedDefaultChecked = false; -var didWarnControlledToUncontrolled = false; -var didWarnUncontrolledToControlled = false; - -function forceUpdateIfMounted() { - if (this._rootNodeID) { - // DOM component is still mounted; update - ReactDOMInput.updateWrapper(this); - } -} - -function isControlled(props) { - var usesChecked = props.type === 'checkbox' || props.type === 'radio'; - return usesChecked ? props.checked != null : props.value != null; -} - -/** - * Implements an <input> host component that allows setting these optional - * props: `checked`, `value`, `defaultChecked`, and `defaultValue`. - * - * If `checked` or `value` are not supplied (or null/undefined), user actions - * that affect the checked state or value will trigger updates to the element. - * - * If they are supplied (and not null/undefined), the rendered element will not - * trigger updates to the element. Instead, the props must change in order for - * the rendered element to be updated. - * - * The rendered element will be initialized as unchecked (or `defaultChecked`) - * with an empty value (or `defaultValue`). - * - * @see http://www.w3.org/TR/2012/WD-html5-20121025/the-input-element.html - */ -var ReactDOMInput = { - getHostProps: function getHostProps(inst, props) { - var value = LinkedValueUtils.getValue(props); - var checked = LinkedValueUtils.getChecked(props); - - var hostProps = _assign({ - // Make sure we set .type before any other properties (setting .value - // before .type means .value is lost in IE11 and below) - type: undefined, - // Make sure we set .step before .value (setting .value before .step - // means .value is rounded on mount, based upon step precision) - step: undefined, - // Make sure we set .min & .max before .value (to ensure proper order - // in corner cases such as min or max deriving from value, e.g. Issue #7170) - min: undefined, - max: undefined - }, props, { - defaultChecked: undefined, - defaultValue: undefined, - value: value != null ? value : inst._wrapperState.initialValue, - checked: checked != null ? checked : inst._wrapperState.initialChecked, - onChange: inst._wrapperState.onChange - }); - - return hostProps; - }, - - mountWrapper: function mountWrapper(inst, props) { - if (process.env.NODE_ENV !== 'production') { - LinkedValueUtils.checkPropTypes('input', props, inst._currentElement._owner); - - var owner = inst._currentElement._owner; - - if (props.valueLink !== undefined && !didWarnValueLink) { - process.env.NODE_ENV !== 'production' ? warning(false, '`valueLink` prop on `input` is deprecated; set `value` and `onChange` instead.') : void 0; - didWarnValueLink = true; - } - if (props.checkedLink !== undefined && !didWarnCheckedLink) { - process.env.NODE_ENV !== 'production' ? warning(false, '`checkedLink` prop on `input` is deprecated; set `value` and `onChange` instead.') : void 0; - didWarnCheckedLink = true; - } - if (props.checked !== undefined && props.defaultChecked !== undefined && !didWarnCheckedDefaultChecked) { - process.env.NODE_ENV !== 'production' ? warning(false, '%s contains an input of type %s with both checked and defaultChecked props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the checked prop, or the defaultChecked prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components', owner && owner.getName() || 'A component', props.type) : void 0; - didWarnCheckedDefaultChecked = true; - } - if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValueDefaultValue) { - process.env.NODE_ENV !== 'production' ? warning(false, '%s contains an input of type %s with both value and defaultValue props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components', owner && owner.getName() || 'A component', props.type) : void 0; - didWarnValueDefaultValue = true; - } - } - - var defaultValue = props.defaultValue; - inst._wrapperState = { - initialChecked: props.checked != null ? props.checked : props.defaultChecked, - initialValue: props.value != null ? props.value : defaultValue, - listeners: null, - onChange: _handleChange.bind(inst), - controlled: isControlled(props) - }; - }, - - updateWrapper: function updateWrapper(inst) { - var props = inst._currentElement.props; - - if (process.env.NODE_ENV !== 'production') { - var controlled = isControlled(props); - var owner = inst._currentElement._owner; - - if (!inst._wrapperState.controlled && controlled && !didWarnUncontrolledToControlled) { - process.env.NODE_ENV !== 'production' ? warning(false, '%s is changing an uncontrolled input of type %s to be controlled. ' + 'Input elements should not switch from uncontrolled to controlled (or vice versa). ' + 'Decide between using a controlled or uncontrolled input ' + 'element for the lifetime of the component. More info: https://fb.me/react-controlled-components', owner && owner.getName() || 'A component', props.type) : void 0; - didWarnUncontrolledToControlled = true; - } - if (inst._wrapperState.controlled && !controlled && !didWarnControlledToUncontrolled) { - process.env.NODE_ENV !== 'production' ? warning(false, '%s is changing a controlled input of type %s to be uncontrolled. ' + 'Input elements should not switch from controlled to uncontrolled (or vice versa). ' + 'Decide between using a controlled or uncontrolled input ' + 'element for the lifetime of the component. More info: https://fb.me/react-controlled-components', owner && owner.getName() || 'A component', props.type) : void 0; - didWarnControlledToUncontrolled = true; - } - } - - // TODO: Shouldn't this be getChecked(props)? - var checked = props.checked; - if (checked != null) { - DOMPropertyOperations.setValueForProperty(ReactDOMComponentTree.getNodeFromInstance(inst), 'checked', checked || false); - } - - var node = ReactDOMComponentTree.getNodeFromInstance(inst); - var value = LinkedValueUtils.getValue(props); - if (value != null) { - if (value === 0 && node.value === '') { - node.value = '0'; - // Note: IE9 reports a number inputs as 'text', so check props instead. - } else if (props.type === 'number') { - // Simulate `input.valueAsNumber`. IE9 does not support it - var valueAsNumber = parseFloat(node.value, 10) || 0; - - // eslint-disable-next-line - if (value != valueAsNumber) { - // 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) { - // 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; - } - } else { - if (props.value == null && props.defaultValue != null) { - // In Chrome, assigning defaultValue to certain input types triggers input validation. - // For number inputs, the display value loses trailing decimal points. For email inputs, - // Chrome raises "The specified value <x> is not a valid email address". - // - // Here we check to see if the defaultValue has actually changed, avoiding these problems - // when the user is inputting text - // - // https://github.com/facebook/react/issues/7253 - if (node.defaultValue !== '' + props.defaultValue) { - node.defaultValue = '' + props.defaultValue; - } - } - if (props.checked == null && props.defaultChecked != null) { - node.defaultChecked = !!props.defaultChecked; - } - } - }, - - postMountWrapper: function postMountWrapper(inst) { - var props = inst._currentElement.props; - - // This is in postMount because we need access to the DOM node, which is not - // available until after the component has mounted. - var node = ReactDOMComponentTree.getNodeFromInstance(inst); - - // Detach value from defaultValue. We won't do anything if we're working on - // submit or reset inputs as those values & defaultValues are linked. They - // are not resetable nodes so this operation doesn't matter and actually - // removes browser-default values (eg "Submit Query") when no value is - // provided. - - switch (props.type) { - case 'submit': - case 'reset': - break; - case 'color': - case 'date': - case 'datetime': - case 'datetime-local': - case 'month': - case 'time': - case 'week': - // This fixes the no-show issue on iOS Safari and Android Chrome: - // https://github.com/facebook/react/issues/7233 - node.value = ''; - node.value = node.defaultValue; - break; - default: - node.value = node.value; - break; - } - - // Normally, we'd just do `node.checked = node.checked` upon initial mount, less this bug - // this is needed to work around a chrome bug where setting defaultChecked - // will sometimes influence the value of checked (even after detachment). - // Reference: https://bugs.chromium.org/p/chromium/issues/detail?id=608416 - // We need to temporarily unset name to avoid disrupting radio button groups. - var name = node.name; - if (name !== '') { - node.name = ''; - } - node.defaultChecked = !node.defaultChecked; - node.defaultChecked = !node.defaultChecked; - if (name !== '') { - node.name = name; - } - } -}; - -function _handleChange(event) { - var props = this._currentElement.props; - - var returnValue = LinkedValueUtils.executeOnChange(props, event); - - // Here we use asap to wait until all updates have propagated, which - // is important when using controlled components within layers: - // https://github.com/facebook/react/issues/1698 - ReactUpdates.asap(forceUpdateIfMounted, this); - - var name = props.name; - if (props.type === 'radio' && name != null) { - var rootNode = ReactDOMComponentTree.getNodeFromInstance(this); - var queryRoot = rootNode; - - while (queryRoot.parentNode) { - queryRoot = queryRoot.parentNode; - } - - // If `rootNode.form` was non-null, then we could try `form.elements`, - // but that sometimes behaves strangely in IE8. We could also try using - // `form.getElementsByName`, but that will only return direct children - // and won't include inputs that use the HTML5 `form=` attribute. Since - // the input might not even be in a form, let's just use the global - // `querySelectorAll` to ensure we don't miss anything. - var group = queryRoot.querySelectorAll('input[name=' + JSON.stringify('' + name) + '][type="radio"]'); - - for (var i = 0; i < group.length; i++) { - var otherNode = group[i]; - if (otherNode === rootNode || otherNode.form !== rootNode.form) { - continue; - } - // This will throw if radio buttons rendered by different copies of React - // and the same name are rendered into the same form (same as #1939). - // That's probably okay; we don't support it just as we don't support - // mixing React radio buttons with non-React ones. - var otherInstance = ReactDOMComponentTree.getInstanceFromNode(otherNode); - !otherInstance ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactDOMInput: Mixing React and non-React radio inputs with the same `name` is not supported.') : _prodInvariant('90') : void 0; - // If this is a controlled radio button group, forcing the input that - // was previously checked to update will cause it to be come re-checked - // as appropriate. - ReactUpdates.asap(forceUpdateIfMounted, otherInstance); - } - } - - return returnValue; -} - -module.exports = ReactDOMInput; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 433 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -var DOMProperty = __webpack_require__(39); -var ReactComponentTreeHook = __webpack_require__(23); - -var warning = __webpack_require__(11); - -var warnedProperties = {}; -var rARIA = new RegExp('^(aria)-[' + DOMProperty.ATTRIBUTE_NAME_CHAR + ']*$'); - -function validateProperty(tagName, name, debugID) { - if (warnedProperties.hasOwnProperty(name) && warnedProperties[name]) { - return true; - } - - if (rARIA.test(name)) { - var lowerCasedName = name.toLowerCase(); - var standardName = DOMProperty.getPossibleStandardName.hasOwnProperty(lowerCasedName) ? DOMProperty.getPossibleStandardName[lowerCasedName] : null; - - // If this is an aria-* attribute, but is not listed in the known DOM - // DOM properties, then it is an invalid aria-* attribute. - if (standardName == null) { - warnedProperties[name] = true; - return false; - } - // aria-* attributes should be lowercase; suggest the lowercase version. - if (name !== standardName) { - process.env.NODE_ENV !== 'production' ? warning(false, 'Unknown ARIA attribute %s. Did you mean %s?%s', name, standardName, ReactComponentTreeHook.getStackAddendumByID(debugID)) : void 0; - warnedProperties[name] = true; - return true; - } - } - - return true; -} - -function warnInvalidARIAProps(debugID, element) { - var invalidProps = []; - - for (var key in element.props) { - var isValid = validateProperty(element.type, key, debugID); - if (!isValid) { - invalidProps.push(key); - } - } - - var unknownPropString = invalidProps.map(function (prop) { - return '`' + prop + '`'; - }).join(', '); - - if (invalidProps.length === 1) { - process.env.NODE_ENV !== 'production' ? warning(false, 'Invalid aria prop %s on <%s> tag. ' + 'For details, see https://fb.me/invalid-aria-prop%s', unknownPropString, element.type, ReactComponentTreeHook.getStackAddendumByID(debugID)) : void 0; - } else if (invalidProps.length > 1) { - process.env.NODE_ENV !== 'production' ? warning(false, 'Invalid aria props %s on <%s> tag. ' + 'For details, see https://fb.me/invalid-aria-prop%s', unknownPropString, element.type, ReactComponentTreeHook.getStackAddendumByID(debugID)) : void 0; - } -} - -function handleElement(debugID, element) { - if (element == null || typeof element.type !== 'string') { - return; - } - if (element.type.indexOf('-') >= 0 || element.props.is) { - return; - } - - warnInvalidARIAProps(debugID, element); -} - -var ReactDOMInvalidARIAHook = { - onBeforeMountComponent: function onBeforeMountComponent(debugID, element) { - if (process.env.NODE_ENV !== 'production') { - handleElement(debugID, element); - } - }, - onBeforeUpdateComponent: function onBeforeUpdateComponent(debugID, element) { - if (process.env.NODE_ENV !== 'production') { - handleElement(debugID, element); - } - } -}; - -module.exports = ReactDOMInvalidARIAHook; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 434 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -var ReactComponentTreeHook = __webpack_require__(23); - -var warning = __webpack_require__(11); - -var didWarnValueNull = false; - -function handleElement(debugID, element) { - if (element == null) { - return; - } - if (element.type !== 'input' && element.type !== 'textarea' && element.type !== 'select') { - return; - } - if (element.props != null && element.props.value === null && !didWarnValueNull) { - process.env.NODE_ENV !== 'production' ? warning(false, '`value` prop on `%s` should not be null. ' + 'Consider using the empty string to clear the component or `undefined` ' + 'for uncontrolled components.%s', element.type, ReactComponentTreeHook.getStackAddendumByID(debugID)) : void 0; - - didWarnValueNull = true; - } -} - -var ReactDOMNullInputValuePropHook = { - onBeforeMountComponent: function onBeforeMountComponent(debugID, element) { - handleElement(debugID, element); - }, - onBeforeUpdateComponent: function onBeforeUpdateComponent(debugID, element) { - handleElement(debugID, element); - } -}; - -module.exports = ReactDOMNullInputValuePropHook; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 435 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -var _assign = __webpack_require__(14); - -var React = __webpack_require__(61); -var ReactDOMComponentTree = __webpack_require__(15); -var ReactDOMSelect = __webpack_require__(206); - -var warning = __webpack_require__(11); -var didWarnInvalidOptionChildren = false; - -function flattenChildren(children) { - var content = ''; - - // Flatten children and warn if they aren't strings or numbers; - // invalid types are ignored. - React.Children.forEach(children, function (child) { - if (child == null) { - return; - } - if (typeof child === 'string' || typeof child === 'number') { - content += child; - } else if (!didWarnInvalidOptionChildren) { - didWarnInvalidOptionChildren = true; - process.env.NODE_ENV !== 'production' ? warning(false, 'Only strings and numbers are supported as <option> children.') : void 0; - } - }); - - return content; -} - -/** - * Implements an <option> host component that warns when `selected` is set. - */ -var ReactDOMOption = { - mountWrapper: function mountWrapper(inst, props, hostParent) { - // TODO (yungsters): Remove support for `selected` in <option>. - if (process.env.NODE_ENV !== 'production') { - process.env.NODE_ENV !== 'production' ? warning(props.selected == null, 'Use the `defaultValue` or `value` props on <select> instead of ' + 'setting `selected` on <option>.') : void 0; - } - - // Look up whether this option is 'selected' - var selectValue = null; - if (hostParent != null) { - var selectParent = hostParent; - - if (selectParent._tag === 'optgroup') { - selectParent = selectParent._hostParent; - } - - if (selectParent != null && selectParent._tag === 'select') { - selectValue = ReactDOMSelect.getSelectValueContext(selectParent); - } - } - - // If the value is null (e.g., no specified value or after initial mount) - // or missing (e.g., for <datalist>), we don't change props.selected - var selected = null; - if (selectValue != null) { - var value; - if (props.value != null) { - value = props.value + ''; - } else { - value = flattenChildren(props.children); - } - selected = false; - if (Array.isArray(selectValue)) { - // multiple - for (var i = 0; i < selectValue.length; i++) { - if ('' + selectValue[i] === value) { - selected = true; - break; - } - } - } else { - selected = '' + selectValue === value; - } - } - - inst._wrapperState = { selected: selected }; - }, - - postMountWrapper: function postMountWrapper(inst) { - // value="" should make a value attribute (#6219) - var props = inst._currentElement.props; - if (props.value != null) { - var node = ReactDOMComponentTree.getNodeFromInstance(inst); - node.setAttribute('value', props.value); - } - }, - - getHostProps: function getHostProps(inst, props) { - var hostProps = _assign({ selected: undefined, children: undefined }, props); - - // Read state only from initial mount because <select> updates value - // manually; we need the initial state only for server rendering - if (inst._wrapperState.selected != null) { - hostProps.selected = inst._wrapperState.selected; - } - - var content = flattenChildren(props.children); - - if (content) { - hostProps.children = content; - } - - return hostProps; - } - -}; - -module.exports = ReactDOMOption; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 436 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var ExecutionEnvironment = __webpack_require__(18); - -var getNodeForCharacterOffset = __webpack_require__(479); -var getTextContentAccessor = __webpack_require__(218); - -/** - * While `isCollapsed` is available on the Selection object and `collapsed` - * is available on the Range object, IE11 sometimes gets them wrong. - * If the anchor/focus nodes and offsets are the same, the range is collapsed. - */ -function isCollapsed(anchorNode, anchorOffset, focusNode, focusOffset) { - return anchorNode === focusNode && anchorOffset === focusOffset; -} - -/** - * Get the appropriate anchor and focus node/offset pairs for IE. - * - * The catch here is that IE's selection API doesn't provide information - * about whether the selection is forward or backward, so we have to - * behave as though it's always forward. - * - * IE text differs from modern selection in that it behaves as though - * block elements end with a new line. This means character offsets will - * differ between the two APIs. - * - * @param {DOMElement} node - * @return {object} - */ -function getIEOffsets(node) { - var selection = document.selection; - var selectedRange = selection.createRange(); - var selectedLength = selectedRange.text.length; - - // Duplicate selection so we can move range without breaking user selection. - var fromStart = selectedRange.duplicate(); - fromStart.moveToElementText(node); - fromStart.setEndPoint('EndToStart', selectedRange); - - var startOffset = fromStart.text.length; - var endOffset = startOffset + selectedLength; - - return { - start: startOffset, - end: endOffset - }; -} - -/** - * @param {DOMElement} node - * @return {?object} - */ -function getModernOffsets(node) { - var selection = window.getSelection && window.getSelection(); - - if (!selection || selection.rangeCount === 0) { - return null; - } - - var anchorNode = selection.anchorNode; - var anchorOffset = selection.anchorOffset; - var focusNode = selection.focusNode; - var focusOffset = selection.focusOffset; - - var currentRange = selection.getRangeAt(0); - - // In Firefox, range.startContainer and range.endContainer can be "anonymous - // divs", e.g. the up/down buttons on an <input type="number">. Anonymous - // divs do not seem to expose properties, triggering a "Permission denied - // error" if any of its properties are accessed. The only seemingly possible - // way to avoid erroring is to access a property that typically works for - // non-anonymous divs and catch any error that may otherwise arise. See - // https://bugzilla.mozilla.org/show_bug.cgi?id=208427 - try { - /* eslint-disable no-unused-expressions */ - currentRange.startContainer.nodeType; - currentRange.endContainer.nodeType; - /* eslint-enable no-unused-expressions */ - } catch (e) { - return null; - } - - // If the node and offset values are the same, the selection is collapsed. - // `Selection.isCollapsed` is available natively, but IE sometimes gets - // this value wrong. - var isSelectionCollapsed = isCollapsed(selection.anchorNode, selection.anchorOffset, selection.focusNode, selection.focusOffset); - - var rangeLength = isSelectionCollapsed ? 0 : currentRange.toString().length; - - var tempRange = currentRange.cloneRange(); - tempRange.selectNodeContents(node); - tempRange.setEnd(currentRange.startContainer, currentRange.startOffset); - - var isTempRangeCollapsed = isCollapsed(tempRange.startContainer, tempRange.startOffset, tempRange.endContainer, tempRange.endOffset); - - var start = isTempRangeCollapsed ? 0 : tempRange.toString().length; - var end = start + rangeLength; - - // Detect whether the selection is backward. - var detectionRange = document.createRange(); - detectionRange.setStart(anchorNode, anchorOffset); - detectionRange.setEnd(focusNode, focusOffset); - var isBackward = detectionRange.collapsed; - - return { - start: isBackward ? end : start, - end: isBackward ? start : end - }; -} - -/** - * @param {DOMElement|DOMTextNode} node - * @param {object} offsets - */ -function setIEOffsets(node, offsets) { - var range = document.selection.createRange().duplicate(); - var start, end; - - if (offsets.end === undefined) { - start = offsets.start; - end = start; - } else if (offsets.start > offsets.end) { - start = offsets.end; - end = offsets.start; - } else { - start = offsets.start; - end = offsets.end; - } - - range.moveToElementText(node); - range.moveStart('character', start); - range.setEndPoint('EndToStart', range); - range.moveEnd('character', end - start); - range.select(); -} - -/** - * In modern non-IE browsers, we can support both forward and backward - * selections. - * - * Note: IE10+ supports the Selection object, but it does not support - * the `extend` method, which means that even in modern IE, it's not possible - * to programmatically create a backward selection. Thus, for all IE - * versions, we use the old IE API to create our selections. - * - * @param {DOMElement|DOMTextNode} node - * @param {object} offsets - */ -function setModernOffsets(node, offsets) { - if (!window.getSelection) { - return; - } - - var selection = window.getSelection(); - var length = node[getTextContentAccessor()].length; - var start = Math.min(offsets.start, length); - var end = offsets.end === undefined ? start : Math.min(offsets.end, length); - - // IE 11 uses modern selection, but doesn't support the extend method. - // Flip backward selections, so we can set with a single range. - if (!selection.extend && start > end) { - var temp = end; - end = start; - start = temp; - } - - var startMarker = getNodeForCharacterOffset(node, start); - var endMarker = getNodeForCharacterOffset(node, end); - - if (startMarker && endMarker) { - var range = document.createRange(); - range.setStart(startMarker.node, startMarker.offset); - selection.removeAllRanges(); - - if (start > end) { - selection.addRange(range); - selection.extend(endMarker.node, endMarker.offset); - } else { - range.setEnd(endMarker.node, endMarker.offset); - selection.addRange(range); - } - } -} - -var useIEOffsets = ExecutionEnvironment.canUseDOM && 'selection' in document && !('getSelection' in window); - -var ReactDOMSelection = { - /** - * @param {DOMElement} node - */ - getOffsets: useIEOffsets ? getIEOffsets : getModernOffsets, - - /** - * @param {DOMElement|DOMTextNode} node - * @param {object} offsets - */ - setOffsets: useIEOffsets ? setIEOffsets : setModernOffsets -}; - -module.exports = ReactDOMSelection; - -/***/ }), -/* 437 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -var _prodInvariant = __webpack_require__(12), - _assign = __webpack_require__(14); - -var DOMChildrenOperations = __webpack_require__(126); -var DOMLazyTree = __webpack_require__(57); -var ReactDOMComponentTree = __webpack_require__(15); - -var escapeTextContentForBrowser = __webpack_require__(88); -var invariant = __webpack_require__(10); -var validateDOMNesting = __webpack_require__(140); - -/** - * Text nodes violate a couple assumptions that React makes about components: - * - * - When mounting text into the DOM, adjacent text nodes are merged. - * - Text nodes cannot be assigned a React root ID. - * - * This component is used to wrap strings between comment nodes so that they - * can undergo the same reconciliation that is applied to elements. - * - * TODO: Investigate representing React components in the DOM with text nodes. - * - * @class ReactDOMTextComponent - * @extends ReactComponent - * @internal - */ -var ReactDOMTextComponent = function ReactDOMTextComponent(text) { - // TODO: This is really a ReactText (ReactNode), not a ReactElement - this._currentElement = text; - this._stringText = '' + text; - // ReactDOMComponentTree uses these: - this._hostNode = null; - this._hostParent = null; - - // Properties - this._domID = 0; - this._mountIndex = 0; - this._closingComment = null; - this._commentNodes = null; -}; - -_assign(ReactDOMTextComponent.prototype, { - - /** - * Creates the markup for this text node. This node is not intended to have - * any features besides containing text content. - * - * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction - * @return {string} Markup for this text node. - * @internal - */ - mountComponent: function mountComponent(transaction, hostParent, hostContainerInfo, context) { - if (process.env.NODE_ENV !== 'production') { - var parentInfo; - if (hostParent != null) { - parentInfo = hostParent._ancestorInfo; - } else if (hostContainerInfo != null) { - parentInfo = hostContainerInfo._ancestorInfo; - } - if (parentInfo) { - // parentInfo should always be present except for the top-level - // component when server rendering - validateDOMNesting(null, this._stringText, this, parentInfo); - } - } - - var domID = hostContainerInfo._idCounter++; - var openingValue = ' react-text: ' + domID + ' '; - var closingValue = ' /react-text '; - this._domID = domID; - this._hostParent = hostParent; - if (transaction.useCreateElement) { - var ownerDocument = hostContainerInfo._ownerDocument; - var openingComment = ownerDocument.createComment(openingValue); - var closingComment = ownerDocument.createComment(closingValue); - var lazyTree = DOMLazyTree(ownerDocument.createDocumentFragment()); - DOMLazyTree.queueChild(lazyTree, DOMLazyTree(openingComment)); - if (this._stringText) { - DOMLazyTree.queueChild(lazyTree, DOMLazyTree(ownerDocument.createTextNode(this._stringText))); - } - DOMLazyTree.queueChild(lazyTree, DOMLazyTree(closingComment)); - ReactDOMComponentTree.precacheNode(this, openingComment); - this._closingComment = closingComment; - return lazyTree; - } else { - var escapedText = escapeTextContentForBrowser(this._stringText); - - if (transaction.renderToStaticMarkup) { - // Normally we'd wrap this between comment nodes for the reasons stated - // above, but since this is a situation where React won't take over - // (static pages), we can simply return the text as it is. - return escapedText; - } - - return '<!--' + openingValue + '-->' + escapedText + '<!--' + closingValue + '-->'; - } - }, - - /** - * Updates this component by updating the text content. - * - * @param {ReactText} nextText The next text content - * @param {ReactReconcileTransaction} transaction - * @internal - */ - receiveComponent: function receiveComponent(nextText, transaction) { - if (nextText !== this._currentElement) { - this._currentElement = nextText; - var nextStringText = '' + nextText; - if (nextStringText !== this._stringText) { - // TODO: Save this as pending props and use performUpdateIfNecessary - // and/or updateComponent to do the actual update for consistency with - // other component types? - this._stringText = nextStringText; - var commentNodes = this.getHostNode(); - DOMChildrenOperations.replaceDelimitedText(commentNodes[0], commentNodes[1], nextStringText); - } - } - }, - - getHostNode: function getHostNode() { - var hostNode = this._commentNodes; - if (hostNode) { - return hostNode; - } - if (!this._closingComment) { - var openingComment = ReactDOMComponentTree.getNodeFromInstance(this); - var node = openingComment.nextSibling; - while (true) { - !(node != null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Missing closing comment for text component %s', this._domID) : _prodInvariant('67', this._domID) : void 0; - if (node.nodeType === 8 && node.nodeValue === ' /react-text ') { - this._closingComment = node; - break; - } - node = node.nextSibling; - } - } - hostNode = [this._hostNode, this._closingComment]; - this._commentNodes = hostNode; - return hostNode; - }, - - unmountComponent: function unmountComponent() { - this._closingComment = null; - this._commentNodes = null; - ReactDOMComponentTree.uncacheNode(this); - } - -}); - -module.exports = ReactDOMTextComponent; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 438 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -var _prodInvariant = __webpack_require__(12), - _assign = __webpack_require__(14); - -var LinkedValueUtils = __webpack_require__(130); -var ReactDOMComponentTree = __webpack_require__(15); -var ReactUpdates = __webpack_require__(29); - -var invariant = __webpack_require__(10); -var warning = __webpack_require__(11); - -var didWarnValueLink = false; -var didWarnValDefaultVal = false; - -function forceUpdateIfMounted() { - if (this._rootNodeID) { - // DOM component is still mounted; update - ReactDOMTextarea.updateWrapper(this); - } -} - -/** - * Implements a <textarea> host component that allows setting `value`, and - * `defaultValue`. This differs from the traditional DOM API because value is - * usually set as PCDATA children. - * - * If `value` is not supplied (or null/undefined), user actions that affect the - * value will trigger updates to the element. - * - * If `value` is supplied (and not null/undefined), the rendered element will - * not trigger updates to the element. Instead, the `value` prop must change in - * order for the rendered element to be updated. - * - * The rendered element will be initialized with an empty value, the prop - * `defaultValue` if specified, or the children content (deprecated). - */ -var ReactDOMTextarea = { - getHostProps: function getHostProps(inst, props) { - !(props.dangerouslySetInnerHTML == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, '`dangerouslySetInnerHTML` does not make sense on <textarea>.') : _prodInvariant('91') : void 0; - - // Always set children to the same thing. In IE9, the selection range will - // get reset if `textContent` is mutated. We could add a check in setTextContent - // to only set the value if/when the value differs from the node value (which would - // completely solve this IE9 bug), but Sebastian+Ben seemed to like this solution. - // The value can be a boolean or object so that's why it's forced to be a string. - var hostProps = _assign({}, props, { - value: undefined, - defaultValue: undefined, - children: '' + inst._wrapperState.initialValue, - onChange: inst._wrapperState.onChange - }); - - return hostProps; - }, - - mountWrapper: function mountWrapper(inst, props) { - if (process.env.NODE_ENV !== 'production') { - LinkedValueUtils.checkPropTypes('textarea', props, inst._currentElement._owner); - if (props.valueLink !== undefined && !didWarnValueLink) { - process.env.NODE_ENV !== 'production' ? warning(false, '`valueLink` prop on `textarea` is deprecated; set `value` and `onChange` instead.') : void 0; - didWarnValueLink = true; - } - if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValDefaultVal) { - process.env.NODE_ENV !== 'production' ? warning(false, 'Textarea elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled textarea ' + 'and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components') : void 0; - didWarnValDefaultVal = true; - } - } - - var value = LinkedValueUtils.getValue(props); - var initialValue = value; - - // Only bother fetching default value if we're going to use it - if (value == null) { - var defaultValue = props.defaultValue; - // TODO (yungsters): Remove support for children content in <textarea>. - var children = props.children; - if (children != null) { - if (process.env.NODE_ENV !== 'production') { - process.env.NODE_ENV !== 'production' ? warning(false, 'Use the `defaultValue` or `value` props instead of setting ' + 'children on <textarea>.') : void 0; - } - !(defaultValue == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'If you supply `defaultValue` on a <textarea>, do not pass children.') : _prodInvariant('92') : void 0; - if (Array.isArray(children)) { - !(children.length <= 1) ? process.env.NODE_ENV !== 'production' ? invariant(false, '<textarea> can only have at most one child.') : _prodInvariant('93') : void 0; - children = children[0]; - } - - defaultValue = '' + children; - } - if (defaultValue == null) { - defaultValue = ''; - } - initialValue = defaultValue; - } - - inst._wrapperState = { - initialValue: '' + initialValue, - listeners: null, - onChange: _handleChange.bind(inst) - }; - }, - - updateWrapper: function updateWrapper(inst) { - var props = inst._currentElement.props; - - var node = ReactDOMComponentTree.getNodeFromInstance(inst); - var value = LinkedValueUtils.getValue(props); - if (value != null) { - // Cast `value` to a string to ensure the value is set correctly. While - // browsers typically do this as necessary, jsdom doesn't. - var newValue = '' + value; - - // To avoid side effects (such as losing text selection), only set value if changed - if (newValue !== node.value) { - node.value = newValue; - } - if (props.defaultValue == null) { - node.defaultValue = newValue; - } - } - if (props.defaultValue != null) { - node.defaultValue = props.defaultValue; - } - }, - - postMountWrapper: function postMountWrapper(inst) { - // This is in postMount because we need access to the DOM node, which is not - // available until after the component has mounted. - var node = ReactDOMComponentTree.getNodeFromInstance(inst); - var textContent = node.textContent; - - // Only set node.value if textContent is equal to the expected - // initial value. In IE10/IE11 there is a bug where the placeholder attribute - // will populate textContent as well. - // https://developer.microsoft.com/microsoft-edge/platform/issues/101525/ - if (textContent === inst._wrapperState.initialValue) { - node.value = textContent; - } - } -}; - -function _handleChange(event) { - var props = this._currentElement.props; - var returnValue = LinkedValueUtils.executeOnChange(props, event); - ReactUpdates.asap(forceUpdateIfMounted, this); - return returnValue; -} - -module.exports = ReactDOMTextarea; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 439 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -var _prodInvariant = __webpack_require__(12); - -var invariant = __webpack_require__(10); - -/** - * Return the lowest common ancestor of A and B, or null if they are in - * different trees. - */ -function getLowestCommonAncestor(instA, instB) { - !('_hostNode' in instA) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'getNodeFromInstance: Invalid argument.') : _prodInvariant('33') : void 0; - !('_hostNode' in instB) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'getNodeFromInstance: Invalid argument.') : _prodInvariant('33') : void 0; - - var depthA = 0; - for (var tempA = instA; tempA; tempA = tempA._hostParent) { - depthA++; - } - var depthB = 0; - for (var tempB = instB; tempB; tempB = tempB._hostParent) { - depthB++; - } - - // If A is deeper, crawl up. - while (depthA - depthB > 0) { - instA = instA._hostParent; - depthA--; - } - - // If B is deeper, crawl up. - while (depthB - depthA > 0) { - instB = instB._hostParent; - depthB--; - } - - // Walk in lockstep until we find a match. - var depth = depthA; - while (depth--) { - if (instA === instB) { - return instA; - } - instA = instA._hostParent; - instB = instB._hostParent; - } - return null; -} - -/** - * Return if A is an ancestor of B. - */ -function isAncestor(instA, instB) { - !('_hostNode' in instA) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'isAncestor: Invalid argument.') : _prodInvariant('35') : void 0; - !('_hostNode' in instB) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'isAncestor: Invalid argument.') : _prodInvariant('35') : void 0; - - while (instB) { - if (instB === instA) { - return true; - } - instB = instB._hostParent; - } - return false; -} - -/** - * Return the parent instance of the passed-in instance. - */ -function getParentInstance(inst) { - !('_hostNode' in inst) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'getParentInstance: Invalid argument.') : _prodInvariant('36') : void 0; - - return inst._hostParent; -} - -/** - * Simulates the traversal of a two-phase, capture/bubble event dispatch. - */ -function traverseTwoPhase(inst, fn, arg) { - var path = []; - while (inst) { - path.push(inst); - inst = inst._hostParent; - } - var i; - for (i = path.length; i-- > 0;) { - fn(path[i], 'captured', arg); - } - for (i = 0; i < path.length; i++) { - fn(path[i], 'bubbled', arg); - } -} - -/** - * Traverses the ID hierarchy and invokes the supplied `cb` on any IDs that - * should would receive a `mouseEnter` or `mouseLeave` event. - * - * Does not invoke the callback on the nearest common ancestor because nothing - * "entered" or "left" that element. - */ -function traverseEnterLeave(from, to, fn, argFrom, argTo) { - var common = from && to ? getLowestCommonAncestor(from, to) : null; - var pathFrom = []; - while (from && from !== common) { - pathFrom.push(from); - from = from._hostParent; - } - var pathTo = []; - while (to && to !== common) { - pathTo.push(to); - to = to._hostParent; - } - var i; - for (i = 0; i < pathFrom.length; i++) { - fn(pathFrom[i], 'bubbled', argFrom); - } - for (i = pathTo.length; i-- > 0;) { - fn(pathTo[i], 'captured', argTo); - } -} - -module.exports = { - isAncestor: isAncestor, - getLowestCommonAncestor: getLowestCommonAncestor, - getParentInstance: getParentInstance, - traverseTwoPhase: traverseTwoPhase, - traverseEnterLeave: traverseEnterLeave -}; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 440 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -var DOMProperty = __webpack_require__(39); -var EventPluginRegistry = __webpack_require__(84); -var ReactComponentTreeHook = __webpack_require__(23); - -var warning = __webpack_require__(11); - -if (process.env.NODE_ENV !== 'production') { - var reactProps = { - children: true, - dangerouslySetInnerHTML: true, - key: true, - ref: true, - - autoFocus: true, - defaultValue: true, - valueLink: true, - defaultChecked: true, - checkedLink: true, - innerHTML: true, - suppressContentEditableWarning: true, - onFocusIn: true, - onFocusOut: true - }; - var warnedProperties = {}; - - var validateProperty = function validateProperty(tagName, name, debugID) { - if (DOMProperty.properties.hasOwnProperty(name) || DOMProperty.isCustomAttribute(name)) { - return true; - } - if (reactProps.hasOwnProperty(name) && reactProps[name] || warnedProperties.hasOwnProperty(name) && warnedProperties[name]) { - return true; - } - if (EventPluginRegistry.registrationNameModules.hasOwnProperty(name)) { - return true; - } - warnedProperties[name] = true; - var lowerCasedName = name.toLowerCase(); - - // data-* attributes should be lowercase; suggest the lowercase version - var standardName = DOMProperty.isCustomAttribute(lowerCasedName) ? lowerCasedName : DOMProperty.getPossibleStandardName.hasOwnProperty(lowerCasedName) ? DOMProperty.getPossibleStandardName[lowerCasedName] : null; - - var registrationName = EventPluginRegistry.possibleRegistrationNames.hasOwnProperty(lowerCasedName) ? EventPluginRegistry.possibleRegistrationNames[lowerCasedName] : null; - - if (standardName != null) { - process.env.NODE_ENV !== 'production' ? warning(false, 'Unknown DOM property %s. Did you mean %s?%s', name, standardName, ReactComponentTreeHook.getStackAddendumByID(debugID)) : void 0; - return true; - } else if (registrationName != null) { - process.env.NODE_ENV !== 'production' ? warning(false, 'Unknown event handler property %s. Did you mean `%s`?%s', name, registrationName, ReactComponentTreeHook.getStackAddendumByID(debugID)) : void 0; - return true; - } else { - // We were unable to guess which prop the user intended. - // It is likely that the user was just blindly spreading/forwarding props - // Components should be careful to only render valid props/attributes. - // Warning will be invoked in warnUnknownProperties to allow grouping. - return false; - } - }; -} - -var warnUnknownProperties = function warnUnknownProperties(debugID, element) { - var unknownProps = []; - for (var key in element.props) { - var isValid = validateProperty(element.type, key, debugID); - if (!isValid) { - unknownProps.push(key); - } - } - - var unknownPropString = unknownProps.map(function (prop) { - return '`' + prop + '`'; - }).join(', '); - - if (unknownProps.length === 1) { - process.env.NODE_ENV !== 'production' ? warning(false, 'Unknown prop %s on <%s> tag. Remove this prop from the element. ' + 'For details, see https://fb.me/react-unknown-prop%s', unknownPropString, element.type, ReactComponentTreeHook.getStackAddendumByID(debugID)) : void 0; - } else if (unknownProps.length > 1) { - process.env.NODE_ENV !== 'production' ? warning(false, 'Unknown props %s on <%s> tag. Remove these props from the element. ' + 'For details, see https://fb.me/react-unknown-prop%s', unknownPropString, element.type, ReactComponentTreeHook.getStackAddendumByID(debugID)) : void 0; - } -}; - -function handleElement(debugID, element) { - if (element == null || typeof element.type !== 'string') { - return; - } - if (element.type.indexOf('-') >= 0 || element.props.is) { - return; - } - warnUnknownProperties(debugID, element); -} - -var ReactDOMUnknownPropertyHook = { - onBeforeMountComponent: function onBeforeMountComponent(debugID, element) { - handleElement(debugID, element); - }, - onBeforeUpdateComponent: function onBeforeUpdateComponent(debugID, element) { - handleElement(debugID, element); - } -}; - -module.exports = ReactDOMUnknownPropertyHook; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 441 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2016-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * - */ - - - -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 ReactInvalidSetStateWarningHook = __webpack_require__(449); -var ReactHostOperationHistoryHook = __webpack_require__(447); -var ReactComponentTreeHook = __webpack_require__(23); -var ExecutionEnvironment = __webpack_require__(18); - -var performanceNow = __webpack_require__(332); -var warning = __webpack_require__(11); - -var hooks = []; -var didHookThrowForEvent = {}; - -function callHook(event, fn, context, arg1, arg2, arg3, arg4, arg5) { - try { - fn.call(context, arg1, arg2, arg3, arg4, arg5); - } catch (e) { - process.env.NODE_ENV !== 'production' ? warning(didHookThrowForEvent[event], 'Exception thrown by hook while handling %s: %s', event, e + '\n' + e.stack) : void 0; - didHookThrowForEvent[event] = true; - } -} - -function emitEvent(event, arg1, arg2, arg3, arg4, arg5) { - for (var i = 0; i < hooks.length; i++) { - var hook = hooks[i]; - var fn = hook[event]; - if (fn) { - callHook(event, fn, hook, arg1, arg2, arg3, arg4, arg5); - } - } -} - -var _isProfiling = false; -var flushHistory = []; -var lifeCycleTimerStack = []; -var currentFlushNesting = 0; -var currentFlushMeasurements = []; -var currentFlushStartTime = 0; -var currentTimerDebugID = null; -var currentTimerStartTime = 0; -var currentTimerNestedFlushDuration = 0; -var currentTimerType = null; - -var lifeCycleTimerHasWarned = false; - -function clearHistory() { - ReactComponentTreeHook.purgeUnmountedComponents(); - ReactHostOperationHistoryHook.clearHistory(); -} - -function getTreeSnapshot(registeredIDs) { - return registeredIDs.reduce(function (tree, id) { - var ownerID = ReactComponentTreeHook.getOwnerID(id); - var parentID = ReactComponentTreeHook.getParentID(id); - tree[id] = { - displayName: ReactComponentTreeHook.getDisplayName(id), - text: ReactComponentTreeHook.getText(id), - updateCount: ReactComponentTreeHook.getUpdateCount(id), - childIDs: ReactComponentTreeHook.getChildIDs(id), - // Text nodes don't have owners but this is close enough. - ownerID: ownerID || parentID && ReactComponentTreeHook.getOwnerID(parentID) || 0, - parentID: parentID - }; - return tree; - }, {}); -} - -function resetMeasurements() { - var previousStartTime = currentFlushStartTime; - var previousMeasurements = currentFlushMeasurements; - var previousOperations = ReactHostOperationHistoryHook.getHistory(); - - if (currentFlushNesting === 0) { - currentFlushStartTime = 0; - currentFlushMeasurements = []; - clearHistory(); - return; - } - - if (previousMeasurements.length || previousOperations.length) { - var registeredIDs = ReactComponentTreeHook.getRegisteredIDs(); - flushHistory.push({ - duration: performanceNow() - previousStartTime, - measurements: previousMeasurements || [], - operations: previousOperations || [], - treeSnapshot: getTreeSnapshot(registeredIDs) - }); - } - - clearHistory(); - currentFlushStartTime = performanceNow(); - currentFlushMeasurements = []; -} - -function checkDebugID(debugID) { - var allowRoot = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - - if (allowRoot && debugID === 0) { - return; - } - if (!debugID) { - process.env.NODE_ENV !== 'production' ? warning(false, 'ReactDebugTool: debugID may not be empty.') : void 0; - } -} - -function beginLifeCycleTimer(debugID, timerType) { - if (currentFlushNesting === 0) { - return; - } - if (currentTimerType && !lifeCycleTimerHasWarned) { - process.env.NODE_ENV !== 'production' ? warning(false, 'There is an internal error in the React performance measurement code. ' + 'Did not expect %s timer to start while %s timer is still in ' + 'progress for %s instance.', timerType, currentTimerType || 'no', debugID === currentTimerDebugID ? 'the same' : 'another') : void 0; - lifeCycleTimerHasWarned = true; - } - currentTimerStartTime = performanceNow(); - currentTimerNestedFlushDuration = 0; - currentTimerDebugID = debugID; - currentTimerType = timerType; -} - -function endLifeCycleTimer(debugID, timerType) { - if (currentFlushNesting === 0) { - return; - } - if (currentTimerType !== timerType && !lifeCycleTimerHasWarned) { - process.env.NODE_ENV !== 'production' ? warning(false, 'There is an internal error in the React performance measurement code. ' + 'We did not expect %s timer to stop while %s timer is still in ' + 'progress for %s instance. Please report this as a bug in React.', timerType, currentTimerType || 'no', debugID === currentTimerDebugID ? 'the same' : 'another') : void 0; - lifeCycleTimerHasWarned = true; - } - if (_isProfiling) { - currentFlushMeasurements.push({ - timerType: timerType, - instanceID: debugID, - duration: performanceNow() - currentTimerStartTime - currentTimerNestedFlushDuration - }); - } - currentTimerStartTime = 0; - currentTimerNestedFlushDuration = 0; - currentTimerDebugID = null; - currentTimerType = null; -} - -function pauseCurrentLifeCycleTimer() { - var currentTimer = { - startTime: currentTimerStartTime, - nestedFlushStartTime: performanceNow(), - debugID: currentTimerDebugID, - timerType: currentTimerType - }; - lifeCycleTimerStack.push(currentTimer); - currentTimerStartTime = 0; - currentTimerNestedFlushDuration = 0; - currentTimerDebugID = null; - currentTimerType = null; -} - -function resumeCurrentLifeCycleTimer() { - var _lifeCycleTimerStack$ = lifeCycleTimerStack.pop(), - startTime = _lifeCycleTimerStack$.startTime, - nestedFlushStartTime = _lifeCycleTimerStack$.nestedFlushStartTime, - debugID = _lifeCycleTimerStack$.debugID, - timerType = _lifeCycleTimerStack$.timerType; - - var nestedFlushDuration = performanceNow() - nestedFlushStartTime; - currentTimerStartTime = startTime; - currentTimerNestedFlushDuration += nestedFlushDuration; - currentTimerDebugID = debugID; - currentTimerType = timerType; -} - -var lastMarkTimeStamp = 0; -var canUsePerformanceMeasure = typeof performance !== 'undefined' && typeof performance.mark === 'function' && typeof performance.clearMarks === 'function' && typeof performance.measure === 'function' && typeof performance.clearMeasures === 'function'; - -function shouldMark(debugID) { - if (!_isProfiling || !canUsePerformanceMeasure) { - return false; - } - var element = ReactComponentTreeHook.getElement(debugID); - if (element == null || (typeof element === 'undefined' ? 'undefined' : _typeof(element)) !== 'object') { - return false; - } - var isHostElement = typeof element.type === 'string'; - if (isHostElement) { - return false; - } - return true; -} - -function markBegin(debugID, markType) { - if (!shouldMark(debugID)) { - return; - } - - var markName = debugID + '::' + markType; - lastMarkTimeStamp = performanceNow(); - performance.mark(markName); -} - -function markEnd(debugID, markType) { - if (!shouldMark(debugID)) { - return; - } - - var markName = debugID + '::' + markType; - var displayName = ReactComponentTreeHook.getDisplayName(debugID) || 'Unknown'; - - // Chrome has an issue of dropping markers recorded too fast: - // https://bugs.chromium.org/p/chromium/issues/detail?id=640652 - // To work around this, we will not report very small measurements. - // I determined the magic number by tweaking it back and forth. - // 0.05ms was enough to prevent the issue, but I set it to 0.1ms to be safe. - // When the bug is fixed, we can `measure()` unconditionally if we want to. - var timeStamp = performanceNow(); - if (timeStamp - lastMarkTimeStamp > 0.1) { - var measurementName = displayName + ' [' + markType + ']'; - performance.measure(measurementName, markName); - } - - performance.clearMarks(markName); - performance.clearMeasures(measurementName); -} - -var ReactDebugTool = { - addHook: function addHook(hook) { - hooks.push(hook); - }, - removeHook: function removeHook(hook) { - for (var i = 0; i < hooks.length; i++) { - if (hooks[i] === hook) { - hooks.splice(i, 1); - i--; - } - } - }, - isProfiling: function isProfiling() { - return _isProfiling; - }, - beginProfiling: function beginProfiling() { - if (_isProfiling) { - return; - } - - _isProfiling = true; - flushHistory.length = 0; - resetMeasurements(); - ReactDebugTool.addHook(ReactHostOperationHistoryHook); - }, - endProfiling: function endProfiling() { - if (!_isProfiling) { - return; - } - - _isProfiling = false; - resetMeasurements(); - ReactDebugTool.removeHook(ReactHostOperationHistoryHook); - }, - getFlushHistory: function getFlushHistory() { - return flushHistory; - }, - onBeginFlush: function onBeginFlush() { - currentFlushNesting++; - resetMeasurements(); - pauseCurrentLifeCycleTimer(); - emitEvent('onBeginFlush'); - }, - onEndFlush: function onEndFlush() { - resetMeasurements(); - currentFlushNesting--; - resumeCurrentLifeCycleTimer(); - emitEvent('onEndFlush'); - }, - onBeginLifeCycleTimer: function onBeginLifeCycleTimer(debugID, timerType) { - checkDebugID(debugID); - emitEvent('onBeginLifeCycleTimer', debugID, timerType); - markBegin(debugID, timerType); - beginLifeCycleTimer(debugID, timerType); - }, - onEndLifeCycleTimer: function onEndLifeCycleTimer(debugID, timerType) { - checkDebugID(debugID); - endLifeCycleTimer(debugID, timerType); - markEnd(debugID, timerType); - emitEvent('onEndLifeCycleTimer', debugID, timerType); - }, - onBeginProcessingChildContext: function onBeginProcessingChildContext() { - emitEvent('onBeginProcessingChildContext'); - }, - onEndProcessingChildContext: function onEndProcessingChildContext() { - emitEvent('onEndProcessingChildContext'); - }, - onHostOperation: function onHostOperation(operation) { - checkDebugID(operation.instanceID); - emitEvent('onHostOperation', operation); - }, - onSetState: function onSetState() { - emitEvent('onSetState'); - }, - onSetChildren: function onSetChildren(debugID, childDebugIDs) { - checkDebugID(debugID); - childDebugIDs.forEach(checkDebugID); - emitEvent('onSetChildren', debugID, childDebugIDs); - }, - onBeforeMountComponent: function onBeforeMountComponent(debugID, element, parentDebugID) { - checkDebugID(debugID); - checkDebugID(parentDebugID, true); - emitEvent('onBeforeMountComponent', debugID, element, parentDebugID); - markBegin(debugID, 'mount'); - }, - onMountComponent: function onMountComponent(debugID) { - checkDebugID(debugID); - markEnd(debugID, 'mount'); - emitEvent('onMountComponent', debugID); - }, - onBeforeUpdateComponent: function onBeforeUpdateComponent(debugID, element) { - checkDebugID(debugID); - emitEvent('onBeforeUpdateComponent', debugID, element); - markBegin(debugID, 'update'); - }, - onUpdateComponent: function onUpdateComponent(debugID) { - checkDebugID(debugID); - markEnd(debugID, 'update'); - emitEvent('onUpdateComponent', debugID); - }, - onBeforeUnmountComponent: function onBeforeUnmountComponent(debugID) { - checkDebugID(debugID); - emitEvent('onBeforeUnmountComponent', debugID); - markBegin(debugID, 'unmount'); - }, - onUnmountComponent: function onUnmountComponent(debugID) { - checkDebugID(debugID); - markEnd(debugID, 'unmount'); - emitEvent('onUnmountComponent', debugID); - }, - onTestEvent: function onTestEvent() { - emitEvent('onTestEvent'); - } -}; - -// TODO remove these when RN/www gets updated -ReactDebugTool.addDevtool = ReactDebugTool.addHook; -ReactDebugTool.removeDevtool = ReactDebugTool.removeHook; - -ReactDebugTool.addHook(ReactInvalidSetStateWarningHook); -ReactDebugTool.addHook(ReactComponentTreeHook); -var url = ExecutionEnvironment.canUseDOM && window.location.href || ''; -if (/[?&]react_perf\b/.test(url)) { - ReactDebugTool.beginProfiling(); -} - -module.exports = ReactDebugTool; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 442 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var _assign = __webpack_require__(14); - -var ReactUpdates = __webpack_require__(29); -var Transaction = __webpack_require__(87); - -var emptyFunction = __webpack_require__(24); - -var RESET_BATCHED_UPDATES = { - initialize: emptyFunction, - close: function close() { - ReactDefaultBatchingStrategy.isBatchingUpdates = false; - } -}; - -var FLUSH_BATCHED_UPDATES = { - initialize: emptyFunction, - close: ReactUpdates.flushBatchedUpdates.bind(ReactUpdates) -}; - -var TRANSACTION_WRAPPERS = [FLUSH_BATCHED_UPDATES, RESET_BATCHED_UPDATES]; - -function ReactDefaultBatchingStrategyTransaction() { - this.reinitializeTransaction(); -} - -_assign(ReactDefaultBatchingStrategyTransaction.prototype, Transaction, { - getTransactionWrappers: function getTransactionWrappers() { - return TRANSACTION_WRAPPERS; - } -}); - -var transaction = new ReactDefaultBatchingStrategyTransaction(); - -var ReactDefaultBatchingStrategy = { - isBatchingUpdates: false, - - /** - * Call the provided function in a context within which calls to `setState` - * and friends are batched such that components aren't updated unnecessarily. - */ - batchedUpdates: function batchedUpdates(callback, a, b, c, d, e) { - var alreadyBatchingUpdates = ReactDefaultBatchingStrategy.isBatchingUpdates; - - ReactDefaultBatchingStrategy.isBatchingUpdates = true; - - // The code is written this way to avoid extra allocations - if (alreadyBatchingUpdates) { - return callback(a, b, c, d, e); - } else { - return transaction.perform(callback, null, a, b, c, d, e); - } - } -}; - -module.exports = ReactDefaultBatchingStrategy; - -/***/ }), -/* 443 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var ARIADOMPropertyConfig = __webpack_require__(413); -var BeforeInputEventPlugin = __webpack_require__(415); -var ChangeEventPlugin = __webpack_require__(417); -var DefaultEventPluginOrder = __webpack_require__(419); -var EnterLeaveEventPlugin = __webpack_require__(420); -var HTMLDOMPropertyConfig = __webpack_require__(422); -var ReactComponentBrowserEnvironment = __webpack_require__(424); -var ReactDOMComponent = __webpack_require__(427); -var ReactDOMComponentTree = __webpack_require__(15); -var ReactDOMEmptyComponent = __webpack_require__(429); -var ReactDOMTreeTraversal = __webpack_require__(439); -var ReactDOMTextComponent = __webpack_require__(437); -var ReactDefaultBatchingStrategy = __webpack_require__(442); -var ReactEventListener = __webpack_require__(446); -var ReactInjection = __webpack_require__(448); -var ReactReconcileTransaction = __webpack_require__(454); -var SVGDOMPropertyConfig = __webpack_require__(459); -var SelectEventPlugin = __webpack_require__(460); -var SimpleEventPlugin = __webpack_require__(461); - -var alreadyInjected = false; - -function inject() { - if (alreadyInjected) { - // TODO: This is currently true because these injections are shared between - // the client and the server package. They should be built independently - // and not share any injection state. Then this problem will be solved. - return; - } - alreadyInjected = true; - - ReactInjection.EventEmitter.injectReactEventListener(ReactEventListener); - - /** - * Inject modules for resolving DOM hierarchy and plugin ordering. - */ - ReactInjection.EventPluginHub.injectEventPluginOrder(DefaultEventPluginOrder); - ReactInjection.EventPluginUtils.injectComponentTree(ReactDOMComponentTree); - ReactInjection.EventPluginUtils.injectTreeTraversal(ReactDOMTreeTraversal); - - /** - * Some important event plugins included by default (without having to require - * them). - */ - ReactInjection.EventPluginHub.injectEventPluginsByName({ - SimpleEventPlugin: SimpleEventPlugin, - EnterLeaveEventPlugin: EnterLeaveEventPlugin, - ChangeEventPlugin: ChangeEventPlugin, - SelectEventPlugin: SelectEventPlugin, - BeforeInputEventPlugin: BeforeInputEventPlugin - }); - - ReactInjection.HostComponent.injectGenericComponentClass(ReactDOMComponent); - - ReactInjection.HostComponent.injectTextComponentClass(ReactDOMTextComponent); - - ReactInjection.DOMProperty.injectDOMPropertyConfig(ARIADOMPropertyConfig); - ReactInjection.DOMProperty.injectDOMPropertyConfig(HTMLDOMPropertyConfig); - ReactInjection.DOMProperty.injectDOMPropertyConfig(SVGDOMPropertyConfig); - - ReactInjection.EmptyComponent.injectEmptyComponentFactory(function (instantiate) { - return new ReactDOMEmptyComponent(instantiate); - }); - - ReactInjection.Updates.injectReconcileTransaction(ReactReconcileTransaction); - ReactInjection.Updates.injectBatchingStrategy(ReactDefaultBatchingStrategy); - - ReactInjection.Component.injectEnvironment(ReactComponentBrowserEnvironment); -} - -module.exports = { - inject: inject -}; - -/***/ }), -/* 444 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - * - */ - - - -// The Symbol used to tag the ReactElement type. If there is no native Symbol -// nor polyfill, then a plain number is used for performance. - -var REACT_ELEMENT_TYPE = typeof Symbol === 'function' && Symbol['for'] && Symbol['for']('react.element') || 0xeac7; - -module.exports = REACT_ELEMENT_TYPE; - -/***/ }), -/* 445 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var EventPluginHub = __webpack_require__(68); - -function runEventQueueInBatch(events) { - EventPluginHub.enqueueEvents(events); - EventPluginHub.processEventQueue(false); -} - -var ReactEventEmitterMixin = { - - /** - * Streams a fired top-level event to `EventPluginHub` where plugins have the - * opportunity to create `ReactEvent`s to be dispatched. - */ - handleTopLevel: function handleTopLevel(topLevelType, targetInst, nativeEvent, nativeEventTarget) { - var events = EventPluginHub.extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget); - runEventQueueInBatch(events); - } -}; - -module.exports = ReactEventEmitterMixin; - -/***/ }), -/* 446 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var _assign = __webpack_require__(14); - -var EventListener = __webpack_require__(172); -var ExecutionEnvironment = __webpack_require__(18); -var PooledClass = __webpack_require__(44); -var ReactDOMComponentTree = __webpack_require__(15); -var ReactUpdates = __webpack_require__(29); - -var getEventTarget = __webpack_require__(137); -var getUnboundedScrollPosition = __webpack_require__(325); - -/** - * Find the deepest React component completely containing the root of the - * passed-in instance (for use when entire React trees are nested within each - * other). If React trees are not nested, returns null. - */ -function findParent(inst) { - // TODO: It may be a good idea to cache this to prevent unnecessary DOM - // traversal, but caching is difficult to do correctly without using a - // mutation observer to listen for all DOM changes. - while (inst._hostParent) { - inst = inst._hostParent; - } - var rootNode = ReactDOMComponentTree.getNodeFromInstance(inst); - var container = rootNode.parentNode; - return ReactDOMComponentTree.getClosestInstanceFromNode(container); -} - -// Used to store ancestor hierarchy in top level callback -function TopLevelCallbackBookKeeping(topLevelType, nativeEvent) { - this.topLevelType = topLevelType; - this.nativeEvent = nativeEvent; - this.ancestors = []; -} -_assign(TopLevelCallbackBookKeeping.prototype, { - destructor: function destructor() { - this.topLevelType = null; - this.nativeEvent = null; - this.ancestors.length = 0; - } -}); -PooledClass.addPoolingTo(TopLevelCallbackBookKeeping, PooledClass.twoArgumentPooler); - -function handleTopLevelImpl(bookKeeping) { - var nativeEventTarget = getEventTarget(bookKeeping.nativeEvent); - var targetInst = ReactDOMComponentTree.getClosestInstanceFromNode(nativeEventTarget); - - // Loop through the hierarchy, in case there's any nested components. - // It's important that we build the array of ancestors before calling any - // event handlers, because event handlers can modify the DOM, leading to - // inconsistencies with ReactMount's node cache. See #1105. - var ancestor = targetInst; - do { - bookKeeping.ancestors.push(ancestor); - ancestor = ancestor && findParent(ancestor); - } while (ancestor); - - for (var i = 0; i < bookKeeping.ancestors.length; i++) { - targetInst = bookKeeping.ancestors[i]; - ReactEventListener._handleTopLevel(bookKeeping.topLevelType, targetInst, bookKeeping.nativeEvent, getEventTarget(bookKeeping.nativeEvent)); - } -} - -function scrollValueMonitor(cb) { - var scrollPosition = getUnboundedScrollPosition(window); - cb(scrollPosition); -} - -var ReactEventListener = { - _enabled: true, - _handleTopLevel: null, - - WINDOW_HANDLE: ExecutionEnvironment.canUseDOM ? window : null, - - setHandleTopLevel: function setHandleTopLevel(handleTopLevel) { - ReactEventListener._handleTopLevel = handleTopLevel; - }, - - setEnabled: function setEnabled(enabled) { - ReactEventListener._enabled = !!enabled; - }, - - isEnabled: function isEnabled() { - return ReactEventListener._enabled; - }, - - /** - * Traps top-level events by using event bubbling. - * - * @param {string} topLevelType Record from `EventConstants`. - * @param {string} handlerBaseName Event name (e.g. "click"). - * @param {object} element Element on which to attach listener. - * @return {?object} An object with a remove function which will forcefully - * remove the listener. - * @internal - */ - trapBubbledEvent: function trapBubbledEvent(topLevelType, handlerBaseName, element) { - if (!element) { - return null; - } - return EventListener.listen(element, handlerBaseName, ReactEventListener.dispatchEvent.bind(null, topLevelType)); - }, - - /** - * Traps a top-level event by using event capturing. - * - * @param {string} topLevelType Record from `EventConstants`. - * @param {string} handlerBaseName Event name (e.g. "click"). - * @param {object} element Element on which to attach listener. - * @return {?object} An object with a remove function which will forcefully - * remove the listener. - * @internal - */ - trapCapturedEvent: function trapCapturedEvent(topLevelType, handlerBaseName, element) { - if (!element) { - return null; - } - return EventListener.capture(element, handlerBaseName, ReactEventListener.dispatchEvent.bind(null, topLevelType)); - }, - - monitorScrollValue: function monitorScrollValue(refresh) { - var callback = scrollValueMonitor.bind(null, refresh); - EventListener.listen(window, 'scroll', callback); - }, - - dispatchEvent: function dispatchEvent(topLevelType, nativeEvent) { - if (!ReactEventListener._enabled) { - return; - } - - var bookKeeping = TopLevelCallbackBookKeeping.getPooled(topLevelType, nativeEvent); - try { - // Event queue being processed in the same cycle allows - // `preventDefault`. - ReactUpdates.batchedUpdates(handleTopLevelImpl, bookKeeping); - } finally { - TopLevelCallbackBookKeeping.release(bookKeeping); - } - } -}; - -module.exports = ReactEventListener; - -/***/ }), -/* 447 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright 2016-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * - */ - - - -var history = []; - -var ReactHostOperationHistoryHook = { - onHostOperation: function onHostOperation(operation) { - history.push(operation); - }, - clearHistory: function clearHistory() { - if (ReactHostOperationHistoryHook._preventClearing) { - // Should only be used for tests. - return; - } - - history = []; - }, - getHistory: function getHistory() { - return history; - } -}; - -module.exports = ReactHostOperationHistoryHook; - -/***/ }), -/* 448 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var DOMProperty = __webpack_require__(39); -var EventPluginHub = __webpack_require__(68); -var EventPluginUtils = __webpack_require__(128); -var ReactComponentEnvironment = __webpack_require__(131); -var ReactEmptyComponent = __webpack_require__(207); -var ReactBrowserEventEmitter = __webpack_require__(85); -var ReactHostComponent = __webpack_require__(209); -var ReactUpdates = __webpack_require__(29); - -var ReactInjection = { - Component: ReactComponentEnvironment.injection, - DOMProperty: DOMProperty.injection, - EmptyComponent: ReactEmptyComponent.injection, - EventPluginHub: EventPluginHub.injection, - EventPluginUtils: EventPluginUtils.injection, - EventEmitter: ReactBrowserEventEmitter.injection, - HostComponent: ReactHostComponent.injection, - Updates: ReactUpdates.injection -}; - -module.exports = ReactInjection; - -/***/ }), -/* 449 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2016-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * - */ - - - -var warning = __webpack_require__(11); - -if (process.env.NODE_ENV !== 'production') { - var processingChildContext = false; - - var warnInvalidSetState = function warnInvalidSetState() { - process.env.NODE_ENV !== 'production' ? warning(!processingChildContext, 'setState(...): Cannot call setState() inside getChildContext()') : void 0; - }; -} - -var ReactInvalidSetStateWarningHook = { - onBeginProcessingChildContext: function onBeginProcessingChildContext() { - processingChildContext = true; - }, - onEndProcessingChildContext: function onEndProcessingChildContext() { - processingChildContext = false; - }, - onSetState: function onSetState() { - warnInvalidSetState(); - } -}; - -module.exports = ReactInvalidSetStateWarningHook; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 450 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var adler32 = __webpack_require__(472); - -var TAG_END = /\/?>/; -var COMMENT_START = /^<\!\-\-/; - -var ReactMarkupChecksum = { - CHECKSUM_ATTR_NAME: 'data-react-checksum', - - /** - * @param {string} markup Markup string - * @return {string} Markup string with checksum attribute attached - */ - addChecksumToMarkup: function addChecksumToMarkup(markup) { - var checksum = adler32(markup); - - // Add checksum (handle both parent tags, comments and self-closing tags) - if (COMMENT_START.test(markup)) { - return markup; - } else { - return markup.replace(TAG_END, ' ' + ReactMarkupChecksum.CHECKSUM_ATTR_NAME + '="' + checksum + '"$&'); - } - }, - - /** - * @param {string} markup to use - * @param {DOMElement} element root React element - * @returns {boolean} whether or not the markup is the same - */ - canReuseMarkup: function canReuseMarkup(markup, element) { - var existingChecksum = element.getAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME); - existingChecksum = existingChecksum && parseInt(existingChecksum, 10); - var markupChecksum = adler32(markup); - return markupChecksum === existingChecksum; - } -}; - -module.exports = ReactMarkupChecksum; - -/***/ }), -/* 451 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -var _prodInvariant = __webpack_require__(12); - -var ReactComponentEnvironment = __webpack_require__(131); -var ReactInstanceMap = __webpack_require__(70); -var ReactInstrumentation = __webpack_require__(25); - -var ReactCurrentOwner = __webpack_require__(30); -var ReactReconciler = __webpack_require__(58); -var ReactChildReconciler = __webpack_require__(423); - -var emptyFunction = __webpack_require__(24); -var flattenChildren = __webpack_require__(476); -var invariant = __webpack_require__(10); - -/** - * Make an update for markup to be rendered and inserted at a supplied index. - * - * @param {string} markup Markup that renders into an element. - * @param {number} toIndex Destination index. - * @private - */ -function makeInsertMarkup(markup, afterNode, toIndex) { - // NOTE: Null values reduce hidden classes. - return { - type: 'INSERT_MARKUP', - content: markup, - fromIndex: null, - fromNode: null, - toIndex: toIndex, - afterNode: afterNode - }; -} - -/** - * Make an update for moving an existing element to another index. - * - * @param {number} fromIndex Source index of the existing element. - * @param {number} toIndex Destination index of the element. - * @private - */ -function makeMove(child, afterNode, toIndex) { - // NOTE: Null values reduce hidden classes. - return { - type: 'MOVE_EXISTING', - content: null, - fromIndex: child._mountIndex, - fromNode: ReactReconciler.getHostNode(child), - toIndex: toIndex, - afterNode: afterNode - }; -} - -/** - * Make an update for removing an element at an index. - * - * @param {number} fromIndex Index of the element to remove. - * @private - */ -function makeRemove(child, node) { - // NOTE: Null values reduce hidden classes. - return { - type: 'REMOVE_NODE', - content: null, - fromIndex: child._mountIndex, - fromNode: node, - toIndex: null, - afterNode: null - }; -} - -/** - * Make an update for setting the markup of a node. - * - * @param {string} markup Markup that renders into an element. - * @private - */ -function makeSetMarkup(markup) { - // NOTE: Null values reduce hidden classes. - return { - type: 'SET_MARKUP', - content: markup, - fromIndex: null, - fromNode: null, - toIndex: null, - afterNode: null - }; -} - -/** - * Make an update for setting the text content. - * - * @param {string} textContent Text content to set. - * @private - */ -function makeTextContent(textContent) { - // NOTE: Null values reduce hidden classes. - return { - type: 'TEXT_CONTENT', - content: textContent, - fromIndex: null, - fromNode: null, - toIndex: null, - afterNode: null - }; -} - -/** - * Push an update, if any, onto the queue. Creates a new queue if none is - * passed and always returns the queue. Mutative. - */ -function enqueue(queue, update) { - if (update) { - queue = queue || []; - queue.push(update); - } - return queue; -} - -/** - * Processes any enqueued updates. - * - * @private - */ -function processQueue(inst, updateQueue) { - ReactComponentEnvironment.processChildrenUpdates(inst, updateQueue); -} - -var setChildrenForInstrumentation = emptyFunction; -if (process.env.NODE_ENV !== 'production') { - var getDebugID = function getDebugID(inst) { - if (!inst._debugID) { - // Check for ART-like instances. TODO: This is silly/gross. - var internal; - if (internal = ReactInstanceMap.get(inst)) { - inst = internal; - } - } - return inst._debugID; - }; - setChildrenForInstrumentation = function setChildrenForInstrumentation(children) { - var debugID = getDebugID(this); - // TODO: React Native empty components are also multichild. - // This means they still get into this method but don't have _debugID. - if (debugID !== 0) { - ReactInstrumentation.debugTool.onSetChildren(debugID, children ? Object.keys(children).map(function (key) { - return children[key]._debugID; - }) : []); - } - }; -} - -/** - * ReactMultiChild are capable of reconciling multiple children. - * - * @class ReactMultiChild - * @internal - */ -var ReactMultiChild = { - - /** - * Provides common functionality for components that must reconcile multiple - * children. This is used by `ReactDOMComponent` to mount, update, and - * unmount child components. - * - * @lends {ReactMultiChild.prototype} - */ - Mixin: { - - _reconcilerInstantiateChildren: function _reconcilerInstantiateChildren(nestedChildren, transaction, context) { - if (process.env.NODE_ENV !== 'production') { - var selfDebugID = getDebugID(this); - if (this._currentElement) { - try { - ReactCurrentOwner.current = this._currentElement._owner; - return ReactChildReconciler.instantiateChildren(nestedChildren, transaction, context, selfDebugID); - } finally { - ReactCurrentOwner.current = null; - } - } - } - return ReactChildReconciler.instantiateChildren(nestedChildren, transaction, context); - }, - - _reconcilerUpdateChildren: function _reconcilerUpdateChildren(prevChildren, nextNestedChildrenElements, mountImages, removedNodes, transaction, context) { - var nextChildren; - var selfDebugID = 0; - if (process.env.NODE_ENV !== 'production') { - selfDebugID = getDebugID(this); - if (this._currentElement) { - try { - ReactCurrentOwner.current = this._currentElement._owner; - nextChildren = flattenChildren(nextNestedChildrenElements, selfDebugID); - } finally { - ReactCurrentOwner.current = null; - } - ReactChildReconciler.updateChildren(prevChildren, nextChildren, mountImages, removedNodes, transaction, this, this._hostContainerInfo, context, selfDebugID); - return nextChildren; - } - } - nextChildren = flattenChildren(nextNestedChildrenElements, selfDebugID); - ReactChildReconciler.updateChildren(prevChildren, nextChildren, mountImages, removedNodes, transaction, this, this._hostContainerInfo, context, selfDebugID); - return nextChildren; - }, - - /** - * Generates a "mount image" for each of the supplied children. In the case - * of `ReactDOMComponent`, a mount image is a string of markup. - * - * @param {?object} nestedChildren Nested child maps. - * @return {array} An array of mounted representations. - * @internal - */ - mountChildren: function mountChildren(nestedChildren, transaction, context) { - var children = this._reconcilerInstantiateChildren(nestedChildren, transaction, context); - this._renderedChildren = children; - - var mountImages = []; - var index = 0; - for (var name in children) { - if (children.hasOwnProperty(name)) { - var child = children[name]; - var selfDebugID = 0; - if (process.env.NODE_ENV !== 'production') { - selfDebugID = getDebugID(this); - } - var mountImage = ReactReconciler.mountComponent(child, transaction, this, this._hostContainerInfo, context, selfDebugID); - child._mountIndex = index++; - mountImages.push(mountImage); - } - } - - if (process.env.NODE_ENV !== 'production') { - setChildrenForInstrumentation.call(this, children); - } - - return mountImages; - }, - - /** - * Replaces any rendered children with a text content string. - * - * @param {string} nextContent String of content. - * @internal - */ - updateTextContent: function updateTextContent(nextContent) { - var prevChildren = this._renderedChildren; - // Remove any rendered children. - ReactChildReconciler.unmountChildren(prevChildren, false); - for (var name in prevChildren) { - if (prevChildren.hasOwnProperty(name)) { - true ? process.env.NODE_ENV !== 'production' ? invariant(false, 'updateTextContent called on non-empty component.') : _prodInvariant('118') : void 0; - } - } - // Set new text content. - var updates = [makeTextContent(nextContent)]; - processQueue(this, updates); - }, - - /** - * Replaces any rendered children with a markup string. - * - * @param {string} nextMarkup String of markup. - * @internal - */ - updateMarkup: function updateMarkup(nextMarkup) { - var prevChildren = this._renderedChildren; - // Remove any rendered children. - ReactChildReconciler.unmountChildren(prevChildren, false); - for (var name in prevChildren) { - if (prevChildren.hasOwnProperty(name)) { - true ? process.env.NODE_ENV !== 'production' ? invariant(false, 'updateTextContent called on non-empty component.') : _prodInvariant('118') : void 0; - } - } - var updates = [makeSetMarkup(nextMarkup)]; - processQueue(this, updates); - }, - - /** - * Updates the rendered children with new children. - * - * @param {?object} nextNestedChildrenElements Nested child element maps. - * @param {ReactReconcileTransaction} transaction - * @internal - */ - updateChildren: function updateChildren(nextNestedChildrenElements, transaction, context) { - // Hook used by React ART - this._updateChildren(nextNestedChildrenElements, transaction, context); - }, - - /** - * @param {?object} nextNestedChildrenElements Nested child element maps. - * @param {ReactReconcileTransaction} transaction - * @final - * @protected - */ - _updateChildren: function _updateChildren(nextNestedChildrenElements, transaction, context) { - var prevChildren = this._renderedChildren; - var removedNodes = {}; - var mountImages = []; - var nextChildren = this._reconcilerUpdateChildren(prevChildren, nextNestedChildrenElements, mountImages, removedNodes, transaction, context); - if (!nextChildren && !prevChildren) { - return; - } - var updates = null; - var name; - // `nextIndex` will increment for each child in `nextChildren`, but - // `lastIndex` will be the last index visited in `prevChildren`. - var nextIndex = 0; - var lastIndex = 0; - // `nextMountIndex` will increment for each newly mounted child. - var nextMountIndex = 0; - var lastPlacedNode = null; - for (name in nextChildren) { - if (!nextChildren.hasOwnProperty(name)) { - continue; - } - var prevChild = prevChildren && prevChildren[name]; - var nextChild = nextChildren[name]; - if (prevChild === nextChild) { - updates = enqueue(updates, this.moveChild(prevChild, lastPlacedNode, nextIndex, lastIndex)); - lastIndex = Math.max(prevChild._mountIndex, lastIndex); - prevChild._mountIndex = nextIndex; - } else { - if (prevChild) { - // Update `lastIndex` before `_mountIndex` gets unset by unmounting. - lastIndex = Math.max(prevChild._mountIndex, lastIndex); - // The `removedNodes` loop below will actually remove the child. - } - // The child must be instantiated before it's mounted. - updates = enqueue(updates, this._mountChildAtIndex(nextChild, mountImages[nextMountIndex], lastPlacedNode, nextIndex, transaction, context)); - nextMountIndex++; - } - nextIndex++; - lastPlacedNode = ReactReconciler.getHostNode(nextChild); - } - // Remove children that are no longer present. - for (name in removedNodes) { - if (removedNodes.hasOwnProperty(name)) { - updates = enqueue(updates, this._unmountChild(prevChildren[name], removedNodes[name])); - } - } - if (updates) { - processQueue(this, updates); - } - this._renderedChildren = nextChildren; - - if (process.env.NODE_ENV !== 'production') { - setChildrenForInstrumentation.call(this, nextChildren); - } - }, - - /** - * Unmounts all rendered children. This should be used to clean up children - * when this component is unmounted. It does not actually perform any - * backend operations. - * - * @internal - */ - unmountChildren: function unmountChildren(safely) { - var renderedChildren = this._renderedChildren; - ReactChildReconciler.unmountChildren(renderedChildren, safely); - this._renderedChildren = null; - }, - - /** - * Moves a child component to the supplied index. - * - * @param {ReactComponent} child Component to move. - * @param {number} toIndex Destination index of the element. - * @param {number} lastIndex Last index visited of the siblings of `child`. - * @protected - */ - moveChild: function moveChild(child, afterNode, toIndex, lastIndex) { - // If the index of `child` is less than `lastIndex`, then it needs to - // be moved. Otherwise, we do not need to move it because a child will be - // inserted or moved before `child`. - if (child._mountIndex < lastIndex) { - return makeMove(child, afterNode, toIndex); - } - }, - - /** - * Creates a child component. - * - * @param {ReactComponent} child Component to create. - * @param {string} mountImage Markup to insert. - * @protected - */ - createChild: function createChild(child, afterNode, mountImage) { - return makeInsertMarkup(mountImage, afterNode, child._mountIndex); - }, - - /** - * Removes a child component. - * - * @param {ReactComponent} child Child to remove. - * @protected - */ - removeChild: function removeChild(child, node) { - return makeRemove(child, node); - }, - - /** - * Mounts a child with the supplied name. - * - * NOTE: This is part of `updateChildren` and is here for readability. - * - * @param {ReactComponent} child Component to mount. - * @param {string} name Name of the child. - * @param {number} index Index at which to insert the child. - * @param {ReactReconcileTransaction} transaction - * @private - */ - _mountChildAtIndex: function _mountChildAtIndex(child, mountImage, afterNode, index, transaction, context) { - child._mountIndex = index; - return this.createChild(child, afterNode, mountImage); - }, - - /** - * Unmounts a rendered child. - * - * NOTE: This is part of `updateChildren` and is here for readability. - * - * @param {ReactComponent} child Component to unmount. - * @private - */ - _unmountChild: function _unmountChild(child, node) { - var update = this.removeChild(child, node); - child._mountIndex = null; - return update; - } - - } - -}; - -module.exports = ReactMultiChild; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 452 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - * - */ - - - -var _prodInvariant = __webpack_require__(12); - -var invariant = __webpack_require__(10); - -/** - * @param {?object} object - * @return {boolean} True if `object` is a valid owner. - * @final - */ -function isValidOwner(object) { - return !!(object && typeof object.attachRef === 'function' && typeof object.detachRef === 'function'); -} - -/** - * ReactOwners are capable of storing references to owned components. - * - * All components are capable of //being// referenced by owner components, but - * only ReactOwner components are capable of //referencing// owned components. - * The named reference is known as a "ref". - * - * Refs are available when mounted and updated during reconciliation. - * - * var MyComponent = React.createClass({ - * render: function() { - * return ( - * <div onClick={this.handleClick}> - * <CustomComponent ref="custom" /> - * </div> - * ); - * }, - * handleClick: function() { - * this.refs.custom.handleClick(); - * }, - * componentDidMount: function() { - * this.refs.custom.initialize(); - * } - * }); - * - * Refs should rarely be used. When refs are used, they should only be done to - * control data that is not handled by React's data flow. - * - * @class ReactOwner - */ -var ReactOwner = { - /** - * Adds a component by ref to an owner component. - * - * @param {ReactComponent} component Component to reference. - * @param {string} ref Name by which to refer to the component. - * @param {ReactOwner} owner Component on which to record the ref. - * @final - * @internal - */ - addComponentAsRefTo: function addComponentAsRefTo(component, ref, owner) { - !isValidOwner(owner) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'addComponentAsRefTo(...): Only a ReactOwner can have refs. You might be adding a ref to a component that was not created inside a component\'s `render` method, or you have multiple copies of React loaded (details: https://fb.me/react-refs-must-have-owner).') : _prodInvariant('119') : void 0; - owner.attachRef(ref, component); - }, - - /** - * Removes a component by ref from an owner component. - * - * @param {ReactComponent} component Component to dereference. - * @param {string} ref Name of the ref to remove. - * @param {ReactOwner} owner Component on which the ref is recorded. - * @final - * @internal - */ - removeComponentAsRefFrom: function removeComponentAsRefFrom(component, ref, owner) { - !isValidOwner(owner) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'removeComponentAsRefFrom(...): Only a ReactOwner can have refs. You might be removing a ref to a component that was not created inside a component\'s `render` method, or you have multiple copies of React loaded (details: https://fb.me/react-refs-must-have-owner).') : _prodInvariant('120') : void 0; - var ownerPublicInstance = owner.getPublicInstance(); - // Check that `component`'s owner is still alive and that `component` is still the current ref - // because we do not want to detach the ref if another component stole it. - if (ownerPublicInstance && ownerPublicInstance.refs[ref] === component.getPublicInstance()) { - owner.detachRef(ref); - } - } - -}; - -module.exports = ReactOwner; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 453 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - * - */ - - - -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__(0))) - -/***/ }), -/* 454 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -var _assign = __webpack_require__(14); - -var CallbackQueue = __webpack_require__(203); -var PooledClass = __webpack_require__(44); -var ReactBrowserEventEmitter = __webpack_require__(85); -var ReactInputSelection = __webpack_require__(210); -var ReactInstrumentation = __webpack_require__(25); -var Transaction = __webpack_require__(87); -var ReactUpdateQueue = __webpack_require__(133); - -/** - * Ensures that, when possible, the selection range (currently selected text - * input) is not disturbed by performing the transaction. - */ -var SELECTION_RESTORATION = { - /** - * @return {Selection} Selection information. - */ - initialize: ReactInputSelection.getSelectionInformation, - /** - * @param {Selection} sel Selection information returned from `initialize`. - */ - close: ReactInputSelection.restoreSelection -}; - -/** - * Suppresses events (blur/focus) that could be inadvertently dispatched due to - * high level DOM manipulations (like temporarily removing a text input from the - * DOM). - */ -var EVENT_SUPPRESSION = { - /** - * @return {boolean} The enabled status of `ReactBrowserEventEmitter` before - * the reconciliation. - */ - initialize: function initialize() { - var currentlyEnabled = ReactBrowserEventEmitter.isEnabled(); - ReactBrowserEventEmitter.setEnabled(false); - return currentlyEnabled; - }, - - /** - * @param {boolean} previouslyEnabled Enabled status of - * `ReactBrowserEventEmitter` before the reconciliation occurred. `close` - * restores the previous value. - */ - close: function close(previouslyEnabled) { - ReactBrowserEventEmitter.setEnabled(previouslyEnabled); - } -}; - -/** - * Provides a queue for collecting `componentDidMount` and - * `componentDidUpdate` callbacks during the transaction. - */ -var ON_DOM_READY_QUEUEING = { - /** - * Initializes the internal `onDOMReady` queue. - */ - initialize: function initialize() { - this.reactMountReady.reset(); - }, - - /** - * After DOM is flushed, invoke all registered `onDOMReady` callbacks. - */ - close: function close() { - this.reactMountReady.notifyAll(); - } -}; - -/** - * Executed within the scope of the `Transaction` instance. Consider these as - * being member methods, but with an implied ordering while being isolated from - * each other. - */ -var TRANSACTION_WRAPPERS = [SELECTION_RESTORATION, EVENT_SUPPRESSION, ON_DOM_READY_QUEUEING]; - -if (process.env.NODE_ENV !== 'production') { - TRANSACTION_WRAPPERS.push({ - initialize: ReactInstrumentation.debugTool.onBeginFlush, - close: ReactInstrumentation.debugTool.onEndFlush - }); -} - -/** - * Currently: - * - The order that these are listed in the transaction is critical: - * - Suppresses events. - * - Restores selection range. - * - * Future: - * - Restore document/overflow scroll positions that were unintentionally - * modified via DOM insertions above the top viewport boundary. - * - Implement/integrate with customized constraint based layout system and keep - * track of which dimensions must be remeasured. - * - * @class ReactReconcileTransaction - */ -function ReactReconcileTransaction(useCreateElement) { - this.reinitializeTransaction(); - // Only server-side rendering really needs this option (see - // `ReactServerRendering`), but server-side uses - // `ReactServerRenderingTransaction` instead. This option is here so that it's - // accessible and defaults to false when `ReactDOMComponent` and - // `ReactDOMTextComponent` checks it in `mountComponent`.` - this.renderToStaticMarkup = false; - this.reactMountReady = CallbackQueue.getPooled(null); - this.useCreateElement = useCreateElement; -} - -var Mixin = { - /** - * @see Transaction - * @abstract - * @final - * @return {array<object>} List of operation wrap procedures. - * TODO: convert to array<TransactionWrapper> - */ - getTransactionWrappers: function getTransactionWrappers() { - return TRANSACTION_WRAPPERS; - }, - - /** - * @return {object} The queue to collect `onDOMReady` callbacks with. - */ - getReactMountReady: function getReactMountReady() { - return this.reactMountReady; - }, - - /** - * @return {object} The queue to collect React async events. - */ - getUpdateQueue: function getUpdateQueue() { - return ReactUpdateQueue; - }, - - /** - * Save current transaction state -- if the return value from this method is - * passed to `rollback`, the transaction will be reset to that state. - */ - checkpoint: function checkpoint() { - // reactMountReady is the our only stateful wrapper - return this.reactMountReady.checkpoint(); - }, - - rollback: function rollback(checkpoint) { - this.reactMountReady.rollback(checkpoint); - }, - - /** - * `PooledClass` looks for this, and will invoke this before allowing this - * instance to be reused. - */ - destructor: function destructor() { - CallbackQueue.release(this.reactMountReady); - this.reactMountReady = null; - } -}; - -_assign(ReactReconcileTransaction.prototype, Transaction, Mixin); - -PooledClass.addPoolingTo(ReactReconcileTransaction); - -module.exports = ReactReconcileTransaction; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 455 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - * - */ - - - -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 ReactOwner = __webpack_require__(452); - -var ReactRef = {}; - -function attachRef(ref, component, owner) { - if (typeof ref === 'function') { - ref(component.getPublicInstance()); - } else { - // Legacy ref - ReactOwner.addComponentAsRefTo(component, ref, owner); - } -} - -function detachRef(ref, component, owner) { - if (typeof ref === 'function') { - ref(null); - } else { - // Legacy ref - ReactOwner.removeComponentAsRefFrom(component, ref, owner); - } -} - -ReactRef.attachRefs = function (instance, element) { - if (element === null || (typeof element === 'undefined' ? 'undefined' : _typeof(element)) !== 'object') { - return; - } - var ref = element.ref; - if (ref != null) { - attachRef(ref, instance, element._owner); - } -}; - -ReactRef.shouldUpdateRefs = function (prevElement, nextElement) { - // If either the owner or a `ref` has changed, make sure the newest owner - // has stored a reference to `this`, and the previous owner (if different) - // has forgotten the reference to `this`. We use the element instead - // of the public this.props because the post processing cannot determine - // a ref. The ref conceptually lives on the element. - - // TODO: Should this even be possible? The owner cannot change because - // it's forbidden by shouldUpdateReactComponent. The ref can change - // if you swap the keys of but not the refs. Reconsider where this check - // is made. It probably belongs where the key checking and - // instantiateReactComponent is done. - - var prevRef = null; - var prevOwner = null; - if (prevElement !== null && (typeof prevElement === 'undefined' ? 'undefined' : _typeof(prevElement)) === 'object') { - prevRef = prevElement.ref; - prevOwner = prevElement._owner; - } - - var nextRef = null; - var nextOwner = null; - if (nextElement !== null && (typeof nextElement === 'undefined' ? 'undefined' : _typeof(nextElement)) === 'object') { - nextRef = nextElement.ref; - nextOwner = nextElement._owner; - } - - return prevRef !== nextRef || - // If owner changes but we have an unchanged function ref, don't update refs - typeof nextRef === 'string' && nextOwner !== prevOwner; -}; - -ReactRef.detachRefs = function (instance, element) { - if (element === null || (typeof element === 'undefined' ? 'undefined' : _typeof(element)) !== 'object') { - return; - } - var ref = element.ref; - if (ref != null) { - detachRef(ref, instance, element._owner); - } -}; - -module.exports = ReactRef; - -/***/ }), -/* 456 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -var _assign = __webpack_require__(14); - -var PooledClass = __webpack_require__(44); -var Transaction = __webpack_require__(87); -var ReactInstrumentation = __webpack_require__(25); -var ReactServerUpdateQueue = __webpack_require__(457); - -/** - * Executed within the scope of the `Transaction` instance. Consider these as - * being member methods, but with an implied ordering while being isolated from - * each other. - */ -var TRANSACTION_WRAPPERS = []; - -if (process.env.NODE_ENV !== 'production') { - TRANSACTION_WRAPPERS.push({ - initialize: ReactInstrumentation.debugTool.onBeginFlush, - close: ReactInstrumentation.debugTool.onEndFlush - }); -} - -var noopCallbackQueue = { - enqueue: function enqueue() {} -}; - -/** - * @class ReactServerRenderingTransaction - * @param {boolean} renderToStaticMarkup - */ -function ReactServerRenderingTransaction(renderToStaticMarkup) { - this.reinitializeTransaction(); - this.renderToStaticMarkup = renderToStaticMarkup; - this.useCreateElement = false; - this.updateQueue = new ReactServerUpdateQueue(this); -} - -var Mixin = { - /** - * @see Transaction - * @abstract - * @final - * @return {array} Empty list of operation wrap procedures. - */ - getTransactionWrappers: function getTransactionWrappers() { - return TRANSACTION_WRAPPERS; - }, - - /** - * @return {object} The queue to collect `onDOMReady` callbacks with. - */ - getReactMountReady: function getReactMountReady() { - return noopCallbackQueue; - }, - - /** - * @return {object} The queue to collect React async events. - */ - getUpdateQueue: function getUpdateQueue() { - return this.updateQueue; - }, - - /** - * `PooledClass` looks for this, and will invoke this before allowing this - * instance to be reused. - */ - destructor: function destructor() {}, - - checkpoint: function checkpoint() {}, - - rollback: function rollback() {} -}; - -_assign(ReactServerRenderingTransaction.prototype, Transaction, Mixin); - -PooledClass.addPoolingTo(ReactServerRenderingTransaction); - -module.exports = ReactServerRenderingTransaction; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 457 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - * - */ - - - -function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} - -var ReactUpdateQueue = __webpack_require__(133); - -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 mounting component. ' + 'This usually means you called %s() outside componentWillMount() on the server. ' + '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 update queue used for server rendering. - * It delegates to ReactUpdateQueue while server rendering is in progress and - * switches to ReactNoopUpdateQueue after the transaction has completed. - * @class ReactServerUpdateQueue - * @param {Transaction} transaction - */ - -var ReactServerUpdateQueue = function () { - function ReactServerUpdateQueue(transaction) { - _classCallCheck(this, ReactServerUpdateQueue); - - this.transaction = transaction; - } - - /** - * 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 - */ - - ReactServerUpdateQueue.prototype.isMounted = function isMounted(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 - */ - - ReactServerUpdateQueue.prototype.enqueueCallback = function enqueueCallback(publicInstance, callback, callerName) { - if (this.transaction.isInTransaction()) { - ReactUpdateQueue.enqueueCallback(publicInstance, callback, callerName); - } - }; - - /** - * 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 - */ - - ReactServerUpdateQueue.prototype.enqueueForceUpdate = function enqueueForceUpdate(publicInstance) { - if (this.transaction.isInTransaction()) { - ReactUpdateQueue.enqueueForceUpdate(publicInstance); - } else { - 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|function} completeState Next state. - * @internal - */ - - ReactServerUpdateQueue.prototype.enqueueReplaceState = function enqueueReplaceState(publicInstance, completeState) { - if (this.transaction.isInTransaction()) { - ReactUpdateQueue.enqueueReplaceState(publicInstance, completeState); - } else { - 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|function} partialState Next partial state to be merged with state. - * @internal - */ - - ReactServerUpdateQueue.prototype.enqueueSetState = function enqueueSetState(publicInstance, partialState) { - if (this.transaction.isInTransaction()) { - ReactUpdateQueue.enqueueSetState(publicInstance, partialState); - } else { - warnNoop(publicInstance, 'setState'); - } - }; - - return ReactServerUpdateQueue; -}(); - -module.exports = ReactServerUpdateQueue; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 458 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -module.exports = '15.5.4'; - -/***/ }), -/* 459 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var NS = { - xlink: 'http://www.w3.org/1999/xlink', - xml: 'http://www.w3.org/XML/1998/namespace' -}; - -// We use attributes for everything SVG so let's avoid some duplication and run -// code instead. -// The following are all specified in the HTML config already so we exclude here. -// - class (as className) -// - color -// - height -// - id -// - lang -// - max -// - media -// - method -// - min -// - name -// - style -// - target -// - type -// - width -var ATTRS = { - accentHeight: 'accent-height', - accumulate: 0, - additive: 0, - alignmentBaseline: 'alignment-baseline', - allowReorder: 'allowReorder', - alphabetic: 0, - amplitude: 0, - arabicForm: 'arabic-form', - ascent: 0, - attributeName: 'attributeName', - attributeType: 'attributeType', - autoReverse: 'autoReverse', - azimuth: 0, - baseFrequency: 'baseFrequency', - baseProfile: 'baseProfile', - baselineShift: 'baseline-shift', - bbox: 0, - begin: 0, - bias: 0, - by: 0, - calcMode: 'calcMode', - capHeight: 'cap-height', - clip: 0, - clipPath: 'clip-path', - clipRule: 'clip-rule', - clipPathUnits: 'clipPathUnits', - colorInterpolation: 'color-interpolation', - colorInterpolationFilters: 'color-interpolation-filters', - colorProfile: 'color-profile', - colorRendering: 'color-rendering', - contentScriptType: 'contentScriptType', - contentStyleType: 'contentStyleType', - cursor: 0, - cx: 0, - cy: 0, - d: 0, - decelerate: 0, - descent: 0, - diffuseConstant: 'diffuseConstant', - direction: 0, - display: 0, - divisor: 0, - dominantBaseline: 'dominant-baseline', - dur: 0, - dx: 0, - dy: 0, - edgeMode: 'edgeMode', - elevation: 0, - enableBackground: 'enable-background', - end: 0, - exponent: 0, - externalResourcesRequired: 'externalResourcesRequired', - fill: 0, - fillOpacity: 'fill-opacity', - fillRule: 'fill-rule', - filter: 0, - filterRes: 'filterRes', - filterUnits: 'filterUnits', - floodColor: 'flood-color', - floodOpacity: 'flood-opacity', - focusable: 0, - fontFamily: 'font-family', - fontSize: 'font-size', - fontSizeAdjust: 'font-size-adjust', - fontStretch: 'font-stretch', - fontStyle: 'font-style', - fontVariant: 'font-variant', - fontWeight: 'font-weight', - format: 0, - from: 0, - fx: 0, - fy: 0, - g1: 0, - g2: 0, - glyphName: 'glyph-name', - glyphOrientationHorizontal: 'glyph-orientation-horizontal', - glyphOrientationVertical: 'glyph-orientation-vertical', - glyphRef: 'glyphRef', - gradientTransform: 'gradientTransform', - gradientUnits: 'gradientUnits', - hanging: 0, - horizAdvX: 'horiz-adv-x', - horizOriginX: 'horiz-origin-x', - ideographic: 0, - imageRendering: 'image-rendering', - 'in': 0, - in2: 0, - intercept: 0, - k: 0, - k1: 0, - k2: 0, - k3: 0, - k4: 0, - kernelMatrix: 'kernelMatrix', - kernelUnitLength: 'kernelUnitLength', - kerning: 0, - keyPoints: 'keyPoints', - keySplines: 'keySplines', - keyTimes: 'keyTimes', - lengthAdjust: 'lengthAdjust', - letterSpacing: 'letter-spacing', - lightingColor: 'lighting-color', - limitingConeAngle: 'limitingConeAngle', - local: 0, - markerEnd: 'marker-end', - markerMid: 'marker-mid', - markerStart: 'marker-start', - markerHeight: 'markerHeight', - markerUnits: 'markerUnits', - markerWidth: 'markerWidth', - mask: 0, - maskContentUnits: 'maskContentUnits', - maskUnits: 'maskUnits', - mathematical: 0, - mode: 0, - numOctaves: 'numOctaves', - offset: 0, - opacity: 0, - operator: 0, - order: 0, - orient: 0, - orientation: 0, - origin: 0, - overflow: 0, - overlinePosition: 'overline-position', - overlineThickness: 'overline-thickness', - paintOrder: 'paint-order', - panose1: 'panose-1', - pathLength: 'pathLength', - patternContentUnits: 'patternContentUnits', - patternTransform: 'patternTransform', - patternUnits: 'patternUnits', - pointerEvents: 'pointer-events', - points: 0, - pointsAtX: 'pointsAtX', - pointsAtY: 'pointsAtY', - pointsAtZ: 'pointsAtZ', - preserveAlpha: 'preserveAlpha', - preserveAspectRatio: 'preserveAspectRatio', - primitiveUnits: 'primitiveUnits', - r: 0, - radius: 0, - refX: 'refX', - refY: 'refY', - renderingIntent: 'rendering-intent', - repeatCount: 'repeatCount', - repeatDur: 'repeatDur', - requiredExtensions: 'requiredExtensions', - requiredFeatures: 'requiredFeatures', - restart: 0, - result: 0, - rotate: 0, - rx: 0, - ry: 0, - scale: 0, - seed: 0, - shapeRendering: 'shape-rendering', - slope: 0, - spacing: 0, - specularConstant: 'specularConstant', - specularExponent: 'specularExponent', - speed: 0, - spreadMethod: 'spreadMethod', - startOffset: 'startOffset', - stdDeviation: 'stdDeviation', - stemh: 0, - stemv: 0, - stitchTiles: 'stitchTiles', - stopColor: 'stop-color', - stopOpacity: 'stop-opacity', - strikethroughPosition: 'strikethrough-position', - strikethroughThickness: 'strikethrough-thickness', - string: 0, - stroke: 0, - strokeDasharray: 'stroke-dasharray', - strokeDashoffset: 'stroke-dashoffset', - strokeLinecap: 'stroke-linecap', - strokeLinejoin: 'stroke-linejoin', - strokeMiterlimit: 'stroke-miterlimit', - strokeOpacity: 'stroke-opacity', - strokeWidth: 'stroke-width', - surfaceScale: 'surfaceScale', - systemLanguage: 'systemLanguage', - tableValues: 'tableValues', - targetX: 'targetX', - targetY: 'targetY', - textAnchor: 'text-anchor', - textDecoration: 'text-decoration', - textRendering: 'text-rendering', - textLength: 'textLength', - to: 0, - transform: 0, - u1: 0, - u2: 0, - underlinePosition: 'underline-position', - underlineThickness: 'underline-thickness', - unicode: 0, - unicodeBidi: 'unicode-bidi', - unicodeRange: 'unicode-range', - unitsPerEm: 'units-per-em', - vAlphabetic: 'v-alphabetic', - vHanging: 'v-hanging', - vIdeographic: 'v-ideographic', - vMathematical: 'v-mathematical', - values: 0, - vectorEffect: 'vector-effect', - version: 0, - vertAdvY: 'vert-adv-y', - vertOriginX: 'vert-origin-x', - vertOriginY: 'vert-origin-y', - viewBox: 'viewBox', - viewTarget: 'viewTarget', - visibility: 0, - widths: 0, - wordSpacing: 'word-spacing', - writingMode: 'writing-mode', - x: 0, - xHeight: 'x-height', - x1: 0, - x2: 0, - xChannelSelector: 'xChannelSelector', - xlinkActuate: 'xlink:actuate', - xlinkArcrole: 'xlink:arcrole', - xlinkHref: 'xlink:href', - xlinkRole: 'xlink:role', - xlinkShow: 'xlink:show', - xlinkTitle: 'xlink:title', - xlinkType: 'xlink:type', - xmlBase: 'xml:base', - xmlns: 0, - xmlnsXlink: 'xmlns:xlink', - xmlLang: 'xml:lang', - xmlSpace: 'xml:space', - y: 0, - y1: 0, - y2: 0, - yChannelSelector: 'yChannelSelector', - z: 0, - zoomAndPan: 'zoomAndPan' -}; - -var SVGDOMPropertyConfig = { - Properties: {}, - DOMAttributeNamespaces: { - xlinkActuate: NS.xlink, - xlinkArcrole: NS.xlink, - xlinkHref: NS.xlink, - xlinkRole: NS.xlink, - xlinkShow: NS.xlink, - xlinkTitle: NS.xlink, - xlinkType: NS.xlink, - xmlBase: NS.xml, - xmlLang: NS.xml, - xmlSpace: NS.xml - }, - DOMAttributeNames: {} -}; - -Object.keys(ATTRS).forEach(function (key) { - SVGDOMPropertyConfig.Properties[key] = 0; - if (ATTRS[key]) { - SVGDOMPropertyConfig.DOMAttributeNames[key] = ATTRS[key]; - } -}); - -module.exports = SVGDOMPropertyConfig; - -/***/ }), -/* 460 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var EventPropagators = __webpack_require__(69); -var ExecutionEnvironment = __webpack_require__(18); -var ReactDOMComponentTree = __webpack_require__(15); -var ReactInputSelection = __webpack_require__(210); -var SyntheticEvent = __webpack_require__(32); - -var getActiveElement = __webpack_require__(174); -var isTextInputElement = __webpack_require__(220); -var shallowEqual = __webpack_require__(113); - -var skipSelectionChangeEvent = ExecutionEnvironment.canUseDOM && 'documentMode' in document && document.documentMode <= 11; - -var eventTypes = { - select: { - phasedRegistrationNames: { - bubbled: 'onSelect', - captured: 'onSelectCapture' - }, - dependencies: ['topBlur', 'topContextMenu', 'topFocus', 'topKeyDown', 'topKeyUp', 'topMouseDown', 'topMouseUp', 'topSelectionChange'] - } -}; - -var activeElement = null; -var activeElementInst = null; -var lastSelection = null; -var mouseDown = false; - -// Track whether a listener exists for this plugin. If none exist, we do -// not extract events. See #3639. -var hasListener = false; - -/** - * Get an object which is a unique representation of the current selection. - * - * The return value will not be consistent across nodes or browsers, but - * two identical selections on the same node will return identical objects. - * - * @param {DOMElement} node - * @return {object} - */ -function getSelection(node) { - if ('selectionStart' in node && ReactInputSelection.hasSelectionCapabilities(node)) { - return { - start: node.selectionStart, - end: node.selectionEnd - }; - } else if (window.getSelection) { - var selection = window.getSelection(); - return { - anchorNode: selection.anchorNode, - anchorOffset: selection.anchorOffset, - focusNode: selection.focusNode, - focusOffset: selection.focusOffset - }; - } else if (document.selection) { - var range = document.selection.createRange(); - return { - parentElement: range.parentElement(), - text: range.text, - top: range.boundingTop, - left: range.boundingLeft - }; - } -} - -/** - * Poll selection to see whether it's changed. - * - * @param {object} nativeEvent - * @return {?SyntheticEvent} - */ -function constructSelectEvent(nativeEvent, nativeEventTarget) { - // Ensure we have the right element, and that the user is not dragging a - // selection (this matches native `select` event behavior). In HTML5, select - // fires only on input and textarea thus if there's no focused element we - // won't dispatch. - if (mouseDown || activeElement == null || activeElement !== getActiveElement()) { - return null; - } - - // Only fire when selection has actually changed. - var currentSelection = getSelection(activeElement); - if (!lastSelection || !shallowEqual(lastSelection, currentSelection)) { - lastSelection = currentSelection; - - var syntheticEvent = SyntheticEvent.getPooled(eventTypes.select, activeElementInst, nativeEvent, nativeEventTarget); - - syntheticEvent.type = 'select'; - syntheticEvent.target = activeElement; - - EventPropagators.accumulateTwoPhaseDispatches(syntheticEvent); - - return syntheticEvent; - } - - return null; -} - -/** - * This plugin creates an `onSelect` event that normalizes select events - * across form elements. - * - * Supported elements are: - * - input (see `isTextInputElement`) - * - textarea - * - contentEditable - * - * This differs from native browser implementations in the following ways: - * - Fires on contentEditable fields as well as inputs. - * - Fires for collapsed selection. - * - Fires after user input. - */ -var SelectEventPlugin = { - - eventTypes: eventTypes, - - extractEvents: function extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget) { - if (!hasListener) { - return null; - } - - var targetNode = targetInst ? ReactDOMComponentTree.getNodeFromInstance(targetInst) : window; - - switch (topLevelType) { - // Track the input node that has focus. - case 'topFocus': - if (isTextInputElement(targetNode) || targetNode.contentEditable === 'true') { - activeElement = targetNode; - activeElementInst = targetInst; - lastSelection = null; - } - break; - case 'topBlur': - activeElement = null; - 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': - mouseDown = true; - break; - case 'topContextMenu': - 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. - // - // Firefox doesn't support selectionchange, so check selection status - // after each key entry. The selection changes after keydown and before - // keyup, but we check on keydown as well in the case of holding down a - // key, when multiple keydown events are fired but only one keyup is. - // This is also our approach for IE handling, for the reason above. - case 'topSelectionChange': - if (skipSelectionChangeEvent) { - break; - } - // falls through - case 'topKeyDown': - case 'topKeyUp': - return constructSelectEvent(nativeEvent, nativeEventTarget); - } - - return null; - }, - - didPutListener: function didPutListener(inst, registrationName, listener) { - if (registrationName === 'onSelect') { - hasListener = true; - } - } -}; - -module.exports = SelectEventPlugin; - -/***/ }), -/* 461 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - * - */ - - - -var _prodInvariant = __webpack_require__(12); - -var EventListener = __webpack_require__(172); -var EventPropagators = __webpack_require__(69); -var ReactDOMComponentTree = __webpack_require__(15); -var SyntheticAnimationEvent = __webpack_require__(462); -var SyntheticClipboardEvent = __webpack_require__(463); -var SyntheticEvent = __webpack_require__(32); -var SyntheticFocusEvent = __webpack_require__(466); -var SyntheticKeyboardEvent = __webpack_require__(468); -var SyntheticMouseEvent = __webpack_require__(86); -var SyntheticDragEvent = __webpack_require__(465); -var SyntheticTouchEvent = __webpack_require__(469); -var SyntheticTransitionEvent = __webpack_require__(470); -var SyntheticUIEvent = __webpack_require__(71); -var SyntheticWheelEvent = __webpack_require__(471); - -var emptyFunction = __webpack_require__(24); -var getEventCharCode = __webpack_require__(135); -var invariant = __webpack_require__(10); - -/** - * Turns - * ['abort', ...] - * into - * eventTypes = { - * 'abort': { - * phasedRegistrationNames: { - * bubbled: 'onAbort', - * captured: 'onAbortCapture', - * }, - * dependencies: ['topAbort'], - * }, - * ... - * }; - * topLevelEventsToDispatchConfig = { - * 'topAbort': { sameConfig } - * }; - */ -var eventTypes = {}; -var topLevelEventsToDispatchConfig = {}; -['abort', 'animationEnd', 'animationIteration', 'animationStart', 'blur', 'canPlay', 'canPlayThrough', 'click', 'contextMenu', 'copy', 'cut', 'doubleClick', 'drag', 'dragEnd', 'dragEnter', 'dragExit', 'dragLeave', 'dragOver', 'dragStart', 'drop', 'durationChange', 'emptied', 'encrypted', 'ended', 'error', 'focus', 'input', 'invalid', 'keyDown', 'keyPress', 'keyUp', 'load', 'loadedData', 'loadedMetadata', 'loadStart', 'mouseDown', 'mouseMove', 'mouseOut', 'mouseOver', 'mouseUp', 'paste', 'pause', 'play', 'playing', 'progress', 'rateChange', 'reset', 'scroll', 'seeked', 'seeking', 'stalled', 'submit', 'suspend', 'timeUpdate', 'touchCancel', 'touchEnd', 'touchMove', 'touchStart', 'transitionEnd', 'volumeChange', 'waiting', 'wheel'].forEach(function (event) { - var capitalizedEvent = event[0].toUpperCase() + event.slice(1); - var onEvent = 'on' + capitalizedEvent; - var topEvent = 'top' + capitalizedEvent; - - var type = { - phasedRegistrationNames: { - bubbled: onEvent, - captured: onEvent + 'Capture' - }, - dependencies: [topEvent] - }; - eventTypes[event] = type; - topLevelEventsToDispatchConfig[topEvent] = type; -}); - -var onClickListeners = {}; - -function getDictionaryKey(inst) { - // Prevents V8 performance issue: - // https://github.com/facebook/react/pull/7232 - return '.' + inst._rootNodeID; -} - -function isInteractive(tag) { - return tag === 'button' || tag === 'input' || tag === 'select' || tag === 'textarea'; -} - -var SimpleEventPlugin = { - - eventTypes: eventTypes, - - extractEvents: function extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget) { - var dispatchConfig = topLevelEventsToDispatchConfig[topLevelType]; - if (!dispatchConfig) { - return null; - } - var EventConstructor; - switch (topLevelType) { - case 'topAbort': - case 'topCanPlay': - case 'topCanPlayThrough': - case 'topDurationChange': - case 'topEmptied': - case 'topEncrypted': - case 'topEnded': - case 'topError': - case 'topInput': - case 'topInvalid': - case 'topLoad': - case 'topLoadedData': - case 'topLoadedMetadata': - case 'topLoadStart': - case 'topPause': - case 'topPlay': - case 'topPlaying': - case 'topProgress': - case 'topRateChange': - case 'topReset': - case 'topSeeked': - case 'topSeeking': - case 'topStalled': - case 'topSubmit': - case 'topSuspend': - case 'topTimeUpdate': - case 'topVolumeChange': - case 'topWaiting': - // HTML Events - // @see http://www.w3.org/TR/html5/index.html#events-0 - EventConstructor = SyntheticEvent; - break; - case 'topKeyPress': - // Firefox creates a keypress event for function keys too. This removes - // the unwanted keypress events. Enter is however both printable and - // non-printable. One would expect Tab to be as well (but it isn't). - if (getEventCharCode(nativeEvent) === 0) { - return null; - } - /* falls through */ - case 'topKeyDown': - case 'topKeyUp': - EventConstructor = SyntheticKeyboardEvent; - break; - case 'topBlur': - case 'topFocus': - EventConstructor = SyntheticFocusEvent; - break; - case 'topClick': - // Firefox creates a click event on right mouse clicks. This removes the - // unwanted click events. - if (nativeEvent.button === 2) { - return null; - } - /* falls through */ - case 'topDoubleClick': - case 'topMouseDown': - case 'topMouseMove': - case 'topMouseUp': - // TODO: Disabled elements should not respond to mouse events - /* falls through */ - case 'topMouseOut': - case 'topMouseOver': - case 'topContextMenu': - EventConstructor = SyntheticMouseEvent; - break; - case 'topDrag': - case 'topDragEnd': - case 'topDragEnter': - case 'topDragExit': - case 'topDragLeave': - case 'topDragOver': - case 'topDragStart': - case 'topDrop': - EventConstructor = SyntheticDragEvent; - break; - case 'topTouchCancel': - case 'topTouchEnd': - case 'topTouchMove': - case 'topTouchStart': - EventConstructor = SyntheticTouchEvent; - break; - case 'topAnimationEnd': - case 'topAnimationIteration': - case 'topAnimationStart': - EventConstructor = SyntheticAnimationEvent; - break; - case 'topTransitionEnd': - EventConstructor = SyntheticTransitionEvent; - break; - case 'topScroll': - EventConstructor = SyntheticUIEvent; - break; - case 'topWheel': - EventConstructor = SyntheticWheelEvent; - break; - case 'topCopy': - case 'topCut': - case 'topPaste': - EventConstructor = SyntheticClipboardEvent; - break; - } - !EventConstructor ? process.env.NODE_ENV !== 'production' ? invariant(false, 'SimpleEventPlugin: Unhandled event type, `%s`.', topLevelType) : _prodInvariant('86', topLevelType) : void 0; - var event = EventConstructor.getPooled(dispatchConfig, targetInst, nativeEvent, nativeEventTarget); - EventPropagators.accumulateTwoPhaseDispatches(event); - return event; - }, - - didPutListener: function didPutListener(inst, registrationName, listener) { - // Mobile Safari does not fire properly bubble click events on - // non-interactive elements, which means delegated click listeners do not - // fire. The workaround for this bug involves attaching an empty click - // listener on the target node. - // http://www.quirksmode.org/blog/archives/2010/09/click_event_del.html - if (registrationName === 'onClick' && !isInteractive(inst._tag)) { - var key = getDictionaryKey(inst); - var node = ReactDOMComponentTree.getNodeFromInstance(inst); - if (!onClickListeners[key]) { - onClickListeners[key] = EventListener.listen(node, 'click', emptyFunction); - } - } - }, - - willDeleteListener: function willDeleteListener(inst, registrationName) { - if (registrationName === 'onClick' && !isInteractive(inst._tag)) { - var key = getDictionaryKey(inst); - onClickListeners[key].remove(); - delete onClickListeners[key]; - } - } - -}; - -module.exports = SimpleEventPlugin; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 462 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var SyntheticEvent = __webpack_require__(32); - -/** - * @interface Event - * @see http://www.w3.org/TR/css3-animations/#AnimationEvent-interface - * @see https://developer.mozilla.org/en-US/docs/Web/API/AnimationEvent - */ -var AnimationEventInterface = { - animationName: null, - elapsedTime: null, - pseudoElement: null -}; - -/** - * @param {object} dispatchConfig Configuration used to dispatch this event. - * @param {string} dispatchMarker Marker identifying the event target. - * @param {object} nativeEvent Native browser event. - * @extends {SyntheticEvent} - */ -function SyntheticAnimationEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) { - return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget); -} - -SyntheticEvent.augmentClass(SyntheticAnimationEvent, AnimationEventInterface); - -module.exports = SyntheticAnimationEvent; - -/***/ }), -/* 463 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var SyntheticEvent = __webpack_require__(32); - -/** - * @interface Event - * @see http://www.w3.org/TR/clipboard-apis/ - */ -var ClipboardEventInterface = { - clipboardData: function clipboardData(event) { - return 'clipboardData' in event ? event.clipboardData : window.clipboardData; - } -}; - -/** - * @param {object} dispatchConfig Configuration used to dispatch this event. - * @param {string} dispatchMarker Marker identifying the event target. - * @param {object} nativeEvent Native browser event. - * @extends {SyntheticUIEvent} - */ -function SyntheticClipboardEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) { - return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget); -} - -SyntheticEvent.augmentClass(SyntheticClipboardEvent, ClipboardEventInterface); - -module.exports = SyntheticClipboardEvent; - -/***/ }), -/* 464 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var SyntheticEvent = __webpack_require__(32); - -/** - * @interface Event - * @see http://www.w3.org/TR/DOM-Level-3-Events/#events-compositionevents - */ -var CompositionEventInterface = { - data: null -}; - -/** - * @param {object} dispatchConfig Configuration used to dispatch this event. - * @param {string} dispatchMarker Marker identifying the event target. - * @param {object} nativeEvent Native browser event. - * @extends {SyntheticUIEvent} - */ -function SyntheticCompositionEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) { - return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget); -} - -SyntheticEvent.augmentClass(SyntheticCompositionEvent, CompositionEventInterface); - -module.exports = SyntheticCompositionEvent; - -/***/ }), -/* 465 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var SyntheticMouseEvent = __webpack_require__(86); - -/** - * @interface DragEvent - * @see http://www.w3.org/TR/DOM-Level-3-Events/ - */ -var DragEventInterface = { - dataTransfer: null -}; - -/** - * @param {object} dispatchConfig Configuration used to dispatch this event. - * @param {string} dispatchMarker Marker identifying the event target. - * @param {object} nativeEvent Native browser event. - * @extends {SyntheticUIEvent} - */ -function SyntheticDragEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) { - return SyntheticMouseEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget); -} - -SyntheticMouseEvent.augmentClass(SyntheticDragEvent, DragEventInterface); - -module.exports = SyntheticDragEvent; - -/***/ }), -/* 466 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var SyntheticUIEvent = __webpack_require__(71); - -/** - * @interface FocusEvent - * @see http://www.w3.org/TR/DOM-Level-3-Events/ - */ -var FocusEventInterface = { - relatedTarget: null -}; - -/** - * @param {object} dispatchConfig Configuration used to dispatch this event. - * @param {string} dispatchMarker Marker identifying the event target. - * @param {object} nativeEvent Native browser event. - * @extends {SyntheticUIEvent} - */ -function SyntheticFocusEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) { - return SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget); -} - -SyntheticUIEvent.augmentClass(SyntheticFocusEvent, FocusEventInterface); - -module.exports = SyntheticFocusEvent; - -/***/ }), -/* 467 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var SyntheticEvent = __webpack_require__(32); - -/** - * @interface Event - * @see http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105 - * /#events-inputevents - */ -var InputEventInterface = { - data: null -}; - -/** - * @param {object} dispatchConfig Configuration used to dispatch this event. - * @param {string} dispatchMarker Marker identifying the event target. - * @param {object} nativeEvent Native browser event. - * @extends {SyntheticUIEvent} - */ -function SyntheticInputEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) { - return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget); -} - -SyntheticEvent.augmentClass(SyntheticInputEvent, InputEventInterface); - -module.exports = SyntheticInputEvent; - -/***/ }), -/* 468 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var SyntheticUIEvent = __webpack_require__(71); - -var getEventCharCode = __webpack_require__(135); -var getEventKey = __webpack_require__(477); -var getEventModifierState = __webpack_require__(136); - -/** - * @interface KeyboardEvent - * @see http://www.w3.org/TR/DOM-Level-3-Events/ - */ -var KeyboardEventInterface = { - key: getEventKey, - location: null, - ctrlKey: null, - shiftKey: null, - altKey: null, - metaKey: null, - repeat: null, - locale: null, - getModifierState: getEventModifierState, - // Legacy Interface - charCode: function charCode(event) { - // `charCode` is the result of a KeyPress event and represents the value of - // the actual printable character. - - // KeyPress is deprecated, but its replacement is not yet final and not - // implemented in any major browser. Only KeyPress has charCode. - if (event.type === 'keypress') { - return getEventCharCode(event); - } - return 0; - }, - keyCode: function keyCode(event) { - // `keyCode` is the result of a KeyDown/Up event and represents the value of - // physical keyboard key. - - // The actual meaning of the value depends on the users' keyboard layout - // which cannot be detected. Assuming that it is a US keyboard layout - // provides a surprisingly accurate mapping for US and European users. - // Due to this, it is left to the user to implement at this time. - if (event.type === 'keydown' || event.type === 'keyup') { - return event.keyCode; - } - return 0; - }, - which: function which(event) { - // `which` is an alias for either `keyCode` or `charCode` depending on the - // type of the event. - if (event.type === 'keypress') { - return getEventCharCode(event); - } - if (event.type === 'keydown' || event.type === 'keyup') { - return event.keyCode; - } - return 0; - } -}; - -/** - * @param {object} dispatchConfig Configuration used to dispatch this event. - * @param {string} dispatchMarker Marker identifying the event target. - * @param {object} nativeEvent Native browser event. - * @extends {SyntheticUIEvent} - */ -function SyntheticKeyboardEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) { - return SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget); -} - -SyntheticUIEvent.augmentClass(SyntheticKeyboardEvent, KeyboardEventInterface); - -module.exports = SyntheticKeyboardEvent; - -/***/ }), -/* 469 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var SyntheticUIEvent = __webpack_require__(71); - -var getEventModifierState = __webpack_require__(136); - -/** - * @interface TouchEvent - * @see http://www.w3.org/TR/touch-events/ - */ -var TouchEventInterface = { - touches: null, - targetTouches: null, - changedTouches: null, - altKey: null, - metaKey: null, - ctrlKey: null, - shiftKey: null, - getModifierState: getEventModifierState -}; - -/** - * @param {object} dispatchConfig Configuration used to dispatch this event. - * @param {string} dispatchMarker Marker identifying the event target. - * @param {object} nativeEvent Native browser event. - * @extends {SyntheticUIEvent} - */ -function SyntheticTouchEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) { - return SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget); -} - -SyntheticUIEvent.augmentClass(SyntheticTouchEvent, TouchEventInterface); - -module.exports = SyntheticTouchEvent; - -/***/ }), -/* 470 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var SyntheticEvent = __webpack_require__(32); - -/** - * @interface Event - * @see http://www.w3.org/TR/2009/WD-css3-transitions-20090320/#transition-events- - * @see https://developer.mozilla.org/en-US/docs/Web/API/TransitionEvent - */ -var TransitionEventInterface = { - propertyName: null, - elapsedTime: null, - pseudoElement: null -}; - -/** - * @param {object} dispatchConfig Configuration used to dispatch this event. - * @param {string} dispatchMarker Marker identifying the event target. - * @param {object} nativeEvent Native browser event. - * @extends {SyntheticEvent} - */ -function SyntheticTransitionEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) { - return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget); -} - -SyntheticEvent.augmentClass(SyntheticTransitionEvent, TransitionEventInterface); - -module.exports = SyntheticTransitionEvent; - -/***/ }), -/* 471 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var SyntheticMouseEvent = __webpack_require__(86); - -/** - * @interface WheelEvent - * @see http://www.w3.org/TR/DOM-Level-3-Events/ - */ -var WheelEventInterface = { - deltaX: function deltaX(event) { - return 'deltaX' in event ? event.deltaX : - // Fallback to `wheelDeltaX` for Webkit and normalize (right is positive). - 'wheelDeltaX' in event ? -event.wheelDeltaX : 0; - }, - deltaY: function deltaY(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). - 'wheelDelta' in event ? -event.wheelDelta : 0; - }, - deltaZ: null, - - // Browsers without "deltaMode" is reporting in raw wheel delta where one - // notch on the scroll is always +/- 120, roughly equivalent to pixels. - // A good approximation of DOM_DELTA_LINE (1) is 5% of viewport size or - // ~40 pixels, for DOM_DELTA_SCREEN (2) it is 87.5% of viewport size. - deltaMode: null -}; - -/** - * @param {object} dispatchConfig Configuration used to dispatch this event. - * @param {string} dispatchMarker Marker identifying the event target. - * @param {object} nativeEvent Native browser event. - * @extends {SyntheticMouseEvent} - */ -function SyntheticWheelEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) { - return SyntheticMouseEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget); -} - -SyntheticMouseEvent.augmentClass(SyntheticWheelEvent, WheelEventInterface); - -module.exports = SyntheticWheelEvent; - -/***/ }), -/* 472 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - * - */ - - - -var MOD = 65521; - -// adler32 is not cryptographically strong, and is only used to sanity check that -// markup generated on the server matches the markup generated on the client. -// This implementation (a modified version of the SheetJS version) has been optimized -// for our use case, at the expense of conforming to the adler32 specification -// for non-ascii inputs. -function adler32(data) { - var a = 1; - var b = 0; - var i = 0; - var l = data.length; - var m = l & ~0x3; - while (i < m) { - var n = Math.min(i + 4096, m); - for (; i < n; i += 4) { - b += (a += data.charCodeAt(i)) + (a += data.charCodeAt(i + 1)) + (a += data.charCodeAt(i + 2)) + (a += data.charCodeAt(i + 3)); - } - a %= MOD; - b %= MOD; - } - for (; i < l; i++) { - b += a += data.charCodeAt(i); - } - a %= MOD; - b %= MOD; - return a | b << 16; -} - -module.exports = adler32; - -/***/ }), -/* 473 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -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 _prodInvariant = __webpack_require__(12); - -var ReactPropTypeLocationNames = __webpack_require__(453); -var ReactPropTypesSecret = __webpack_require__(213); - -var invariant = __webpack_require__(10); -var warning = __webpack_require__(11); - -var ReactComponentTreeHook; - -if (typeof process !== 'undefined' && process.env && process.env.NODE_ENV === 'test') { - // Temporary hack. - // Inline requires don't work well with Jest: - // 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__(23); -} - -var loggedTypeFailures = {}; - -/** - * 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 {?object} element The React element that is being type-checked - * @param {?number} debugID The React component instance that is being type-checked - * @private - */ -function checkReactTypeSpec(typeSpecs, values, location, componentName, element, debugID) { - 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. - !(typeof typeSpecs[typeSpecName] === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s: %s type `%s` is invalid; it must be a function, usually from React.PropTypes.', componentName || 'React class', ReactPropTypeLocationNames[location], typeSpecName) : _prodInvariant('84', componentName || 'React class', ReactPropTypeLocationNames[location], typeSpecName) : void 0; - error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret); - } catch (ex) { - error = ex; - } - process.env.NODE_ENV !== 'production' ? warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', ReactPropTypeLocationNames[location], typeSpecName, typeof error === 'undefined' ? 'undefined' : _typeof(error)) : void 0; - 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; - - var componentStackInfo = ''; - - if (process.env.NODE_ENV !== 'production') { - if (!ReactComponentTreeHook) { - ReactComponentTreeHook = __webpack_require__(23); - } - if (debugID !== null) { - componentStackInfo = ReactComponentTreeHook.getStackAddendumByID(debugID); - } else if (element !== null) { - componentStackInfo = ReactComponentTreeHook.getCurrentStackAddendum(element); - } - } - - process.env.NODE_ENV !== 'production' ? warning(false, 'Failed %s type: %s%s', location, error.message, componentStackInfo) : void 0; - } - } - } -} - -module.exports = checkReactTypeSpec; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 474 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -var CSSProperty = __webpack_require__(202); -var warning = __webpack_require__(11); - -var isUnitlessNumber = CSSProperty.isUnitlessNumber; -var styleWarnings = {}; - -/** - * Convert a value into the proper css writable value. The style name `name` - * should be logical (no hyphens), as specified - * in `CSSProperty.isUnitlessNumber`. - * - * @param {string} name CSS property name such as `topMargin`. - * @param {*} value CSS property value such as `10px`. - * @param {ReactDOMComponent} component - * @return {string} Normalized style value with dimensions applied. - */ -function dangerousStyleValue(name, value, component) { - // 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 - // arbitrary CSS which may be problematic (I couldn't repro this): - // https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet - // http://www.thespanner.co.uk/2007/11/26/ultimate-xss-css-injection/ - // This is not an XSS hole but instead a potential CSS injection issue - // which has lead to a greater discussion about how we're going to - // trust URLs moving forward. See #2115901 - - var isEmpty = value == null || typeof value === 'boolean' || value === ''; - if (isEmpty) { - return ''; - } - - var isNonNumeric = isNaN(value); - if (isNonNumeric || value === 0 || isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name]) { - return '' + value; // cast to string - } - - if (typeof value === 'string') { - if (process.env.NODE_ENV !== 'production') { - // Allow '0' to pass through without warning. 0 is already special and - // doesn't require units, so we don't need to warn about it. - if (component && value !== '0') { - var owner = component._currentElement._owner; - var ownerName = owner ? owner.getName() : null; - if (ownerName && !styleWarnings[ownerName]) { - styleWarnings[ownerName] = {}; - } - var warned = false; - if (ownerName) { - var warnings = styleWarnings[ownerName]; - warned = warnings[name]; - if (!warned) { - warnings[name] = true; - } - } - if (!warned) { - process.env.NODE_ENV !== 'production' ? warning(false, 'a `%s` tag (owner: `%s`) was passed a numeric string value ' + 'for CSS property `%s` (value: `%s`) which will be treated ' + 'as a unitless number in a future version of React.', component._currentElement.type, ownerName || 'unknown', name, value) : void 0; - } - } - } - value = value.trim(); - } - return value + 'px'; -} - -module.exports = dangerousStyleValue; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 475 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -var _prodInvariant = __webpack_require__(12); - -var ReactCurrentOwner = __webpack_require__(30); -var ReactDOMComponentTree = __webpack_require__(15); -var ReactInstanceMap = __webpack_require__(70); - -var getHostComponentFromComposite = __webpack_require__(217); -var invariant = __webpack_require__(10); -var warning = __webpack_require__(11); - -/** - * Returns the DOM node rendered by this element. - * - * See https://facebook.github.io/react/docs/top-level-api.html#reactdom.finddomnode - * - * @param {ReactComponent|DOMElement} componentOrElement - * @return {?DOMElement} The root node of this element. - */ -function findDOMNode(componentOrElement) { - if (process.env.NODE_ENV !== 'production') { - var owner = ReactCurrentOwner.current; - if (owner !== null) { - process.env.NODE_ENV !== 'production' ? warning(owner._warnedAboutRefsInRender, '%s is accessing findDOMNode inside its render(). ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', owner.getName() || 'A component') : void 0; - owner._warnedAboutRefsInRender = true; - } - } - if (componentOrElement == null) { - return null; - } - if (componentOrElement.nodeType === 1) { - return componentOrElement; - } - - var inst = ReactInstanceMap.get(componentOrElement); - if (inst) { - inst = getHostComponentFromComposite(inst); - return inst ? ReactDOMComponentTree.getNodeFromInstance(inst) : null; - } - - if (typeof componentOrElement.render === 'function') { - true ? process.env.NODE_ENV !== 'production' ? invariant(false, 'findDOMNode was called on an unmounted component.') : _prodInvariant('44') : void 0; - } else { - true ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Element appears to be neither ReactComponent nor DOMNode (keys: %s)', Object.keys(componentOrElement)) : _prodInvariant('45', Object.keys(componentOrElement)) : void 0; - } -} - -module.exports = findDOMNode; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 476 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - * - */ - - - -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 KeyEscapeUtils = __webpack_require__(129); -var traverseAllChildren = __webpack_require__(222); -var warning = __webpack_require__(11); - -var ReactComponentTreeHook; - -if (typeof process !== 'undefined' && process.env && process.env.NODE_ENV === 'test') { - // Temporary hack. - // Inline requires don't work well with Jest: - // 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__(23); -} - -/** - * @param {function} traverseContext Context passed through traversal. - * @param {?ReactComponent} child React child component. - * @param {!string} name String name of key path to child. - * @param {number=} selfDebugID Optional debugID of the current internal instance. - */ -function flattenSingleChildIntoContext(traverseContext, child, name, selfDebugID) { - // We found a component instance. - if (traverseContext && (typeof traverseContext === 'undefined' ? 'undefined' : _typeof(traverseContext)) === 'object') { - var result = traverseContext; - var keyUnique = result[name] === undefined; - if (process.env.NODE_ENV !== 'production') { - if (!ReactComponentTreeHook) { - ReactComponentTreeHook = __webpack_require__(23); - } - 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; - } - } - if (keyUnique && child != null) { - result[name] = child; - } - } -} - -/** - * Flattens children that are typically specified as `props.children`. Any null - * children will not be included in the resulting object. - * @return {!object} flattened children keyed by name. - */ -function flattenChildren(children, selfDebugID) { - if (children == null) { - return children; - } - var result = {}; - - if (process.env.NODE_ENV !== 'production') { - traverseAllChildren(children, function (traverseContext, child, name) { - return flattenSingleChildIntoContext(traverseContext, child, name, selfDebugID); - }, result); - } else { - traverseAllChildren(children, flattenSingleChildIntoContext, result); - } - return result; -} - -module.exports = flattenChildren; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 477 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var getEventCharCode = __webpack_require__(135); - -/** - * 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' -}; - -/** - * Translation from legacy `keyCode` to HTML5 `key` - * Only special keys supported, all others depend on keyboard layout or browser - * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names - */ -var translateToKey = { - 8: 'Backspace', - 9: 'Tab', - 12: 'Clear', - 13: 'Enter', - 16: 'Shift', - 17: 'Control', - 18: 'Alt', - 19: 'Pause', - 20: 'CapsLock', - 27: 'Escape', - 32: ' ', - 33: 'PageUp', - 34: 'PageDown', - 35: 'End', - 36: 'Home', - 37: 'ArrowLeft', - 38: 'ArrowUp', - 39: 'ArrowRight', - 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', - 144: 'NumLock', - 145: 'ScrollLock', - 224: 'Meta' -}; - -/** - * @param {object} nativeEvent Native browser event. - * @return {string} Normalized `key` property. - */ -function getEventKey(nativeEvent) { - if (nativeEvent.key) { - // Normalize inconsistent values reported by browsers due to - // implementations of a working draft specification. - - // FireFox implements `key` but returns `MozPrintableKey` for all - // printable characters (normalized to `Unidentified`), ignore it. - var key = normalizeKey[nativeEvent.key] || nativeEvent.key; - if (key !== 'Unidentified') { - return key; - } - } - - // Browser does not implement `key`, polyfill as much of it as we can. - if (nativeEvent.type === 'keypress') { - var charCode = getEventCharCode(nativeEvent); - - // The enter-key is technically both printable and non-printable and can - // thus be captured by `keypress`, no other non-printable key should. - return charCode === 13 ? 'Enter' : String.fromCharCode(charCode); - } - if (nativeEvent.type === 'keydown' || nativeEvent.type === 'keyup') { - // While user keyboard layout determines the actual meaning of each - // `keyCode` value, almost all function keys have a universal value. - return translateToKey[nativeEvent.keyCode] || 'Unidentified'; - } - return ''; -} - -module.exports = getEventKey; - -/***/ }), -/* 478 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - * - */ - - - -/* global Symbol */ - -var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator; -var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec. - -/** - * Returns the iterator method function contained on the iterable object. - * - * Be sure to invoke the function with the iterable as context: - * - * var iteratorFn = getIteratorFn(myIterable); - * if (iteratorFn) { - * var iterator = iteratorFn.call(myIterable); - * ... - * } - * - * @param {?object} maybeIterable - * @return {?function} - */ -function getIteratorFn(maybeIterable) { - var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]); - if (typeof iteratorFn === 'function') { - return iteratorFn; - } -} - -module.exports = getIteratorFn; - -/***/ }), -/* 479 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -/** - * Given any node return the first leaf node without children. - * - * @param {DOMElement|DOMTextNode} node - * @return {DOMElement|DOMTextNode} - */ - -function getLeafNode(node) { - while (node && node.firstChild) { - node = node.firstChild; - } - return node; -} - -/** - * Get the next sibling within a container. This will walk up the - * DOM if a node's siblings have been exhausted. - * - * @param {DOMElement|DOMTextNode} node - * @return {?DOMElement|DOMTextNode} - */ -function getSiblingNode(node) { - while (node) { - if (node.nextSibling) { - return node.nextSibling; - } - node = node.parentNode; - } -} - -/** - * Get object describing the nodes which contain characters at offset. - * - * @param {DOMElement|DOMTextNode} root - * @param {number} offset - * @return {?object} - */ -function getNodeForCharacterOffset(root, offset) { - var node = getLeafNode(root); - var nodeStart = 0; - var nodeEnd = 0; - - while (node) { - if (node.nodeType === 3) { - nodeEnd = nodeStart + node.textContent.length; - - if (nodeStart <= offset && nodeEnd >= offset) { - return { - node: node, - offset: offset - nodeStart - }; - } - - nodeStart = nodeEnd; - } - - node = getLeafNode(getSiblingNode(node)); - } -} - -module.exports = getNodeForCharacterOffset; - -/***/ }), -/* 480 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var ExecutionEnvironment = __webpack_require__(18); - -/** - * Generate a mapping of standard vendor prefixes using the defined style property and event name. - * - * @param {string} styleProp - * @param {string} eventName - * @returns {object} - */ -function makePrefixMap(styleProp, eventName) { - var prefixes = {}; - - prefixes[styleProp.toLowerCase()] = eventName.toLowerCase(); - prefixes['Webkit' + styleProp] = 'webkit' + eventName; - prefixes['Moz' + styleProp] = 'moz' + eventName; - prefixes['ms' + styleProp] = 'MS' + eventName; - prefixes['O' + styleProp] = 'o' + eventName.toLowerCase(); - - return prefixes; -} - -/** - * A list of event names to a configurable list of vendor prefixes. - */ -var vendorPrefixes = { - animationend: makePrefixMap('Animation', 'AnimationEnd'), - animationiteration: makePrefixMap('Animation', 'AnimationIteration'), - animationstart: makePrefixMap('Animation', 'AnimationStart'), - transitionend: makePrefixMap('Transition', 'TransitionEnd') -}; - -/** - * Event names that have already been detected and prefixed (if applicable). - */ -var prefixedEventNames = {}; - -/** - * Element to check for prefixes on. - */ -var style = {}; - -/** - * Bootstrap if a DOM exists. - */ -if (ExecutionEnvironment.canUseDOM) { - style = document.createElement('div').style; - - // On some platforms, in particular some releases of Android 4.x, - // the un-prefixed "animation" and "transition" properties are defined on the - // style object but the events that fire will still be prefixed, so we need - // to check if the un-prefixed events are usable, and if not remove them from the map. - if (!('AnimationEvent' in window)) { - delete vendorPrefixes.animationend.animation; - delete vendorPrefixes.animationiteration.animation; - delete vendorPrefixes.animationstart.animation; - } - - // Same as above - if (!('TransitionEvent' in window)) { - delete vendorPrefixes.transitionend.transition; - } -} - -/** - * Attempts to determine the correct vendor prefixed event name. - * - * @param {string} eventName - * @returns {string} - */ -function getVendorPrefixedEventName(eventName) { - if (prefixedEventNames[eventName]) { - return prefixedEventNames[eventName]; - } else if (!vendorPrefixes[eventName]) { - return eventName; - } - - var prefixMap = vendorPrefixes[eventName]; - - for (var styleProp in prefixMap) { - if (prefixMap.hasOwnProperty(styleProp) && styleProp in style) { - return prefixedEventNames[eventName] = prefixMap[styleProp]; - } - } - - return ''; -} - -module.exports = getVendorPrefixedEventName; - -/***/ }), -/* 481 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var escapeTextContentForBrowser = __webpack_require__(88); - -/** - * Escapes attribute value to prevent scripting attacks. - * - * @param {*} value Value to escape. - * @return {string} An escaped string. - */ -function quoteAttributeValueForBrowser(value) { - return '"' + escapeTextContentForBrowser(value) + '"'; -} - -module.exports = quoteAttributeValueForBrowser; - -/***/ }), -/* 482 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var ReactMount = __webpack_require__(211); - -module.exports = ReactMount.renderSubtreeIntoContainer; - -/***/ }), -/* 483 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -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; }; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -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; - }; -}(); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _warning = __webpack_require__(16); - -var _warning2 = _interopRequireDefault(_warning); - -var _componentOrElement = __webpack_require__(142); - -var _componentOrElement2 = _interopRequireDefault(_componentOrElement); - -var _elementType = __webpack_require__(13); - -var _elementType2 = _interopRequireDefault(_elementType); - -var _Portal = __webpack_require__(223); - -var _Portal2 = _interopRequireDefault(_Portal); - -var _ModalManager = __webpack_require__(484); - -var _ModalManager2 = _interopRequireDefault(_ModalManager); - -var _ownerDocument = __webpack_require__(72); - -var _ownerDocument2 = _interopRequireDefault(_ownerDocument); - -var _addEventListener = __webpack_require__(226); - -var _addEventListener2 = _interopRequireDefault(_addEventListener); - -var _addFocusListener = __webpack_require__(487); - -var _addFocusListener2 = _interopRequireDefault(_addFocusListener); - -var _inDOM = __webpack_require__(37); - -var _inDOM2 = _interopRequireDefault(_inDOM); - -var _activeElement = __webpack_require__(165); - -var _activeElement2 = _interopRequireDefault(_activeElement); - -var _contains = __webpack_require__(53); - -var _contains2 = _interopRequireDefault(_contains); - -var _getContainer = __webpack_require__(141); - -var _getContainer2 = _interopRequireDefault(_getContainer); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} - -function _possibleConstructorReturn(self, call) { - if (!self) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - }return call && ((typeof call === "undefined" ? "undefined" : _typeof(call)) === "object" || typeof call === "function") ? call : self; -} - -function _inherits(subClass, superClass) { - if (typeof superClass !== "function" && superClass !== null) { - throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : _typeof(superClass))); - }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; -} /*eslint-disable react/prop-types */ - -var modalManager = new _ModalManager2.default(); - -/** - * Love them or hate them, `<Modal/>` provides a solid foundation for creating dialogs, lightboxes, or whatever else. - * The Modal component renders its `children` node in front of a backdrop component. - * - * The Modal offers a few helpful features over using just a `<Portal/>` component and some styles: - * - * - Manages dialog stacking when one-at-a-time just isn't enough. - * - Creates a backdrop, for disabling interaction below the modal. - * - It properly manages focus; moving to the modal content, and keeping it there until the modal is closed. - * - It disables scrolling of the page content while open. - * - Adds the appropriate ARIA roles are automatically. - * - Easily pluggable animations via a `<Transition/>` component. - * - * Note that, in the same way the backdrop element prevents users from clicking or interacting - * with the page content underneath the Modal, Screen readers also need to be signaled to not to - * interact with page content while the Modal is open. To do this, we use a common technique of applying - * the `aria-hidden='true'` attribute to the non-Modal elements in the Modal `container`. This means that for - * a Modal to be truly modal, it should have a `container` that is _outside_ your app's - * React hierarchy (such as the default: document.body). - */ - -var Modal = function (_React$Component) { - _inherits(Modal, _React$Component); - - function Modal() { - var _ref; - - var _temp, _this, _ret; - - _classCallCheck(this, Modal); - - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Modal.__proto__ || Object.getPrototypeOf(Modal)).call.apply(_ref, [this].concat(args))), _this), _initialiseProps.call(_this), _temp), _possibleConstructorReturn(_this, _ret); - } - - _createClass(Modal, [{ - key: 'omitProps', - value: function omitProps(props, propTypes) { - - var keys = Object.keys(props); - var newProps = {}; - keys.map(function (prop) { - if (!Object.prototype.hasOwnProperty.call(propTypes, prop)) { - newProps[prop] = props[prop]; - } - }); - - return newProps; - } - }, { - key: 'render', - value: function render() { - var _props = this.props; - var show = _props.show; - var container = _props.container; - var children = _props.children; - var Transition = _props.transition; - var backdrop = _props.backdrop; - var dialogTransitionTimeout = _props.dialogTransitionTimeout; - var className = _props.className; - var style = _props.style; - var onExit = _props.onExit; - var onExiting = _props.onExiting; - var onEnter = _props.onEnter; - var onEntering = _props.onEntering; - var onEntered = _props.onEntered; - - var dialog = _react2.default.Children.only(children); - var filteredProps = this.omitProps(this.props, Modal.propTypes); - - var mountModal = show || Transition && !this.state.exited; - if (!mountModal) { - return null; - } - - var _dialog$props = dialog.props; - var role = _dialog$props.role; - var tabIndex = _dialog$props.tabIndex; - - if (role === undefined || tabIndex === undefined) { - dialog = (0, _react.cloneElement)(dialog, { - role: role === undefined ? 'document' : role, - tabIndex: tabIndex == null ? '-1' : tabIndex - }); - } - - if (Transition) { - dialog = _react2.default.createElement(Transition, { - transitionAppear: true, - unmountOnExit: true, - 'in': show, - timeout: dialogTransitionTimeout, - onExit: onExit, - onExiting: onExiting, - onExited: this.handleHidden, - onEnter: onEnter, - onEntering: onEntering, - onEntered: onEntered - }, dialog); - } - - return _react2.default.createElement(_Portal2.default, { - ref: this.setMountNode, - container: container - }, _react2.default.createElement('div', _extends({ - ref: this.setModalNode, - role: role || 'dialog' - }, filteredProps, { - style: style, - className: className - }), backdrop && this.renderBackdrop(), dialog)); - } - }, { - key: 'componentWillReceiveProps', - value: function componentWillReceiveProps(nextProps) { - if (nextProps.show) { - this.setState({ exited: false }); - } else if (!nextProps.transition) { - // Otherwise let handleHidden take care of marking exited. - this.setState({ exited: true }); - } - } - }, { - key: 'componentWillUpdate', - value: function componentWillUpdate(nextProps) { - if (!this.props.show && nextProps.show) { - this.checkForFocus(); - } - } - }, { - key: 'componentDidMount', - value: function componentDidMount() { - this._isMounted = true; - if (this.props.show) { - this.onShow(); - } - } - }, { - key: 'componentDidUpdate', - value: function componentDidUpdate(prevProps) { - var transition = this.props.transition; - - if (prevProps.show && !this.props.show && !transition) { - // Otherwise handleHidden will call this. - this.onHide(); - } else if (!prevProps.show && this.props.show) { - this.onShow(); - } - } - }, { - key: 'componentWillUnmount', - value: function componentWillUnmount() { - var _props2 = this.props; - var show = _props2.show; - var transition = _props2.transition; - - this._isMounted = false; - - if (show || transition && !this.state.exited) { - this.onHide(); - } - } - - //instead of a ref, which might conflict with one the parent applied. - - }]); - - return Modal; -}(_react2.default.Component); - -Modal.propTypes = _extends({}, _Portal2.default.propTypes, { - - /** - * Set the visibility of the Modal - */ - show: _propTypes2.default.bool, - - /** - * A Node, Component instance, or function that returns either. The Modal is appended to it's container element. - * - * For the sake of assistive technologies, the container should usually be the document body, so that the rest of the - * page content can be placed behind a virtual backdrop as well as a visual one. - */ - container: _propTypes2.default.oneOfType([_componentOrElement2.default, _propTypes2.default.func]), - - /** - * A callback fired when the Modal is opening. - */ - onShow: _propTypes2.default.func, - - /** - * A callback fired when either the backdrop is clicked, or the escape key is pressed. - * - * The `onHide` callback only signals intent from the Modal, - * you must actually set the `show` prop to `false` for the Modal to close. - */ - onHide: _propTypes2.default.func, - - /** - * Include a backdrop component. - */ - backdrop: _propTypes2.default.oneOfType([_propTypes2.default.bool, _propTypes2.default.oneOf(['static'])]), - - /** - * A function that returns a backdrop component. Useful for custom - * backdrop rendering. - * - * ```js - * renderBackdrop={props => <MyBackdrop {...props} />} - * ``` - */ - renderBackdrop: _propTypes2.default.func, - - /** - * A callback fired when the escape key, if specified in `keyboard`, is pressed. - */ - onEscapeKeyUp: _propTypes2.default.func, - - /** - * A callback fired when the backdrop, if specified, is clicked. - */ - onBackdropClick: _propTypes2.default.func, - - /** - * A style object for the backdrop component. - */ - backdropStyle: _propTypes2.default.object, - - /** - * A css class or classes for the backdrop component. - */ - backdropClassName: _propTypes2.default.string, - - /** - * A css class or set of classes applied to the modal container when the modal is open, - * and removed when it is closed. - */ - containerClassName: _propTypes2.default.string, - - /** - * Close the modal when escape key is pressed - */ - keyboard: _propTypes2.default.bool, - - /** - * A `<Transition/>` component to use for the dialog and backdrop components. - */ - transition: _elementType2.default, - - /** - * The `timeout` of the dialog transition if specified. This number is used to ensure that - * transition callbacks are always fired, even if browser transition events are canceled. - * - * See the Transition `timeout` prop for more infomation. - */ - dialogTransitionTimeout: _propTypes2.default.number, - - /** - * The `timeout` of the backdrop transition if specified. This number is used to - * ensure that transition callbacks are always fired, even if browser transition events are canceled. - * - * See the Transition `timeout` prop for more infomation. - */ - backdropTransitionTimeout: _propTypes2.default.number, - - /** - * When `true` The modal will automatically shift focus to itself when it opens, and - * replace it to the last focused element when it closes. This also - * works correctly with any Modal children that have the `autoFocus` prop. - * - * Generally this should never be set to `false` as it makes the Modal less - * accessible to assistive technologies, like screen readers. - */ - autoFocus: _propTypes2.default.bool, - - /** - * When `true` The modal will prevent focus from leaving the Modal while open. - * - * Generally this should never be set to `false` as it makes the Modal less - * accessible to assistive technologies, like screen readers. - */ - enforceFocus: _propTypes2.default.bool, - - /** - * When `true` The modal will restore focus to previously focused element once - * modal is hidden - */ - restoreFocus: _propTypes2.default.bool, - - /** - * Callback fired before the Modal transitions in - */ - onEnter: _propTypes2.default.func, - - /** - * Callback fired as the Modal begins to transition in - */ - onEntering: _propTypes2.default.func, - - /** - * Callback fired after the Modal finishes transitioning in - */ - onEntered: _propTypes2.default.func, - - /** - * Callback fired right before the Modal transitions out - */ - onExit: _propTypes2.default.func, - - /** - * Callback fired as the Modal begins to transition out - */ - onExiting: _propTypes2.default.func, - - /** - * Callback fired after the Modal finishes transitioning out - */ - onExited: _propTypes2.default.func, - - /** - * A ModalManager instance used to track and manage the state of open - * Modals. Useful when customizing how modals interact within a container - */ - manager: _propTypes2.default.object.isRequired -}); -Modal.defaultProps = { - show: false, - backdrop: true, - keyboard: true, - autoFocus: true, - enforceFocus: true, - restoreFocus: true, - onHide: function onHide() {}, - manager: modalManager, - renderBackdrop: function renderBackdrop(props) { - return _react2.default.createElement('div', props); - } -}; - -var _initialiseProps = function _initialiseProps() { - var _this2 = this; - - this.state = { exited: !this.props.show }; - - this.renderBackdrop = function () { - var _props3 = _this2.props; - var backdropStyle = _props3.backdropStyle; - var backdropClassName = _props3.backdropClassName; - var renderBackdrop = _props3.renderBackdrop; - var Transition = _props3.transition; - var backdropTransitionTimeout = _props3.backdropTransitionTimeout; - - var backdropRef = function backdropRef(ref) { - return _this2.backdrop = ref; - }; - - var backdrop = renderBackdrop({ - ref: backdropRef, - style: backdropStyle, - className: backdropClassName, - onClick: _this2.handleBackdropClick - }); - - if (Transition) { - backdrop = _react2.default.createElement(Transition, { transitionAppear: true, - 'in': _this2.props.show, - timeout: backdropTransitionTimeout - }, backdrop); - } - - return backdrop; - }; - - this.onShow = function () { - var doc = (0, _ownerDocument2.default)(_this2); - var container = (0, _getContainer2.default)(_this2.props.container, doc.body); - - _this2.props.manager.add(_this2, container, _this2.props.containerClassName); - - _this2._onDocumentKeyupListener = (0, _addEventListener2.default)(doc, 'keyup', _this2.handleDocumentKeyUp); - - _this2._onFocusinListener = (0, _addFocusListener2.default)(_this2.enforceFocus); - - _this2.focus(); - - if (_this2.props.onShow) { - _this2.props.onShow(); - } - }; - - this.onHide = function () { - _this2.props.manager.remove(_this2); - - _this2._onDocumentKeyupListener.remove(); - - _this2._onFocusinListener.remove(); - - if (_this2.props.restoreFocus) { - _this2.restoreLastFocus(); - } - }; - - this.setMountNode = function (ref) { - _this2.mountNode = ref ? ref.getMountNode() : ref; - }; - - this.setModalNode = function (ref) { - _this2.modalNode = ref; - }; - - this.handleHidden = function () { - _this2.setState({ exited: true }); - _this2.onHide(); - - if (_this2.props.onExited) { - var _props4; - - (_props4 = _this2.props).onExited.apply(_props4, arguments); - } - }; - - this.handleBackdropClick = function (e) { - if (e.target !== e.currentTarget) { - return; - } - - if (_this2.props.onBackdropClick) { - _this2.props.onBackdropClick(e); - } - - if (_this2.props.backdrop === true) { - _this2.props.onHide(); - } - }; - - this.handleDocumentKeyUp = function (e) { - if (_this2.props.keyboard && e.keyCode === 27 && _this2.isTopModal()) { - if (_this2.props.onEscapeKeyUp) { - _this2.props.onEscapeKeyUp(e); - } - _this2.props.onHide(); - } - }; - - this.checkForFocus = function () { - if (_inDOM2.default) { - _this2.lastFocus = (0, _activeElement2.default)(); - } - }; - - this.focus = function () { - var autoFocus = _this2.props.autoFocus; - var modalContent = _this2.getDialogElement(); - var current = (0, _activeElement2.default)((0, _ownerDocument2.default)(_this2)); - var focusInModal = current && (0, _contains2.default)(modalContent, current); - - if (modalContent && autoFocus && !focusInModal) { - _this2.lastFocus = current; - - if (!modalContent.hasAttribute('tabIndex')) { - modalContent.setAttribute('tabIndex', -1); - (0, _warning2.default)(false, 'The modal content node does not accept focus. ' + 'For the benefit of assistive technologies, the tabIndex of the node is being set to "-1".'); - } - - modalContent.focus(); - } - }; - - this.restoreLastFocus = function () { - // Support: <=IE11 doesn't support `focus()` on svg elements (RB: #917) - if (_this2.lastFocus && _this2.lastFocus.focus) { - _this2.lastFocus.focus(); - _this2.lastFocus = null; - } - }; - - this.enforceFocus = function () { - var enforceFocus = _this2.props.enforceFocus; - - if (!enforceFocus || !_this2._isMounted || !_this2.isTopModal()) { - return; - } - - var active = (0, _activeElement2.default)((0, _ownerDocument2.default)(_this2)); - var modal = _this2.getDialogElement(); - - if (modal && modal !== active && !(0, _contains2.default)(modal, active)) { - modal.focus(); - } - }; - - this.getDialogElement = function () { - var node = _this2.modalNode; - return node && node.lastChild; - }; - - this.isTopModal = function () { - return _this2.props.manager.isTopModal(_this2); - }; -}; - -Modal.Manager = _ModalManager2.default; - -exports.default = Modal; -module.exports = exports['default']; - -/***/ }), -/* 484 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _style = __webpack_require__(78); - -var _style2 = _interopRequireDefault(_style); - -var _class = __webpack_require__(304); - -var _class2 = _interopRequireDefault(_class); - -var _scrollbarSize = __webpack_require__(171); - -var _scrollbarSize2 = _interopRequireDefault(_scrollbarSize); - -var _isOverflowing = __webpack_require__(227); - -var _isOverflowing2 = _interopRequireDefault(_isOverflowing); - -var _manageAriaHidden = __webpack_require__(489); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} - -function findIndexOf(arr, cb) { - var idx = -1; - arr.some(function (d, i) { - if (cb(d, i)) { - idx = i; - return true; - } - }); - return idx; -} - -function findContainer(data, modal) { - return findIndexOf(data, function (d) { - return d.modals.indexOf(modal) !== -1; - }); -} - -function setContainerStyle(state, container) { - var style = { overflow: 'hidden' }; - - // we are only interested in the actual `style` here - // becasue we will override it - state.style = { - overflow: container.style.overflow, - paddingRight: container.style.paddingRight - }; - - if (state.overflowing) { - // use computed style, here to get the real padding - // to add our scrollbar width - style.paddingRight = parseInt((0, _style2.default)(container, 'paddingRight') || 0, 10) + (0, _scrollbarSize2.default)() + 'px'; - } - - (0, _style2.default)(container, style); -} - -function removeContainerStyle(_ref, container) { - var style = _ref.style; - - Object.keys(style).forEach(function (key) { - return container.style[key] = style[key]; - }); -} -/** - * Proper state managment for containers and the modals in those containers. - * - * @internal Used by the Modal to ensure proper styling of containers. - */ - -var ModalManager = function ModalManager() { - var _this = this; - - var _ref2 = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; - - var _ref2$hideSiblingNode = _ref2.hideSiblingNodes; - var hideSiblingNodes = _ref2$hideSiblingNode === undefined ? true : _ref2$hideSiblingNode; - var _ref2$handleContainer = _ref2.handleContainerOverflow; - var handleContainerOverflow = _ref2$handleContainer === undefined ? true : _ref2$handleContainer; - - _classCallCheck(this, ModalManager); - - this.add = function (modal, container, className) { - var modalIdx = _this.modals.indexOf(modal); - var containerIdx = _this.containers.indexOf(container); - - if (modalIdx !== -1) { - return modalIdx; - } - - modalIdx = _this.modals.length; - _this.modals.push(modal); - - if (_this.hideSiblingNodes) { - (0, _manageAriaHidden.hideSiblings)(container, modal.mountNode); - } - - if (containerIdx !== -1) { - _this.data[containerIdx].modals.push(modal); - return modalIdx; - } - - var data = { - modals: [modal], - //right now only the first modal of a container will have its classes applied - classes: className ? className.split(/\s+/) : [], - - overflowing: (0, _isOverflowing2.default)(container) - }; - - if (_this.handleContainerOverflow) { - setContainerStyle(data, container); - } - - data.classes.forEach(_class2.default.addClass.bind(null, container)); - - _this.containers.push(container); - _this.data.push(data); - - return modalIdx; - }; - - this.remove = function (modal) { - var modalIdx = _this.modals.indexOf(modal); - - if (modalIdx === -1) { - return; - } - - var containerIdx = findContainer(_this.data, modal); - var data = _this.data[containerIdx]; - var container = _this.containers[containerIdx]; - - data.modals.splice(data.modals.indexOf(modal), 1); - - _this.modals.splice(modalIdx, 1); - - // if that was the last modal in a container, - // clean up the container - if (data.modals.length === 0) { - data.classes.forEach(_class2.default.removeClass.bind(null, container)); - - if (_this.handleContainerOverflow) { - removeContainerStyle(data, container); - } - - if (_this.hideSiblingNodes) { - (0, _manageAriaHidden.showSiblings)(container, modal.mountNode); - } - _this.containers.splice(containerIdx, 1); - _this.data.splice(containerIdx, 1); - } else if (_this.hideSiblingNodes) { - //otherwise make sure the next top modal is visible to a SR - (0, _manageAriaHidden.ariaHidden)(false, data.modals[data.modals.length - 1].mountNode); - } - }; - - this.isTopModal = function (modal) { - return !!_this.modals.length && _this.modals[_this.modals.length - 1] === modal; - }; - - this.hideSiblingNodes = hideSiblingNodes; - this.handleContainerOverflow = handleContainerOverflow; - this.modals = []; - this.containers = []; - this.data = []; -}; - -exports.default = ModalManager; -module.exports = exports['default']; - -/***/ }), -/* 485 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -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; }; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -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; - }; -}(); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _Portal = __webpack_require__(223); - -var _Portal2 = _interopRequireDefault(_Portal); - -var _Position = __webpack_require__(486); - -var _Position2 = _interopRequireDefault(_Position); - -var _RootCloseWrapper = __webpack_require__(224); - -var _RootCloseWrapper2 = _interopRequireDefault(_RootCloseWrapper); - -var _elementType = __webpack_require__(13); - -var _elementType2 = _interopRequireDefault(_elementType); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -function _objectWithoutProperties(obj, keys) { - var target = {};for (var i in obj) { - if (keys.indexOf(i) >= 0) continue;if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;target[i] = obj[i]; - }return target; -} - -function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} - -function _possibleConstructorReturn(self, call) { - if (!self) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - }return call && ((typeof call === "undefined" ? "undefined" : _typeof(call)) === "object" || typeof call === "function") ? call : self; -} - -function _inherits(subClass, superClass) { - if (typeof superClass !== "function" && superClass !== null) { - throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : _typeof(superClass))); - }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; -} - -/** - * Built on top of `<Position/>` and `<Portal/>`, the overlay component is great for custom tooltip overlays. - */ -var Overlay = function (_React$Component) { - _inherits(Overlay, _React$Component); - - function Overlay(props, context) { - _classCallCheck(this, Overlay); - - var _this = _possibleConstructorReturn(this, (Overlay.__proto__ || Object.getPrototypeOf(Overlay)).call(this, props, context)); - - _this.handleHidden = function () { - _this.setState({ exited: true }); - - if (_this.props.onExited) { - var _this$props; - - (_this$props = _this.props).onExited.apply(_this$props, arguments); - } - }; - - _this.state = { exited: !props.show }; - _this.onHiddenListener = _this.handleHidden.bind(_this); - return _this; - } - - _createClass(Overlay, [{ - key: 'componentWillReceiveProps', - value: function componentWillReceiveProps(nextProps) { - if (nextProps.show) { - this.setState({ exited: false }); - } else if (!nextProps.transition) { - // Otherwise let handleHidden take care of marking exited. - this.setState({ exited: true }); - } - } - }, { - key: 'render', - value: function render() { - var _props = this.props; - var container = _props.container; - var containerPadding = _props.containerPadding; - var target = _props.target; - var placement = _props.placement; - var shouldUpdatePosition = _props.shouldUpdatePosition; - var rootClose = _props.rootClose; - var children = _props.children; - var Transition = _props.transition; - - var props = _objectWithoutProperties(_props, ['container', 'containerPadding', 'target', 'placement', 'shouldUpdatePosition', 'rootClose', 'children', 'transition']); - - // Don't un-render the overlay while it's transitioning out. - - - var mountOverlay = props.show || Transition && !this.state.exited; - if (!mountOverlay) { - // Don't bother showing anything if we don't have to. - return null; - } - - var child = children; - - // Position is be inner-most because it adds inline styles into the child, - // which the other wrappers don't forward correctly. - child = _react2.default.createElement(_Position2.default, { container: container, containerPadding: containerPadding, target: target, placement: placement, shouldUpdatePosition: shouldUpdatePosition }, child); - - if (Transition) { - var onExit = props.onExit; - var onExiting = props.onExiting; - var onEnter = props.onEnter; - var onEntering = props.onEntering; - var onEntered = props.onEntered; - - // This animates the child node by injecting props, so it must precede - // anything that adds a wrapping div. - - child = _react2.default.createElement(Transition, { - 'in': props.show, - transitionAppear: true, - onExit: onExit, - onExiting: onExiting, - onExited: this.onHiddenListener, - onEnter: onEnter, - onEntering: onEntering, - onEntered: onEntered - }, child); - } - - // This goes after everything else because it adds a wrapping div. - if (rootClose) { - child = _react2.default.createElement(_RootCloseWrapper2.default, { onRootClose: props.onHide }, child); - } - - return _react2.default.createElement(_Portal2.default, { container: container }, child); - } - }]); - - return Overlay; -}(_react2.default.Component); - -Overlay.propTypes = _extends({}, _Portal2.default.propTypes, _Position2.default.propTypes, { - - /** - * Set the visibility of the Overlay - */ - show: _propTypes2.default.bool, - - /** - * Specify whether the overlay should trigger `onHide` when the user clicks outside the overlay - */ - rootClose: _propTypes2.default.bool, - - /** - * A Callback fired by the Overlay when it wishes to be hidden. - * - * __required__ when `rootClose` is `true`. - * - * @type func - */ - onHide: function onHide(props) { - var propType = _propTypes2.default.func; - if (props.rootClose) { - propType = propType.isRequired; - } - - for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - args[_key - 1] = arguments[_key]; - } - - return propType.apply(undefined, [props].concat(args)); - }, - - /** - * A `<Transition/>` component used to animate the overlay changes visibility. - */ - transition: _elementType2.default, - - /** - * Callback fired before the Overlay transitions in - */ - onEnter: _propTypes2.default.func, - - /** - * Callback fired as the Overlay begins to transition in - */ - onEntering: _propTypes2.default.func, - - /** - * Callback fired after the Overlay finishes transitioning in - */ - onEntered: _propTypes2.default.func, - - /** - * Callback fired right before the Overlay transitions out - */ - onExit: _propTypes2.default.func, - - /** - * Callback fired as the Overlay begins to transition out - */ - onExiting: _propTypes2.default.func, - - /** - * Callback fired after the Overlay finishes transitioning out - */ - onExited: _propTypes2.default.func -}); - -exports.default = Overlay; -module.exports = exports['default']; - -/***/ }), -/* 486 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -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; }; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -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; - }; -}(); - -var _classnames = __webpack_require__(8); - -var _classnames2 = _interopRequireDefault(_classnames); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _reactDom = __webpack_require__(21); - -var _reactDom2 = _interopRequireDefault(_reactDom); - -var _componentOrElement = __webpack_require__(142); - -var _componentOrElement2 = _interopRequireDefault(_componentOrElement); - -var _calculatePosition = __webpack_require__(488); - -var _calculatePosition2 = _interopRequireDefault(_calculatePosition); - -var _getContainer = __webpack_require__(141); - -var _getContainer2 = _interopRequireDefault(_getContainer); - -var _ownerDocument = __webpack_require__(72); - -var _ownerDocument2 = _interopRequireDefault(_ownerDocument); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -function _objectWithoutProperties(obj, keys) { - var target = {};for (var i in obj) { - if (keys.indexOf(i) >= 0) continue;if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;target[i] = obj[i]; - }return target; -} - -function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} - -function _possibleConstructorReturn(self, call) { - if (!self) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - }return call && ((typeof call === "undefined" ? "undefined" : _typeof(call)) === "object" || typeof call === "function") ? call : self; -} - -function _inherits(subClass, superClass) { - if (typeof superClass !== "function" && superClass !== null) { - throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : _typeof(superClass))); - }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; -} - -/** - * The Position component calculates the coordinates for its child, to position - * it relative to a `target` component or node. Useful for creating callouts - * and tooltips, the Position component injects a `style` props with `left` and - * `top` values for positioning your component. - * - * It also injects "arrow" `left`, and `top` values for styling callout arrows - * for giving your components a sense of directionality. - */ -var Position = function (_React$Component) { - _inherits(Position, _React$Component); - - function Position(props, context) { - _classCallCheck(this, Position); - - var _this = _possibleConstructorReturn(this, (Position.__proto__ || Object.getPrototypeOf(Position)).call(this, props, context)); - - _this.getTarget = function () { - var target = _this.props.target; - - var targetElement = typeof target === 'function' ? target() : target; - return targetElement && _reactDom2.default.findDOMNode(targetElement) || null; - }; - - _this.maybeUpdatePosition = function (placementChanged) { - var target = _this.getTarget(); - - if (!_this.props.shouldUpdatePosition && target === _this._lastTarget && !placementChanged) { - return; - } - - _this.updatePosition(target); - }; - - _this.state = { - positionLeft: 0, - positionTop: 0, - arrowOffsetLeft: null, - arrowOffsetTop: null - }; - - _this._needsFlush = false; - _this._lastTarget = null; - return _this; - } - - _createClass(Position, [{ - key: 'componentDidMount', - value: function componentDidMount() { - this.updatePosition(this.getTarget()); - } - }, { - key: 'componentWillReceiveProps', - value: function componentWillReceiveProps() { - this._needsFlush = true; - } - }, { - key: 'componentDidUpdate', - value: function componentDidUpdate(prevProps) { - if (this._needsFlush) { - this._needsFlush = false; - this.maybeUpdatePosition(this.props.placement !== prevProps.placement); - } - } - }, { - key: 'render', - value: function render() { - var _props = this.props; - var children = _props.children; - var className = _props.className; - - var props = _objectWithoutProperties(_props, ['children', 'className']); - - var _state = this.state; - var positionLeft = _state.positionLeft; - var positionTop = _state.positionTop; - - var arrowPosition = _objectWithoutProperties(_state, ['positionLeft', 'positionTop']); - - // These should not be forwarded to the child. - - - delete props.target; - delete props.container; - delete props.containerPadding; - delete props.shouldUpdatePosition; - - var child = _react2.default.Children.only(children); - return (0, _react.cloneElement)(child, _extends({}, props, arrowPosition, { - // FIXME: Don't forward `positionLeft` and `positionTop` via both props - // and `props.style`. - positionLeft: positionLeft, - positionTop: positionTop, - className: (0, _classnames2.default)(className, child.props.className), - style: _extends({}, child.props.style, { - left: positionLeft, - top: positionTop - }) - })); - } - }, { - key: 'updatePosition', - value: function updatePosition(target) { - this._lastTarget = target; - - if (!target) { - this.setState({ - positionLeft: 0, - positionTop: 0, - arrowOffsetLeft: null, - arrowOffsetTop: null - }); - - return; - } - - var overlay = _reactDom2.default.findDOMNode(this); - var container = (0, _getContainer2.default)(this.props.container, (0, _ownerDocument2.default)(this).body); - - this.setState((0, _calculatePosition2.default)(this.props.placement, overlay, target, container, this.props.containerPadding)); - } - }]); - - return Position; -}(_react2.default.Component); - -Position.propTypes = { - /** - * A node, element, or function that returns either. The child will be - * be positioned next to the `target` specified. - */ - target: _propTypes2.default.oneOfType([_componentOrElement2.default, _propTypes2.default.func]), - - /** - * "offsetParent" of the component - */ - container: _propTypes2.default.oneOfType([_componentOrElement2.default, _propTypes2.default.func]), - /** - * Minimum spacing in pixels between container border and component border - */ - containerPadding: _propTypes2.default.number, - /** - * How to position the component relative to the target - */ - placement: _propTypes2.default.oneOf(['top', 'right', 'bottom', 'left']), - /** - * Whether the position should be changed on each update - */ - shouldUpdatePosition: _propTypes2.default.bool -}; - -Position.displayName = 'Position'; - -Position.defaultProps = { - containerPadding: 0, - placement: 'right', - shouldUpdatePosition: false -}; - -exports.default = Position; -module.exports = exports['default']; - -/***/ }), -/* 487 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = addFocusListener; -/** - * Firefox doesn't have a focusin event so using capture is easiest way to get bubbling - * IE8 can't do addEventListener, but does have onfocusin, so we use that in ie8 - * - * We only allow one Listener at a time to avoid stack overflows - */ -function addFocusListener(handler) { - var useFocusin = !document.addEventListener; - var remove = void 0; - - if (useFocusin) { - document.attachEvent('onfocusin', handler); - remove = function remove() { - return document.detachEvent('onfocusin', handler); - }; - } else { - document.addEventListener('focus', handler, true); - remove = function remove() { - return document.removeEventListener('focus', handler, true); - }; - } - - return { remove: remove }; -} -module.exports = exports['default']; - -/***/ }), -/* 488 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = calculatePosition; - -var _offset = __webpack_require__(167); - -var _offset2 = _interopRequireDefault(_offset); - -var _position = __webpack_require__(310); - -var _position2 = _interopRequireDefault(_position); - -var _scrollTop = __webpack_require__(168); - -var _scrollTop2 = _interopRequireDefault(_scrollTop); - -var _ownerDocument = __webpack_require__(72); - -var _ownerDocument2 = _interopRequireDefault(_ownerDocument); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -function getContainerDimensions(containerNode) { - var width = void 0, - height = void 0, - scroll = void 0; - - if (containerNode.tagName === 'BODY') { - width = window.innerWidth; - height = window.innerHeight; - - scroll = (0, _scrollTop2.default)((0, _ownerDocument2.default)(containerNode).documentElement) || (0, _scrollTop2.default)(containerNode); - } else { - var _getOffset = (0, _offset2.default)(containerNode); - - width = _getOffset.width; - height = _getOffset.height; - - scroll = (0, _scrollTop2.default)(containerNode); - } - - return { width: width, height: height, scroll: scroll }; -} - -function getTopDelta(top, overlayHeight, container, padding) { - var containerDimensions = getContainerDimensions(container); - var containerScroll = containerDimensions.scroll; - var containerHeight = containerDimensions.height; - - var topEdgeOffset = top - padding - containerScroll; - var bottomEdgeOffset = top + padding - containerScroll + overlayHeight; - - if (topEdgeOffset < 0) { - return -topEdgeOffset; - } else if (bottomEdgeOffset > containerHeight) { - return containerHeight - bottomEdgeOffset; - } else { - return 0; - } -} - -function getLeftDelta(left, overlayWidth, container, padding) { - var containerDimensions = getContainerDimensions(container); - var containerWidth = containerDimensions.width; - - var leftEdgeOffset = left - padding; - var rightEdgeOffset = left + padding + overlayWidth; - - if (leftEdgeOffset < 0) { - return -leftEdgeOffset; - } else if (rightEdgeOffset > containerWidth) { - return containerWidth - rightEdgeOffset; - } - - return 0; -} - -function calculatePosition(placement, overlayNode, target, container, padding) { - var childOffset = container.tagName === 'BODY' ? (0, _offset2.default)(target) : (0, _position2.default)(target, container); - - var _getOffset2 = (0, _offset2.default)(overlayNode); - - var overlayHeight = _getOffset2.height; - var overlayWidth = _getOffset2.width; - - var positionLeft = void 0, - positionTop = void 0, - arrowOffsetLeft = void 0, - arrowOffsetTop = void 0; - - if (placement === 'left' || placement === 'right') { - positionTop = childOffset.top + (childOffset.height - overlayHeight) / 2; - - if (placement === 'left') { - positionLeft = childOffset.left - overlayWidth; - } else { - positionLeft = childOffset.left + childOffset.width; - } - - var topDelta = getTopDelta(positionTop, overlayHeight, container, padding); - - positionTop += topDelta; - arrowOffsetTop = 50 * (1 - 2 * topDelta / overlayHeight) + '%'; - arrowOffsetLeft = void 0; - } else if (placement === 'top' || placement === 'bottom') { - positionLeft = childOffset.left + (childOffset.width - overlayWidth) / 2; - - if (placement === 'top') { - positionTop = childOffset.top - overlayHeight; - } else { - positionTop = childOffset.top + childOffset.height; - } - - var leftDelta = getLeftDelta(positionLeft, overlayWidth, container, padding); - - positionLeft += leftDelta; - arrowOffsetLeft = 50 * (1 - 2 * leftDelta / overlayWidth) + '%'; - arrowOffsetTop = void 0; - } else { - throw new Error('calcOverlayPosition(): No such placement of "' + placement + '" found.'); - } - - return { positionLeft: positionLeft, positionTop: positionTop, arrowOffsetLeft: arrowOffsetLeft, arrowOffsetTop: arrowOffsetTop }; -} -module.exports = exports['default']; - -/***/ }), -/* 489 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.ariaHidden = ariaHidden; -exports.hideSiblings = hideSiblings; -exports.showSiblings = showSiblings; - -var BLACKLIST = ['template', 'script', 'style']; - -var isHidable = function isHidable(_ref) { - var nodeType = _ref.nodeType; - var tagName = _ref.tagName; - return nodeType === 1 && BLACKLIST.indexOf(tagName.toLowerCase()) === -1; -}; - -var siblings = function siblings(container, mount, cb) { - mount = [].concat(mount); - - [].forEach.call(container.children, function (node) { - if (mount.indexOf(node) === -1 && isHidable(node)) { - cb(node); - } - }); -}; - -function ariaHidden(show, node) { - if (!node) { - return; - } - if (show) { - node.setAttribute('aria-hidden', 'true'); - } else { - node.removeAttribute('aria-hidden'); - } -} - -function hideSiblings(container, mountNode) { - siblings(container, mountNode, function (node) { - return ariaHidden(true, node); - }); -} - -function showSiblings(container, mountNode) { - siblings(container, mountNode, function (node) { - return ariaHidden(false, node); - }); -} - -/***/ }), -/* 490 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -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; }; - -exports.createProvider = createProvider; - -var _react = __webpack_require__(1); - -var _propTypes = __webpack_require__(7); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _PropTypes = __webpack_require__(230); - -var _warning = __webpack_require__(143); - -var _warning2 = _interopRequireDefault(_warning); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} - -function _possibleConstructorReturn(self, call) { - if (!self) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - }return call && ((typeof call === "undefined" ? "undefined" : _typeof(call)) === "object" || typeof call === "function") ? call : self; -} - -function _inherits(subClass, superClass) { - if (typeof superClass !== "function" && superClass !== null) { - throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === "undefined" ? "undefined" : _typeof(superClass))); - }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; -} - -var didWarnAboutReceivingStore = false; -function warnAboutReceivingStore() { - if (didWarnAboutReceivingStore) { - return; - } - didWarnAboutReceivingStore = true; - - (0, _warning2.default)('<Provider> does not support changing `store` on the fly. ' + 'It is most likely that you see this error because you updated to ' + 'Redux 2.x and React Redux 2.x which no longer hot reload reducers ' + 'automatically. See https://github.com/reactjs/react-redux/releases/' + 'tag/v2.0.0 for the migration instructions.'); -} - -function createProvider() { - var _Provider$childContex; - - var storeKey = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'store'; - var subKey = arguments[1]; - - var subscriptionKey = subKey || storeKey + 'Subscription'; - - var Provider = function (_Component) { - _inherits(Provider, _Component); - - Provider.prototype.getChildContext = function getChildContext() { - var _ref; - - return _ref = {}, _ref[storeKey] = this[storeKey], _ref[subscriptionKey] = null, _ref; - }; - - function Provider(props, context) { - _classCallCheck(this, Provider); - - var _this = _possibleConstructorReturn(this, _Component.call(this, props, context)); - - _this[storeKey] = props.store; - return _this; - } - - Provider.prototype.render = function render() { - return _react.Children.only(this.props.children); - }; - - return Provider; - }(_react.Component); - - if (process.env.NODE_ENV !== 'production') { - Provider.prototype.componentWillReceiveProps = function (nextProps) { - if (this[storeKey] !== nextProps.store) { - warnAboutReceivingStore(); - } - }; - } - - Provider.propTypes = { - store: _PropTypes.storeShape.isRequired, - children: _propTypes2.default.element.isRequired - }; - Provider.childContextTypes = (_Provider$childContex = {}, _Provider$childContex[storeKey] = _PropTypes.storeShape.isRequired, _Provider$childContex[subscriptionKey] = _PropTypes.subscriptionShape, _Provider$childContex); - Provider.displayName = 'Provider'; - - return Provider; -} - -exports.default = createProvider(); -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 491 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -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; }; - -exports.createConnect = createConnect; - -var _connectAdvanced = __webpack_require__(228); - -var _connectAdvanced2 = _interopRequireDefault(_connectAdvanced); - -var _shallowEqual = __webpack_require__(498); - -var _shallowEqual2 = _interopRequireDefault(_shallowEqual); - -var _mapDispatchToProps = __webpack_require__(492); - -var _mapDispatchToProps2 = _interopRequireDefault(_mapDispatchToProps); - -var _mapStateToProps = __webpack_require__(493); - -var _mapStateToProps2 = _interopRequireDefault(_mapStateToProps); - -var _mergeProps = __webpack_require__(494); - -var _mergeProps2 = _interopRequireDefault(_mergeProps); - -var _selectorFactory = __webpack_require__(495); - -var _selectorFactory2 = _interopRequireDefault(_selectorFactory); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: 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; -}; - -function _objectWithoutProperties(obj, keys) { - var target = {};for (var i in obj) { - if (keys.indexOf(i) >= 0) continue;if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;target[i] = obj[i]; - }return target; -} - -/* - connect is a facade over connectAdvanced. It turns its args into a compatible - selectorFactory, which has the signature: - - (dispatch, options) => (nextState, nextOwnProps) => nextFinalProps - - connect passes its args to connectAdvanced as options, which will in turn pass them to - selectorFactory each time a Connect component instance is instantiated or hot reloaded. - - selectorFactory returns a final props selector from its mapStateToProps, - mapStateToPropsFactories, mapDispatchToProps, mapDispatchToPropsFactories, mergeProps, - mergePropsFactories, and pure args. - - The resulting final props selector is called by the Connect component instance whenever - it receives new props or store state. - */ - -function match(arg, factories, name) { - for (var i = factories.length - 1; i >= 0; i--) { - var result = factories[i](arg); - if (result) return result; - } - - return function (dispatch, options) { - throw new Error('Invalid value of type ' + (typeof arg === 'undefined' ? 'undefined' : _typeof(arg)) + ' for ' + name + ' argument when connecting component ' + options.wrappedComponentName + '.'); - }; -} - -function strictEqual(a, b) { - return a === b; -} - -// createConnect with default args builds the 'official' connect behavior. Calling it with -// different options opens up some testing and extensibility scenarios -function createConnect() { - var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, - _ref$connectHOC = _ref.connectHOC, - connectHOC = _ref$connectHOC === undefined ? _connectAdvanced2.default : _ref$connectHOC, - _ref$mapStateToPropsF = _ref.mapStateToPropsFactories, - mapStateToPropsFactories = _ref$mapStateToPropsF === undefined ? _mapStateToProps2.default : _ref$mapStateToPropsF, - _ref$mapDispatchToPro = _ref.mapDispatchToPropsFactories, - mapDispatchToPropsFactories = _ref$mapDispatchToPro === undefined ? _mapDispatchToProps2.default : _ref$mapDispatchToPro, - _ref$mergePropsFactor = _ref.mergePropsFactories, - mergePropsFactories = _ref$mergePropsFactor === undefined ? _mergeProps2.default : _ref$mergePropsFactor, - _ref$selectorFactory = _ref.selectorFactory, - selectorFactory = _ref$selectorFactory === undefined ? _selectorFactory2.default : _ref$selectorFactory; - - return function connect(mapStateToProps, mapDispatchToProps, mergeProps) { - var _ref2 = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}, - _ref2$pure = _ref2.pure, - pure = _ref2$pure === undefined ? true : _ref2$pure, - _ref2$areStatesEqual = _ref2.areStatesEqual, - areStatesEqual = _ref2$areStatesEqual === undefined ? strictEqual : _ref2$areStatesEqual, - _ref2$areOwnPropsEqua = _ref2.areOwnPropsEqual, - areOwnPropsEqual = _ref2$areOwnPropsEqua === undefined ? _shallowEqual2.default : _ref2$areOwnPropsEqua, - _ref2$areStatePropsEq = _ref2.areStatePropsEqual, - areStatePropsEqual = _ref2$areStatePropsEq === undefined ? _shallowEqual2.default : _ref2$areStatePropsEq, - _ref2$areMergedPropsE = _ref2.areMergedPropsEqual, - areMergedPropsEqual = _ref2$areMergedPropsE === undefined ? _shallowEqual2.default : _ref2$areMergedPropsE, - extraOptions = _objectWithoutProperties(_ref2, ['pure', 'areStatesEqual', 'areOwnPropsEqual', 'areStatePropsEqual', 'areMergedPropsEqual']); - - var initMapStateToProps = match(mapStateToProps, mapStateToPropsFactories, 'mapStateToProps'); - var initMapDispatchToProps = match(mapDispatchToProps, mapDispatchToPropsFactories, 'mapDispatchToProps'); - var initMergeProps = match(mergeProps, mergePropsFactories, 'mergeProps'); - - return connectHOC(selectorFactory, _extends({ - // used in error messages - methodName: 'connect', - - // used to compute Connect's displayName from the wrapped component's displayName. - getDisplayName: function getDisplayName(name) { - return 'Connect(' + name + ')'; - }, - - // if mapStateToProps is falsy, the Connect component doesn't subscribe to store state changes - shouldHandleStateChanges: Boolean(mapStateToProps), - - // passed through to selectorFactory - initMapStateToProps: initMapStateToProps, - initMapDispatchToProps: initMapDispatchToProps, - initMergeProps: initMergeProps, - pure: pure, - areStatesEqual: areStatesEqual, - areOwnPropsEqual: areOwnPropsEqual, - areStatePropsEqual: areStatePropsEqual, - areMergedPropsEqual: areMergedPropsEqual - - }, extraOptions)); - }; -} - -exports.default = createConnect(); - -/***/ }), -/* 492 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -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; }; - -exports.whenMapDispatchToPropsIsFunction = whenMapDispatchToPropsIsFunction; -exports.whenMapDispatchToPropsIsMissing = whenMapDispatchToPropsIsMissing; -exports.whenMapDispatchToPropsIsObject = whenMapDispatchToPropsIsObject; - -var _redux = __webpack_require__(33); - -var _wrapMapToProps = __webpack_require__(229); - -function whenMapDispatchToPropsIsFunction(mapDispatchToProps) { - return typeof mapDispatchToProps === 'function' ? (0, _wrapMapToProps.wrapMapToPropsFunc)(mapDispatchToProps, 'mapDispatchToProps') : undefined; -} - -function whenMapDispatchToPropsIsMissing(mapDispatchToProps) { - return !mapDispatchToProps ? (0, _wrapMapToProps.wrapMapToPropsConstant)(function (dispatch) { - return { dispatch: dispatch }; - }) : undefined; -} - -function whenMapDispatchToPropsIsObject(mapDispatchToProps) { - return mapDispatchToProps && (typeof mapDispatchToProps === 'undefined' ? 'undefined' : _typeof(mapDispatchToProps)) === 'object' ? (0, _wrapMapToProps.wrapMapToPropsConstant)(function (dispatch) { - return (0, _redux.bindActionCreators)(mapDispatchToProps, dispatch); - }) : undefined; -} - -exports.default = [whenMapDispatchToPropsIsFunction, whenMapDispatchToPropsIsMissing, whenMapDispatchToPropsIsObject]; - -/***/ }), -/* 493 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.whenMapStateToPropsIsFunction = whenMapStateToPropsIsFunction; -exports.whenMapStateToPropsIsMissing = whenMapStateToPropsIsMissing; - -var _wrapMapToProps = __webpack_require__(229); - -function whenMapStateToPropsIsFunction(mapStateToProps) { - return typeof mapStateToProps === 'function' ? (0, _wrapMapToProps.wrapMapToPropsFunc)(mapStateToProps, 'mapStateToProps') : undefined; -} - -function whenMapStateToPropsIsMissing(mapStateToProps) { - return !mapStateToProps ? (0, _wrapMapToProps.wrapMapToPropsConstant)(function () { - return {}; - }) : undefined; -} - -exports.default = [whenMapStateToPropsIsFunction, whenMapStateToPropsIsMissing]; - -/***/ }), -/* 494 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.defaultMergeProps = defaultMergeProps; -exports.wrapMergePropsFunc = wrapMergePropsFunc; -exports.whenMergePropsIsFunction = whenMergePropsIsFunction; -exports.whenMergePropsIsOmitted = whenMergePropsIsOmitted; - -var _verifyPlainObject = __webpack_require__(231); - -var _verifyPlainObject2 = _interopRequireDefault(_verifyPlainObject); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: 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; -}; - -function defaultMergeProps(stateProps, dispatchProps, ownProps) { - return _extends({}, ownProps, stateProps, dispatchProps); -} - -function wrapMergePropsFunc(mergeProps) { - return function initMergePropsProxy(dispatch, _ref) { - var displayName = _ref.displayName, - pure = _ref.pure, - areMergedPropsEqual = _ref.areMergedPropsEqual; - - var hasRunOnce = false; - var mergedProps = void 0; - - return function mergePropsProxy(stateProps, dispatchProps, ownProps) { - var nextMergedProps = mergeProps(stateProps, dispatchProps, ownProps); - - if (hasRunOnce) { - if (!pure || !areMergedPropsEqual(nextMergedProps, mergedProps)) mergedProps = nextMergedProps; - } else { - hasRunOnce = true; - mergedProps = nextMergedProps; - - if (process.env.NODE_ENV !== 'production') (0, _verifyPlainObject2.default)(mergedProps, displayName, 'mergeProps'); - } - - return mergedProps; - }; - }; -} - -function whenMergePropsIsFunction(mergeProps) { - return typeof mergeProps === 'function' ? wrapMergePropsFunc(mergeProps) : undefined; -} - -function whenMergePropsIsOmitted(mergeProps) { - return !mergeProps ? function () { - return defaultMergeProps; - } : undefined; -} - -exports.default = [whenMergePropsIsFunction, whenMergePropsIsOmitted]; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 495 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.impureFinalPropsSelectorFactory = impureFinalPropsSelectorFactory; -exports.pureFinalPropsSelectorFactory = pureFinalPropsSelectorFactory; -exports.default = finalPropsSelectorFactory; - -var _verifySubselectors = __webpack_require__(496); - -var _verifySubselectors2 = _interopRequireDefault(_verifySubselectors); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _objectWithoutProperties(obj, keys) { - var target = {};for (var i in obj) { - if (keys.indexOf(i) >= 0) continue;if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;target[i] = obj[i]; - }return target; -} - -function impureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch) { - return function impureFinalPropsSelector(state, ownProps) { - return mergeProps(mapStateToProps(state, ownProps), mapDispatchToProps(dispatch, ownProps), ownProps); - }; -} - -function pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, _ref) { - var areStatesEqual = _ref.areStatesEqual, - areOwnPropsEqual = _ref.areOwnPropsEqual, - areStatePropsEqual = _ref.areStatePropsEqual; - - var hasRunAtLeastOnce = false; - var state = void 0; - var ownProps = void 0; - var stateProps = void 0; - var dispatchProps = void 0; - var mergedProps = void 0; - - function handleFirstCall(firstState, firstOwnProps) { - state = firstState; - ownProps = firstOwnProps; - stateProps = mapStateToProps(state, ownProps); - dispatchProps = mapDispatchToProps(dispatch, ownProps); - mergedProps = mergeProps(stateProps, dispatchProps, ownProps); - hasRunAtLeastOnce = true; - return mergedProps; - } - - function handleNewPropsAndNewState() { - stateProps = mapStateToProps(state, ownProps); - - if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps); - - mergedProps = mergeProps(stateProps, dispatchProps, ownProps); - return mergedProps; - } - - function handleNewProps() { - if (mapStateToProps.dependsOnOwnProps) stateProps = mapStateToProps(state, ownProps); - - if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps); - - mergedProps = mergeProps(stateProps, dispatchProps, ownProps); - return mergedProps; - } - - function handleNewState() { - var nextStateProps = mapStateToProps(state, ownProps); - var statePropsChanged = !areStatePropsEqual(nextStateProps, stateProps); - stateProps = nextStateProps; - - if (statePropsChanged) mergedProps = mergeProps(stateProps, dispatchProps, ownProps); - - return mergedProps; - } - - function handleSubsequentCalls(nextState, nextOwnProps) { - var propsChanged = !areOwnPropsEqual(nextOwnProps, ownProps); - var stateChanged = !areStatesEqual(nextState, state); - state = nextState; - ownProps = nextOwnProps; - - if (propsChanged && stateChanged) return handleNewPropsAndNewState(); - if (propsChanged) return handleNewProps(); - if (stateChanged) return handleNewState(); - return mergedProps; - } - - return function pureFinalPropsSelector(nextState, nextOwnProps) { - return hasRunAtLeastOnce ? handleSubsequentCalls(nextState, nextOwnProps) : handleFirstCall(nextState, nextOwnProps); - }; -} - -// TODO: Add more comments - -// If pure is true, the selector returned by selectorFactory will memoize its results, -// allowing connectAdvanced's shouldComponentUpdate to return false if final -// props have not changed. If false, the selector will always return a new -// object and shouldComponentUpdate will always return true. - -function finalPropsSelectorFactory(dispatch, _ref2) { - var initMapStateToProps = _ref2.initMapStateToProps, - initMapDispatchToProps = _ref2.initMapDispatchToProps, - initMergeProps = _ref2.initMergeProps, - options = _objectWithoutProperties(_ref2, ['initMapStateToProps', 'initMapDispatchToProps', 'initMergeProps']); - - var mapStateToProps = initMapStateToProps(dispatch, options); - var mapDispatchToProps = initMapDispatchToProps(dispatch, options); - var mergeProps = initMergeProps(dispatch, options); - - if (process.env.NODE_ENV !== 'production') { - (0, _verifySubselectors2.default)(mapStateToProps, mapDispatchToProps, mergeProps, options.displayName); - } - - var selectorFactory = options.pure ? pureFinalPropsSelectorFactory : impureFinalPropsSelectorFactory; - - return selectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, options); -} -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 496 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = verifySubselectors; - -var _warning = __webpack_require__(143); - -var _warning2 = _interopRequireDefault(_warning); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function verify(selector, methodName, displayName) { - if (!selector) { - throw new Error('Unexpected value for ' + methodName + ' in ' + displayName + '.'); - } else if (methodName === 'mapStateToProps' || methodName === 'mapDispatchToProps') { - if (!selector.hasOwnProperty('dependsOnOwnProps')) { - (0, _warning2.default)('The selector for ' + methodName + ' of ' + displayName + ' did not specify a value for dependsOnOwnProps.'); - } - } -} - -function verifySubselectors(mapStateToProps, mapDispatchToProps, mergeProps, displayName) { - verify(mapStateToProps, 'mapStateToProps', displayName); - verify(mapDispatchToProps, 'mapDispatchToProps', displayName); - verify(mergeProps, 'mergeProps', displayName); -} - -/***/ }), -/* 497 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} - -// encapsulates the subscription logic for connecting a component to the redux store, as -// well as nesting subscriptions of descendant components, so that we can ensure the -// ancestor components re-render before descendants - -var CLEARED = null; -var nullListeners = { - notify: function notify() {} -}; - -function createListenerCollection() { - // the current/next pattern is copied from redux's createStore code. - // TODO: refactor+expose that code to be reusable here? - var current = []; - var next = []; - - return { - clear: function clear() { - next = CLEARED; - current = CLEARED; - }, - notify: function notify() { - var listeners = current = next; - for (var i = 0; i < listeners.length; i++) { - listeners[i](); - } - }, - subscribe: function subscribe(listener) { - var isSubscribed = true; - if (next === current) next = current.slice(); - next.push(listener); - - return function unsubscribe() { - if (!isSubscribed || current === CLEARED) return; - isSubscribed = false; - - if (next === current) next = current.slice(); - next.splice(next.indexOf(listener), 1); - }; - } - }; -} - -var Subscription = function () { - function Subscription(store, parentSub, onStateChange) { - _classCallCheck(this, Subscription); - - this.store = store; - this.parentSub = parentSub; - this.onStateChange = onStateChange; - this.unsubscribe = null; - this.listeners = nullListeners; - } - - Subscription.prototype.addNestedSub = function addNestedSub(listener) { - this.trySubscribe(); - return this.listeners.subscribe(listener); - }; - - Subscription.prototype.notifyNestedSubs = function notifyNestedSubs() { - this.listeners.notify(); - }; - - Subscription.prototype.isSubscribed = function isSubscribed() { - return Boolean(this.unsubscribe); - }; - - Subscription.prototype.trySubscribe = function trySubscribe() { - if (!this.unsubscribe) { - this.unsubscribe = this.parentSub ? this.parentSub.addNestedSub(this.onStateChange) : this.store.subscribe(this.onStateChange); - - this.listeners = createListenerCollection(); - } - }; - - Subscription.prototype.tryUnsubscribe = function tryUnsubscribe() { - if (this.unsubscribe) { - this.unsubscribe(); - this.unsubscribe = null; - this.listeners.clear(); - this.listeners = nullListeners; - } - }; - - return Subscription; -}(); - -exports.default = Subscription; - -/***/ }), -/* 498 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -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; }; - -exports.default = shallowEqual; -var hasOwn = Object.prototype.hasOwnProperty; - -function is(x, y) { - if (x === y) { - return x !== 0 || y !== 0 || 1 / x === 1 / y; - } else { - return x !== x && y !== y; - } -} - -function shallowEqual(objA, objB) { - if (is(objA, objB)) return true; - - if ((typeof objA === 'undefined' ? 'undefined' : _typeof(objA)) !== 'object' || objA === null || (typeof objB === 'undefined' ? 'undefined' : _typeof(objB)) !== 'object' || objB === null) { - return false; - } - - var keysA = Object.keys(objA); - var keysB = Object.keys(objB); - - if (keysA.length !== keysB.length) return false; - - for (var i = 0; i < keysA.length; i++) { - if (!hasOwn.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) { - return false; - } - } - - return true; -} - -/***/ }), -/* 499 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _createReactClass = __webpack_require__(31); - -var _createReactClass2 = _interopRequireDefault(_createReactClass); - -var _Link = __webpack_require__(232); - -var _Link2 = _interopRequireDefault(_Link); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: 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; -}; - -/** - * An <IndexLink> is used to link to an <IndexRoute>. - */ -var IndexLink = (0, _createReactClass2.default)({ - displayName: 'IndexLink', - - render: function render() { - return _react2.default.createElement(_Link2.default, _extends({}, this.props, { onlyActiveOnIndex: true })); - } -}); - -exports.default = IndexLink; - -/***/ }), -/* 500 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createReactClass = __webpack_require__(31); - -var _createReactClass2 = _interopRequireDefault(_createReactClass); - -var _propTypes = __webpack_require__(7); - -var _routerWarning = __webpack_require__(60); - -var _routerWarning2 = _interopRequireDefault(_routerWarning); - -var _invariant = __webpack_require__(17); - -var _invariant2 = _interopRequireDefault(_invariant); - -var _Redirect = __webpack_require__(234); - -var _Redirect2 = _interopRequireDefault(_Redirect); - -var _InternalPropTypes = __webpack_require__(73); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * An <IndexRedirect> is used to redirect from an indexRoute. - */ -/* eslint-disable react/require-render-return */ -var IndexRedirect = (0, _createReactClass2.default)({ - displayName: 'IndexRedirect', - - statics: { - createRouteFromReactElement: function createRouteFromReactElement(element, parentRoute) { - /* istanbul ignore else: sanity check */ - if (parentRoute) { - parentRoute.indexRoute = _Redirect2.default.createRouteFromReactElement(element); - } else { - process.env.NODE_ENV !== 'production' ? (0, _routerWarning2.default)(false, 'An <IndexRedirect> does not make sense at the root of your route config') : void 0; - } - } - }, - - propTypes: { - to: _propTypes.string.isRequired, - query: _propTypes.object, - state: _propTypes.object, - onEnter: _InternalPropTypes.falsy, - children: _InternalPropTypes.falsy - }, - - /* istanbul ignore next: sanity check */ - render: function render() { - true ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, '<IndexRedirect> elements are for router configuration only and should not be rendered') : (0, _invariant2.default)(false) : void 0; - } -}); - -exports.default = IndexRedirect; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 501 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createReactClass = __webpack_require__(31); - -var _createReactClass2 = _interopRequireDefault(_createReactClass); - -var _propTypes = __webpack_require__(7); - -var _routerWarning = __webpack_require__(60); - -var _routerWarning2 = _interopRequireDefault(_routerWarning); - -var _invariant = __webpack_require__(17); - -var _invariant2 = _interopRequireDefault(_invariant); - -var _RouteUtils = __webpack_require__(40); - -var _InternalPropTypes = __webpack_require__(73); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * An <IndexRoute> is used to specify its parent's <Route indexRoute> in - * a JSX route config. - */ -/* eslint-disable react/require-render-return */ -var IndexRoute = (0, _createReactClass2.default)({ - displayName: 'IndexRoute', - - statics: { - createRouteFromReactElement: function createRouteFromReactElement(element, parentRoute) { - /* istanbul ignore else: sanity check */ - if (parentRoute) { - parentRoute.indexRoute = (0, _RouteUtils.createRouteFromReactElement)(element); - } else { - process.env.NODE_ENV !== 'production' ? (0, _routerWarning2.default)(false, 'An <IndexRoute> does not make sense at the root of your route config') : void 0; - } - } - }, - - propTypes: { - path: _InternalPropTypes.falsy, - component: _InternalPropTypes.component, - components: _InternalPropTypes.components, - getComponent: _propTypes.func, - getComponents: _propTypes.func - }, - - /* istanbul ignore next: sanity check */ - render: function render() { - true ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, '<IndexRoute> elements are for router configuration only and should not be rendered') : (0, _invariant2.default)(false) : void 0; - } -}); - -exports.default = IndexRoute; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 502 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createReactClass = __webpack_require__(31); - -var _createReactClass2 = _interopRequireDefault(_createReactClass); - -var _propTypes = __webpack_require__(7); - -var _invariant = __webpack_require__(17); - -var _invariant2 = _interopRequireDefault(_invariant); - -var _RouteUtils = __webpack_require__(40); - -var _InternalPropTypes = __webpack_require__(73); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/** - * A <Route> is used to declare which components are rendered to the - * page when the URL matches a given pattern. - * - * Routes are arranged in a nested tree structure. When a new URL is - * requested, the tree is searched depth-first to find a route whose - * path matches the URL. When one is found, all routes in the tree - * that lead to it are considered "active" and their components are - * rendered into the DOM, nested in the same order as in the tree. - */ -/* eslint-disable react/require-render-return */ -var Route = (0, _createReactClass2.default)({ - displayName: 'Route', - - statics: { - createRouteFromReactElement: _RouteUtils.createRouteFromReactElement - }, - - propTypes: { - path: _propTypes.string, - component: _InternalPropTypes.component, - components: _InternalPropTypes.components, - getComponent: _propTypes.func, - getComponents: _propTypes.func - }, - - /* istanbul ignore next: sanity check */ - render: function render() { - true ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, '<Route> elements are for router configuration only and should not be rendered') : (0, _invariant2.default)(false) : void 0; - } -}); - -exports.default = Route; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 503 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _invariant = __webpack_require__(17); - -var _invariant2 = _interopRequireDefault(_invariant); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _createReactClass = __webpack_require__(31); - -var _createReactClass2 = _interopRequireDefault(_createReactClass); - -var _propTypes = __webpack_require__(7); - -var _createTransitionManager2 = __webpack_require__(238); - -var _createTransitionManager3 = _interopRequireDefault(_createTransitionManager2); - -var _InternalPropTypes = __webpack_require__(73); - -var _RouterContext = __webpack_require__(147); - -var _RouterContext2 = _interopRequireDefault(_RouterContext); - -var _RouteUtils = __webpack_require__(40); - -var _RouterUtils = __webpack_require__(235); - -var _routerWarning = __webpack_require__(60); - -var _routerWarning2 = _interopRequireDefault(_routerWarning); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: 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; -}; - -function _objectWithoutProperties(obj, keys) { - var target = {};for (var i in obj) { - if (keys.indexOf(i) >= 0) continue;if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;target[i] = obj[i]; - }return target; -} - -var propTypes = { - history: _propTypes.object, - children: _InternalPropTypes.routes, - routes: _InternalPropTypes.routes, // alias for children - render: _propTypes.func, - createElement: _propTypes.func, - onError: _propTypes.func, - onUpdate: _propTypes.func, - - // PRIVATE: For client-side rehydration of server match. - matchContext: _propTypes.object -}; - -/** - * A <Router> is a high-level API for automatically setting up - * a router that renders a <RouterContext> with all the props - * it needs each time the URL changes. - */ -var Router = (0, _createReactClass2.default)({ - displayName: 'Router', - - propTypes: propTypes, - - getDefaultProps: function getDefaultProps() { - return { - render: function render(props) { - return _react2.default.createElement(_RouterContext2.default, props); - } - }; - }, - getInitialState: function getInitialState() { - return { - location: null, - routes: null, - params: null, - components: null - }; - }, - handleError: function handleError(error) { - if (this.props.onError) { - this.props.onError.call(this, error); - } else { - // Throw errors by default so we don't silently swallow them! - throw error; // This error probably occurred in getChildRoutes or getComponents. - } - }, - createRouterObject: function createRouterObject(state) { - var matchContext = this.props.matchContext; - - if (matchContext) { - return matchContext.router; - } - - var history = this.props.history; - - return (0, _RouterUtils.createRouterObject)(history, this.transitionManager, state); - }, - createTransitionManager: function createTransitionManager() { - var matchContext = this.props.matchContext; - - if (matchContext) { - return matchContext.transitionManager; - } - - var history = this.props.history; - var _props = this.props, - routes = _props.routes, - children = _props.children; - - !history.getCurrentLocation ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'You have provided a history object created with history v4.x or v2.x ' + 'and earlier. This version of React Router is only compatible with v3 ' + 'history objects. Please change to history v3.x.') : (0, _invariant2.default)(false) : void 0; - - return (0, _createTransitionManager3.default)(history, (0, _RouteUtils.createRoutes)(routes || children)); - }, - componentWillMount: function componentWillMount() { - var _this = this; - - this.transitionManager = this.createTransitionManager(); - this.router = this.createRouterObject(this.state); - - this._unlisten = this.transitionManager.listen(function (error, state) { - if (error) { - _this.handleError(error); - } else { - // Keep the identity of this.router because of a caveat in ContextUtils: - // they only work if the object identity is preserved. - (0, _RouterUtils.assignRouterState)(_this.router, state); - _this.setState(state, _this.props.onUpdate); - } - }); - }, - - /* istanbul ignore next: sanity check */ - componentWillReceiveProps: function componentWillReceiveProps(nextProps) { - process.env.NODE_ENV !== 'production' ? (0, _routerWarning2.default)(nextProps.history === this.props.history, 'You cannot change <Router history>; it will be ignored') : void 0; - - process.env.NODE_ENV !== 'production' ? (0, _routerWarning2.default)((nextProps.routes || nextProps.children) === (this.props.routes || this.props.children), 'You cannot change <Router routes>; it will be ignored') : void 0; - }, - componentWillUnmount: function componentWillUnmount() { - if (this._unlisten) this._unlisten(); - }, - render: function render() { - var _state = this.state, - location = _state.location, - routes = _state.routes, - params = _state.params, - components = _state.components; - - var _props2 = this.props, - createElement = _props2.createElement, - render = _props2.render, - props = _objectWithoutProperties(_props2, ['createElement', 'render']); - - if (location == null) return null; // Async match - - // Only forward non-Router-specific props to routing context, as those are - // the only ones that might be custom routing context props. - Object.keys(propTypes).forEach(function (propType) { - return delete props[propType]; - }); - - return render(_extends({}, props, { - router: this.router, - location: location, - routes: routes, - params: params, - components: components, - createElement: createElement - })); - } -}); - -exports.default = Router; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 504 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = getTransitionUtils; - -var _AsyncUtils = __webpack_require__(144); - -function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} - -var PendingHooks = function PendingHooks() { - var _this = this; - - _classCallCheck(this, PendingHooks); - - this.hooks = []; - - this.add = function (hook) { - return _this.hooks.push(hook); - }; - - this.remove = function (hook) { - return _this.hooks = _this.hooks.filter(function (h) { - return h !== hook; - }); - }; - - this.has = function (hook) { - return _this.hooks.indexOf(hook) !== -1; - }; - - this.clear = function () { - return _this.hooks = []; - }; -}; - -function getTransitionUtils() { - var enterHooks = new PendingHooks(); - var changeHooks = new PendingHooks(); - - function createTransitionHook(hook, route, asyncArity, pendingHooks) { - var isSync = hook.length < asyncArity; - - var transitionHook = function transitionHook() { - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - hook.apply(route, args); - - if (isSync) { - var callback = args[args.length - 1]; - // Assume hook executes synchronously and - // automatically call the callback. - callback(); - } - }; - - pendingHooks.add(transitionHook); - - return transitionHook; - } - - function getEnterHooks(routes) { - return routes.reduce(function (hooks, route) { - if (route.onEnter) hooks.push(createTransitionHook(route.onEnter, route, 3, enterHooks)); - return hooks; - }, []); - } - - function getChangeHooks(routes) { - return routes.reduce(function (hooks, route) { - if (route.onChange) hooks.push(createTransitionHook(route.onChange, route, 4, changeHooks)); - return hooks; - }, []); - } - - function runTransitionHooks(length, iter, callback) { - if (!length) { - callback(); - return; - } - - var redirectInfo = void 0; - function replace(location) { - redirectInfo = location; - } - - (0, _AsyncUtils.loopAsync)(length, function (index, next, done) { - iter(index, replace, function (error) { - if (error || redirectInfo) { - done(error, redirectInfo); // No need to continue. - } else { - next(); - } - }); - }, callback); - } - - /** - * Runs all onEnter hooks in the given array of routes in order - * with onEnter(nextState, replace, callback) and calls - * callback(error, redirectInfo) when finished. The first hook - * to use replace short-circuits the loop. - * - * If a hook needs to run asynchronously, it may use the callback - * function. However, doing so will cause the transition to pause, - * which could lead to a non-responsive UI if the hook is slow. - */ - function runEnterHooks(routes, nextState, callback) { - enterHooks.clear(); - var hooks = getEnterHooks(routes); - return runTransitionHooks(hooks.length, function (index, replace, next) { - var wrappedNext = function wrappedNext() { - if (enterHooks.has(hooks[index])) { - next.apply(undefined, arguments); - enterHooks.remove(hooks[index]); - } - }; - hooks[index](nextState, replace, wrappedNext); - }, callback); - } - - /** - * Runs all onChange hooks in the given array of routes in order - * with onChange(prevState, nextState, replace, callback) and calls - * callback(error, redirectInfo) when finished. The first hook - * to use replace short-circuits the loop. - * - * If a hook needs to run asynchronously, it may use the callback - * function. However, doing so will cause the transition to pause, - * which could lead to a non-responsive UI if the hook is slow. - */ - function runChangeHooks(routes, state, nextState, callback) { - changeHooks.clear(); - var hooks = getChangeHooks(routes); - return runTransitionHooks(hooks.length, function (index, replace, next) { - var wrappedNext = function wrappedNext() { - if (changeHooks.has(hooks[index])) { - next.apply(undefined, arguments); - changeHooks.remove(hooks[index]); - } - }; - hooks[index](state, nextState, replace, wrappedNext); - }, callback); - } - - /** - * Runs all onLeave hooks in the given array of routes in order. - */ - function runLeaveHooks(routes, prevState) { - for (var i = 0, len = routes.length; i < len; ++i) { - if (routes[i].onLeave) routes[i].onLeave.call(routes[i], prevState); - } - } - - return { - runEnterHooks: runEnterHooks, - runChangeHooks: runChangeHooks, - runLeaveHooks: runLeaveHooks - }; -} - -/***/ }), -/* 505 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _RouterContext = __webpack_require__(147); - -var _RouterContext2 = _interopRequireDefault(_RouterContext); - -var _routerWarning = __webpack_require__(60); - -var _routerWarning2 = _interopRequireDefault(_routerWarning); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: 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; -}; - -exports.default = function () { - for (var _len = arguments.length, middlewares = Array(_len), _key = 0; _key < _len; _key++) { - middlewares[_key] = arguments[_key]; - } - - if (process.env.NODE_ENV !== 'production') { - middlewares.forEach(function (middleware, index) { - process.env.NODE_ENV !== 'production' ? (0, _routerWarning2.default)(middleware.renderRouterContext || middleware.renderRouteComponent, 'The middleware specified at index ' + index + ' does not appear to be ' + 'a valid React Router middleware.') : void 0; - }); - } - - var withContext = middlewares.map(function (middleware) { - return middleware.renderRouterContext; - }).filter(Boolean); - var withComponent = middlewares.map(function (middleware) { - return middleware.renderRouteComponent; - }).filter(Boolean); - - var makeCreateElement = function makeCreateElement() { - var baseCreateElement = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _react.createElement; - return function (Component, props) { - return withComponent.reduceRight(function (previous, renderRouteComponent) { - return renderRouteComponent(previous, props); - }, baseCreateElement(Component, props)); - }; - }; - - return function (renderProps) { - return withContext.reduceRight(function (previous, renderRouterContext) { - return renderRouterContext(previous, renderProps); - }, _react2.default.createElement(_RouterContext2.default, _extends({}, renderProps, { - createElement: makeCreateElement(renderProps.createElement) - }))); - }; -}; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 506 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createBrowserHistory = __webpack_require__(336); - -var _createBrowserHistory2 = _interopRequireDefault(_createBrowserHistory); - -var _createRouterHistory = __webpack_require__(237); - -var _createRouterHistory2 = _interopRequireDefault(_createRouterHistory); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = (0, _createRouterHistory2.default)(_createBrowserHistory2.default); - -/***/ }), -/* 507 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _PatternUtils = __webpack_require__(59); - -function routeParamsChanged(route, prevState, nextState) { - if (!route.path) return false; - - var paramNames = (0, _PatternUtils.getParamNames)(route.path); - - return paramNames.some(function (paramName) { - return prevState.params[paramName] !== nextState.params[paramName]; - }); -} - -/** - * Returns an object of { leaveRoutes, changeRoutes, enterRoutes } determined by - * the change from prevState to nextState. We leave routes if either - * 1) they are not in the next state or 2) they are in the next state - * but their params have changed (i.e. /users/123 => /users/456). - * - * leaveRoutes are ordered starting at the leaf route of the tree - * we're leaving up to the common parent route. enterRoutes are ordered - * from the top of the tree we're entering down to the leaf route. - * - * changeRoutes are any routes that didn't leave or enter during - * the transition. - */ -function computeChangedRoutes(prevState, nextState) { - var prevRoutes = prevState && prevState.routes; - var nextRoutes = nextState.routes; - - var leaveRoutes = void 0, - changeRoutes = void 0, - enterRoutes = void 0; - if (prevRoutes) { - var parentIsLeaving = false; - leaveRoutes = prevRoutes.filter(function (route) { - if (parentIsLeaving) { - return true; - } else { - var isLeaving = nextRoutes.indexOf(route) === -1 || routeParamsChanged(route, prevState, nextState); - if (isLeaving) parentIsLeaving = true; - return isLeaving; - } - }); - - // onLeave hooks start at the leaf route. - leaveRoutes.reverse(); - - enterRoutes = []; - changeRoutes = []; - - nextRoutes.forEach(function (route) { - var isNew = prevRoutes.indexOf(route) === -1; - var paramsChanged = leaveRoutes.indexOf(route) !== -1; - - if (isNew || paramsChanged) enterRoutes.push(route);else changeRoutes.push(route); - }); - } else { - leaveRoutes = []; - changeRoutes = []; - enterRoutes = nextRoutes; - } - - return { - leaveRoutes: leaveRoutes, - changeRoutes: changeRoutes, - enterRoutes: enterRoutes - }; -} - -exports.default = computeChangedRoutes; - -/***/ }), -/* 508 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _AsyncUtils = __webpack_require__(144); - -var _PromiseUtils = __webpack_require__(233); - -function getComponentsForRoute(nextState, route, callback) { - if (route.component || route.components) { - callback(null, route.component || route.components); - return; - } - - var getComponent = route.getComponent || route.getComponents; - if (getComponent) { - var componentReturn = getComponent.call(route, nextState, callback); - if ((0, _PromiseUtils.isPromise)(componentReturn)) componentReturn.then(function (component) { - return callback(null, component); - }, callback); - } else { - callback(); - } -} - -/** - * Asynchronously fetches all components needed for the given router - * state and calls callback(error, components) when finished. - * - * Note: This operation may finish synchronously if no routes have an - * asynchronous getComponents method. - */ -function getComponents(nextState, callback) { - (0, _AsyncUtils.mapAsync)(nextState.routes, function (route, index, callback) { - getComponentsForRoute(nextState, route, callback); - }, callback); -} - -exports.default = getComponents; - -/***/ }), -/* 509 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _PatternUtils = __webpack_require__(59); - -/** - * Extracts an object of params the given route cares about from - * the given params object. - */ -function getRouteParams(route, params) { - var routeParams = {}; - - if (!route.path) return routeParams; - - (0, _PatternUtils.getParamNames)(route.path).forEach(function (p) { - if (Object.prototype.hasOwnProperty.call(params, p)) { - routeParams[p] = params[p]; - } - }); - - return routeParams; -} - -exports.default = getRouteParams; - -/***/ }), -/* 510 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createHashHistory = __webpack_require__(337); - -var _createHashHistory2 = _interopRequireDefault(_createHashHistory); - -var _createRouterHistory = __webpack_require__(237); - -var _createRouterHistory2 = _interopRequireDefault(_createRouterHistory); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = (0, _createRouterHistory2.default)(_createHashHistory2.default); - -/***/ }), -/* 511 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _typeof2 = 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; }; - -exports.default = isActive; - -var _PatternUtils = __webpack_require__(59); - -var _typeof = typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol" ? function (obj) { - return typeof obj === "undefined" ? "undefined" : _typeof2(obj); -} : function (obj) { - return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof2(obj); -}; - -function deepEqual(a, b) { - if (a == b) return true; - - if (a == null || b == null) return false; - - if (Array.isArray(a)) { - return Array.isArray(b) && a.length === b.length && a.every(function (item, index) { - return deepEqual(item, b[index]); - }); - } - - if ((typeof a === 'undefined' ? 'undefined' : _typeof(a)) === 'object') { - for (var p in a) { - if (!Object.prototype.hasOwnProperty.call(a, p)) { - continue; - } - - if (a[p] === undefined) { - if (b[p] !== undefined) { - return false; - } - } else if (!Object.prototype.hasOwnProperty.call(b, p)) { - return false; - } else if (!deepEqual(a[p], b[p])) { - return false; - } - } - - return true; - } - - return String(a) === String(b); -} - -/** - * Returns true if the current pathname matches the supplied one, net of - * leading and trailing slash normalization. This is sufficient for an - * indexOnly route match. - */ -function pathIsActive(pathname, currentPathname) { - // Normalize leading slash for consistency. Leading slash on pathname has - // already been normalized in isActive. See caveat there. - if (currentPathname.charAt(0) !== '/') { - currentPathname = '/' + currentPathname; - } - - // Normalize the end of both path names too. Maybe `/foo/` shouldn't show - // `/foo` as active, but in this case, we would already have failed the - // match. - if (pathname.charAt(pathname.length - 1) !== '/') { - pathname += '/'; - } - if (currentPathname.charAt(currentPathname.length - 1) !== '/') { - currentPathname += '/'; - } - - return currentPathname === pathname; -} - -/** - * Returns true if the given pathname matches the active routes and params. - */ -function routeIsActive(pathname, routes, params) { - var remainingPathname = pathname, - paramNames = [], - paramValues = []; - - // for...of would work here but it's probably slower post-transpilation. - for (var i = 0, len = routes.length; i < len; ++i) { - var route = routes[i]; - var pattern = route.path || ''; - - if (pattern.charAt(0) === '/') { - remainingPathname = pathname; - paramNames = []; - paramValues = []; - } - - if (remainingPathname !== null && pattern) { - var matched = (0, _PatternUtils.matchPattern)(pattern, remainingPathname); - if (matched) { - remainingPathname = matched.remainingPathname; - paramNames = [].concat(paramNames, matched.paramNames); - paramValues = [].concat(paramValues, matched.paramValues); - } else { - remainingPathname = null; - } - - if (remainingPathname === '') { - // We have an exact match on the route. Just check that all the params - // match. - // FIXME: This doesn't work on repeated params. - return paramNames.every(function (paramName, index) { - return String(paramValues[index]) === String(params[paramName]); - }); - } - } - } - - return false; -} - -/** - * Returns true if all key/value pairs in the given query are - * currently active. - */ -function queryIsActive(query, activeQuery) { - if (activeQuery == null) return query == null; - - if (query == null) return true; - - return deepEqual(query, activeQuery); -} - -/** - * Returns true if a <Link> to the given pathname/query combination is - * currently active. - */ -function isActive(_ref, indexOnly, currentLocation, routes, params) { - var pathname = _ref.pathname, - query = _ref.query; - - if (currentLocation == null) return false; - - // TODO: This is a bit ugly. It keeps around support for treating pathnames - // without preceding slashes as absolute paths, but possibly also works - // around the same quirks with basenames as in matchRoutes. - if (pathname.charAt(0) !== '/') { - pathname = '/' + pathname; - } - - if (!pathIsActive(pathname, currentLocation.pathname)) { - // The path check is necessary and sufficient for indexOnly, but otherwise - // we still need to check the routes. - if (indexOnly || !routeIsActive(pathname, routes, params)) { - return false; - } - } - - return queryIsActive(query, currentLocation.query); -} - -/***/ }), -/* 512 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _Actions = __webpack_require__(79); - -var _invariant = __webpack_require__(17); - -var _invariant2 = _interopRequireDefault(_invariant); - -var _createMemoryHistory = __webpack_require__(236); - -var _createMemoryHistory2 = _interopRequireDefault(_createMemoryHistory); - -var _createTransitionManager = __webpack_require__(238); - -var _createTransitionManager2 = _interopRequireDefault(_createTransitionManager); - -var _RouteUtils = __webpack_require__(40); - -var _RouterUtils = __webpack_require__(235); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: 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; -}; - -function _objectWithoutProperties(obj, keys) { - var target = {};for (var i in obj) { - if (keys.indexOf(i) >= 0) continue;if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;target[i] = obj[i]; - }return target; -} - -/** - * A high-level API to be used for server-side rendering. - * - * This function matches a location to a set of routes and calls - * callback(error, redirectLocation, renderProps) when finished. - * - * Note: You probably don't want to use this in a browser unless you're using - * server-side rendering with async routes. - */ -function match(_ref, callback) { - var history = _ref.history, - routes = _ref.routes, - location = _ref.location, - options = _objectWithoutProperties(_ref, ['history', 'routes', 'location']); - - !(history || location) ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'match needs a history or a location') : (0, _invariant2.default)(false) : void 0; - - history = history ? history : (0, _createMemoryHistory2.default)(options); - var transitionManager = (0, _createTransitionManager2.default)(history, (0, _RouteUtils.createRoutes)(routes)); - - if (location) { - // Allow match({ location: '/the/path', ... }) - location = history.createLocation(location); - } else { - location = history.getCurrentLocation(); - } - - transitionManager.match(location, function (error, redirectLocation, nextState) { - var renderProps = void 0; - - if (nextState) { - var router = (0, _RouterUtils.createRouterObject)(history, transitionManager, nextState); - renderProps = _extends({}, nextState, { - router: router, - matchContext: { transitionManager: transitionManager, router: router } - }); - } - - callback(error, redirectLocation && history.createLocation(redirectLocation, _Actions.REPLACE), renderProps); - }); -} - -exports.default = match; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 513 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = matchRoutes; - -var _AsyncUtils = __webpack_require__(144); - -var _PromiseUtils = __webpack_require__(233); - -var _PatternUtils = __webpack_require__(59); - -var _routerWarning = __webpack_require__(60); - -var _routerWarning2 = _interopRequireDefault(_routerWarning); - -var _RouteUtils = __webpack_require__(40); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: 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; -}; - -function getChildRoutes(route, location, paramNames, paramValues, callback) { - if (route.childRoutes) { - return [null, route.childRoutes]; - } - if (!route.getChildRoutes) { - return []; - } - - var sync = true, - result = void 0; - - var partialNextState = { - location: location, - params: createParams(paramNames, paramValues) - }; - - var childRoutesReturn = route.getChildRoutes(partialNextState, function (error, childRoutes) { - childRoutes = !error && (0, _RouteUtils.createRoutes)(childRoutes); - if (sync) { - result = [error, childRoutes]; - return; - } - - callback(error, childRoutes); - }); - - if ((0, _PromiseUtils.isPromise)(childRoutesReturn)) childRoutesReturn.then(function (childRoutes) { - return callback(null, (0, _RouteUtils.createRoutes)(childRoutes)); - }, callback); - - sync = false; - return result; // Might be undefined. -} - -function getIndexRoute(route, location, paramNames, paramValues, callback) { - if (route.indexRoute) { - callback(null, route.indexRoute); - } else if (route.getIndexRoute) { - var partialNextState = { - location: location, - params: createParams(paramNames, paramValues) - }; - - var indexRoutesReturn = route.getIndexRoute(partialNextState, function (error, indexRoute) { - callback(error, !error && (0, _RouteUtils.createRoutes)(indexRoute)[0]); - }); - - if ((0, _PromiseUtils.isPromise)(indexRoutesReturn)) indexRoutesReturn.then(function (indexRoute) { - return callback(null, (0, _RouteUtils.createRoutes)(indexRoute)[0]); - }, callback); - } else if (route.childRoutes || route.getChildRoutes) { - var onChildRoutes = function onChildRoutes(error, childRoutes) { - if (error) { - callback(error); - return; - } - - var pathless = childRoutes.filter(function (childRoute) { - return !childRoute.path; - }); - - (0, _AsyncUtils.loopAsync)(pathless.length, function (index, next, done) { - getIndexRoute(pathless[index], location, paramNames, paramValues, function (error, indexRoute) { - if (error || indexRoute) { - var routes = [pathless[index]].concat(Array.isArray(indexRoute) ? indexRoute : [indexRoute]); - done(error, routes); - } else { - next(); - } - }); - }, function (err, routes) { - callback(null, routes); - }); - }; - - var result = getChildRoutes(route, location, paramNames, paramValues, onChildRoutes); - if (result) { - onChildRoutes.apply(undefined, result); - } - } else { - callback(); - } -} - -function assignParams(params, paramNames, paramValues) { - return paramNames.reduce(function (params, paramName, index) { - var paramValue = paramValues && paramValues[index]; - - if (Array.isArray(params[paramName])) { - params[paramName].push(paramValue); - } else if (paramName in params) { - params[paramName] = [params[paramName], paramValue]; - } else { - params[paramName] = paramValue; - } - - return params; - }, params); -} - -function createParams(paramNames, paramValues) { - return assignParams({}, paramNames, paramValues); -} - -function matchRouteDeep(route, location, remainingPathname, paramNames, paramValues, callback) { - var pattern = route.path || ''; - - if (pattern.charAt(0) === '/') { - remainingPathname = location.pathname; - paramNames = []; - paramValues = []; - } - - // Only try to match the path if the route actually has a pattern, and if - // we're not just searching for potential nested absolute paths. - if (remainingPathname !== null && pattern) { - try { - var matched = (0, _PatternUtils.matchPattern)(pattern, remainingPathname); - if (matched) { - remainingPathname = matched.remainingPathname; - paramNames = [].concat(paramNames, matched.paramNames); - paramValues = [].concat(paramValues, matched.paramValues); - } else { - remainingPathname = null; - } - } catch (error) { - callback(error); - } - - // By assumption, pattern is non-empty here, which is the prerequisite for - // actually terminating a match. - if (remainingPathname === '') { - var match = { - routes: [route], - params: createParams(paramNames, paramValues) - }; - - getIndexRoute(route, location, paramNames, paramValues, function (error, indexRoute) { - if (error) { - callback(error); - } else { - if (Array.isArray(indexRoute)) { - var _match$routes; - - process.env.NODE_ENV !== 'production' ? (0, _routerWarning2.default)(indexRoute.every(function (route) { - return !route.path; - }), 'Index routes should not have paths') : void 0; - (_match$routes = match.routes).push.apply(_match$routes, indexRoute); - } else if (indexRoute) { - process.env.NODE_ENV !== 'production' ? (0, _routerWarning2.default)(!indexRoute.path, 'Index routes should not have paths') : void 0; - match.routes.push(indexRoute); - } - - callback(null, match); - } - }); - - return; - } - } - - if (remainingPathname != null || route.childRoutes) { - // Either a) this route matched at least some of the path or b) - // we don't have to load this route's children asynchronously. In - // either case continue checking for matches in the subtree. - var onChildRoutes = function onChildRoutes(error, childRoutes) { - if (error) { - callback(error); - } else if (childRoutes) { - // Check the child routes to see if any of them match. - matchRoutes(childRoutes, location, function (error, match) { - if (error) { - callback(error); - } else if (match) { - // A child route matched! Augment the match and pass it up the stack. - match.routes.unshift(route); - callback(null, match); - } else { - callback(); - } - }, remainingPathname, paramNames, paramValues); - } else { - callback(); - } - }; - - var result = getChildRoutes(route, location, paramNames, paramValues, onChildRoutes); - if (result) { - onChildRoutes.apply(undefined, result); - } - } else { - callback(); - } -} - -/** - * Asynchronously matches the given location to a set of routes and calls - * callback(error, state) when finished. The state object will have the - * following properties: - * - * - routes An array of routes that matched, in hierarchical order - * - params An object of URL parameters - * - * Note: This operation may finish synchronously if no routes have an - * asynchronous getChildRoutes method. - */ -function matchRoutes(routes, location, callback, remainingPathname) { - var paramNames = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : []; - var paramValues = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : []; - - if (remainingPathname === undefined) { - // TODO: This is a little bit ugly, but it works around a quirk in history - // that strips the leading slash from pathnames when using basenames with - // trailing slashes. - if (location.pathname.charAt(0) !== '/') { - location = _extends({}, location, { - pathname: '/' + location.pathname - }); - } - remainingPathname = location.pathname; - } - - (0, _AsyncUtils.loopAsync)(routes.length, function (index, next, done) { - matchRouteDeep(routes[index], location, remainingPathname, paramNames, paramValues, function (error, match) { - if (error || match) { - done(error, match); - } else { - next(); - } - }); - }, callback); -} -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 514 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = withRouter; - -var _invariant = __webpack_require__(17); - -var _invariant2 = _interopRequireDefault(_invariant); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _createReactClass = __webpack_require__(31); - -var _createReactClass2 = _interopRequireDefault(_createReactClass); - -var _hoistNonReactStatics = __webpack_require__(178); - -var _hoistNonReactStatics2 = _interopRequireDefault(_hoistNonReactStatics); - -var _ContextUtils = __webpack_require__(145); - -var _PropTypes = __webpack_require__(146); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: 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; -}; - -function getDisplayName(WrappedComponent) { - return WrappedComponent.displayName || WrappedComponent.name || 'Component'; -} - -function withRouter(WrappedComponent, options) { - var withRef = options && options.withRef; - - var WithRouter = (0, _createReactClass2.default)({ - displayName: 'WithRouter', - - mixins: [(0, _ContextUtils.ContextSubscriber)('router')], - - contextTypes: { router: _PropTypes.routerShape }, - propTypes: { router: _PropTypes.routerShape }, - - getWrappedInstance: function getWrappedInstance() { - !withRef ? process.env.NODE_ENV !== 'production' ? (0, _invariant2.default)(false, 'To access the wrapped instance, you need to specify ' + '`{ withRef: true }` as the second argument of the withRouter() call.') : (0, _invariant2.default)(false) : void 0; - - return this.wrappedInstance; - }, - render: function render() { - var _this = this; - - var router = this.props.router || this.context.router; - if (!router) { - return _react2.default.createElement(WrappedComponent, this.props); - } - - var params = router.params, - location = router.location, - routes = router.routes; - - var props = _extends({}, this.props, { router: router, params: params, location: location, routes: routes }); - - if (withRef) { - props.ref = function (c) { - _this.wrappedInstance = c; - }; - } - - return _react2.default.createElement(WrappedComponent, props); - } - }); - - WithRouter.displayName = 'withRouter(' + getDisplayName(WrappedComponent) + ')'; - WithRouter.WrappedComponent = WrappedComponent; - - return (0, _hoistNonReactStatics2.default)(WithRouter, WrappedComponent); -} -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 515 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - * - */ - - - -/** - * Escape and wrap key so it is safe to use as a reactid - * - * @param {string} key to be escaped. - * @return {string} the escaped key. - */ - -function escape(key) { - var escapeRegex = /[=:]/g; - var escaperLookup = { - '=': '=0', - ':': '=2' - }; - var escapedString = ('' + key).replace(escapeRegex, function (match) { - return escaperLookup[match]; - }); - - return '$' + escapedString; -} - -/** - * Unescape and unwrap key for human-readable display - * - * @param {string} key to unescape. - * @return {string} the unescaped key. - */ -function unescape(key) { - var unescapeRegex = /(=0|=2)/g; - var unescaperLookup = { - '=0': '=', - '=2': ':' - }; - var keySubstring = key[0] === '.' && key[1] === '$' ? key.substring(2) : key.substring(1); - - return ('' + keySubstring).replace(unescapeRegex, function (match) { - return unescaperLookup[match]; - }); -} - -var KeyEscapeUtils = { - escape: escape, - unescape: unescape -}; - -module.exports = KeyEscapeUtils; - -/***/ }), -/* 516 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - * - */ - - - -var _prodInvariant = __webpack_require__(46); - -var invariant = __webpack_require__(10); - -/** - * Static poolers. Several custom versions for each potential number of - * arguments. A completely generic pooler is easy to implement, but would - * require accessing the `arguments` object. In each of these, `this` refers to - * the Class itself, not an instance. If any others are needed, simply add them - * here, or in their own files. - */ -var oneArgumentPooler = function oneArgumentPooler(copyFieldsFrom) { - var Klass = this; - if (Klass.instancePool.length) { - var instance = Klass.instancePool.pop(); - Klass.call(instance, copyFieldsFrom); - return instance; - } else { - return new Klass(copyFieldsFrom); - } -}; - -var twoArgumentPooler = function twoArgumentPooler(a1, a2) { - var Klass = this; - if (Klass.instancePool.length) { - var instance = Klass.instancePool.pop(); - Klass.call(instance, a1, a2); - return instance; - } else { - return new Klass(a1, a2); - } -}; - -var threeArgumentPooler = function threeArgumentPooler(a1, a2, a3) { - var Klass = this; - if (Klass.instancePool.length) { - var instance = Klass.instancePool.pop(); - Klass.call(instance, a1, a2, a3); - return instance; - } else { - return new Klass(a1, a2, a3); - } -}; - -var fourArgumentPooler = function fourArgumentPooler(a1, a2, a3, a4) { - var Klass = this; - if (Klass.instancePool.length) { - var instance = Klass.instancePool.pop(); - Klass.call(instance, a1, a2, a3, a4); - return instance; - } else { - return new Klass(a1, a2, a3, a4); - } -}; - -var standardReleaser = function standardReleaser(instance) { - var Klass = this; - !(instance instanceof Klass) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Trying to release an instance into a pool of a different type.') : _prodInvariant('25') : void 0; - instance.destructor(); - if (Klass.instancePool.length < Klass.poolSize) { - Klass.instancePool.push(instance); - } -}; - -var DEFAULT_POOL_SIZE = 10; -var DEFAULT_POOLER = oneArgumentPooler; - -/** - * Augments `CopyConstructor` to be a poolable class, augmenting only the class - * itself (statically) not adding any prototypical fields. Any CopyConstructor - * you give this may have a `poolSize` property, and will look for a - * prototypical `destructor` on instances. - * - * @param {Function} CopyConstructor Constructor that can be used to reset. - * @param {Function} pooler Customizable pooler. - */ -var addPoolingTo = function addPoolingTo(CopyConstructor, pooler) { - // Casting as any so that flow ignores the actual implementation and trusts - // it to match the type we declared - var NewKlass = CopyConstructor; - NewKlass.instancePool = []; - NewKlass.getPooled = pooler || DEFAULT_POOLER; - if (!NewKlass.poolSize) { - NewKlass.poolSize = DEFAULT_POOL_SIZE; - } - NewKlass.release = standardReleaser; - return NewKlass; -}; - -var PooledClass = { - addPoolingTo: addPoolingTo, - oneArgumentPooler: oneArgumentPooler, - twoArgumentPooler: twoArgumentPooler, - threeArgumentPooler: threeArgumentPooler, - fourArgumentPooler: fourArgumentPooler -}; - -module.exports = PooledClass; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 517 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var PooledClass = __webpack_require__(516); -var ReactElement = __webpack_require__(45); - -var emptyFunction = __webpack_require__(24); -var traverseAllChildren = __webpack_require__(527); - -var twoArgumentPooler = PooledClass.twoArgumentPooler; -var fourArgumentPooler = PooledClass.fourArgumentPooler; - -var userProvidedKeyEscapeRegex = /\/+/g; -function escapeUserProvidedKey(text) { - return ('' + text).replace(userProvidedKeyEscapeRegex, '$&/'); -} - -/** - * PooledClass representing the bookkeeping associated with performing a child - * traversal. Allows avoiding binding callbacks. - * - * @constructor ForEachBookKeeping - * @param {!function} forEachFunction Function to perform traversal with. - * @param {?*} forEachContext Context to perform context with. - */ -function ForEachBookKeeping(forEachFunction, forEachContext) { - this.func = forEachFunction; - this.context = forEachContext; - this.count = 0; -} -ForEachBookKeeping.prototype.destructor = function () { - this.func = null; - this.context = null; - this.count = 0; -}; -PooledClass.addPoolingTo(ForEachBookKeeping, twoArgumentPooler); - -function forEachSingleChild(bookKeeping, child, name) { - var func = bookKeeping.func, - context = bookKeeping.context; - - func.call(context, child, bookKeeping.count++); -} - -/** - * Iterates through children that are typically specified as `props.children`. - * - * See https://facebook.github.io/react/docs/top-level-api.html#react.children.foreach - * - * The provided forEachFunc(child, index) will be called for each - * leaf child. - * - * @param {?*} children Children tree container. - * @param {function(*, int)} forEachFunc - * @param {*} forEachContext Context for forEachContext. - */ -function forEachChildren(children, forEachFunc, forEachContext) { - if (children == null) { - return children; - } - var traverseContext = ForEachBookKeeping.getPooled(forEachFunc, forEachContext); - traverseAllChildren(children, forEachSingleChild, traverseContext); - ForEachBookKeeping.release(traverseContext); -} - -/** - * PooledClass representing the bookkeeping associated with performing a child - * mapping. Allows avoiding binding callbacks. - * - * @constructor MapBookKeeping - * @param {!*} mapResult Object containing the ordered map of results. - * @param {!function} mapFunction Function to perform mapping with. - * @param {?*} mapContext Context to perform mapping with. - */ -function MapBookKeeping(mapResult, keyPrefix, mapFunction, mapContext) { - this.result = mapResult; - this.keyPrefix = keyPrefix; - this.func = mapFunction; - this.context = mapContext; - this.count = 0; -} -MapBookKeeping.prototype.destructor = function () { - this.result = null; - this.keyPrefix = null; - this.func = null; - this.context = null; - this.count = 0; -}; -PooledClass.addPoolingTo(MapBookKeeping, fourArgumentPooler); - -function mapSingleChildIntoContext(bookKeeping, child, childKey) { - var result = bookKeeping.result, - keyPrefix = bookKeeping.keyPrefix, - func = bookKeeping.func, - context = bookKeeping.context; - - var mappedChild = func.call(context, child, bookKeeping.count++); - if (Array.isArray(mappedChild)) { - mapIntoWithKeyPrefixInternal(mappedChild, result, childKey, emptyFunction.thatReturnsArgument); - } else if (mappedChild != null) { - if (ReactElement.isValidElement(mappedChild)) { - mappedChild = ReactElement.cloneAndReplaceKey(mappedChild, - // Keep both the (mapped) and old keys if they differ, just as - // traverseAllChildren used to do for objects as children - keyPrefix + (mappedChild.key && (!child || child.key !== mappedChild.key) ? escapeUserProvidedKey(mappedChild.key) + '/' : '') + childKey); - } - result.push(mappedChild); - } -} - -function mapIntoWithKeyPrefixInternal(children, array, prefix, func, context) { - var escapedPrefix = ''; - if (prefix != null) { - escapedPrefix = escapeUserProvidedKey(prefix) + '/'; - } - var traverseContext = MapBookKeeping.getPooled(array, escapedPrefix, func, context); - traverseAllChildren(children, mapSingleChildIntoContext, traverseContext); - MapBookKeeping.release(traverseContext); -} - -/** - * Maps children that are typically specified as `props.children`. - * - * See https://facebook.github.io/react/docs/top-level-api.html#react.children.map - * - * The provided mapFunction(child, key, index) will be called for each - * leaf child. - * - * @param {?*} children Children tree container. - * @param {function(*, int)} func The map function. - * @param {*} context Context for mapFunction. - * @return {object} Object containing the ordered map of results. - */ -function mapChildren(children, func, context) { - if (children == null) { - return children; - } - var result = []; - mapIntoWithKeyPrefixInternal(children, result, null, func, context); - return result; -} - -function forEachSingleChildDummy(traverseContext, child, name) { - return null; -} - -/** - * Count the number of children that are typically specified as - * `props.children`. - * - * See https://facebook.github.io/react/docs/top-level-api.html#react.children.count - * - * @param {?*} children Children tree container. - * @return {number} The number of children. - */ -function countChildren(children, context) { - return traverseAllChildren(children, forEachSingleChildDummy, null); -} - -/** - * Flatten a children object (typically specified as `props.children`) and - * return an array with appropriately re-keyed children. - * - * See https://facebook.github.io/react/docs/top-level-api.html#react.children.toarray - */ -function toArray(children) { - var result = []; - mapIntoWithKeyPrefixInternal(children, result, null, emptyFunction.thatReturnsArgument); - return result; -} - -var ReactChildren = { - forEach: forEachChildren, - map: mapChildren, - mapIntoWithKeyPrefixInternal: mapIntoWithKeyPrefixInternal, - count: countChildren, - toArray: toArray -}; - -module.exports = ReactChildren; - -/***/ }), -/* 518 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -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 _prodInvariant = __webpack_require__(46), - _assign = __webpack_require__(14); - -var ReactComponent = __webpack_require__(148); -var ReactElement = __webpack_require__(45); -var ReactPropTypeLocationNames = __webpack_require__(242); -var ReactNoopUpdateQueue = __webpack_require__(149); - -var emptyObject = __webpack_require__(54); -var invariant = __webpack_require__(10); -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 <div>Hello World</div>; - * } - * }); - * - * 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 <div>Hello, {name}!</div>; - * } - * - * @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 displayName(Constructor, _displayName) { - Constructor.displayName = _displayName; - }, - mixins: function mixins(Constructor, _mixins) { - if (_mixins) { - for (var i = 0; i < _mixins.length; i++) { - mixSpecIntoComponent(Constructor, _mixins[i]); - } - } - }, - childContextTypes: function childContextTypes(Constructor, _childContextTypes) { - if (process.env.NODE_ENV !== 'production') { - validateTypeDef(Constructor, _childContextTypes, 'childContext'); - } - Constructor.childContextTypes = _assign({}, Constructor.childContextTypes, _childContextTypes); - }, - contextTypes: function contextTypes(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 getDefaultProps(Constructor, _getDefaultProps) { - if (Constructor.getDefaultProps) { - Constructor.getDefaultProps = createMergedResultFunction(Constructor.getDefaultProps, _getDefaultProps); - } else { - Constructor.getDefaultProps = _getDefaultProps; - } - }, - propTypes: function propTypes(Constructor, _propTypes) { - if (process.env.NODE_ENV !== 'production') { - validateTypeDef(Constructor, _propTypes, 'prop'); - } - Constructor.propTypes = _assign({}, Constructor.propTypes, _propTypes); - }, - statics: function statics(Constructor, _statics) { - mixStaticSpecIntoComponent(Constructor, _statics); - }, - autobind: function autobind() {} }; - -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 === 'undefined' ? 'undefined' : _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 === 'undefined' ? 'undefined' : _typeof(one)) === 'object' && (typeof two === 'undefined' ? 'undefined' : _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 replaceState(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 isMounted() { - return this.updater.isMounted(this); - } -}; - -var ReactClassComponent = function ReactClassComponent() {}; -_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 createClass(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 === 'undefined' ? 'undefined' : _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 injectMixin(mixin) { - injectedMixins.push(mixin); - } - } - -}; - -module.exports = ReactClass; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 519 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -var ReactElement = __webpack_require__(45); - -/** - * Create a factory that creates HTML tag elements. - * - * @private - */ -var createDOMFactory = ReactElement.createFactory; -if (process.env.NODE_ENV !== 'production') { - var ReactElementValidator = __webpack_require__(241); - createDOMFactory = ReactElementValidator.createFactory; -} - -/** - * Creates a mapping from supported HTML tags to `ReactDOMComponent` classes. - * This is also accessible via `React.DOM`. - * - * @public - */ -var ReactDOMFactories = { - a: createDOMFactory('a'), - abbr: createDOMFactory('abbr'), - address: createDOMFactory('address'), - area: createDOMFactory('area'), - article: createDOMFactory('article'), - aside: createDOMFactory('aside'), - audio: createDOMFactory('audio'), - b: createDOMFactory('b'), - base: createDOMFactory('base'), - bdi: createDOMFactory('bdi'), - bdo: createDOMFactory('bdo'), - big: createDOMFactory('big'), - blockquote: createDOMFactory('blockquote'), - body: createDOMFactory('body'), - br: createDOMFactory('br'), - button: createDOMFactory('button'), - canvas: createDOMFactory('canvas'), - caption: createDOMFactory('caption'), - cite: createDOMFactory('cite'), - code: createDOMFactory('code'), - col: createDOMFactory('col'), - colgroup: createDOMFactory('colgroup'), - data: createDOMFactory('data'), - datalist: createDOMFactory('datalist'), - dd: createDOMFactory('dd'), - del: createDOMFactory('del'), - details: createDOMFactory('details'), - dfn: createDOMFactory('dfn'), - dialog: createDOMFactory('dialog'), - div: createDOMFactory('div'), - dl: createDOMFactory('dl'), - dt: createDOMFactory('dt'), - em: createDOMFactory('em'), - embed: createDOMFactory('embed'), - fieldset: createDOMFactory('fieldset'), - figcaption: createDOMFactory('figcaption'), - figure: createDOMFactory('figure'), - footer: createDOMFactory('footer'), - form: createDOMFactory('form'), - h1: createDOMFactory('h1'), - h2: createDOMFactory('h2'), - h3: createDOMFactory('h3'), - h4: createDOMFactory('h4'), - h5: createDOMFactory('h5'), - h6: createDOMFactory('h6'), - head: createDOMFactory('head'), - header: createDOMFactory('header'), - hgroup: createDOMFactory('hgroup'), - hr: createDOMFactory('hr'), - html: createDOMFactory('html'), - i: createDOMFactory('i'), - iframe: createDOMFactory('iframe'), - img: createDOMFactory('img'), - input: createDOMFactory('input'), - ins: createDOMFactory('ins'), - kbd: createDOMFactory('kbd'), - keygen: createDOMFactory('keygen'), - label: createDOMFactory('label'), - legend: createDOMFactory('legend'), - li: createDOMFactory('li'), - link: createDOMFactory('link'), - main: createDOMFactory('main'), - map: createDOMFactory('map'), - mark: createDOMFactory('mark'), - menu: createDOMFactory('menu'), - menuitem: createDOMFactory('menuitem'), - meta: createDOMFactory('meta'), - meter: createDOMFactory('meter'), - nav: createDOMFactory('nav'), - noscript: createDOMFactory('noscript'), - object: createDOMFactory('object'), - ol: createDOMFactory('ol'), - optgroup: createDOMFactory('optgroup'), - option: createDOMFactory('option'), - output: createDOMFactory('output'), - p: createDOMFactory('p'), - param: createDOMFactory('param'), - picture: createDOMFactory('picture'), - pre: createDOMFactory('pre'), - progress: createDOMFactory('progress'), - q: createDOMFactory('q'), - rp: createDOMFactory('rp'), - rt: createDOMFactory('rt'), - ruby: createDOMFactory('ruby'), - s: createDOMFactory('s'), - samp: createDOMFactory('samp'), - script: createDOMFactory('script'), - section: createDOMFactory('section'), - select: createDOMFactory('select'), - small: createDOMFactory('small'), - source: createDOMFactory('source'), - span: createDOMFactory('span'), - strong: createDOMFactory('strong'), - style: createDOMFactory('style'), - sub: createDOMFactory('sub'), - summary: createDOMFactory('summary'), - sup: createDOMFactory('sup'), - table: createDOMFactory('table'), - tbody: createDOMFactory('tbody'), - td: createDOMFactory('td'), - textarea: createDOMFactory('textarea'), - tfoot: createDOMFactory('tfoot'), - th: createDOMFactory('th'), - thead: createDOMFactory('thead'), - time: createDOMFactory('time'), - title: createDOMFactory('title'), - tr: createDOMFactory('tr'), - track: createDOMFactory('track'), - u: createDOMFactory('u'), - ul: createDOMFactory('ul'), - 'var': createDOMFactory('var'), - video: createDOMFactory('video'), - wbr: createDOMFactory('wbr'), - - // SVG - circle: createDOMFactory('circle'), - clipPath: createDOMFactory('clipPath'), - defs: createDOMFactory('defs'), - ellipse: createDOMFactory('ellipse'), - g: createDOMFactory('g'), - image: createDOMFactory('image'), - line: createDOMFactory('line'), - linearGradient: createDOMFactory('linearGradient'), - mask: createDOMFactory('mask'), - path: createDOMFactory('path'), - pattern: createDOMFactory('pattern'), - polygon: createDOMFactory('polygon'), - polyline: createDOMFactory('polyline'), - radialGradient: createDOMFactory('radialGradient'), - rect: createDOMFactory('rect'), - stop: createDOMFactory('stop'), - svg: createDOMFactory('svg'), - text: createDOMFactory('text'), - tspan: createDOMFactory('tspan') -}; - -module.exports = ReactDOMFactories; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 520 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var _require = __webpack_require__(45), - isValidElement = _require.isValidElement; - -var factory = __webpack_require__(180); - -module.exports = factory(isValidElement); - -/***/ }), -/* 521 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - * - */ - - - -var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; - -module.exports = ReactPropTypesSecret; - -/***/ }), -/* 522 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -var _assign = __webpack_require__(14); - -var ReactComponent = __webpack_require__(148); -var ReactNoopUpdateQueue = __webpack_require__(149); - -var emptyObject = __webpack_require__(54); - -/** - * 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; - -/***/ }), -/* 523 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - */ - - - -module.exports = '15.5.4'; - -/***/ }), -/* 524 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -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 _prodInvariant = __webpack_require__(46); - -var ReactPropTypeLocationNames = __webpack_require__(242); -var ReactPropTypesSecret = __webpack_require__(521); - -var invariant = __webpack_require__(10); -var warning = __webpack_require__(11); - -var ReactComponentTreeHook; - -if (typeof process !== 'undefined' && process.env && process.env.NODE_ENV === 'test') { - // Temporary hack. - // Inline requires don't work well with Jest: - // 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__(23); -} - -var loggedTypeFailures = {}; - -/** - * 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 {?object} element The React element that is being type-checked - * @param {?number} debugID The React component instance that is being type-checked - * @private - */ -function checkReactTypeSpec(typeSpecs, values, location, componentName, element, debugID) { - 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. - !(typeof typeSpecs[typeSpecName] === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s: %s type `%s` is invalid; it must be a function, usually from React.PropTypes.', componentName || 'React class', ReactPropTypeLocationNames[location], typeSpecName) : _prodInvariant('84', componentName || 'React class', ReactPropTypeLocationNames[location], typeSpecName) : void 0; - error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret); - } catch (ex) { - error = ex; - } - process.env.NODE_ENV !== 'production' ? warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', ReactPropTypeLocationNames[location], typeSpecName, typeof error === 'undefined' ? 'undefined' : _typeof(error)) : void 0; - 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; - - var componentStackInfo = ''; - - if (process.env.NODE_ENV !== 'production') { - if (!ReactComponentTreeHook) { - ReactComponentTreeHook = __webpack_require__(23); - } - if (debugID !== null) { - componentStackInfo = ReactComponentTreeHook.getStackAddendumByID(debugID); - } else if (element !== null) { - componentStackInfo = ReactComponentTreeHook.getCurrentStackAddendum(element); - } - } - - process.env.NODE_ENV !== 'production' ? warning(false, 'Failed %s type: %s%s', location, error.message, componentStackInfo) : void 0; - } - } - } -} - -module.exports = checkReactTypeSpec; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 525 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * 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. - * - * - */ - - - -var nextDebugID = 1; - -function getNextDebugID() { - return nextDebugID++; -} - -module.exports = getNextDebugID; - -/***/ }), -/* 526 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - -var _prodInvariant = __webpack_require__(46); - -var ReactElement = __webpack_require__(45); - -var invariant = __webpack_require__(10); - -/** - * Returns the first child in a collection of children and verifies that there - * is only one child in the collection. - * - * See https://facebook.github.io/react/docs/top-level-api.html#react.children.only - * - * The current implementation of this function assumes that a single child gets - * passed without a wrapper, but the purpose of this helper function is to - * abstract away the particular structure of children. - * - * @param {?object} children Child collection structure. - * @return {ReactElement} The first and only `ReactElement` contained in the - * structure. - */ -function onlyChild(children) { - !ReactElement.isValidElement(children) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'React.Children.only expected to receive a single React element child.') : _prodInvariant('143') : void 0; - return children; -} - -module.exports = onlyChild; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 527 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* 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. - * - */ - - - -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 _prodInvariant = __webpack_require__(46); - -var ReactCurrentOwner = __webpack_require__(30); -var REACT_ELEMENT_TYPE = __webpack_require__(240); - -var getIteratorFn = __webpack_require__(243); -var invariant = __webpack_require__(10); -var KeyEscapeUtils = __webpack_require__(515); -var warning = __webpack_require__(11); - -var SEPARATOR = '.'; -var SUBSEPARATOR = ':'; - -/** - * This is inlined from ReactElement since this file is shared between - * isomorphic and renderers. We could extract this to a - * - */ - -/** - * TODO: Test that a single child and an array with one item have the same key - * pattern. - */ - -var didWarnAboutMaps = false; - -/** - * Generate a key string that identifies a component within a set. - * - * @param {*} component A component that could contain a manual key. - * @param {number} index Index that is used if a manual key is not provided. - * @return {string} - */ -function getComponentKey(component, index) { - // Do some typechecking here since we call this blindly. We want to ensure - // that we don't block potential future ES APIs. - if (component && (typeof component === 'undefined' ? 'undefined' : _typeof(component)) === 'object' && component.key != null) { - // Explicit key - return KeyEscapeUtils.escape(component.key); - } - // Implicit key determined by the index in the set - return index.toString(36); -} - -/** - * @param {?*} children Children tree container. - * @param {!string} nameSoFar Name of the key path so far. - * @param {!function} callback Callback to invoke with each child found. - * @param {?*} traverseContext Used to pass information throughout the traversal - * process. - * @return {!number} The number of children in this subtree. - */ -function traverseAllChildrenImpl(children, nameSoFar, callback, traverseContext) { - var type = typeof children === 'undefined' ? 'undefined' : _typeof(children); - - if (type === 'undefined' || type === 'boolean') { - // All of the above are perceived as null. - children = null; - } - - if (children === null || type === 'string' || type === 'number' || - // The following is inlined from ReactElement. This means we can optimize - // some checks. React Fiber also inlines this logic for similar purposes. - type === 'object' && children.$$typeof === REACT_ELEMENT_TYPE) { - callback(traverseContext, children, - // If it's the only child, treat the name as if it was wrapped in an array - // so that it's consistent if the number of children grows. - nameSoFar === '' ? SEPARATOR + getComponentKey(children, 0) : nameSoFar); - return 1; - } - - var child; - var nextName; - var subtreeCount = 0; // Count of children found in the current subtree. - var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR; - - if (Array.isArray(children)) { - for (var i = 0; i < children.length; i++) { - child = children[i]; - nextName = nextNamePrefix + getComponentKey(child, i); - subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext); - } - } else { - var iteratorFn = getIteratorFn(children); - if (iteratorFn) { - var iterator = iteratorFn.call(children); - var step; - if (iteratorFn !== children.entries) { - var ii = 0; - while (!(step = iterator.next()).done) { - child = step.value; - nextName = nextNamePrefix + getComponentKey(child, ii++); - subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext); - } - } else { - if (process.env.NODE_ENV !== 'production') { - var mapsAsChildrenAddendum = ''; - if (ReactCurrentOwner.current) { - var mapsAsChildrenOwnerName = ReactCurrentOwner.current.getName(); - if (mapsAsChildrenOwnerName) { - mapsAsChildrenAddendum = ' Check the render method of `' + mapsAsChildrenOwnerName + '`.'; - } - } - process.env.NODE_ENV !== 'production' ? warning(didWarnAboutMaps, 'Using Maps as children is not yet fully supported. It is an ' + 'experimental feature that might be removed. Convert it to a ' + 'sequence / iterable of keyed ReactElements instead.%s', mapsAsChildrenAddendum) : void 0; - didWarnAboutMaps = true; - } - // Iterator will provide entry [k,v] tuples rather than values. - while (!(step = iterator.next()).done) { - var entry = step.value; - if (entry) { - child = entry[1]; - nextName = nextNamePrefix + KeyEscapeUtils.escape(entry[0]) + SUBSEPARATOR + getComponentKey(child, 0); - subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext); - } - } - } - } else if (type === 'object') { - var addendum = ''; - 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.'; - } - if (ReactCurrentOwner.current) { - var name = ReactCurrentOwner.current.getName(); - if (name) { - addendum += ' Check the render method of `' + name + '`.'; - } - } - } - var childrenString = String(children); - true ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Objects are not valid as a React child (found: %s).%s', childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString, addendum) : _prodInvariant('31', childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString, addendum) : void 0; - } - } - - return subtreeCount; -} - -/** - * Traverses children that are typically specified as `props.children`, but - * might also be specified through attributes: - * - * - `traverseAllChildren(this.props.children, ...)` - * - `traverseAllChildren(this.props.leftPanelChildren, ...)` - * - * The `traverseContext` is an optional argument that is passed through the - * entire traversal. It can be used to store accumulations or anything else that - * the callback might find relevant. - * - * @param {?*} children Children tree object. - * @param {!function} callback To invoke upon traversing each child. - * @param {?*} traverseContext Context for traversal. - * @return {!number} The number of children in this subtree. - */ -function traverseAllChildren(children, callback, traverseContext) { - if (children == null) { - return 0; - } - - return traverseAllChildrenImpl(children, '', callback, traverseContext); -} - -module.exports = traverseAllChildren; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 528 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = applyMiddleware; - -var _compose = __webpack_require__(244); - -var _compose2 = _interopRequireDefault(_compose); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: 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; -}; - -/** - * Creates a store enhancer that applies middleware to the dispatch method - * of the Redux store. This is handy for a variety of tasks, such as expressing - * asynchronous actions in a concise manner, or logging every action payload. - * - * See `redux-thunk` package as an example of the Redux middleware. - * - * Because middleware is potentially asynchronous, this should be the first - * store enhancer in the composition chain. - * - * Note that each middleware will be given the `dispatch` and `getState` functions - * as named arguments. - * - * @param {...Function} middlewares The middleware chain to be applied. - * @returns {Function} A store enhancer applying the middleware. - */ -function applyMiddleware() { - for (var _len = arguments.length, middlewares = Array(_len), _key = 0; _key < _len; _key++) { - middlewares[_key] = arguments[_key]; - } - - return function (createStore) { - return function (reducer, preloadedState, enhancer) { - var store = createStore(reducer, preloadedState, enhancer); - var _dispatch = store.dispatch; - var chain = []; - - var middlewareAPI = { - getState: store.getState, - dispatch: function dispatch(action) { - return _dispatch(action); - } - }; - chain = middlewares.map(function (middleware) { - return middleware(middlewareAPI); - }); - _dispatch = _compose2.default.apply(undefined, chain)(store.dispatch); - - return _extends({}, store, { - dispatch: _dispatch - }); - }; - }; -} - -/***/ }), -/* 529 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -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; }; - -exports.default = bindActionCreators; -function bindActionCreator(actionCreator, dispatch) { - return function () { - return dispatch(actionCreator.apply(undefined, arguments)); - }; -} - -/** - * Turns an object whose values are action creators, into an object with the - * same keys, but with every function wrapped into a `dispatch` call so they - * may be invoked directly. This is just a convenience method, as you can call - * `store.dispatch(MyActionCreators.doSomething())` yourself just fine. - * - * For convenience, you can also pass a single function as the first argument, - * and get a function in return. - * - * @param {Function|Object} actionCreators An object whose values are action - * creator functions. One handy way to obtain it is to use ES6 `import * as` - * syntax. You may also pass a single function. - * - * @param {Function} dispatch The `dispatch` function available on your Redux - * store. - * - * @returns {Function|Object} The object mimicking the original object, but with - * every action creator wrapped into the `dispatch` call. If you passed a - * function as `actionCreators`, the return value will also be a single - * function. - */ -function bindActionCreators(actionCreators, dispatch) { - if (typeof actionCreators === 'function') { - return bindActionCreator(actionCreators, dispatch); - } - - if ((typeof actionCreators === 'undefined' ? 'undefined' : _typeof(actionCreators)) !== 'object' || actionCreators === null) { - throw new Error('bindActionCreators expected an object or a function, instead received ' + (actionCreators === null ? 'null' : typeof actionCreators === 'undefined' ? 'undefined' : _typeof(actionCreators)) + '. ' + 'Did you write "import ActionCreators from" instead of "import * as ActionCreators from"?'); - } - - var keys = Object.keys(actionCreators); - var boundActionCreators = {}; - for (var i = 0; i < keys.length; i++) { - var key = keys[i]; - var actionCreator = actionCreators[key]; - if (typeof actionCreator === 'function') { - boundActionCreators[key] = bindActionCreator(actionCreator, dispatch); - } - } - return boundActionCreators; -} - -/***/ }), -/* 530 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = combineReducers; - -var _createStore = __webpack_require__(245); - -var _isPlainObject = __webpack_require__(119); - -var _isPlainObject2 = _interopRequireDefault(_isPlainObject); - -var _warning = __webpack_require__(246); - -var _warning2 = _interopRequireDefault(_warning); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function getUndefinedStateErrorMessage(key, action) { - var actionType = action && action.type; - var actionName = actionType && '"' + actionType.toString() + '"' || 'an action'; - - return 'Given action ' + actionName + ', reducer "' + key + '" returned undefined. ' + 'To ignore an action, you must explicitly return the previous state.'; -} - -function getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) { - var reducerKeys = Object.keys(reducers); - var argumentName = action && action.type === _createStore.ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer'; - - if (reducerKeys.length === 0) { - return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.'; - } - - if (!(0, _isPlainObject2.default)(inputState)) { - return 'The ' + argumentName + ' has unexpected type of "' + {}.toString.call(inputState).match(/\s([a-z|A-Z]+)/)[1] + '". Expected argument to be an object with the following ' + ('keys: "' + reducerKeys.join('", "') + '"'); - } - - var unexpectedKeys = Object.keys(inputState).filter(function (key) { - return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key]; - }); - - unexpectedKeys.forEach(function (key) { - unexpectedKeyCache[key] = true; - }); - - if (unexpectedKeys.length > 0) { - return 'Unexpected ' + (unexpectedKeys.length > 1 ? 'keys' : 'key') + ' ' + ('"' + unexpectedKeys.join('", "') + '" found in ' + argumentName + '. ') + 'Expected to find one of the known reducer keys instead: ' + ('"' + reducerKeys.join('", "') + '". Unexpected keys will be ignored.'); - } -} - -function assertReducerSanity(reducers) { - Object.keys(reducers).forEach(function (key) { - var reducer = reducers[key]; - var initialState = reducer(undefined, { type: _createStore.ActionTypes.INIT }); - - if (typeof initialState === 'undefined') { - throw new Error('Reducer "' + key + '" returned undefined during initialization. ' + 'If the state passed to the reducer is undefined, you must ' + 'explicitly return the initial state. The initial state may ' + 'not be undefined.'); - } - - var type = '@@redux/PROBE_UNKNOWN_ACTION_' + Math.random().toString(36).substring(7).split('').join('.'); - if (typeof reducer(undefined, { type: type }) === 'undefined') { - throw new Error('Reducer "' + key + '" returned undefined when probed with a random type. ' + ('Don\'t try to handle ' + _createStore.ActionTypes.INIT + ' or other actions in "redux/*" ') + 'namespace. They are considered private. Instead, you must return the ' + 'current state for any unknown actions, unless it is undefined, ' + 'in which case you must return the initial state, regardless of the ' + 'action type. The initial state may not be undefined.'); - } - }); -} - -/** - * Turns an object whose values are different reducer functions, into a single - * reducer function. It will call every child reducer, and gather their results - * into a single state object, whose keys correspond to the keys of the passed - * reducer functions. - * - * @param {Object} reducers An object whose values correspond to different - * reducer functions that need to be combined into one. One handy way to obtain - * it is to use ES6 `import * as reducers` syntax. The reducers may never return - * undefined for any action. Instead, they should return their initial state - * if the state passed to them was undefined, and the current state for any - * unrecognized action. - * - * @returns {Function} A reducer function that invokes every reducer inside the - * passed object, and builds a state object with the same shape. - */ -function combineReducers(reducers) { - var reducerKeys = Object.keys(reducers); - var finalReducers = {}; - for (var i = 0; i < reducerKeys.length; i++) { - var key = reducerKeys[i]; - - if (process.env.NODE_ENV !== 'production') { - if (typeof reducers[key] === 'undefined') { - (0, _warning2.default)('No reducer provided for key "' + key + '"'); - } - } - - if (typeof reducers[key] === 'function') { - finalReducers[key] = reducers[key]; - } - } - var finalReducerKeys = Object.keys(finalReducers); - - if (process.env.NODE_ENV !== 'production') { - var unexpectedKeyCache = {}; - } - - var sanityError; - try { - assertReducerSanity(finalReducers); - } catch (e) { - sanityError = e; - } - - return function combination() { - var state = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; - var action = arguments[1]; - - if (sanityError) { - throw sanityError; - } - - if (process.env.NODE_ENV !== 'production') { - var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache); - if (warningMessage) { - (0, _warning2.default)(warningMessage); - } - } - - var hasChanged = false; - var nextState = {}; - for (var i = 0; i < finalReducerKeys.length; i++) { - var key = finalReducerKeys[i]; - var reducer = finalReducers[key]; - var previousStateForKey = state[key]; - var nextStateForKey = reducer(previousStateForKey, action); - if (typeof nextStateForKey === 'undefined') { - var errorMessage = getUndefinedStateErrorMessage(key, action); - throw new Error(errorMessage); - } - nextState[key] = nextStateForKey; - hasChanged = hasChanged || nextStateForKey !== previousStateForKey; - } - return hasChanged ? nextState : state; - }; -} -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 531 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = function (str) { - return encodeURIComponent(str).replace(/[!'()*]/g, function (c) { - return '%' + c.charCodeAt(0).toString(16).toUpperCase(); - }); -}; - -/***/ }), -/* 532 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = __webpack_require__(533); - -/***/ }), -/* 533 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(global, module) { - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _ponyfill = __webpack_require__(534); - -var _ponyfill2 = _interopRequireDefault(_ponyfill); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { 'default': obj }; -} - -var root; /* global window */ - -if (typeof self !== 'undefined') { - root = self; -} else if (typeof window !== 'undefined') { - root = window; -} else if (typeof global !== 'undefined') { - root = global; -} else if (true) { - root = module; -} else { - root = Function('return this')(); -} - -var result = (0, _ponyfill2['default'])(root); -exports['default'] = result; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(150), __webpack_require__(537)(module))) - -/***/ }), -/* 534 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports['default'] = symbolObservablePonyfill; -function symbolObservablePonyfill(root) { - var result; - var _Symbol = root.Symbol; - - if (typeof _Symbol === 'function') { - if (_Symbol.observable) { - result = _Symbol.observable; - } else { - result = _Symbol('observable'); - _Symbol.observable = result; - } - } else { - result = '@@observable'; - } - - return result; -}; - -/***/ }), -/* 535 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -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; }; - -exports.__esModule = true; - -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; -}; - -exports.default = createUncontrollable; - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _invariant = __webpack_require__(17); - -var _invariant2 = _interopRequireDefault(_invariant); - -var _utils = __webpack_require__(536); - -var utils = _interopRequireWildcard(_utils); - -function _interopRequireWildcard(obj) { - if (obj && obj.__esModule) { - return obj; - } else { - var newObj = {};if (obj != null) { - for (var key in obj) { - if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; - } - }newObj.default = obj;return newObj; - } -} - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} - -function _possibleConstructorReturn(self, call) { - if (!self) { - throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); - }return call && ((typeof call === 'undefined' ? 'undefined' : _typeof(call)) === "object" || typeof call === "function") ? call : self; -} - -function _inherits(subClass, superClass) { - if (typeof superClass !== "function" && superClass !== null) { - throw new TypeError("Super expression must either be null or a function, not " + (typeof superClass === 'undefined' ? 'undefined' : _typeof(superClass))); - }subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } });if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; -} - -function createUncontrollable(mixin, set) { - - return uncontrollable; - - function uncontrollable(Component, controlledValues) { - var _class, _temp; - - var methods = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : []; - - var displayName = Component.displayName || Component.name || 'Component', - basePropTypes = utils.getType(Component).propTypes, - isCompositeComponent = utils.isReactComponent(Component), - controlledProps = Object.keys(controlledValues), - propTypes; - - var OMIT_PROPS = ['valueLink', 'checkedLink'].concat(controlledProps.map(utils.defaultKey)); - - propTypes = utils.uncontrolledPropTypes(controlledValues, basePropTypes, displayName); - - (0, _invariant2.default)(isCompositeComponent || !methods.length, '[uncontrollable] stateless function components cannot pass through methods ' + 'because they have no associated instances. Check component: ' + displayName + ', ' + 'attempting to pass through methods: ' + methods.join(', ')); - - methods = utils.transform(methods, function (obj, method) { - obj[method] = function () { - var _refs$inner; - - return (_refs$inner = this.refs.inner)[method].apply(_refs$inner, arguments); - }; - }, {}); - - var component = (_temp = _class = function (_React$Component) { - _inherits(component, _React$Component); - - function component() { - _classCallCheck(this, component); - - return _possibleConstructorReturn(this, _React$Component.apply(this, arguments)); - } - - component.prototype.shouldComponentUpdate = function shouldComponentUpdate() { - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - return !mixin.shouldComponentUpdate || mixin.shouldComponentUpdate.apply(this, args); - }; - - component.prototype.componentWillMount = function componentWillMount() { - var _this2 = this; - - var props = this.props; - - this._values = {}; - - controlledProps.forEach(function (key) { - _this2._values[key] = props[utils.defaultKey(key)]; - }); - }; - - /** - * If a prop switches from controlled to Uncontrolled - * reset its value to the defaultValue - */ - - component.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) { - var _this3 = this; - - var props = this.props; - - if (mixin.componentWillReceiveProps) { - mixin.componentWillReceiveProps.call(this, nextProps); - } - - controlledProps.forEach(function (key) { - if (utils.getValue(nextProps, key) === undefined && utils.getValue(props, key) !== undefined) { - _this3._values[key] = nextProps[utils.defaultKey(key)]; - } - }); - }; - - component.prototype.componentWillUnmount = function componentWillUnmount() { - this.unmounted = true; - }; - - component.prototype.getControlledInstance = function getControlledInstance() { - return this.refs.inner; - }; - - component.prototype.render = function render() { - var _this4 = this; - - var newProps = {}, - props = omitProps(this.props); - - utils.each(controlledValues, function (handle, propName) { - var linkPropName = utils.getLinkName(propName), - prop = _this4.props[propName]; - - if (linkPropName && !isProp(_this4.props, propName) && isProp(_this4.props, linkPropName)) { - prop = _this4.props[linkPropName].value; - } - - newProps[propName] = prop !== undefined ? prop : _this4._values[propName]; - - newProps[handle] = setAndNotify.bind(_this4, propName); - }); - - newProps = _extends({}, props, newProps, { - ref: isCompositeComponent ? 'inner' : null - }); - - return _react2.default.createElement(Component, newProps); - }; - - return component; - }(_react2.default.Component), _class.displayName = 'Uncontrolled(' + displayName + ')', _class.propTypes = propTypes, _temp); - - _extends(component.prototype, methods); - - component.ControlledComponent = Component; - - /** - * useful when wrapping a Component and you want to control - * everything - */ - component.deferControlTo = function (newComponent) { - var additions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - var nextMethods = arguments[2]; - - return uncontrollable(newComponent, _extends({}, controlledValues, additions), nextMethods); - }; - - return component; - - function setAndNotify(propName, value) { - var linkName = utils.getLinkName(propName), - handler = this.props[controlledValues[propName]]; - - if (linkName && isProp(this.props, linkName) && !handler) { - handler = this.props[linkName].requestChange; - } - - for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) { - args[_key2 - 2] = arguments[_key2]; - } - - set(this, propName, handler, value, args); - } - - function isProp(props, prop) { - return props[prop] !== undefined; - } - - function omitProps(props) { - var result = {}; - - utils.each(props, function (value, key) { - if (OMIT_PROPS.indexOf(key) === -1) result[key] = value; - }); - - return result; - } - } -} -module.exports = exports['default']; - -/***/ }), -/* 536 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(process) { - -exports.__esModule = true; -exports.version = undefined; -exports.uncontrolledPropTypes = uncontrolledPropTypes; -exports.getType = getType; -exports.getValue = getValue; -exports.getLinkName = getLinkName; -exports.defaultKey = defaultKey; -exports.chain = chain; -exports.transform = transform; -exports.each = each; -exports.has = has; -exports.isReactComponent = isReactComponent; - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _invariant = __webpack_require__(17); - -var _invariant2 = _interopRequireDefault(_invariant); - -function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { default: obj }; -} - -function readOnlyPropType(handler, name) { - return function (props, propName) { - if (props[propName] !== undefined) { - if (!props[handler]) { - return new Error('You have provided a `' + propName + '` prop to ' + '`' + name + '` without an `' + handler + '` handler. This will render a read-only field. ' + 'If the field should be mutable use `' + defaultKey(propName) + '`. Otherwise, set `' + handler + '`'); - } - } - }; -} - -function uncontrolledPropTypes(controlledValues, basePropTypes, displayName) { - var propTypes = {}; - - if (process.env.NODE_ENV !== 'production' && basePropTypes) { - transform(controlledValues, function (obj, handler, prop) { - (0, _invariant2.default)(typeof handler === 'string' && handler.trim().length, 'Uncontrollable - [%s]: the prop `%s` needs a valid handler key name in order to make it uncontrollable', displayName, prop); - - obj[prop] = readOnlyPropType(handler, displayName); - }, propTypes); - } - - return propTypes; -} - -var version = exports.version = _react2.default.version.split('.').map(parseFloat); - -function getType(component) { - if (version[0] >= 15 || version[0] === 0 && version[1] >= 13) return component; - - return component.type; -} - -function getValue(props, name) { - var linkPropName = getLinkName(name); - - if (linkPropName && !isProp(props, name) && isProp(props, linkPropName)) return props[linkPropName].value; - - return props[name]; -} - -function isProp(props, prop) { - return props[prop] !== undefined; -} - -function getLinkName(name) { - return name === 'value' ? 'valueLink' : name === 'checked' ? 'checkedLink' : null; -} - -function defaultKey(key) { - return 'default' + key.charAt(0).toUpperCase() + key.substr(1); -} - -function chain(thisArg, a, b) { - return function chainedFunction() { - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - a && a.call.apply(a, [thisArg].concat(args)); - b && b.call.apply(b, [thisArg].concat(args)); - }; -} - -function transform(obj, cb, seed) { - each(obj, cb.bind(null, seed = seed || (Array.isArray(obj) ? [] : {}))); - return seed; -} - -function each(obj, cb, thisArg) { - if (Array.isArray(obj)) return obj.forEach(cb, thisArg); - - for (var key in obj) { - if (has(obj, key)) cb.call(thisArg, obj[key], key, obj); - } -} - -function has(o, k) { - return o ? Object.prototype.hasOwnProperty.call(o, k) : false; -} - -/** - * 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 isReactComponent(component) { - return !!(component && component.prototype && component.prototype.isReactComponent); -} -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0))) - -/***/ }), -/* 537 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -module.exports = function (module) { - if (!module.webpackPolyfill) { - module.deprecate = function () {}; - module.paths = []; - // module.parent = undefined by default - if (!module.children) module.children = []; - Object.defineProperty(module, "loaded", { - enumerable: true, - get: function get() { - return module.l; - } - }); - Object.defineProperty(module, "id", { - enumerable: true, - get: function get() { - return module.i; - } - }); - module.webpackPolyfill = 1; - } - return module; -}; - -/***/ }), -/* 538 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -// REACT - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _reactDom = __webpack_require__(21); - -var _reactRedux = __webpack_require__(41); - -var _reactRouter = __webpack_require__(248); - -var _redux = __webpack_require__(33); - -var _reduxLogger = __webpack_require__(249); - -var _reduxLogger2 = _interopRequireDefault(_reduxLogger); - -var _index = __webpack_require__(253); - -var _index2 = _interopRequireDefault(_index); - -var _cartActions = __webpack_require__(95); - -var _booksActions = __webpack_require__(74); - -var _bookslist = __webpack_require__(251); - -var _bookslist2 = _interopRequireDefault(_bookslist); - -var _booksform = __webpack_require__(250); - -var _booksform2 = _interopRequireDefault(_booksform); - -var _cart = __webpack_require__(151); - -var _cart2 = _interopRequireDefault(_cart); - -var _main = __webpack_require__(252); - -var _main2 = _interopRequireDefault(_main); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -// STEP 1 create the store - - -// IMPORT ACTIONS - - -// REACT-ROUTER -var middleware = (0, _redux.applyMiddleware)(_reduxLogger2.default); - -// IMPORT COMBINED REDUCERS - - -// REDUX - -var store = (0, _redux.createStore)(_index2.default, middleware); - -// COMPONENTS - - -var Routes = _react2.default.createElement( - _reactRedux.Provider, - { store: store }, - _react2.default.createElement( - _reactRouter.Router, - { history: _reactRouter.browserHistory }, - _react2.default.createElement( - _reactRouter.Route, - { path: '/', component: _main2.default }, - _react2.default.createElement(_reactRouter.IndexRoute, { component: _bookslist2.default }), - _react2.default.createElement(_reactRouter.Route, { path: '/admin', component: _booksform2.default }), - _react2.default.createElement(_reactRouter.Route, { path: '/cart', component: _cart2.default }) - ) - ) -); - -(0, _reactDom.render)(Routes, document.getElementById('app')); - -/* -// STEP 2 create and dispatch actions -store.dispatch(postBooks( - [{ - id: 1, - title: 'this is the book title', - description: 'this is the book description', - price: 33.33 - }, - { - id: 2, - title: 'this is the second book title', - description: 'this is the second book description', - price: 50 - }] -)) -*/ - -/***/ }), -/* 539 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -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; }; }(); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var Footer = function (_React$Component) { - _inherits(Footer, _React$Component); - - function Footer() { - _classCallCheck(this, Footer); - - return _possibleConstructorReturn(this, (Footer.__proto__ || Object.getPrototypeOf(Footer)).apply(this, arguments)); - } - - _createClass(Footer, [{ - key: "render", - value: function render() { - return _react2.default.createElement( - "footer", - { className: "footer text-center" }, - _react2.default.createElement( - "div", - { className: "container" }, - _react2.default.createElement( - "p", - { className: "footer-text" }, - "Copyright 2017. Blackowl BookShop. All rights reserved." - ) - ) - ); - } - }]); - - return Footer; -}(_react2.default.Component); - -exports.default = Footer; - -/***/ }), -/* 540 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -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; }; }(); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _reactBootstrap = __webpack_require__(56); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var Menu = function (_React$Component) { - _inherits(Menu, _React$Component); - - function Menu() { - _classCallCheck(this, Menu); - - return _possibleConstructorReturn(this, (Menu.__proto__ || Object.getPrototypeOf(Menu)).apply(this, arguments)); - } - - _createClass(Menu, [{ - key: 'render', - value: function render() { - return _react2.default.createElement( - _reactBootstrap.Navbar, - { inverse: true, fixedTop: true }, - _react2.default.createElement( - _reactBootstrap.Navbar.Header, - null, - _react2.default.createElement( - _reactBootstrap.Navbar.Brand, - null, - _react2.default.createElement( - 'a', - { href: '/' }, - 'Blackowl BookShop' - ) - ), - _react2.default.createElement(_reactBootstrap.Navbar.Toggle, null) - ), - _react2.default.createElement( - _reactBootstrap.Navbar.Collapse, - null, - _react2.default.createElement( - _reactBootstrap.Nav, - null, - _react2.default.createElement( - _reactBootstrap.NavItem, - { eventKey: 1, href: '/about' }, - 'About' - ), - _react2.default.createElement( - _reactBootstrap.NavItem, - { eventKey: 2, href: '/contacts' }, - 'Contact Us' - ) - ), - _react2.default.createElement( - _reactBootstrap.Nav, - { pullRight: true }, - _react2.default.createElement( - _reactBootstrap.NavItem, - { eventKey: 1, href: '/admin' }, - 'Admin' - ), - _react2.default.createElement( - _reactBootstrap.NavItem, - { eventKey: 2, href: '/cart' }, - 'Your Cart', - this.props.cartItemsNumber ? _react2.default.createElement( - _reactBootstrap.Badge, - { className: 'badge' }, - this.props.cartItemsNumber - ) : '' - ) - ) - ) - ); - } - }]); - - return Menu; -}(_react2.default.Component); - -exports.default = Menu; - -/***/ }), -/* 541 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -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; }; }(); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _reactBootstrap = __webpack_require__(56); - -var _reactRedux = __webpack_require__(41); - -var _redux = __webpack_require__(33); - -var _reactDom = __webpack_require__(21); - -var _booksActions = __webpack_require__(74); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var BooksForm = function (_React$Component) { - _inherits(BooksForm, _React$Component); - - function BooksForm() { - _classCallCheck(this, BooksForm); - - return _possibleConstructorReturn(this, (BooksForm.__proto__ || Object.getPrototypeOf(BooksForm)).apply(this, arguments)); - } - - _createClass(BooksForm, [{ - key: 'handleSubmit', - value: function handleSubmit() { - var book = [{ - title: (0, _reactDom.findDOMNode)(this.refs.title).value, - description: (0, _reactDom.findDOMNode)(this.refs.description).value, - price: (0, _reactDom.findDOMNode)(this.refs.price).value - }]; - - this.props.postBooks(book); - } - }, { - key: 'onDelete', - value: function onDelete() { - var bookId = (0, _reactDom.findDOMNode)(this.refs.delete).value; - this.props.deleteBooks(bookId); - } - }, { - key: 'render', - value: function render() { - var booksList = this.props.books.map(function (booksArr) { - return _react2.default.createElement( - 'option', - { key: booksArr._id }, - booksArr._id - ); - }); - - return _react2.default.createElement( - _reactBootstrap.Well, - null, - _react2.default.createElement( - _reactBootstrap.Panel, - null, - _react2.default.createElement( - _reactBootstrap.FormGroup, - { controlId: 'title' }, - _react2.default.createElement( - _reactBootstrap.ControlLabel, - null, - 'Title' - ), - _react2.default.createElement(_reactBootstrap.FormControl, { - type: 'text', - placeholder: 'Enter Title', - ref: 'title' }) - ), - _react2.default.createElement( - _reactBootstrap.FormGroup, - { controlId: 'description' }, - _react2.default.createElement( - _reactBootstrap.ControlLabel, - null, - 'Description' - ), - _react2.default.createElement(_reactBootstrap.FormControl, { - type: 'text', - placeholder: 'Enter\r Description', - ref: 'description' }) - ), - _react2.default.createElement( - _reactBootstrap.FormGroup, - { controlId: 'price' }, - _react2.default.createElement( - _reactBootstrap.ControlLabel, - null, - 'Price' - ), - _react2.default.createElement(_reactBootstrap.FormControl, { - type: 'text', - placeholder: 'Enter Price', - ref: 'price' }) - ), - _react2.default.createElement( - _reactBootstrap.Button, - { onClick: this.handleSubmit.bind(this), bsStyle: 'primary' }, - 'Save book' - ) - ), - _react2.default.createElement( - _reactBootstrap.Panel, - { style: { marginTop: '25px' } }, - _react2.default.createElement( - _reactBootstrap.FormGroup, - { controlId: 'formControlsSelect' }, - _react2.default.createElement( - _reactBootstrap.ControlLabel, - null, - 'Select a book id to delete' - ), - _react2.default.createElement( - _reactBootstrap.FormControl, - { ref: 'delete', componentClass: 'select', placeholder: 'select' }, - _react2.default.createElement( - 'option', - { value: 'select' }, - 'select' - ), - booksList - ) - ), - _react2.default.createElement( - _reactBootstrap.Button, - { onClick: this.onDelete.bind(this), bsStyle: 'danger' }, - 'Delete book' - ) - ) - ); - } - }]); - - return BooksForm; -}(_react2.default.Component); - -function mapStateToProps(state) { - return { - books: state.books.books - }; -} - -function mapDispatchToProps(dispatch) { - return (0, _redux.bindActionCreators)({ - postBooks: _booksActions.postBooks, - deleteBooks: _booksActions.deleteBooks - }, dispatch); -} - -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(BooksForm); - -/***/ }), -/* 542 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -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; }; }(); - -var _react = __webpack_require__(1); - -var _react2 = _interopRequireDefault(_react); - -var _reactBootstrap = __webpack_require__(56); - -var _reactRedux = __webpack_require__(41); - -var _redux = __webpack_require__(33); - -var _cartActions = __webpack_require__(95); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var BookItem = function (_React$Component) { - _inherits(BookItem, _React$Component); - - function BookItem() { - _classCallCheck(this, BookItem); - - return _possibleConstructorReturn(this, (BookItem.__proto__ || Object.getPrototypeOf(BookItem)).apply(this, arguments)); - } - - _createClass(BookItem, [{ - key: 'handleCart', - value: function handleCart() { - var book = [].concat(_toConsumableArray(this.props.cart), [{ - _id: this.props._id, - title: this.props.title, - description: this.props.description, - price: this.props.price, - quantity: 1 - }]); - - // CHECK IF CART IS EMPTY - if (this.props.cart.length) { - // CART IS NOT EMPTY - var _id = this.props._id; - - var cartIndex = this.props.cart.findIndex(function (cart) { - return cart._id === _id; - }); - - // IF RETURNS -1 THERE ARE NO ITEMS WITH SAME ID - if (cartIndex === -1) { - this.props.addToCart(book); - } else { - // UPDATE THE QUANTITY - this.props.updateCart(_id, 1); - } - } else { - // CART IS EMPTY - this.props.addToCart(book); - } - } - }, { - key: 'render', - value: function render() { - return _react2.default.createElement( - _reactBootstrap.Well, - null, - _react2.default.createElement( - _reactBootstrap.Row, - null, - _react2.default.createElement( - _reactBootstrap.Col, - { xs: 12 }, - _react2.default.createElement( - 'h6', - null, - this.props.title - ), - _react2.default.createElement( - 'p', - null, - this.props.description - ), - _react2.default.createElement( - 'h6', - null, - 'usd. ', - this.props.price - ), - _react2.default.createElement( - _reactBootstrap.Button, - { onClick: this.handleCart.bind(this), bsStyle: 'primary' }, - 'Buy now' - ) - ) - ) - ); - } - }]); - - return BookItem; -}(_react2.default.Component); - -function mapStateToProps(state) { - return { - cart: state.cart.cart - }; -} - -function mapDispatchToProps(dispatch) { - return (0, _redux.bindActionCreators)({ - addToCart: _cartActions.addToCart, - updateCart: _cartActions.updateCart - }, dispatch); -} - -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(BookItem); - -/***/ }), -/* 543 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -// Book reducer - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -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; }; - -exports.booksReducers = booksReducers; - -function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } - -function booksReducers() { - var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : { - // INITIAL STATE of books list - books: [{ - _id: 1, - title: 'This is the book title.', - description: 'This is the book description', - price: 33.33 - }, { - _id: 2, - title: 'This is the second book title.', - description: 'This is the second book description', - price: 99.01 - }] - }; - var action = arguments[1]; - - switch (action.type) { - case "GET_BOOKS": - return _extends({}, state, { books: [].concat(_toConsumableArray(state.books)) }); - break; - - case "POST_BOOK": - // let books = state.books.concat(action.payload); - // return { books }; - // spread operator requires babel-preset-stage-1 - return { books: [].concat(_toConsumableArray(state.books), _toConsumableArray(action.payload)) }; - break; - - case "DELETE_BOOK": - // create a copy of the current array of books - var currentBookToDelete = [].concat(_toConsumableArray(state.books)); - - // determine at which index in books array is the book to be deleted - var indexToDelete = currentBookToDelete.findIndex(function (book) { - return book._id === parseInt(action.payload); - }); - - // use slice to remove the book at the specified index - return { books: [].concat(_toConsumableArray(currentBookToDelete.slice(0, indexToDelete)), _toConsumableArray(currentBookToDelete.slice(indexToDelete + 1))) }; - break; - - case "UPDATE_BOOK": - // create a copy of the current array of books - var currentBookToUpdate = [].concat(_toConsumableArray(state.books)); - - // determine at which index in books array is the book to be updated - var indexToUpdate = currentBookToUpdate.findIndex(function (book) { - return book._id === action.payload._id; - }); - - // Create a new book object with the new values and with the same array index of the item we want to replace. - // To achieve this we wiil use ...spread but we could use concat method too - var newBookToUpdate = _extends({}, currentBookToUpdate[indexToUpdate], { - title: action.payload.title - }); - - // This log has the purpose to show you how newBookToUpdate looks like - // console.log("What's it newBookToUpdate", newBookToUpdate); - - // Use slice to remove the book at the specified index, replace with the new object and concatenate with - // the rest of items in the array - return { books: [].concat(_toConsumableArray(currentBookToUpdate.slice(0, indexToUpdate)), [newBookToUpdate], _toConsumableArray(currentBookToUpdate.slice(indexToUpdate + 1))) }; - break; - - } - return state; -}; - -/***/ }), -/* 544 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -// CART REDUCERS - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -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; }; - -exports.cartReducers = cartReducers; -exports.totals = totals; - -function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } - -function cartReducers() { - var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : { cart: [] }; - var action = arguments[1]; - - switch (action.type) { - case "ADD_TO_CART": - return { - cart: [].concat(_toConsumableArray(state), _toConsumableArray(action.payload)), - totalAmount: totals(action.payload).amount, - totalQty: totals(action.payload).qty - }; - break; - - case "UPDATE_CART": - // create a copy of the current array of books - var currentBookToUpdate = [].concat(_toConsumableArray(state.cart)); - - // determine at which index in books array is the book to be updated - var indexToUpdate = currentBookToUpdate.findIndex(function (book) { - return book._id === action._id; - }); - - // Create a new object with the new values and with the same array index of the item we want to replace. - var newBookToUpdate = _extends({}, currentBookToUpdate[indexToUpdate], { - quantity: currentBookToUpdate[indexToUpdate].quantity + action.unit - }); - - var cartUpdate = [].concat(_toConsumableArray(currentBookToUpdate.slice(0, indexToUpdate)), [newBookToUpdate], _toConsumableArray(currentBookToUpdate.slice(indexToUpdate + 1))); - - return { - cart: [].concat(_toConsumableArray(state), _toConsumableArray(cartUpdate)), - totalAmount: totals(cartUpdate).amount, - totalQty: totals(cartUpdate).qty - }; - break; - - case "DELETE_CART_ITEM": - return { - cart: [].concat(_toConsumableArray(state), _toConsumableArray(action.payload)), - totalAmount: totals(action.payload).amount, - totalQty: totals(action.payload).qty - }; - break; - } - - return state; -} - -// CALCULATE TOTALS -function totals(payloadArr) { - var totalAmount = payloadArr.map(function (cartArr) { - return cartArr.price * cartArr.quantity; - }).reduce(function (a, b) { - return a + b; - }, 0); // statr summing from 0 - - var totalQty = payloadArr.map(function (qty) { - return qty.quantity; - }).reduce(function (a, b) { - return a + b; - }, 0); +/***/ 538: +/***/ (function(module, exports) { - return { amount: totalAmount.toFixed(2), qty: totalQty }; -} +throw new Error("Module build failed: Error: ENOENT: no such file or directory, open 'C:\\Apache2\\htdocs\\2017\\alura\\react\\reduxApp\\src\\app.js'\n at Error (native)"); /***/ }) -/******/ ]); \ No newline at end of file + +/******/ }); \ No newline at end of file diff --git a/src/app.js b/src/client.js similarity index 100% rename from src/app.js rename to src/client.js diff --git a/webpack.config.js b/webpack.config.js index 79b07f1..ca42354 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -3,7 +3,7 @@ var path = require('path'); const webpack = require('webpack'); module.exports = { - entry: './src/app.js', + entry: './src/client.js', output: { filename: 'bundle.js', path: path.resolve(__dirname, 'public')