;
+ * }
+ * });
*
+ * 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 = {
- 'use strict';
+ /**
+ * An array of Mixin objects to include when defining your component.
+ *
+ * @type {array}
+ * @optional
+ */
+ mixins: 'DEFINE_MANY',
- var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
+ /**
+ * 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',
- /**
- * 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 = {
+ /**
+ * Definition of prop types for this component.
+ *
+ * @type {object}
+ * @optional
+ */
+ propTypes: 'DEFINE_MANY',
- canUseDOM: canUseDOM,
+ /**
+ * Definition of context types for this component.
+ *
+ * @type {object}
+ * @optional
+ */
+ contextTypes: 'DEFINE_MANY',
- canUseWorkers: typeof Worker !== 'undefined',
+ /**
+ * Definition of context types this component sets for its children.
+ *
+ * @type {object}
+ * @optional
+ */
+ childContextTypes: 'DEFINE_MANY',
- canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent),
+ // ==== Definition methods ====
- canUseViewport: canUseDOM && !!window.screen,
+ /**
+ * 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',
- isInWorker: !canUseDOM // For now, this is true - might change in the future.
+ /**
+ * 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',
- module.exports = ExecutionEnvironment;
+ /**
+ * Uses props from `this.props` and state from `this.state` to render the
+ * structure of the component.
+ *
+ * No guarantees are made about when or how often this method is invoked, so
+ * it must not have side effects.
+ *
+ * render: function() {
+ * var name = this.props.name;
+ * return
Hello, {name}!
;
+ * }
+ *
+ * @return {ReactComponent}
+ * @nosideeffects
+ * @required
+ */
+ render: 'DEFINE_ONCE',
-/***/ },
-/* 40 */
-/***/ function(module, exports, __webpack_require__) {
+ // ==== Delegate methods ====
- 'use strict';
+ /**
+ * 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',
- /**
- * 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
- */
+ /**
+ * 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',
- var performance = __webpack_require__(41);
+ /**
+ * 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',
- var performanceNow;
+ /**
+ * 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',
- /**
- * 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;
-
-/***/ },
-/* 41 */
-/***/ function(module, exports, __webpack_require__) {
-
- /**
- * Copyright (c) 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @typechecks
- */
-
- 'use strict';
+ /**
+ * 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',
- var ExecutionEnvironment = __webpack_require__(39);
+ /**
+ * 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',
- var performance;
+ /**
+ * 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',
- if (ExecutionEnvironment.canUseDOM) {
- performance = window.performance || window.msPerformance || window.webkitPerformance;
- }
+ // ==== Advanced methods ====
- module.exports = performance || {};
+ /**
+ * 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'
-/***/ },
-/* 42 */
-/***/ function(module, exports, __webpack_require__) {
+ };
- /* WEBPACK VAR INJECTION */(function(process) {/**
- * Copyright 2016-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
+ /**
+ * Mapping from class specification keys to special processing functions.
*
- * @providesModule ReactInvalidSetStateWarningDevTool
+ * 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.
*/
-
- 'use strict';
-
- var warning = __webpack_require__(29);
-
- if (process.env.NODE_ENV !== 'production') {
- var processingChildContext = false;
-
- var warnInvalidSetState = function () {
- process.env.NODE_ENV !== 'production' ? warning(!processingChildContext, 'setState(...): Cannot call setState() inside getChildContext()') : void 0;
- };
- }
-
- var ReactInvalidSetStateWarningDevTool = {
- onBeginProcessingChildContext: function () {
- processingChildContext = true;
+ var RESERVED_SPEC_KEYS = {
+ displayName: function (Constructor, displayName) {
+ Constructor.displayName = displayName;
},
- onEndProcessingChildContext: function () {
- processingChildContext = false;
+ mixins: function (Constructor, mixins) {
+ if (mixins) {
+ for (var i = 0; i < mixins.length; i++) {
+ mixSpecIntoComponent(Constructor, mixins[i]);
+ }
+ }
},
- onSetState: function () {
- warnInvalidSetState();
+ childContextTypes: function (Constructor, childContextTypes) {
+ if (process.env.NODE_ENV !== 'production') {
+ validateTypeDef(Constructor, childContextTypes, 'childContext');
+ }
+ Constructor.childContextTypes = _assign({}, Constructor.childContextTypes, childContextTypes);
+ },
+ contextTypes: function (Constructor, contextTypes) {
+ if (process.env.NODE_ENV !== 'production') {
+ validateTypeDef(Constructor, contextTypes, 'context');
+ }
+ Constructor.contextTypes = _assign({}, Constructor.contextTypes, contextTypes);
+ },
+ /**
+ * Special case getDefaultProps which should move into statics but requires
+ * automatic merging.
+ */
+ getDefaultProps: function (Constructor, getDefaultProps) {
+ if (Constructor.getDefaultProps) {
+ Constructor.getDefaultProps = createMergedResultFunction(Constructor.getDefaultProps, getDefaultProps);
+ } else {
+ Constructor.getDefaultProps = getDefaultProps;
+ }
+ },
+ propTypes: function (Constructor, propTypes) {
+ if (process.env.NODE_ENV !== 'production') {
+ validateTypeDef(Constructor, propTypes, 'prop');
+ }
+ Constructor.propTypes = _assign({}, Constructor.propTypes, propTypes);
+ },
+ statics: function (Constructor, statics) {
+ mixStaticSpecIntoComponent(Constructor, statics);
+ },
+ autobind: function () {} };
+
+ function validateTypeDef(Constructor, typeDef, location) {
+ for (var propName in typeDef) {
+ if (typeDef.hasOwnProperty(propName)) {
+ // use a warning instead of an invariant so components
+ // don't show up in prod but only in __DEV__
+ process.env.NODE_ENV !== 'production' ? warning(typeof typeDef[propName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', Constructor.displayName || 'ReactClass', ReactPropTypeLocationNames[location], propName) : void 0;
+ }
}
- };
+ }
- module.exports = ReactInvalidSetStateWarningDevTool;
- /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22)))
+ function validateMethodOverride(isAlreadyDefined, name) {
+ var specPolicy = ReactClassInterface.hasOwnProperty(name) ? ReactClassInterface[name] : null;
-/***/ },
-/* 43 */
-/***/ function(module, exports) {
+ // 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;
+ }
+ }
/**
- * Copyright 2016-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @providesModule ReactNativeOperationHistoryDevtool
+ * Mixin helper which handles policy validation and reserved
+ * specification keys when building React classes.
*/
+ function mixSpecIntoComponent(Constructor, spec) {
+ if (!spec) {
+ if (process.env.NODE_ENV !== 'production') {
+ var typeofSpec = typeof spec;
+ var isMixinValid = typeofSpec === 'object' && spec !== null;
- 'use strict';
-
- var history = [];
-
- var ReactNativeOperationHistoryDevtool = {
- onNativeOperation: function (debugID, type, payload) {
- history.push({
- instanceID: debugID,
- type: type,
- payload: payload
- });
- },
- clearHistory: function () {
- if (ReactNativeOperationHistoryDevtool._preventClearing) {
- // Should only be used for tests.
- return;
+ 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;
}
- history = [];
- },
- getHistory: function () {
- return history;
+ return;
}
- };
-
- module.exports = ReactNativeOperationHistoryDevtool;
-
-/***/ },
-/* 44 */
-/***/ function(module, exports, __webpack_require__) {
-
- /* WEBPACK VAR INJECTION */(function(process) {/**
- * Copyright 2016-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @providesModule ReactComponentTreeDevtool
- */
-
- 'use strict';
- var invariant = __webpack_require__(26);
+ !(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 tree = {};
- var rootIDs = [];
+ var proto = Constructor.prototype;
+ var autoBindPairs = proto.__reactAutoBindPairs;
- function updateTree(id, update) {
- if (!tree[id]) {
- tree[id] = {
- parentID: null,
- ownerID: null,
- text: null,
- childIDs: [],
- displayName: 'Unknown',
- isMounted: false,
- updateCount: 0
- };
+ // 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);
}
- update(tree[id]);
- }
- function purgeDeep(id) {
- var item = tree[id];
- if (item) {
- var childIDs = item.childIDs;
+ for (var name in spec) {
+ if (!spec.hasOwnProperty(name)) {
+ continue;
+ }
- delete tree[id];
- childIDs.forEach(purgeDeep);
- }
- }
+ if (name === MIXINS_KEY) {
+ // We have already handled mixins in a special case above.
+ continue;
+ }
- var ReactComponentTreeDevtool = {
- onSetDisplayName: function (id, displayName) {
- updateTree(id, function (item) {
- return item.displayName = displayName;
- });
- },
- onSetChildren: function (id, nextChildIDs) {
- updateTree(id, function (item) {
- var prevChildIDs = item.childIDs;
- item.childIDs = nextChildIDs;
+ 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;
- nextChildIDs.forEach(function (nextChildID) {
- var nextChild = tree[nextChildID];
- !nextChild ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected devtool events to fire for the child ' + 'before its parent includes it in onSetChildren().') : invariant(false) : void 0;
- !(nextChild.displayName != null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected onSetDisplayName() to fire for the child ' + 'before its parent includes it in onSetChildren().') : invariant(false) : void 0;
- !(nextChild.childIDs != null || nextChild.text != null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected onSetChildren() or onSetText() to fire for the child ' + 'before its parent includes it in onSetChildren().') : invariant(false) : 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().') : invariant(false) : void 0;
+ 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;
- if (prevChildIDs.indexOf(nextChildID) === -1) {
- nextChild.parentID = id;
+ // 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;
+ }
+ }
}
- });
- });
- },
- onSetOwner: function (id, ownerID) {
- updateTree(id, function (item) {
- return item.ownerID = ownerID;
- });
- },
- onSetText: function (id, text) {
- updateTree(id, function (item) {
- return item.text = text;
- });
- },
- onMountComponent: function (id) {
- updateTree(id, function (item) {
- return item.isMounted = true;
- });
- },
- onMountRootComponent: function (id) {
- rootIDs.push(id);
- },
- onUpdateComponent: function (id) {
- updateTree(id, function (item) {
- return item.updateCount++;
- });
- },
- onUnmountComponent: function (id) {
- updateTree(id, function (item) {
- return item.isMounted = false;
- });
- rootIDs = rootIDs.filter(function (rootID) {
- return rootID !== id;
- });
- },
- purgeUnmountedComponents: function () {
- if (ReactComponentTreeDevtool._preventPurging) {
- // Should only be used for testing.
- return;
+ }
}
+ }
+ }
- Object.keys(tree).filter(function (id) {
- return !tree[id].isMounted;
- }).forEach(purgeDeep);
- },
- isMounted: function (id) {
- var item = tree[id];
- return item ? item.isMounted : false;
- },
- getChildIDs: function (id) {
- var item = tree[id];
- return item ? item.childIDs : [];
- },
- getDisplayName: function (id) {
- var item = tree[id];
- return item ? item.displayName : 'Unknown';
- },
- getOwnerID: function (id) {
- var item = tree[id];
- return item ? item.ownerID : null;
- },
- getParentID: function (id) {
- var item = tree[id];
- return item ? item.parentID : null;
- },
- getText: function (id) {
- var item = tree[id];
- return item ? item.text : null;
- },
- getUpdateCount: function (id) {
- var item = tree[id];
- return item ? item.updateCount : 0;
- },
- getRootIDs: function () {
- return rootIDs;
- },
- getRegisteredIDs: function () {
- return Object.keys(tree);
+ function mixStaticSpecIntoComponent(Constructor, statics) {
+ if (!statics) {
+ return;
}
- };
+ for (var name in statics) {
+ var property = statics[name];
+ if (!statics.hasOwnProperty(name)) {
+ continue;
+ }
- module.exports = ReactComponentTreeDevtool;
- /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22)))
+ 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;
-/***/ },
-/* 45 */
-/***/ function(module, exports, __webpack_require__) {
+ 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;
+ }
+ }
- /* 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.
+ /**
+ * Merge two objects, but throw if both contain the same key.
*
+ * @param {object} one The first object, which is mutated.
+ * @param {object} two The second object
+ * @return {object} one after it has been mutated to contain everything in two.
*/
+ function mergeIntoWithNoDuplicateKeys(one, two) {
+ !(one && two && typeof one === 'object' && typeof two === 'object') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.') : _prodInvariant('80') : void 0;
- 'use strict';
-
- var emptyObject = {};
-
- if (process.env.NODE_ENV !== 'production') {
- Object.freeze(emptyObject);
+ 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;
}
- module.exports = emptyObject;
- /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22)))
-
-/***/ },
-/* 46 */
-/***/ function(module, exports, __webpack_require__) {
-
- /* WEBPACK VAR INJECTION */(function(process) {/**
- * Copyright 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
+ /**
+ * Creates a function that invokes two functions and merges their return values.
*
- * @providesModule ReactClass
+ * @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;
+ };
+ }
- 'use strict';
-
- var _assign = __webpack_require__(23);
+ /**
+ * 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);
+ };
+ }
- var ReactComponent = __webpack_require__(35);
- var ReactElement = __webpack_require__(27);
- var ReactPropTypeLocations = __webpack_require__(47);
- var ReactPropTypeLocationNames = __webpack_require__(49);
- var ReactNoopUpdateQueue = __webpack_require__(36);
+ /**
+ * 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];
+ }
- var emptyObject = __webpack_require__(45);
- var invariant = __webpack_require__(26);
- var keyMirror = __webpack_require__(48);
- var keyOf = __webpack_require__(50);
- var warning = __webpack_require__(29);
+ // 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;
+ }
- var MIXINS_KEY = keyOf({ mixins: null });
+ /**
+ * 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);
+ }
+ }
/**
- * Policies that describe methods in `ReactClassInterface`.
+ * Add more to the ReactClass base class. These are all legacy features and
+ * therefore not already part of the modern ReactComponent.
*/
- var SpecPolicy = keyMirror({
- /**
- * These methods may be defined only once by the class specification or mixin.
- */
- DEFINE_ONCE: null,
- /**
- * These methods may be defined by both the class specification and mixins.
- * Subsequent definitions will be chained. These methods must return void.
- */
- DEFINE_MANY: null,
+ var ReactClassMixin = {
+
/**
- * These methods are overriding the base class.
+ * 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.
*/
- OVERRIDE_BASE: null,
+ replaceState: function (newState, callback) {
+ this.updater.enqueueReplaceState(this, newState);
+ if (callback) {
+ this.updater.enqueueCallback(this, callback, 'replaceState');
+ }
+ },
+
/**
- * These methods are similar to DEFINE_MANY, except we assume they return
- * objects. We try to merge the keys of the return values of all the mixed in
- * functions. If there is a key conflict we throw.
+ * Checks whether or not this composite component is mounted.
+ * @return {boolean} True if mounted, false otherwise.
+ * @protected
+ * @final
*/
- DEFINE_MANY_MERGED: null
- });
-
- var injectedMixins = [];
+ isMounted: function () {
+ return this.updater.isMounted(this);
+ }
+ };
+
+ var ReactClassComponent = function () {};
+ _assign(ReactClassComponent.prototype, ReactComponent.prototype, ReactClassMixin);
/**
- * Composite components are higher-level components that compose other composite
- * or native components.
- *
- * To create a new type of `ReactClass`, pass a specification of
- * your new class to `React.createClass`. The only requirement of your class
- * specification is that you implement a `render` method.
- *
- * var MyComponent = React.createClass({
- * render: function() {
- * return
Hello World
;
- * }
- * });
- *
- * The class specification supports a specific protocol of methods that have
- * special meaning (e.g. `render`). See `ReactClassInterface` for
- * more the comprehensive protocol. Any other properties and methods in the
- * class specification will be available on the prototype.
+ * Module for creating composite components.
*
- * @interface ReactClassInterface
- * @internal
+ * @class ReactClass
*/
- var ReactClassInterface = {
+ var ReactClass = {
/**
- * An array of Mixin objects to include when defining your component.
+ * Creates a composite component class given a class specification.
+ * See https://facebook.github.io/react/docs/top-level-api.html#react.createclass
*
- * @type {array}
- * @optional
+ * @param {object} spec Class specification (which must define `render`).
+ * @return {function} Component constructor function.
+ * @public
*/
- mixins: SpecPolicy.DEFINE_MANY,
+ createClass: function (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.
- /**
- * 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: SpecPolicy.DEFINE_MANY,
+ 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;
+ }
- /**
- * Definition of prop types for this component.
- *
- * @type {object}
- * @optional
- */
- propTypes: SpecPolicy.DEFINE_MANY,
+ // Wire up auto-binding
+ if (this.__reactAutoBindPairs.length) {
+ bindAutoBindMethods(this);
+ }
- /**
- * Definition of context types for this component.
- *
- * @type {object}
- * @optional
- */
- contextTypes: SpecPolicy.DEFINE_MANY,
+ this.props = props;
+ this.context = context;
+ this.refs = emptyObject;
+ this.updater = updater || ReactNoopUpdateQueue;
- /**
- * Definition of context types this component sets for its children.
- *
- * @type {object}
- * @optional
- */
- childContextTypes: SpecPolicy.DEFINE_MANY,
+ this.state = null;
- // ==== Definition methods ====
+ // ReactClasses doesn't have constructors. Instead, they use the
+ // getInitialState and componentWillMount methods for initialization.
- /**
- * 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: SpecPolicy.DEFINE_MANY_MERGED,
+ var initialState = this.getInitialState ? this.getInitialState() : null;
+ if (process.env.NODE_ENV !== 'production') {
+ // We allow auto-mocks to proceed as if they're returning null.
+ if (initialState === undefined && this.getInitialState._isMockFunction) {
+ // This is probably bad practice. Consider warning here and
+ // deprecating this convenience.
+ initialState = null;
+ }
+ }
+ !(typeof initialState === 'object' && !Array.isArray(initialState)) ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s.getInitialState(): must return an object or null', Constructor.displayName || 'ReactCompositeComponent') : _prodInvariant('82', Constructor.displayName || 'ReactCompositeComponent') : void 0;
- /**
- * 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: SpecPolicy.DEFINE_MANY_MERGED,
+ this.state = initialState;
+ });
+ Constructor.prototype = new ReactClassComponent();
+ Constructor.prototype.constructor = Constructor;
+ Constructor.prototype.__reactAutoBindPairs = [];
- /**
- * @return {object}
- * @optional
- */
- getChildContext: SpecPolicy.DEFINE_MANY_MERGED,
+ injectedMixins.forEach(mixSpecIntoComponent.bind(null, Constructor));
- /**
- * Uses props from `this.props` and state from `this.state` to render the
- * structure of the component.
- *
- * No guarantees are made about when or how often this method is invoked, so
- * it must not have side effects.
- *
- * render: function() {
- * var name = this.props.name;
- * return
Hello, {name}!
;
- * }
- *
- * @return {ReactComponent}
- * @nosideeffects
- * @required
- */
- render: SpecPolicy.DEFINE_ONCE,
+ mixSpecIntoComponent(Constructor, spec);
- // ==== Delegate methods ====
+ // Initialize the defaultProps property after all mixins have been merged.
+ if (Constructor.getDefaultProps) {
+ Constructor.defaultProps = Constructor.getDefaultProps();
+ }
- /**
- * 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: SpecPolicy.DEFINE_MANY,
+ 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 = {};
+ }
+ }
- /**
- * 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: SpecPolicy.DEFINE_MANY,
+ !Constructor.prototype.render ? process.env.NODE_ENV !== 'production' ? invariant(false, 'createClass(...): Class specification must implement a `render` method.') : _prodInvariant('83') : void 0;
- /**
- * 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: SpecPolicy.DEFINE_MANY,
+ 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;
+ }
- /**
- * 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: SpecPolicy.DEFINE_ONCE,
+ // Reduce time spent doing lookups by setting these on the prototype.
+ for (var methodName in ReactClassInterface) {
+ if (!Constructor.prototype[methodName]) {
+ Constructor.prototype[methodName] = null;
+ }
+ }
- /**
- * 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: SpecPolicy.DEFINE_MANY,
+ return Constructor;
+ },
- /**
- * 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: SpecPolicy.DEFINE_MANY,
+ injection: {
+ injectMixin: function (mixin) {
+ injectedMixins.push(mixin);
+ }
+ }
- /**
- * 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: SpecPolicy.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: SpecPolicy.OVERRIDE_BASE
+ module.exports = ReactClass;
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22)))
- };
+/***/ },
+/* 42 */
+/***/ function(module, exports, __webpack_require__) {
- /**
- * Mapping from class specification keys to special processing functions.
+ /* WEBPACK VAR INJECTION */(function(process) {/**
+ * Copyright 2013-present, Facebook, Inc.
+ * All rights reserved.
*
- * 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.
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in 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 RESERVED_SPEC_KEYS = {
- displayName: function (Constructor, displayName) {
- Constructor.displayName = displayName;
- },
- mixins: function (Constructor, mixins) {
- if (mixins) {
- for (var i = 0; i < mixins.length; i++) {
- mixSpecIntoComponent(Constructor, mixins[i]);
- }
- }
- },
- childContextTypes: function (Constructor, childContextTypes) {
- if (process.env.NODE_ENV !== 'production') {
- validateTypeDef(Constructor, childContextTypes, ReactPropTypeLocations.childContext);
- }
- Constructor.childContextTypes = _assign({}, Constructor.childContextTypes, childContextTypes);
- },
- contextTypes: function (Constructor, contextTypes) {
- if (process.env.NODE_ENV !== 'production') {
- validateTypeDef(Constructor, contextTypes, ReactPropTypeLocations.context);
- }
- Constructor.contextTypes = _assign({}, Constructor.contextTypes, contextTypes);
- },
- /**
- * Special case getDefaultProps which should move into statics but requires
- * automatic merging.
- */
- getDefaultProps: function (Constructor, getDefaultProps) {
- if (Constructor.getDefaultProps) {
- Constructor.getDefaultProps = createMergedResultFunction(Constructor.getDefaultProps, getDefaultProps);
- } else {
- Constructor.getDefaultProps = getDefaultProps;
- }
- },
- propTypes: function (Constructor, propTypes) {
- if (process.env.NODE_ENV !== 'production') {
- validateTypeDef(Constructor, propTypes, ReactPropTypeLocations.prop);
- }
- Constructor.propTypes = _assign({}, Constructor.propTypes, propTypes);
- },
- statics: function (Constructor, statics) {
- mixStaticSpecIntoComponent(Constructor, statics);
- },
- autobind: function () {} };
- // noop
- 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;
- }
- }
+ 'use strict';
+
+ var ReactPropTypeLocationNames = {};
+
+ if (process.env.NODE_ENV !== 'production') {
+ ReactPropTypeLocationNames = {
+ prop: 'prop',
+ context: 'context',
+ childContext: 'child context'
+ };
}
- function validateMethodOverride(isAlreadyDefined, name) {
- var specPolicy = ReactClassInterface.hasOwnProperty(name) ? ReactClassInterface[name] : null;
+ module.exports = ReactPropTypeLocationNames;
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22)))
- // Disallow overriding of base class methods unless explicitly allowed.
- if (ReactClassMixin.hasOwnProperty(name)) {
- !(specPolicy === 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) : invariant(false) : void 0;
- }
+/***/ },
+/* 43 */
+/***/ function(module, exports, __webpack_require__) {
- // Disallow defining methods more than once unless explicitly allowed.
- if (isAlreadyDefined) {
- !(specPolicy === SpecPolicy.DEFINE_MANY || specPolicy === 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) : invariant(false) : void 0;
- }
+ /* WEBPACK VAR INJECTION */(function(process) {/**
+ * Copyright 2013-present, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ *
+ */
+
+ 'use strict';
+
+ var ReactElement = __webpack_require__(28);
+
+ /**
+ * Create a factory that creates HTML tag elements.
+ *
+ * @private
+ */
+ var createDOMFactory = ReactElement.createFactory;
+ if (process.env.NODE_ENV !== 'production') {
+ var ReactElementValidator = __webpack_require__(44);
+ createDOMFactory = ReactElementValidator.createFactory;
}
/**
- * Mixin helper which handles policy validation and reserved
- * specification keys when building React classes.
+ * Creates a mapping from supported HTML tags to `ReactDOMComponent` classes.
+ * This is also accessible via `React.DOM`.
+ *
+ * @public
*/
- function mixSpecIntoComponent(Constructor, spec) {
- if (!spec) {
- return;
- }
+ 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'),
- !(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.') : invariant(false) : 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.') : invariant(false) : void 0;
+ // 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')
+ };
- var proto = Constructor.prototype;
- var autoBindPairs = proto.__reactAutoBindPairs;
+ module.exports = ReactDOMFactories;
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22)))
- // 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);
- }
+/***/ },
+/* 44 */
+/***/ function(module, exports, __webpack_require__) {
- for (var name in spec) {
- if (!spec.hasOwnProperty(name)) {
- continue;
- }
+ /* 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.
+ *
+ */
- if (name === MIXINS_KEY) {
- // We have already handled mixins in a special case above.
- continue;
- }
+ /**
+ * 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 property = spec[name];
- var isAlreadyDefined = proto.hasOwnProperty(name);
- validateMethodOverride(isAlreadyDefined, name);
+ 'use strict';
- 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;
+ var ReactCurrentOwner = __webpack_require__(29);
+ var ReactComponentTreeHook = __webpack_require__(45);
+ var ReactElement = __webpack_require__(28);
- if (shouldAutoBind) {
- autoBindPairs.push(name, property);
- proto[name] = property;
- } else {
- if (isAlreadyDefined) {
- var specPolicy = ReactClassInterface[name];
+ var checkReactTypeSpec = __webpack_require__(46);
- // These cases should already be caught by validateMethodOverride.
- !(isReactClassMethod && (specPolicy === SpecPolicy.DEFINE_MANY_MERGED || specPolicy === 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) : invariant(false) : void 0;
+ var canDefineProperty = __webpack_require__(32);
+ var getIteratorFn = __webpack_require__(35);
+ var warning = __webpack_require__(30);
- // For methods which are defined more than once, call the existing
- // methods before calling the new property, merging if appropriate.
- if (specPolicy === SpecPolicy.DEFINE_MANY_MERGED) {
- proto[name] = createMergedResultFunction(proto[name], property);
- } else if (specPolicy === 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 getDeclarationErrorAddendum() {
+ if (ReactCurrentOwner.current) {
+ var name = ReactCurrentOwner.current.getName();
+ if (name) {
+ return ' Check the render method of `' + name + '`.';
}
}
+ return '';
}
- function mixStaticSpecIntoComponent(Constructor, statics) {
- if (!statics) {
- return;
- }
- for (var name in statics) {
- var property = statics[name];
- if (!statics.hasOwnProperty(name)) {
- continue;
- }
+ /**
+ * 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 = {};
- 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) : invariant(false) : void 0;
+ function getCurrentComponentErrorInfo(parentType) {
+ var info = getDeclarationErrorAddendum();
- 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) : invariant(false) : void 0;
- Constructor[name] = property;
+ 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;
}
/**
- * Merge two objects, but throw if both contain the same key.
+ * 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.
*
- * @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.
+ * @internal
+ * @param {ReactElement} element Element that requires a key.
+ * @param {*} parentType element's parent's type.
*/
- function mergeIntoWithNoDuplicateKeys(one, two) {
- !(one && two && typeof one === 'object' && typeof two === 'object') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.') : invariant(false) : void 0;
+ function validateExplicitKey(element, parentType) {
+ if (!element._store || element._store.validated || element.key != null) {
+ return;
+ }
+ element._store.validated = true;
- 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) : invariant(false) : void 0;
- one[key] = two[key];
- }
+ var memoizer = ownerHasKeyUseWarning.uniqueKey || (ownerHasKeyUseWarning.uniqueKey = {});
+
+ var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);
+ if (memoizer[currentComponentErrorInfo]) {
+ return;
}
- return one;
- }
+ memoizer[currentComponentErrorInfo] = true;
- /**
- * 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;
- };
- }
+ // 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() + '.';
+ }
- /**
- * 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);
- };
+ 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;
}
/**
- * Binds a method to the component.
+ * 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.
*
- * @param {object} component Component whose method is going to be bound.
- * @param {function} method Method to be bound.
- * @return {function} The bound method.
+ * @internal
+ * @param {ReactNode} node Statically passed child of any type.
+ * @param {*} parentType node's parent's type.
*/
- 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];
+ function validateChildKeys(node, parentType) {
+ if (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);
}
-
- // 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;
+ }
+ } 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);
+ }
+ }
}
- 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.
+ * Given an element, validate that its props follow the propTypes definition,
+ * provided by the type.
*
- * @param {object} component Component whose method is going to be bound.
+ * @param {ReactElement} element
*/
- 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);
+ 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;
}
}
- /**
- * Add more to the ReactClass base class. These are all legacy features and
- * therefore not already part of the modern ReactComponent.
- */
- var ReactClassMixin = {
+ var ReactElementValidator = {
- /**
- * TODO: This will be deprecated because state should always keep a consistent
- * type signature and the only use case for this, is to avoid that.
- */
- replaceState: function (newState, callback) {
- this.updater.enqueueReplaceState(this, newState);
- if (callback) {
- this.updater.enqueueCallback(this, callback, 'replaceState');
+ createElement: function (type, props, children) {
+ var validType = typeof type === 'string' || typeof type === 'function';
+ // We warn in this case but don't throw. We expect the element creation to
+ // succeed and there will likely be errors in render.
+ if (!validType) {
+ process.env.NODE_ENV !== 'production' ? warning(false, 'React.createElement: type should not be null, undefined, boolean, or ' + 'number. It should be a string (for DOM elements) or a ReactClass ' + '(for composite components).%s', getDeclarationErrorAddendum()) : void 0;
}
- },
-
- /**
- * Checks whether or not this composite component is mounted.
- * @return {boolean} True if mounted, false otherwise.
- * @protected
- * @final
- */
- isMounted: function () {
- return this.updater.isMounted(this);
- }
- };
-
- var ReactClassComponent = function () {};
- _assign(ReactClassComponent.prototype, ReactComponent.prototype, ReactClassMixin);
-
- /**
- * Module for creating composite components.
- *
- * @class ReactClass
- */
- var ReactClass = {
- /**
- * Creates a composite component class given a class specification.
- * See https://facebook.github.io/react/docs/top-level-api.html#react.createclass
- *
- * @param {object} spec Class specification (which must define `render`).
- * @return {function} Component constructor function.
- * @public
- */
- createClass: function (spec) {
- var Constructor = function (props, context, updater) {
- // This constructor gets overridden by mocks. The argument is used
- // by mocks to assert on what gets mounted.
+ var element = ReactElement.createElement.apply(this, arguments);
- 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;
- }
+ // 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;
+ }
- // Wire up auto-binding
- if (this.__reactAutoBindPairs.length) {
- bindAutoBindMethods(this);
+ // 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);
}
+ }
- this.props = props;
- this.context = context;
- this.refs = emptyObject;
- this.updater = updater || ReactNoopUpdateQueue;
+ validatePropTypes(element);
- this.state = null;
+ return element;
+ },
- // ReactClasses doesn't have constructors. Instead, they use the
- // getInitialState and componentWillMount methods for initialization.
+ createFactory: function (type) {
+ var validatedFactory = ReactElementValidator.createElement.bind(null, type);
+ // Legacy hook TODO: Warn if this is accessed
+ validatedFactory.type = type;
- 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;
- }
+ if (process.env.NODE_ENV !== 'production') {
+ if (canDefineProperty) {
+ Object.defineProperty(validatedFactory, 'type', {
+ enumerable: false,
+ get: function () {
+ process.env.NODE_ENV !== 'production' ? warning(false, 'Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.') : void 0;
+ Object.defineProperty(this, 'type', {
+ value: type
+ });
+ return type;
+ }
+ });
}
- !(typeof initialState === 'object' && !Array.isArray(initialState)) ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s.getInitialState(): must return an object or null', Constructor.displayName || 'ReactCompositeComponent') : invariant(false) : void 0;
+ }
- this.state = initialState;
- };
- Constructor.prototype = new ReactClassComponent();
- Constructor.prototype.constructor = Constructor;
- Constructor.prototype.__reactAutoBindPairs = [];
+ return validatedFactory;
+ },
- 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.') : invariant(false) : void 0;
-
- if (process.env.NODE_ENV !== 'production') {
- process.env.NODE_ENV !== 'production' ? warning(!Constructor.prototype.componentShouldUpdate, '%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', spec.displayName || 'A component') : void 0;
- process.env.NODE_ENV !== 'production' ? warning(!Constructor.prototype.componentWillRecieveProps, '%s has a method called ' + 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?', spec.displayName || 'A component') : void 0;
- }
-
- // Reduce time spent doing lookups by setting these on the prototype.
- for (var methodName in ReactClassInterface) {
- if (!Constructor.prototype[methodName]) {
- Constructor.prototype[methodName] = null;
- }
- }
-
- return Constructor;
- },
-
- injection: {
- injectMixin: function (mixin) {
- injectedMixins.push(mixin);
+ cloneElement: function (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 = ReactClass;
+ module.exports = ReactElementValidator;
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22)))
/***/ },
-/* 47 */
+/* 45 */
/***/ function(module, exports, __webpack_require__) {
- /**
- * Copyright 2013-present, Facebook, Inc.
+ /* WEBPACK VAR INJECTION */(function(process) {/**
+ * Copyright 2016-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
- * @providesModule ReactPropTypeLocations
+ *
*/
'use strict';
- var keyMirror = __webpack_require__(48);
+ var _prodInvariant = __webpack_require__(26);
- var ReactPropTypeLocations = keyMirror({
- prop: null,
- context: null,
- childContext: null
- });
+ var ReactCurrentOwner = __webpack_require__(29);
+
+ var invariant = __webpack_require__(27);
+ var warning = __webpack_require__(30);
+
+ 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);
+
+ if (canUseCollections) {
+ var itemMap = new Map();
+ var rootIDSet = new Set();
+
+ var setItem = function (id, item) {
+ itemMap.set(id, item);
+ };
+ var getItem = function (id) {
+ return itemMap.get(id);
+ };
+ var removeItem = function (id) {
+ itemMap['delete'](id);
+ };
+ var getItemIDs = function () {
+ return Array.from(itemMap.keys());
+ };
+
+ var addRoot = function (id) {
+ rootIDSet.add(id);
+ };
+ var removeRoot = function (id) {
+ rootIDSet['delete'](id);
+ };
+ var getRootIDs = function () {
+ 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 (id) {
+ return '.' + id;
+ };
+ var getIDFromKey = function (key) {
+ return parseInt(key.substr(1), 10);
+ };
+
+ var setItem = function (id, item) {
+ var key = getKeyFromID(id);
+ itemByKey[key] = item;
+ };
+ var getItem = function (id) {
+ var key = getKeyFromID(id);
+ return itemByKey[key];
+ };
+ var removeItem = function (id) {
+ var key = getKeyFromID(id);
+ delete itemByKey[key];
+ };
+ var getItemIDs = function () {
+ return Object.keys(itemByKey).map(getIDFromKey);
+ };
+
+ var addRoot = function (id) {
+ var key = getKeyFromID(id);
+ rootByKey[key] = true;
+ };
+ var removeRoot = function (id) {
+ var key = getKeyFromID(id);
+ delete rootByKey[key];
+ };
+ var getRootIDs = function () {
+ 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 (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 (id, element, parentID) {
+ var item = {
+ element: element,
+ parentID: parentID,
+ text: null,
+ childIDs: [],
+ isMounted: false,
+ updateCount: 0
+ };
+ setItem(id, item);
+ },
+ onBeforeUpdateComponent: function (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 (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 (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 (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 () {
+ 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 (id) {
+ var item = getItem(id);
+ return item ? item.isMounted : false;
+ },
+ getCurrentStackAddendum: function (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 (id) {
+ var info = '';
+ while (id) {
+ info += describeID(id);
+ id = ReactComponentTreeHook.getParentID(id);
+ }
+ return info;
+ },
+ getChildIDs: function (id) {
+ var item = getItem(id);
+ return item ? item.childIDs : [];
+ },
+ getDisplayName: function (id) {
+ var element = ReactComponentTreeHook.getElement(id);
+ if (!element) {
+ return null;
+ }
+ return getDisplayName(element);
+ },
+ getElement: function (id) {
+ var item = getItem(id);
+ return item ? item.element : null;
+ },
+ getOwnerID: function (id) {
+ var element = ReactComponentTreeHook.getElement(id);
+ if (!element || !element._owner) {
+ return null;
+ }
+ return element._owner._debugID;
+ },
+ getParentID: function (id) {
+ var item = getItem(id);
+ return item ? item.parentID : null;
+ },
+ getSource: function (id) {
+ var item = getItem(id);
+ var element = item ? item.element : null;
+ var source = element != null ? element._source : null;
+ return source;
+ },
+ getText: function (id) {
+ var element = ReactComponentTreeHook.getElement(id);
+ if (typeof element === 'string') {
+ return element;
+ } else if (typeof element === 'number') {
+ return '' + element;
+ } else {
+ return null;
+ }
+ },
+ getUpdateCount: function (id) {
+ var item = getItem(id);
+ return item ? item.updateCount : 0;
+ },
+
+
+ getRootIDs: getRootIDs,
+ getRegisteredIDs: getItemIDs
+ };
- module.exports = ReactPropTypeLocations;
+ module.exports = ReactComponentTreeHook;
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22)))
/***/ },
-/* 48 */
+/* 46 */
/***/ function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(process) {/**
- * Copyright (c) 2013-present, Facebook, Inc.
+ * 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.
*
- * @typechecks static-only
*/
'use strict';
- var invariant = __webpack_require__(26);
+ var _prodInvariant = __webpack_require__(26);
+
+ var ReactPropTypeLocationNames = __webpack_require__(42);
+ var ReactPropTypesSecret = __webpack_require__(47);
+
+ var invariant = __webpack_require__(27);
+ var warning = __webpack_require__(30);
+
+ 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__(45);
+ }
+
+ var loggedTypeFailures = {};
/**
- * Constructs an enumeration with keys equal to their value.
- *
- * For example:
- *
- * var COLORS = keyMirror({blue: null, red: null});
- * var myColor = COLORS.blue;
- * var isColorValid = !!COLORS[myColor];
+ * Assert that the values match with the type specs.
+ * Error messages are memorized and will only be shown once.
*
- * The last line could not be performed if the values of the generated enum were
- * not equal to their keys.
- *
- * Input: {key1: val1, key2: val2}
- * Output: {key1: key1, key2: key2}
- *
- * @param {object} obj
- * @return {object}
+ * @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
*/
- var keyMirror = function keyMirror(obj) {
- var ret = {};
- var key;
- !(obj instanceof Object && !Array.isArray(obj)) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'keyMirror(...): Argument must be an object.') : invariant(false) : void 0;
- for (key in obj) {
- if (!obj.hasOwnProperty(key)) {
- continue;
+ 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) : 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__(45);
+ }
+ 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;
+ }
}
- ret[key] = key;
}
- return ret;
- };
+ }
- module.exports = keyMirror;
+ module.exports = checkReactTypeSpec;
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22)))
/***/ },
-/* 49 */
-/***/ function(module, exports, __webpack_require__) {
+/* 47 */
+/***/ function(module, exports) {
- /* WEBPACK VAR INJECTION */(function(process) {/**
+ /**
* Copyright 2013-present, Facebook, Inc.
* All rights reserved.
*
@@ -3431,32 +3743,21 @@
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
- * @providesModule ReactPropTypeLocationNames
+ *
*/
'use strict';
- var ReactPropTypeLocationNames = {};
-
- if (process.env.NODE_ENV !== 'production') {
- ReactPropTypeLocationNames = {
- prop: 'prop',
- context: 'context',
- childContext: 'child context'
- };
- }
+ var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
- module.exports = ReactPropTypeLocationNames;
- /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22)))
+ module.exports = ReactPropTypesSecret;
/***/ },
-/* 50 */
-/***/ function(module, exports) {
-
- "use strict";
+/* 48 */
+/***/ function(module, exports, __webpack_require__) {
- /**
- * Copyright (c) 2013-present, Facebook, Inc.
+ /* 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
@@ -3465,556 +3766,434 @@
*
*/
- /**
- * Allows extraction of a minified key. Let's the build system minify keys
- * without losing the ability to dynamically use key strings as values
- * themselves. Pass in an object with a single key/val pair and it will return
- * you the string key of that single record. Suppose you want to grab the
- * value for a key 'className' inside of an object. Key/val minification may
- * have aliased that key to be 'xa12'. keyOf({className: null}) will return
- * 'xa12' in that case. Resolve keys you want to use once at startup time, then
- * reuse those resolutions.
- */
- var keyOf = function keyOf(oneKeyObj) {
- var key;
- for (key in oneKeyObj) {
- if (!oneKeyObj.hasOwnProperty(key)) {
- continue;
- }
- return key;
- }
- return null;
- };
+ 'use strict';
- module.exports = keyOf;
+ var ReactElement = __webpack_require__(28);
+ var ReactPropTypeLocationNames = __webpack_require__(42);
+ var ReactPropTypesSecret = __webpack_require__(47);
-/***/ },
-/* 51 */
-/***/ function(module, exports, __webpack_require__) {
+ var emptyFunction = __webpack_require__(31);
+ var getIteratorFn = __webpack_require__(35);
+ var warning = __webpack_require__(30);
- /* WEBPACK VAR INJECTION */(function(process) {/**
- * Copyright 2013-present, Facebook, Inc.
- * All rights reserved.
+ /**
+ * Collection of methods that allow declaration and validation of props that are
+ * supplied to React components. Example usage:
*
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in 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 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() {...}
+ * });
*
- * @providesModule ReactDOMFactories
+ * @internal
*/
- 'use strict';
+ var ANONYMOUS = '<>';
- var ReactElement = __webpack_require__(27);
- var ReactElementValidator = __webpack_require__(52);
+ var ReactPropTypes = {
+ array: createPrimitiveTypeChecker('array'),
+ bool: createPrimitiveTypeChecker('boolean'),
+ func: createPrimitiveTypeChecker('function'),
+ number: createPrimitiveTypeChecker('number'),
+ object: createPrimitiveTypeChecker('object'),
+ string: createPrimitiveTypeChecker('string'),
+ symbol: createPrimitiveTypeChecker('symbol'),
- var mapObject = __webpack_require__(53);
+ any: createAnyTypeChecker(),
+ arrayOf: createArrayOfTypeChecker,
+ element: createElementTypeChecker(),
+ instanceOf: createInstanceTypeChecker,
+ node: createNodeChecker(),
+ objectOf: createObjectOfTypeChecker,
+ oneOf: createEnumTypeChecker,
+ oneOfType: createUnionTypeChecker,
+ shape: createShapeTypeChecker
+ };
/**
- * Create a factory that creates HTML tag elements.
- *
- * @param {string} tag Tag name (e.g. `div`).
- * @private
+ * 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 createDOMFactory(tag) {
- if (process.env.NODE_ENV !== 'production') {
- return ReactElementValidator.createFactory(tag);
+ /*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;
}
- return ReactElement.createFactory(tag);
}
+ /*eslint-enable no-self-compare*/
/**
- * Creates a mapping from supported HTML tags to `ReactDOMComponent` classes.
- * This is also accessible via `React.DOM`.
- *
- * @public
- */
- var ReactDOMFactories = mapObject({
- a: 'a',
- abbr: 'abbr',
- address: 'address',
- area: 'area',
- article: 'article',
- aside: 'aside',
- audio: 'audio',
- b: 'b',
- base: 'base',
- bdi: 'bdi',
- bdo: 'bdo',
- big: 'big',
- blockquote: 'blockquote',
- body: 'body',
- br: 'br',
- button: 'button',
- canvas: 'canvas',
- caption: 'caption',
- cite: 'cite',
- code: 'code',
- col: 'col',
- colgroup: 'colgroup',
- data: 'data',
- datalist: 'datalist',
- dd: 'dd',
- del: 'del',
- details: 'details',
- dfn: 'dfn',
- dialog: 'dialog',
- div: 'div',
- dl: 'dl',
- dt: 'dt',
- em: 'em',
- embed: 'embed',
- fieldset: 'fieldset',
- figcaption: 'figcaption',
- figure: 'figure',
- footer: 'footer',
- form: 'form',
- h1: 'h1',
- h2: 'h2',
- h3: 'h3',
- h4: 'h4',
- h5: 'h5',
- h6: 'h6',
- head: 'head',
- header: 'header',
- hgroup: 'hgroup',
- hr: 'hr',
- html: 'html',
- i: 'i',
- iframe: 'iframe',
- img: 'img',
- input: 'input',
- ins: 'ins',
- kbd: 'kbd',
- keygen: 'keygen',
- label: 'label',
- legend: 'legend',
- li: 'li',
- link: 'link',
- main: 'main',
- map: 'map',
- mark: 'mark',
- menu: 'menu',
- menuitem: 'menuitem',
- meta: 'meta',
- meter: 'meter',
- nav: 'nav',
- noscript: 'noscript',
- object: 'object',
- ol: 'ol',
- optgroup: 'optgroup',
- option: 'option',
- output: 'output',
- p: 'p',
- param: 'param',
- picture: 'picture',
- pre: 'pre',
- progress: 'progress',
- q: 'q',
- rp: 'rp',
- rt: 'rt',
- ruby: 'ruby',
- s: 's',
- samp: 'samp',
- script: 'script',
- section: 'section',
- select: 'select',
- small: 'small',
- source: 'source',
- span: 'span',
- strong: 'strong',
- style: 'style',
- sub: 'sub',
- summary: 'summary',
- sup: 'sup',
- table: 'table',
- tbody: 'tbody',
- td: 'td',
- textarea: 'textarea',
- tfoot: 'tfoot',
- th: 'th',
- thead: 'thead',
- time: 'time',
- title: 'title',
- tr: 'tr',
- track: 'track',
- u: 'u',
- ul: 'ul',
- 'var': 'var',
- video: 'video',
- wbr: 'wbr',
-
- // SVG
- circle: 'circle',
- clipPath: 'clipPath',
- defs: 'defs',
- ellipse: 'ellipse',
- g: 'g',
- image: 'image',
- line: 'line',
- linearGradient: 'linearGradient',
- mask: 'mask',
- path: 'path',
- pattern: 'pattern',
- polygon: 'polygon',
- polyline: 'polyline',
- radialGradient: 'radialGradient',
- rect: 'rect',
- stop: 'stop',
- svg: 'svg',
- text: 'text',
- tspan: 'tspan'
-
- }, createDOMFactory);
-
- module.exports = ReactDOMFactories;
- /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22)))
-
-/***/ },
-/* 52 */
-/***/ function(module, exports, __webpack_require__) {
-
- /* WEBPACK VAR INJECTION */(function(process) {/**
- * Copyright 2014-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @providesModule ReactElementValidator
+ * 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;
- /**
- * 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.
- */
+ function createChainableTypeChecker(validate) {
+ if (process.env.NODE_ENV !== 'production') {
+ var manualPropTypeCallCache = {};
+ }
+ function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {
+ componentName = componentName || ANONYMOUS;
+ propFullName = propFullName || propName;
+ if (process.env.NODE_ENV !== 'production') {
+ if (secret !== ReactPropTypesSecret && typeof console !== 'undefined') {
+ var cacheKey = componentName + ':' + propName;
+ if (!manualPropTypeCallCache[cacheKey]) {
+ process.env.NODE_ENV !== 'production' ? warning(false, 'You are manually calling a React.PropTypes validation ' + 'function for the `%s` prop on `%s`. This is deprecated ' + 'and will not work in production with the next major version. ' + '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) : void 0;
+ manualPropTypeCallCache[cacheKey] = true;
+ }
+ }
+ }
+ if (props[propName] == null) {
+ var locationName = ReactPropTypeLocationNames[location];
+ if (isRequired) {
+ if (props[propName] === null) {
+ return new PropTypeError('The ' + locationName + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));
+ }
+ return new PropTypeError('The ' + locationName + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));
+ }
+ return null;
+ } else {
+ return validate(props, propName, componentName, location, propFullName);
+ }
+ }
- 'use strict';
+ var chainedCheckType = checkType.bind(null, false);
+ chainedCheckType.isRequired = checkType.bind(null, true);
- var ReactElement = __webpack_require__(27);
- var ReactPropTypeLocations = __webpack_require__(47);
- var ReactPropTypeLocationNames = __webpack_require__(49);
- var ReactCurrentOwner = __webpack_require__(28);
+ return chainedCheckType;
+ }
- var canDefineProperty = __webpack_require__(31);
- var getIteratorFn = __webpack_require__(33);
- var invariant = __webpack_require__(26);
- var warning = __webpack_require__(29);
+ function createPrimitiveTypeChecker(expectedType) {
+ function validate(props, propName, componentName, location, propFullName, secret) {
+ var propValue = props[propName];
+ var propType = getPropType(propValue);
+ if (propType !== expectedType) {
+ var locationName = ReactPropTypeLocationNames[location];
+ // `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);
- function getDeclarationErrorAddendum() {
- if (ReactCurrentOwner.current) {
- var name = ReactCurrentOwner.current.getName();
- if (name) {
- return ' Check the render method of `' + name + '`.';
+ return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));
}
+ return null;
}
- return '';
+ return createChainableTypeChecker(validate);
}
- /**
- * 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 = {};
-
- var loggedTypeFailures = {};
+ function createAnyTypeChecker() {
+ return createChainableTypeChecker(emptyFunction.thatReturns(null));
+ }
- /**
- * 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.
- *
- * @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;
+ 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 locationName = ReactPropTypeLocationNames[location];
+ var propType = getPropType(propValue);
+ return new PropTypeError('Invalid ' + locationName + ' `' + 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;
}
- element._store.validated = true;
+ return createChainableTypeChecker(validate);
+ }
- var addenda = getAddendaForKeyUse('uniqueKey', element, parentType);
- if (addenda === null) {
- // we already showed the warning
- return;
+ function createElementTypeChecker() {
+ function validate(props, propName, componentName, location, propFullName) {
+ var propValue = props[propName];
+ if (!ReactElement.isValidElement(propValue)) {
+ var locationName = ReactPropTypeLocationNames[location];
+ var propType = getPropType(propValue);
+ return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));
+ }
+ return null;
}
- process.env.NODE_ENV !== 'production' ? warning(false, 'Each child in an array or iterator should have a unique "key" prop.' + '%s%s%s', addenda.parentOrOwner || '', addenda.childOwner || '', addenda.url || '') : void 0;
+ return createChainableTypeChecker(validate);
}
- /**
- * Shared warning and monitoring code for the key warnings.
- *
- * @internal
- * @param {string} messageType A key used for de-duping warnings.
- * @param {ReactElement} element Component that requires a key.
- * @param {*} parentType element's parent's type.
- * @returns {?object} A set of addenda to use in the warning message, or null
- * if the warning has already been shown before (and shouldn't be shown again).
- */
- function getAddendaForKeyUse(messageType, element, parentType) {
- var addendum = getDeclarationErrorAddendum();
- if (!addendum) {
- var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;
- if (parentName) {
- addendum = ' Check the top-level render call using <' + parentName + '>.';
+ function createInstanceTypeChecker(expectedClass) {
+ function validate(props, propName, componentName, location, propFullName) {
+ if (!(props[propName] instanceof expectedClass)) {
+ var locationName = ReactPropTypeLocationNames[location];
+ var expectedClassName = expectedClass.name || ANONYMOUS;
+ var actualClassName = getClassName(props[propName]);
+ return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));
}
+ return null;
}
+ return createChainableTypeChecker(validate);
+ }
- var memoizer = ownerHasKeyUseWarning[messageType] || (ownerHasKeyUseWarning[messageType] = {});
- if (memoizer[addendum]) {
- return null;
+ 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;
}
- memoizer[addendum] = true;
- var addenda = {
- parentOrOwner: addendum,
- url: ' See https://fb.me/react-warning-keys for more information.',
- childOwner: null
- };
+ 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;
+ }
+ }
- // 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.
- if (element && element._owner && element._owner !== ReactCurrentOwner.current) {
- // Give the component that originally created this child.
- addenda.childOwner = ' It was passed a child from ' + element._owner.getName() + '.';
+ var locationName = ReactPropTypeLocationNames[location];
+ var valuesString = JSON.stringify(expectedValues);
+ return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));
}
-
- return addenda;
+ return createChainableTypeChecker(validate);
}
- /**
- * 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 !== '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);
- }
+ 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.');
}
- } else if (ReactElement.isValidElement(node)) {
- // This element was passed in a valid location.
- if (node._store) {
- node._store.validated = true;
+ var propValue = props[propName];
+ var propType = getPropType(propValue);
+ if (propType !== 'object') {
+ var locationName = ReactPropTypeLocationNames[location];
+ return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
}
- } 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);
- }
+ 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);
}
- /**
- * Assert that the props are valid
- *
- * @param {string} componentName Name of the component for error messages.
- * @param {object} propTypes Map of prop name to a ReactPropType
- * @param {object} props
- * @param {string} location e.g. "prop", "context", "child context"
- * @private
- */
- function checkPropTypes(componentName, propTypes, props, location) {
- for (var propName in propTypes) {
- if (propTypes.hasOwnProperty(propName)) {
- 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 propTypes[propName] === '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], propName) : invariant(false) : void 0;
- error = propTypes[propName](props, propName, componentName, location);
- } 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], propName, 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;
+ 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;
+ }
- var addendum = getDeclarationErrorAddendum();
- process.env.NODE_ENV !== 'production' ? warning(false, 'Failed propType: %s%s', error.message, addendum) : void 0;
+ 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;
}
}
+
+ var locationName = ReactPropTypeLocationNames[location];
+ return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));
}
+ return createChainableTypeChecker(validate);
}
- /**
- * 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) {
- checkPropTypes(name, componentClass.propTypes, element.props, ReactPropTypeLocations.prop);
- }
- 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;
+ function createNodeChecker() {
+ function validate(props, propName, componentName, location, propFullName) {
+ if (!isNode(props[propName])) {
+ var locationName = ReactPropTypeLocationNames[location];
+ return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));
+ }
+ return null;
}
+ return createChainableTypeChecker(validate);
}
- var ReactElementValidator = {
-
- createElement: function (type, props, children) {
- var validType = typeof type === 'string' || typeof type === 'function';
- // We warn in this case but don't throw. We expect the element creation to
- // succeed and there will likely be errors in render.
- process.env.NODE_ENV !== 'production' ? warning(validType, 'React.createElement: type should not be null, undefined, boolean, or ' + 'number. It should be a string (for DOM elements) or a ReactClass ' + '(for composite components).%s', getDeclarationErrorAddendum()) : 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;
+ function createShapeTypeChecker(shapeTypes) {
+ function validate(props, propName, componentName, location, propFullName) {
+ var propValue = props[propName];
+ var propType = getPropType(propValue);
+ if (propType !== 'object') {
+ var locationName = ReactPropTypeLocationNames[location];
+ return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
}
-
- // 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);
+ 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);
+ }
- validatePropTypes(element);
-
- return element;
- },
-
- createFactory: function (type) {
- var validatedFactory = ReactElementValidator.createElement.bind(null, type);
- // Legacy hook TODO: Warn if this is accessed
- validatedFactory.type = type;
+ function isNode(propValue) {
+ switch (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 || ReactElement.isValidElement(propValue)) {
+ return true;
+ }
- if (process.env.NODE_ENV !== 'production') {
- if (canDefineProperty) {
- Object.defineProperty(validatedFactory, 'type', {
- enumerable: false,
- get: function () {
- process.env.NODE_ENV !== 'production' ? warning(false, 'Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.') : void 0;
- Object.defineProperty(this, 'type', {
- value: type
- });
- return type;
+ 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 validatedFactory;
- },
- cloneElement: function (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;
+ return true;
+ default:
+ return false;
}
+ }
- };
-
- module.exports = ReactElementValidator;
- /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22)))
-
-/***/ },
-/* 53 */
-/***/ function(module, exports) {
+ function isSymbol(propType, propValue) {
+ // Native Symbol.
+ if (propType === 'symbol') {
+ return true;
+ }
- /**
- * 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.
- *
- */
+ // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'
+ if (propValue['@@toStringTag'] === 'Symbol') {
+ return true;
+ }
- 'use strict';
+ // Fallback for non-spec compliant Symbols which are polyfilled.
+ if (typeof Symbol === 'function' && propValue instanceof Symbol) {
+ return true;
+ }
- var hasOwnProperty = Object.prototype.hasOwnProperty;
+ return false;
+ }
- /**
- * Executes the provided `callback` once for each enumerable own property in the
- * object and constructs a new object from the results. The `callback` is
- * invoked with three arguments:
- *
- * - the property value
- * - the property name
- * - the object being traversed
- *
- * Properties that are added after the call to `mapObject` will not be visited
- * by `callback`. If the values of existing properties are changed, the value
- * passed to `callback` will be the value at the time `mapObject` visits them.
- * Properties that are deleted before being visited are not visited.
- *
- * @grep function objectMap()
- * @grep function objMap()
- *
- * @param {?object} object
- * @param {function} callback
- * @param {*} context
- * @return {?object}
- */
- function mapObject(object, callback, context) {
- if (!object) {
- return null;
+ // Equivalent of `typeof` but with special handling for array and regexp.
+ function getPropType(propValue) {
+ var propType = typeof propValue;
+ if (Array.isArray(propValue)) {
+ return 'array';
}
- var result = {};
- for (var name in object) {
- if (hasOwnProperty.call(object, name)) {
- result[name] = callback.call(context, object[name], name, object);
- }
+ 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';
}
- return result;
+ if (isSymbol(propType, propValue)) {
+ return 'symbol';
+ }
+ return propType;
+ }
+
+ // This handles more types than `getPropType`. Only used for error messages.
+ // See `createPrimitiveTypeChecker`.
+ function getPreciseType(propValue) {
+ var propType = getPropType(propValue);
+ if (propType === 'object') {
+ if (propValue instanceof Date) {
+ return 'date';
+ } else if (propValue instanceof RegExp) {
+ return 'regexp';
+ }
+ }
+ return propType;
+ }
+
+ // Returns class name of the object, if any.
+ function getClassName(propValue) {
+ if (!propValue.constructor || !propValue.constructor.name) {
+ return ANONYMOUS;
+ }
+ return propValue.constructor.name;
}
- module.exports = mapObject;
+ module.exports = ReactPropTypes;
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22)))
/***/ },
-/* 54 */
-/***/ function(module, exports, __webpack_require__) {
+/* 49 */
+/***/ function(module, exports) {
/**
* Copyright 2013-present, Facebook, Inc.
@@ -4024,542 +4203,596 @@
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
- * @providesModule ReactPropTypes
*/
'use strict';
- var ReactElement = __webpack_require__(27);
- var ReactPropTypeLocationNames = __webpack_require__(49);
+ module.exports = '15.4.0';
- var emptyFunction = __webpack_require__(30);
- var getIteratorFn = __webpack_require__(33);
+/***/ },
+/* 50 */
+/***/ function(module, exports, __webpack_require__) {
- /**
- * 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:
+ /* WEBPACK VAR INJECTION */(function(process) {/**
+ * Copyright 2013-present, Facebook, Inc.
+ * All rights reserved.
*
- * 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() {...}
- * });
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
*
- * @internal
*/
+ 'use strict';
- var ANONYMOUS = '<>';
+ var _prodInvariant = __webpack_require__(26);
- var ReactPropTypes = {
- array: createPrimitiveTypeChecker('array'),
- bool: createPrimitiveTypeChecker('boolean'),
- func: createPrimitiveTypeChecker('function'),
- number: createPrimitiveTypeChecker('number'),
- object: createPrimitiveTypeChecker('object'),
- string: createPrimitiveTypeChecker('string'),
+ var ReactElement = __webpack_require__(28);
- any: createAnyTypeChecker(),
- arrayOf: createArrayOfTypeChecker,
- element: createElementTypeChecker(),
- instanceOf: createInstanceTypeChecker,
- node: createNodeChecker(),
- objectOf: createObjectOfTypeChecker,
- oneOf: createEnumTypeChecker,
- oneOfType: createUnionTypeChecker,
- shape: createShapeTypeChecker
- };
+ var invariant = __webpack_require__(27);
/**
- * 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
+ * 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.
*/
- /*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;
- }
+ 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;
}
- /*eslint-enable no-self-compare*/
- function createChainableTypeChecker(validate) {
- function checkType(isRequired, props, propName, componentName, location, propFullName) {
- componentName = componentName || ANONYMOUS;
- propFullName = propFullName || propName;
- if (props[propName] == null) {
- var locationName = ReactPropTypeLocationNames[location];
- if (isRequired) {
- return new Error('Required ' + locationName + ' `' + propFullName + '` was not specified in ' + ('`' + componentName + '`.'));
- }
- return null;
- } else {
- return validate(props, propName, componentName, location, propFullName);
- }
- }
+ module.exports = onlyChild;
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22)))
- var chainedCheckType = checkType.bind(null, false);
- chainedCheckType.isRequired = checkType.bind(null, true);
+/***/ },
+/* 51 */
+/***/ function(module, exports) {
- return chainedCheckType;
- }
+ /*
+ * Copyright 2016 Palantir Technologies, Inc. All rights reserved.
+ * Licensed under the BSD-3 License as modified (the “License”); you may obtain a copy
+ * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE
+ * and https://github.com/palantir/blueprint/blob/master/PATENTS
+ */
+ "use strict";
+ exports.Colors = {
+ BLACK: "#10161A",
+ BLUE1: "#0E5A8A",
+ BLUE2: "#106BA3",
+ BLUE3: "#137CBD",
+ BLUE4: "#2B95D6",
+ BLUE5: "#48AFF0",
+ COBALT1: "#1F4B99",
+ COBALT2: "#2458B3",
+ COBALT3: "#2965CC",
+ COBALT4: "#4580E6",
+ COBALT5: "#669EFF",
+ DARK_GRAY1: "#182026",
+ DARK_GRAY2: "#202B33",
+ DARK_GRAY3: "#293742",
+ DARK_GRAY4: "#30404D",
+ DARK_GRAY5: "#394B59",
+ FOREST1: "#1D7324",
+ FOREST2: "#238C2C",
+ FOREST3: "#29A634",
+ FOREST4: "#43BF4D",
+ FOREST5: "#62D96B",
+ GOLD1: "#A67908",
+ GOLD2: "#BF8C0A",
+ GOLD3: "#D99E0B",
+ GOLD4: "#F2B824",
+ GOLD5: "#FFC940",
+ GRAY1: "#5C7080",
+ GRAY2: "#738694",
+ GRAY3: "#8A9BA8",
+ GRAY4: "#A7B6C2",
+ GRAY5: "#BFCCD6",
+ GREEN1: "#0A6640",
+ GREEN2: "#0D8050",
+ GREEN3: "#0F9960",
+ GREEN4: "#15B371",
+ GREEN5: "#3DCC91",
+ INDIGO1: "#5642A6",
+ INDIGO2: "#634DBF",
+ INDIGO3: "#7157D9",
+ INDIGO4: "#9179F2",
+ INDIGO5: "#AD99FF",
+ LIGHT_GRAY1: "#CED9E0",
+ LIGHT_GRAY2: "#D8E1E8",
+ LIGHT_GRAY3: "#E1E8ED",
+ LIGHT_GRAY4: "#EBF1F5",
+ LIGHT_GRAY5: "#F5F8FA",
+ LIME1: "#728C23",
+ LIME2: "#87A629",
+ LIME3: "#9BBF30",
+ LIME4: "#B6D94C",
+ LIME5: "#D1F26D",
+ ORANGE1: "#A66321",
+ ORANGE2: "#BF7326",
+ ORANGE3: "#D9822B",
+ ORANGE4: "#F29D49",
+ ORANGE5: "#FFB366",
+ RED1: "#A82A2A",
+ RED2: "#C23030",
+ RED3: "#DB3737",
+ RED4: "#F55656",
+ RED5: "#FF7373",
+ ROSE1: "#A82255",
+ ROSE2: "#C22762",
+ ROSE3: "#DB2C6F",
+ ROSE4: "#F5498B",
+ ROSE5: "#FF66A1",
+ SEPIA1: "#63411E",
+ SEPIA2: "#7D5125",
+ SEPIA3: "#96622D",
+ SEPIA4: "#B07B46",
+ SEPIA5: "#C99765",
+ TURQUOISE1: "#008075",
+ TURQUOISE2: "#00998C",
+ TURQUOISE3: "#00B3A4",
+ TURQUOISE4: "#14CCBD",
+ TURQUOISE5: "#2EE6D6",
+ VERMILION1: "#9E2B0E",
+ VERMILION2: "#B83211",
+ VERMILION3: "#D13913",
+ VERMILION4: "#EB532D",
+ VERMILION5: "#FF6E4A",
+ VIOLET1: "#5C255C",
+ VIOLET2: "#752F75",
+ VIOLET3: "#8F398F",
+ VIOLET4: "#A854A8",
+ VIOLET5: "#C274C2",
+ WHITE: "#FFFFFF",
+ };
- function createPrimitiveTypeChecker(expectedType) {
- function validate(props, propName, componentName, location, propFullName) {
- var propValue = props[propName];
- var propType = getPropType(propValue);
- if (propType !== expectedType) {
- var locationName = ReactPropTypeLocationNames[location];
- // `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);
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tb24vY29sb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHOztBQUVVLGNBQU0sR0FBRztJQUNsQixLQUFLLEVBQUUsU0FBUztJQUVoQixLQUFLLEVBQUUsU0FBUztJQUNoQixLQUFLLEVBQUUsU0FBUztJQUNoQixLQUFLLEVBQUUsU0FBUztJQUNoQixLQUFLLEVBQUUsU0FBUztJQUNoQixLQUFLLEVBQUUsU0FBUztJQUVoQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUVsQixVQUFVLEVBQUUsU0FBUztJQUNyQixVQUFVLEVBQUUsU0FBUztJQUNyQixVQUFVLEVBQUUsU0FBUztJQUNyQixVQUFVLEVBQUUsU0FBUztJQUNyQixVQUFVLEVBQUUsU0FBUztJQUVyQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUVsQixLQUFLLEVBQUUsU0FBUztJQUNoQixLQUFLLEVBQUUsU0FBUztJQUNoQixLQUFLLEVBQUUsU0FBUztJQUNoQixLQUFLLEVBQUUsU0FBUztJQUNoQixLQUFLLEVBQUUsU0FBUztJQUVoQixLQUFLLEVBQUUsU0FBUztJQUNoQixLQUFLLEVBQUUsU0FBUztJQUNoQixLQUFLLEVBQUUsU0FBUztJQUNoQixLQUFLLEVBQUUsU0FBUztJQUNoQixLQUFLLEVBQUUsU0FBUztJQUVoQixNQUFNLEVBQUUsU0FBUztJQUNqQixNQUFNLEVBQUUsU0FBUztJQUNqQixNQUFNLEVBQUUsU0FBUztJQUNqQixNQUFNLEVBQUUsU0FBUztJQUNqQixNQUFNLEVBQUUsU0FBUztJQUVqQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUVsQixXQUFXLEVBQUUsU0FBUztJQUN0QixXQUFXLEVBQUUsU0FBUztJQUN0QixXQUFXLEVBQUUsU0FBUztJQUN0QixXQUFXLEVBQUUsU0FBUztJQUN0QixXQUFXLEVBQUUsU0FBUztJQUV0QixLQUFLLEVBQUUsU0FBUztJQUNoQixLQUFLLEVBQUUsU0FBUztJQUNoQixLQUFLLEVBQUUsU0FBUztJQUNoQixLQUFLLEVBQUUsU0FBUztJQUNoQixLQUFLLEVBQUUsU0FBUztJQUVoQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUVsQixJQUFJLEVBQUUsU0FBUztJQUNmLElBQUksRUFBRSxTQUFTO0lBQ2YsSUFBSSxFQUFFLFNBQVM7SUFDZixJQUFJLEVBQUUsU0FBUztJQUNmLElBQUksRUFBRSxTQUFTO0lBRWYsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFNBQVM7SUFFaEIsTUFBTSxFQUFFLFNBQVM7SUFDakIsTUFBTSxFQUFFLFNBQVM7SUFDakIsTUFBTSxFQUFFLFNBQVM7SUFDakIsTUFBTSxFQUFFLFNBQVM7SUFDakIsTUFBTSxFQUFFLFNBQVM7SUFFakIsVUFBVSxFQUFFLFNBQVM7SUFDckIsVUFBVSxFQUFFLFNBQVM7SUFDckIsVUFBVSxFQUFFLFNBQVM7SUFDckIsVUFBVSxFQUFFLFNBQVM7SUFDckIsVUFBVSxFQUFFLFNBQVM7SUFFckIsVUFBVSxFQUFFLFNBQVM7SUFDckIsVUFBVSxFQUFFLFNBQVM7SUFDckIsVUFBVSxFQUFFLFNBQVM7SUFDckIsVUFBVSxFQUFFLFNBQVM7SUFDckIsVUFBVSxFQUFFLFNBQVM7SUFFckIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFNBQVM7SUFFbEIsS0FBSyxFQUFFLFNBQVM7Q0FDbkIsQ0FBQyIsImZpbGUiOiJjb21tb24vY29sb3JzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE2IFBhbGFudGlyIFRlY2hub2xvZ2llcywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEJTRC0zIExpY2Vuc2UgYXMgbW9kaWZpZWQgKHRoZSDigJxMaWNlbnNl4oCdKTsgeW91IG1heSBvYnRhaW4gYSBjb3B5XG4gKiBvZiB0aGUgbGljZW5zZSBhdCBodHRwczovL2dpdGh1Yi5jb20vcGFsYW50aXIvYmx1ZXByaW50L2Jsb2IvbWFzdGVyL0xJQ0VOU0VcbiAqIGFuZCBodHRwczovL2dpdGh1Yi5jb20vcGFsYW50aXIvYmx1ZXByaW50L2Jsb2IvbWFzdGVyL1BBVEVOVFNcbiAqL1xuXG5leHBvcnQgY29uc3QgQ29sb3JzID0ge1xuICAgIEJMQUNLOiBcIiMxMDE2MUFcIixcblxuICAgIEJMVUUxOiBcIiMwRTVBOEFcIixcbiAgICBCTFVFMjogXCIjMTA2QkEzXCIsXG4gICAgQkxVRTM6IFwiIzEzN0NCRFwiLFxuICAgIEJMVUU0OiBcIiMyQjk1RDZcIixcbiAgICBCTFVFNTogXCIjNDhBRkYwXCIsXG5cbiAgICBDT0JBTFQxOiBcIiMxRjRCOTlcIixcbiAgICBDT0JBTFQyOiBcIiMyNDU4QjNcIixcbiAgICBDT0JBTFQzOiBcIiMyOTY1Q0NcIixcbiAgICBDT0JBTFQ0OiBcIiM0NTgwRTZcIixcbiAgICBDT0JBTFQ1OiBcIiM2NjlFRkZcIixcblxuICAgIERBUktfR1JBWTE6IFwiIzE4MjAyNlwiLFxuICAgIERBUktfR1JBWTI6IFwiIzIwMkIzM1wiLFxuICAgIERBUktfR1JBWTM6IFwiIzI5Mzc0MlwiLFxuICAgIERBUktfR1JBWTQ6IFwiIzMwNDA0RFwiLFxuICAgIERBUktfR1JBWTU6IFwiIzM5NEI1OVwiLFxuXG4gICAgRk9SRVNUMTogXCIjMUQ3MzI0XCIsXG4gICAgRk9SRVNUMjogXCIjMjM4QzJDXCIsXG4gICAgRk9SRVNUMzogXCIjMjlBNjM0XCIsXG4gICAgRk9SRVNUNDogXCIjNDNCRjREXCIsXG4gICAgRk9SRVNUNTogXCIjNjJEOTZCXCIsXG5cbiAgICBHT0xEMTogXCIjQTY3OTA4XCIsXG4gICAgR09MRDI6IFwiI0JGOEMwQVwiLFxuICAgIEdPTEQzOiBcIiNEOTlFMEJcIixcbiAgICBHT0xENDogXCIjRjJCODI0XCIsXG4gICAgR09MRDU6IFwiI0ZGQzk0MFwiLFxuXG4gICAgR1JBWTE6IFwiIzVDNzA4MFwiLFxuICAgIEdSQVkyOiBcIiM3Mzg2OTRcIixcbiAgICBHUkFZMzogXCIjOEE5QkE4XCIsXG4gICAgR1JBWTQ6IFwiI0E3QjZDMlwiLFxuICAgIEdSQVk1OiBcIiNCRkNDRDZcIixcblxuICAgIEdSRUVOMTogXCIjMEE2NjQwXCIsXG4gICAgR1JFRU4yOiBcIiMwRDgwNTBcIixcbiAgICBHUkVFTjM6IFwiIzBGOTk2MFwiLFxuICAgIEdSRUVONDogXCIjMTVCMzcxXCIsXG4gICAgR1JFRU41OiBcIiMzRENDOTFcIixcblxuICAgIElORElHTzE6IFwiIzU2NDJBNlwiLFxuICAgIElORElHTzI6IFwiIzYzNERCRlwiLFxuICAgIElORElHTzM6IFwiIzcxNTdEOVwiLFxuICAgIElORElHTzQ6IFwiIzkxNzlGMlwiLFxuICAgIElORElHTzU6IFwiI0FEOTlGRlwiLFxuXG4gICAgTElHSFRfR1JBWTE6IFwiI0NFRDlFMFwiLFxuICAgIExJR0hUX0dSQVkyOiBcIiNEOEUxRThcIixcbiAgICBMSUdIVF9HUkFZMzogXCIjRTFFOEVEXCIsXG4gICAgTElHSFRfR1JBWTQ6IFwiI0VCRjFGNVwiLFxuICAgIExJR0hUX0dSQVk1OiBcIiNGNUY4RkFcIixcblxuICAgIExJTUUxOiBcIiM3MjhDMjNcIixcbiAgICBMSU1FMjogXCIjODdBNjI5XCIsXG4gICAgTElNRTM6IFwiIzlCQkYzMFwiLFxuICAgIExJTUU0OiBcIiNCNkQ5NENcIixcbiAgICBMSU1FNTogXCIjRDFGMjZEXCIsXG5cbiAgICBPUkFOR0UxOiBcIiNBNjYzMjFcIixcbiAgICBPUkFOR0UyOiBcIiNCRjczMjZcIixcbiAgICBPUkFOR0UzOiBcIiNEOTgyMkJcIixcbiAgICBPUkFOR0U0OiBcIiNGMjlENDlcIixcbiAgICBPUkFOR0U1OiBcIiNGRkIzNjZcIixcblxuICAgIFJFRDE6IFwiI0E4MkEyQVwiLFxuICAgIFJFRDI6IFwiI0MyMzAzMFwiLFxuICAgIFJFRDM6IFwiI0RCMzczN1wiLFxuICAgIFJFRDQ6IFwiI0Y1NTY1NlwiLFxuICAgIFJFRDU6IFwiI0ZGNzM3M1wiLFxuXG4gICAgUk9TRTE6IFwiI0E4MjI1NVwiLFxuICAgIFJPU0UyOiBcIiNDMjI3NjJcIixcbiAgICBST1NFMzogXCIjREIyQzZGXCIsXG4gICAgUk9TRTQ6IFwiI0Y1NDk4QlwiLFxuICAgIFJPU0U1OiBcIiNGRjY2QTFcIixcblxuICAgIFNFUElBMTogXCIjNjM0MTFFXCIsXG4gICAgU0VQSUEyOiBcIiM3RDUxMjVcIixcbiAgICBTRVBJQTM6IFwiIzk2NjIyRFwiLFxuICAgIFNFUElBNDogXCIjQjA3QjQ2XCIsXG4gICAgU0VQSUE1OiBcIiNDOTk3NjVcIixcblxuICAgIFRVUlFVT0lTRTE6IFwiIzAwODA3NVwiLFxuICAgIFRVUlFVT0lTRTI6IFwiIzAwOTk4Q1wiLFxuICAgIFRVUlFVT0lTRTM6IFwiIzAwQjNBNFwiLFxuICAgIFRVUlFVT0lTRTQ6IFwiIzE0Q0NCRFwiLFxuICAgIFRVUlFVT0lTRTU6IFwiIzJFRTZENlwiLFxuXG4gICAgVkVSTUlMSU9OMTogXCIjOUUyQjBFXCIsXG4gICAgVkVSTUlMSU9OMjogXCIjQjgzMjExXCIsXG4gICAgVkVSTUlMSU9OMzogXCIjRDEzOTEzXCIsXG4gICAgVkVSTUlMSU9ONDogXCIjRUI1MzJEXCIsXG4gICAgVkVSTUlMSU9ONTogXCIjRkY2RTRBXCIsXG5cbiAgICBWSU9MRVQxOiBcIiM1QzI1NUNcIixcbiAgICBWSU9MRVQyOiBcIiM3NTJGNzVcIixcbiAgICBWSU9MRVQzOiBcIiM4RjM5OEZcIixcbiAgICBWSU9MRVQ0OiBcIiNBODU0QThcIixcbiAgICBWSU9MRVQ1OiBcIiNDMjc0QzJcIixcblxuICAgIFdISVRFOiBcIiNGRkZGRkZcIixcbn07XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0=
- return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));
- }
- return null;
- }
- return createChainableTypeChecker(validate);
- }
- function createAnyTypeChecker() {
- return createChainableTypeChecker(emptyFunction.thatReturns(null));
- }
+/***/ },
+/* 52 */
+/***/ function(module, exports) {
- function createArrayOfTypeChecker(typeChecker) {
- function validate(props, propName, componentName, location, propFullName) {
- if (typeof typeChecker !== 'function') {
- return new Error('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');
- }
- var propValue = props[propName];
- if (!Array.isArray(propValue)) {
- var locationName = ReactPropTypeLocationNames[location];
- var propType = getPropType(propValue);
- return new Error('Invalid ' + locationName + ' `' + 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 + ']');
- if (error instanceof Error) {
- return error;
- }
- }
- return null;
- }
- return createChainableTypeChecker(validate);
- }
+ /*
+ * Copyright 2015 Palantir Technologies, Inc. All rights reserved.
+ * Licensed under the BSD-3 License as modified (the “License”); you may obtain a copy
+ * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE
+ * and https://github.com/palantir/blueprint/blob/master/PATENTS
+ */
+ "use strict";
+ /**
+ * The four basic intents.
+ */
+ (function (Intent) {
+ Intent[Intent["NONE"] = -1] = "NONE";
+ Intent[Intent["PRIMARY"] = 0] = "PRIMARY";
+ Intent[Intent["SUCCESS"] = 1] = "SUCCESS";
+ Intent[Intent["WARNING"] = 2] = "WARNING";
+ Intent[Intent["DANGER"] = 3] = "DANGER";
+ })(exports.Intent || (exports.Intent = {}));
+ var Intent = exports.Intent;
- function createElementTypeChecker() {
- function validate(props, propName, componentName, location, propFullName) {
- if (!ReactElement.isValidElement(props[propName])) {
- var locationName = ReactPropTypeLocationNames[location];
- return new Error('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a single ReactElement.'));
- }
- return null;
- }
- return createChainableTypeChecker(validate);
- }
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tb24vaW50ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHOztBQUVIOztHQUVHO0FBQ0gsV0FBWSxNQUFNO0lBQ2Qsb0NBQVMsQ0FBQTtJQUNULHlDQUFPLENBQUE7SUFDUCx5Q0FBTyxDQUFBO0lBQ1AseUNBQU8sQ0FBQTtJQUNQLHVDQUFNLENBQUE7QUFDVixDQUFDLEVBTlcsY0FBTSxLQUFOLGNBQU0sUUFNakI7QUFORCxJQUFZLE1BQU0sR0FBTixjQU1YLENBQUEiLCJmaWxlIjoiY29tbW9uL2ludGVudC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNSBQYWxhbnRpciBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBCU0QtMyBMaWNlbnNlIGFzIG1vZGlmaWVkICh0aGUg4oCcTGljZW5zZeKAnSk7IHlvdSBtYXkgb2J0YWluIGEgY29weVxuICogb2YgdGhlIGxpY2Vuc2UgYXQgaHR0cHM6Ly9naXRodWIuY29tL3BhbGFudGlyL2JsdWVwcmludC9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKiBhbmQgaHR0cHM6Ly9naXRodWIuY29tL3BhbGFudGlyL2JsdWVwcmludC9ibG9iL21hc3Rlci9QQVRFTlRTXG4gKi9cblxuLyoqXG4gKiBUaGUgZm91ciBiYXNpYyBpbnRlbnRzLlxuICovXG5leHBvcnQgZW51bSBJbnRlbnQge1xuICAgIE5PTkUgPSAtMSxcbiAgICBQUklNQVJZLFxuICAgIFNVQ0NFU1MsXG4gICAgV0FSTklORyxcbiAgICBEQU5HRVIsXG59XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0=
- function createInstanceTypeChecker(expectedClass) {
- function validate(props, propName, componentName, location, propFullName) {
- if (!(props[propName] instanceof expectedClass)) {
- var locationName = ReactPropTypeLocationNames[location];
- var expectedClassName = expectedClass.name || ANONYMOUS;
- var actualClassName = getClassName(props[propName]);
- return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));
- }
- return null;
- }
- return createChainableTypeChecker(validate);
+
+/***/ },
+/* 53 */
+/***/ function(module, exports) {
+
+ /*
+ * Copyright 2015 Palantir Technologies, Inc. All rights reserved.
+ * Licensed under the BSD-3 License as modified (the “License”); you may obtain a copy
+ * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE
+ * and https://github.com/palantir/blueprint/blob/master/PATENTS
+ */
+ "use strict";
+ (function (Position) {
+ Position[Position["TOP_LEFT"] = 0] = "TOP_LEFT";
+ Position[Position["TOP"] = 1] = "TOP";
+ Position[Position["TOP_RIGHT"] = 2] = "TOP_RIGHT";
+ Position[Position["RIGHT_TOP"] = 3] = "RIGHT_TOP";
+ Position[Position["RIGHT"] = 4] = "RIGHT";
+ Position[Position["RIGHT_BOTTOM"] = 5] = "RIGHT_BOTTOM";
+ Position[Position["BOTTOM_RIGHT"] = 6] = "BOTTOM_RIGHT";
+ Position[Position["BOTTOM"] = 7] = "BOTTOM";
+ Position[Position["BOTTOM_LEFT"] = 8] = "BOTTOM_LEFT";
+ Position[Position["LEFT_BOTTOM"] = 9] = "LEFT_BOTTOM";
+ Position[Position["LEFT"] = 10] = "LEFT";
+ Position[Position["LEFT_TOP"] = 11] = "LEFT_TOP";
+ })(exports.Position || (exports.Position = {}));
+ var Position = exports.Position;
+ function isPositionHorizontal(position) {
+ /* istanbul ignore next */
+ return position === Position.TOP || position === Position.TOP_LEFT || position === Position.TOP_RIGHT
+ || position === Position.BOTTOM || position === Position.BOTTOM_LEFT || position === Position.BOTTOM_RIGHT;
+ }
+ exports.isPositionHorizontal = isPositionHorizontal;
+ function isPositionVertical(position) {
+ /* istanbul ignore next */
+ return position === Position.LEFT || position === Position.LEFT_TOP || position === Position.LEFT_BOTTOM
+ || position === Position.RIGHT || position === Position.RIGHT_TOP || position === Position.RIGHT_BOTTOM;
}
+ exports.isPositionVertical = isPositionVertical;
- function createEnumTypeChecker(expectedValues) {
- if (!Array.isArray(expectedValues)) {
- return createChainableTypeChecker(function () {
- return new Error('Invalid argument supplied to oneOf, expected an instance of array.');
- });
- }
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tb24vcG9zaXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7O0FBRUgsV0FBWSxRQUFRO0lBQ2hCLCtDQUFRLENBQUE7SUFDUixxQ0FBRyxDQUFBO0lBQ0gsaURBQVMsQ0FBQTtJQUNULGlEQUFTLENBQUE7SUFDVCx5Q0FBSyxDQUFBO0lBQ0wsdURBQVksQ0FBQTtJQUNaLHVEQUFZLENBQUE7SUFDWiwyQ0FBTSxDQUFBO0lBQ04scURBQVcsQ0FBQTtJQUNYLHFEQUFXLENBQUE7SUFDWCx3Q0FBSSxDQUFBO0lBQ0osZ0RBQVEsQ0FBQTtBQUNaLENBQUMsRUFiVyxnQkFBUSxLQUFSLGdCQUFRLFFBYW5CO0FBYkQsSUFBWSxRQUFRLEdBQVIsZ0JBYVgsQ0FBQTtBQUVELDhCQUFxQyxRQUFrQjtJQUNuRCwwQkFBMEI7SUFDMUIsTUFBTSxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsR0FBRyxJQUFJLFFBQVEsS0FBSyxRQUFRLENBQUMsUUFBUSxJQUFJLFFBQVEsS0FBSyxRQUFRLENBQUMsU0FBUztXQUM5RixRQUFRLEtBQUssUUFBUSxDQUFDLE1BQU0sSUFBSSxRQUFRLEtBQUssUUFBUSxDQUFDLFdBQVcsSUFBSSxRQUFRLEtBQUssUUFBUSxDQUFDLFlBQVksQ0FBQztBQUNuSCxDQUFDO0FBSmUsNEJBQW9CLHVCQUluQyxDQUFBO0FBRUQsNEJBQW1DLFFBQWtCO0lBQ2pELDBCQUEwQjtJQUMxQixNQUFNLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxJQUFJLElBQUksUUFBUSxLQUFLLFFBQVEsQ0FBQyxRQUFRLElBQUksUUFBUSxLQUFLLFFBQVEsQ0FBQyxXQUFXO1dBQ2pHLFFBQVEsS0FBSyxRQUFRLENBQUMsS0FBSyxJQUFJLFFBQVEsS0FBSyxRQUFRLENBQUMsU0FBUyxJQUFJLFFBQVEsS0FBSyxRQUFRLENBQUMsWUFBWSxDQUFDO0FBQ2hILENBQUM7QUFKZSwwQkFBa0IscUJBSWpDLENBQUEiLCJmaWxlIjoiY29tbW9uL3Bvc2l0aW9uLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1IFBhbGFudGlyIFRlY2hub2xvZ2llcywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEJTRC0zIExpY2Vuc2UgYXMgbW9kaWZpZWQgKHRoZSDigJxMaWNlbnNl4oCdKTsgeW91IG1heSBvYnRhaW4gYSBjb3B5XG4gKiBvZiB0aGUgbGljZW5zZSBhdCBodHRwczovL2dpdGh1Yi5jb20vcGFsYW50aXIvYmx1ZXByaW50L2Jsb2IvbWFzdGVyL0xJQ0VOU0VcbiAqIGFuZCBodHRwczovL2dpdGh1Yi5jb20vcGFsYW50aXIvYmx1ZXByaW50L2Jsb2IvbWFzdGVyL1BBVEVOVFNcbiAqL1xuXG5leHBvcnQgZW51bSBQb3NpdGlvbiB7XG4gICAgVE9QX0xFRlQsXG4gICAgVE9QLFxuICAgIFRPUF9SSUdIVCxcbiAgICBSSUdIVF9UT1AsXG4gICAgUklHSFQsXG4gICAgUklHSFRfQk9UVE9NLFxuICAgIEJPVFRPTV9SSUdIVCxcbiAgICBCT1RUT00sXG4gICAgQk9UVE9NX0xFRlQsXG4gICAgTEVGVF9CT1RUT00sXG4gICAgTEVGVCxcbiAgICBMRUZUX1RPUCxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUG9zaXRpb25Ib3Jpem9udGFsKHBvc2l0aW9uOiBQb3NpdGlvbikge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIHBvc2l0aW9uID09PSBQb3NpdGlvbi5UT1AgfHwgcG9zaXRpb24gPT09IFBvc2l0aW9uLlRPUF9MRUZUIHx8IHBvc2l0aW9uID09PSBQb3NpdGlvbi5UT1BfUklHSFRcbiAgICAgICAgfHwgcG9zaXRpb24gPT09IFBvc2l0aW9uLkJPVFRPTSB8fCBwb3NpdGlvbiA9PT0gUG9zaXRpb24uQk9UVE9NX0xFRlQgfHwgcG9zaXRpb24gPT09IFBvc2l0aW9uLkJPVFRPTV9SSUdIVDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUG9zaXRpb25WZXJ0aWNhbChwb3NpdGlvbjogUG9zaXRpb24pIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHJldHVybiBwb3NpdGlvbiA9PT0gUG9zaXRpb24uTEVGVCB8fCBwb3NpdGlvbiA9PT0gUG9zaXRpb24uTEVGVF9UT1AgfHwgcG9zaXRpb24gPT09IFBvc2l0aW9uLkxFRlRfQk9UVE9NXG4gICAgICAgIHx8IHBvc2l0aW9uID09PSBQb3NpdGlvbi5SSUdIVCB8fCBwb3NpdGlvbiA9PT0gUG9zaXRpb24uUklHSFRfVE9QIHx8IHBvc2l0aW9uID09PSBQb3NpdGlvbi5SSUdIVF9CT1RUT007XG59XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0=
- 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 locationName = ReactPropTypeLocationNames[location];
- var valuesString = JSON.stringify(expectedValues);
- return new Error('Invalid ' + locationName + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));
- }
- return createChainableTypeChecker(validate);
- }
+/***/ },
+/* 54 */
+/***/ function(module, exports, __webpack_require__) {
- function createObjectOfTypeChecker(typeChecker) {
- function validate(props, propName, componentName, location, propFullName) {
- if (typeof typeChecker !== 'function') {
- return new Error('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');
- }
- var propValue = props[propName];
- var propType = getPropType(propValue);
- if (propType !== 'object') {
- var locationName = ReactPropTypeLocationNames[location];
- return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
+ /*
+ * Copyright 2015 Palantir Technologies, Inc. All rights reserved.
+ * Licensed under the BSD-3 License as modified (the “License”); you may obtain a copy
+ * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE
+ * and https://github.com/palantir/blueprint/blob/master/PATENTS
+ */
+ "use strict";
+ var utils_1 = __webpack_require__(55);
+ /** A collection of curated prop keys used across our Components which are not valid HTMLElement props. */
+ var INVALID_PROPS = [
+ "containerRef",
+ "defaultIndeterminate",
+ "elementRef",
+ "iconName",
+ "inputRef",
+ "intent",
+ "leftIconName",
+ "onChildrenMount",
+ "onRemove",
+ "rightElement",
+ "rightIconName",
+ "text",
+ ];
+ /**
+ * Typically applied to HTMLElements to filter out blacklisted props. When applied to a Component,
+ * can filter props from being passed down to the children. Can also filter by a combined list of
+ * supplied prop keys and the blacklist (only appropriate for HTMLElements).
+ * @param props The original props object to filter down.
+ * @param {string[]} invalidProps If supplied, overwrites the default blacklist.
+ * @param {boolean} shouldMerge If true, will merge supplied invalidProps and blacklist together.
+ */
+ function removeNonHTMLProps(props, invalidProps, shouldMerge) {
+ if (invalidProps === void 0) { invalidProps = INVALID_PROPS; }
+ if (shouldMerge === void 0) { shouldMerge = false; }
+ if (shouldMerge) {
+ invalidProps = invalidProps.concat(INVALID_PROPS);
}
- for (var key in propValue) {
- if (propValue.hasOwnProperty(key)) {
- var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key);
- if (error instanceof Error) {
- return error;
+ return invalidProps.reduce(function (prev, curr) {
+ if (prev.hasOwnProperty(curr)) {
+ delete prev[curr];
}
- }
- }
- return null;
- }
- return createChainableTypeChecker(validate);
+ return prev;
+ }, utils_1.shallowClone(props));
}
+ exports.removeNonHTMLProps = removeNonHTMLProps;
- function createUnionTypeChecker(arrayOfTypeCheckers) {
- if (!Array.isArray(arrayOfTypeCheckers)) {
- return createChainableTypeChecker(function () {
- return new Error('Invalid argument supplied to oneOfType, expected an instance of array.');
- });
- }
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tb24vcHJvcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7O0FBS0gsc0JBQTZCLFNBQVMsQ0FBQyxDQUFBO0FBdUV2QywwR0FBMEc7QUFDMUcsSUFBTSxhQUFhLEdBQUc7SUFDbEIsY0FBYztJQUNkLHNCQUFzQjtJQUN0QixZQUFZO0lBQ1osVUFBVTtJQUNWLFVBQVU7SUFDVixRQUFRO0lBQ1IsY0FBYztJQUNkLGlCQUFpQjtJQUNqQixVQUFVO0lBQ1YsY0FBYztJQUNkLGVBQWU7SUFDZixNQUFNO0NBQ1QsQ0FBQztBQUVGOzs7Ozs7O0dBT0c7QUFDSCw0QkFBbUQsS0FBUSxFQUFFLFlBQTRCLEVBQUUsV0FBbUI7SUFBakQsNEJBQTRCLEdBQTVCLDRCQUE0QjtJQUFFLDJCQUFtQixHQUFuQixtQkFBbUI7SUFDMUcsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUNkLFlBQVksR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxVQUFDLElBQUksRUFBRSxJQUFJO1FBQ2xDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVCLE9BQVEsSUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9CLENBQUM7UUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ2hCLENBQUMsRUFBRSxvQkFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDNUIsQ0FBQztBQVhlLDBCQUFrQixxQkFXakMsQ0FBQSIsImZpbGUiOiJjb21tb24vcHJvcHMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUgUGFsYW50aXIgVGVjaG5vbG9naWVzLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQlNELTMgTGljZW5zZSBhcyBtb2RpZmllZCAodGhlIOKAnExpY2Vuc2XigJ0pOyB5b3UgbWF5IG9idGFpbiBhIGNvcHlcbiAqIG9mIHRoZSBsaWNlbnNlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9wYWxhbnRpci9ibHVlcHJpbnQvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICogYW5kIGh0dHBzOi8vZ2l0aHViLmNvbS9wYWxhbnRpci9ibHVlcHJpbnQvYmxvYi9tYXN0ZXIvUEFURU5UU1xuICovXG5cbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuXG5pbXBvcnQgeyBJbnRlbnQgfSBmcm9tIFwiLi9pbnRlbnRcIjtcbmltcG9ydCB7IHNoYWxsb3dDbG9uZSB9IGZyb20gXCIuL3V0aWxzXCI7XG5cbmV4cG9ydCB0eXBlIEhUTUxJbnB1dFByb3BzID0gUmVhY3QuSFRNTFByb3BzPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4vKipcbiAqIEEgc2hhcmVkIGJhc2UgaW50ZXJmYWNlIGZvciBhbGwgQmx1ZXByaW50IGNvbXBvbmVudCBwcm9wcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJUHJvcHMge1xuICAgIC8qKiBBIHNwYWNlLWRlbGltaXRlZCBsaXN0IG9mIGNsYXNzIG5hbWVzIHRvIHBhc3MgYWxvbmcgdG8gYSBjaGlsZCBlbGVtZW50LiAqL1xuICAgIGNsYXNzTmFtZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJSW50ZW50UHJvcHMge1xuICAgIC8qKiBWaXN1YWwgaW50ZW50IGNvbG9yIHRvIGFwcGx5IHRvIGVsZW1lbnQuICovXG4gICAgaW50ZW50PzogSW50ZW50O1xufVxuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgYSBjbGlja2FibGUgYWN0aW9uLCBzdWNoIGFzIGEgYnV0dG9uIG9yIG1lbnUgaXRlbS5cbiAqIFRoZXNlIHByb3BzIGNhbiBiZSBzcHJlYWR5IGRpcmVjdGx5IHRvIGEgYDxCdXR0b24+YCBvciBgPE1lbnVJdGVtPmAgZWxlbWVudC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQWN0aW9uUHJvcHMgZXh0ZW5kcyBJSW50ZW50UHJvcHMsIElQcm9wcyB7XG4gICAgLyoqIFdoZXRoZXIgdGhpcyBhY3Rpb24gaXMgbm9uLWludGVyYWN0aXZlLiAqL1xuICAgIGRpc2FibGVkPzogYm9vbGVhbjtcblxuICAgIC8qKiBOYW1lIG9mIGljb24gKHRoZSBwYXJ0IGFmdGVyIGBwdC1pY29uLWApIHRvIGFkZCB0byBidXR0b24uICovXG4gICAgaWNvbk5hbWU/OiBzdHJpbmc7XG5cbiAgICAvKiogQ2xpY2sgZXZlbnQgaGFuZGxlci4gKi9cbiAgICBvbkNsaWNrPzogKGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxFbGVtZW50PikgPT4gdm9pZDtcblxuICAgIC8qKiBBY3Rpb24gdGV4dCwgcmVxdWlyZWQgZm9yIHVzYWJpbGl0eS4gKi9cbiAgICB0ZXh0Pzogc3RyaW5nO1xufVxuXG4vKiogSW50ZXJmYWNlIGZvciBhIGxpbmssIHdpdGggc3VwcG9ydCBmb3IgY3VzdG9taXppbmcgdGFyZ2V0IHdpbmRvdy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUxpbmtQcm9wcyB7XG4gICAgLyoqIExpbmsgVVJMLiAqL1xuICAgIGhyZWY/OiBzdHJpbmc7XG5cbiAgICAvKiogTGluayB0YXJnZXQgYXR0cmlidXRlLiBVc2UgXCJfYmxhbmtcIiB0byBvcGVuIGluIGEgbmV3IHdpbmRvdy4gKi9cbiAgICB0YXJnZXQ/OiBzdHJpbmc7XG59XG5cbi8qKiBJbnRlcmZhY2UgZm9yIGEgY29udHJvbGxlZCBpbnB1dC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbnRyb2xsZWRQcm9wcyB7XG4gICAgLyoqIEluaXRpYWwgdmFsdWUgb2YgdGhlIGlucHV0LCBmb3IgdW5jb250cm9sbGVkIHVzYWdlLiAqL1xuICAgIGRlZmF1bHRWYWx1ZT86IHN0cmluZztcblxuICAgIC8qKiBDaGFuZ2UgZXZlbnQgaGFuZGxlci4gVXNlIGBldmVudC50YXJnZXQudmFsdWVgIGZvciBuZXcgdmFsdWUuICovXG4gICAgb25DaGFuZ2U/OiBSZWFjdC5Gb3JtRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcblxuICAgIC8qKiBGb3JtIHZhbHVlIG9mIHRoZSBpbnB1dCwgZm9yIGNvbnRyb2xsZWQgdXNhZ2UuICovXG4gICAgdmFsdWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQW4gaW50ZXJmYWNlIGZvciBhbiBvcHRpb24gaW4gYSBsaXN0LCBzdWNoIGFzIGluIGEgYDxzZWxlY3Q+YCBvciBgUmFkaW9Hcm91cGAuXG4gKiBUaGVzZSBwcm9wcyBjYW4gYmUgc3ByZWFkIGRpcmVjdGx5IHRvIGFuIGA8b3B0aW9uPmAgb3IgYDxSYWRpbz5gIGVsZW1lbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSU9wdGlvblByb3BzIGV4dGVuZHMgSVByb3BzIHtcbiAgICAvKiogV2hldGhlciB0aGlzIG9wdGlvbiBpcyBub24taW50ZXJhY3RpdmUuICovXG4gICAgZGlzYWJsZWQ/OiBib29sZWFuO1xuXG4gICAgLyoqIExhYmVsIHRleHQgZm9yIHRoaXMgb3B0aW9uLiAqL1xuICAgIGxhYmVsOiBzdHJpbmc7XG5cbiAgICAvKiogVmFsdWUgb2YgdGhpcyBvcHRpb24gKi9cbiAgICB2YWx1ZTogc3RyaW5nO1xufVxuXG4vKiogQSBjb2xsZWN0aW9uIG9mIGN1cmF0ZWQgcHJvcCBrZXlzIHVzZWQgYWNyb3NzIG91ciBDb21wb25lbnRzIHdoaWNoIGFyZSBub3QgdmFsaWQgSFRNTEVsZW1lbnQgcHJvcHMuICovXG5jb25zdCBJTlZBTElEX1BST1BTID0gW1xuICAgIFwiY29udGFpbmVyUmVmXCIsXG4gICAgXCJkZWZhdWx0SW5kZXRlcm1pbmF0ZVwiLFxuICAgIFwiZWxlbWVudFJlZlwiLFxuICAgIFwiaWNvbk5hbWVcIixcbiAgICBcImlucHV0UmVmXCIsXG4gICAgXCJpbnRlbnRcIixcbiAgICBcImxlZnRJY29uTmFtZVwiLFxuICAgIFwib25DaGlsZHJlbk1vdW50XCIsXG4gICAgXCJvblJlbW92ZVwiLFxuICAgIFwicmlnaHRFbGVtZW50XCIsXG4gICAgXCJyaWdodEljb25OYW1lXCIsXG4gICAgXCJ0ZXh0XCIsXG5dO1xuXG4vKipcbiAqIFR5cGljYWxseSBhcHBsaWVkIHRvIEhUTUxFbGVtZW50cyB0byBmaWx0ZXIgb3V0IGJsYWNrbGlzdGVkIHByb3BzLiBXaGVuIGFwcGxpZWQgdG8gYSBDb21wb25lbnQsXG4gKiBjYW4gZmlsdGVyIHByb3BzIGZyb20gYmVpbmcgcGFzc2VkIGRvd24gdG8gdGhlIGNoaWxkcmVuLiBDYW4gYWxzbyBmaWx0ZXIgYnkgYSBjb21iaW5lZCBsaXN0IG9mXG4gKiBzdXBwbGllZCBwcm9wIGtleXMgYW5kIHRoZSBibGFja2xpc3QgKG9ubHkgYXBwcm9wcmlhdGUgZm9yIEhUTUxFbGVtZW50cykuXG4gKiBAcGFyYW0gcHJvcHMgVGhlIG9yaWdpbmFsIHByb3BzIG9iamVjdCB0byBmaWx0ZXIgZG93bi5cbiAqIEBwYXJhbSB7c3RyaW5nW119IGludmFsaWRQcm9wcyBJZiBzdXBwbGllZCwgb3ZlcndyaXRlcyB0aGUgZGVmYXVsdCBibGFja2xpc3QuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IHNob3VsZE1lcmdlIElmIHRydWUsIHdpbGwgbWVyZ2Ugc3VwcGxpZWQgaW52YWxpZFByb3BzIGFuZCBibGFja2xpc3QgdG9nZXRoZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVOb25IVE1MUHJvcHM8VCBleHRlbmRzIFUsIFU+KHByb3BzOiBULCBpbnZhbGlkUHJvcHMgPSBJTlZBTElEX1BST1BTLCBzaG91bGRNZXJnZSA9IGZhbHNlKTogVSB7XG4gICAgaWYgKHNob3VsZE1lcmdlKSB7XG4gICAgICAgIGludmFsaWRQcm9wcyA9IGludmFsaWRQcm9wcy5jb25jYXQoSU5WQUxJRF9QUk9QUyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGludmFsaWRQcm9wcy5yZWR1Y2UoKHByZXYsIGN1cnIpID0+IHtcbiAgICAgICAgaWYgKHByZXYuaGFzT3duUHJvcGVydHkoY3VycikpIHtcbiAgICAgICAgICAgIGRlbGV0ZSAocHJldiBhcyBhbnkpW2N1cnJdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwcmV2O1xuICAgIH0sIHNoYWxsb3dDbG9uZShwcm9wcykpO1xufVxuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9
- 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) == null) {
- return null;
- }
- }
- var locationName = ReactPropTypeLocationNames[location];
- return new Error('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));
- }
- return createChainableTypeChecker(validate);
- }
+/***/ },
+/* 55 */
+/***/ function(module, exports) {
- function createNodeChecker() {
- function validate(props, propName, componentName, location, propFullName) {
- if (!isNode(props[propName])) {
- var locationName = ReactPropTypeLocationNames[location];
- return new Error('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));
- }
- return null;
- }
- return createChainableTypeChecker(validate);
+ /*
+ * Copyright 2015 Palantir Technologies, Inc. All rights reserved.
+ * Licensed under the BSD-3 License as modified (the “License”); you may obtain a copy
+ * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE
+ * and https://github.com/palantir/blueprint/blob/master/PATENTS
+ */
+ "use strict";
+ /** Returns whether the value is a function. Acts as a type guard. */
+ function isFunction(value) {
+ return typeof value === "function";
}
-
- function createShapeTypeChecker(shapeTypes) {
- function validate(props, propName, componentName, location, propFullName) {
- var propValue = props[propName];
- var propType = getPropType(propValue);
- if (propType !== 'object') {
- var locationName = ReactPropTypeLocationNames[location];
- return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
+ exports.isFunction = isFunction;
+ function safeInvoke(func) {
+ var args = [];
+ for (var _i = 1; _i < arguments.length; _i++) {
+ args[_i - 1] = arguments[_i];
}
- for (var key in shapeTypes) {
- var checker = shapeTypes[key];
- if (!checker) {
- continue;
- }
- var error = checker(propValue, key, componentName, location, propFullName + '.' + key);
- if (error) {
- return error;
- }
+ if (isFunction(func)) {
+ return func.apply(void 0, args);
}
- return null;
- }
- return createChainableTypeChecker(validate);
}
-
- function isNode(propValue) {
- switch (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 || ReactElement.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;
- }
+ exports.safeInvoke = safeInvoke;
+ function elementIsOrContains(element, testElement) {
+ return element === testElement || element.contains(testElement);
}
-
- // Equivalent of `typeof` but with special handling for array and regexp.
- function getPropType(propValue) {
- var propType = 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';
- }
- return propType;
+ exports.elementIsOrContains = elementIsOrContains;
+ /**
+ * Returns the difference in length between two arrays. A `null` argument is considered an empty list.
+ * The return value will be positive if `a` is longer than `b`, negative if the opposite is true,
+ * and zero if their lengths are equal.
+ */
+ function arrayLengthCompare(a, b) {
+ if (a === void 0) { a = []; }
+ if (b === void 0) { b = []; }
+ return a.length - b.length;
}
-
- // This handles more types than `getPropType`. Only used for error messages.
- // See `createPrimitiveTypeChecker`.
- function getPreciseType(propValue) {
- var propType = getPropType(propValue);
- if (propType === 'object') {
- if (propValue instanceof Date) {
- return 'date';
- } else if (propValue instanceof RegExp) {
- return 'regexp';
+ exports.arrayLengthCompare = arrayLengthCompare;
+ /**
+ * Returns true if the two numbers are within the given tolerance of each other.
+ * This is useful to correct for floating point precision issues, less useful for integers.
+ */
+ function approxEqual(a, b, tolerance) {
+ if (tolerance === void 0) { tolerance = 0.00001; }
+ return Math.abs(a - b) <= tolerance;
+ }
+ exports.approxEqual = approxEqual;
+ /* Clamps the given number between min and max values. Returns value if within range, or closest bound. */
+ function clamp(val, min, max) {
+ if (max < min) {
+ throw new Error("clamp: max cannot be less than min");
}
- }
- return propType;
+ return Math.min(Math.max(val, min), max);
}
-
- // Returns class name of the object, if any.
- function getClassName(propValue) {
- if (!propValue.constructor || !propValue.constructor.name) {
- return ANONYMOUS;
- }
- return propValue.constructor.name;
+ exports.clamp = clamp;
+ /** Return a new object with the same keys as the given object (values are copied, not cloned). */
+ function shallowClone(object) {
+ var clonedObject = {};
+ for (var key in object) {
+ if (object.hasOwnProperty(key)) {
+ clonedObject[key] = object[key];
+ }
+ }
+ return clonedObject;
}
-
- module.exports = ReactPropTypes;
-
-/***/ },
-/* 55 */
-/***/ function(module, exports) {
-
+ exports.shallowClone = shallowClone;
/**
- * Copyright 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @providesModule ReactVersion
+ * Throttle an event on an EventTarget by wrapping it in `requestAnimationFrame` call.
+ * Returns the event handler that was bound to given eventName so you can clean up after yourself.
+ * @see https://developer.mozilla.org/en-US/docs/Web/Events/scroll
*/
+ function throttleEvent(target, eventName, newEventName) {
+ var running = false;
+ /* istanbul ignore next: borrowed directly from MDN */
+ var func = function (event) {
+ if (running) {
+ return;
+ }
+ running = true;
+ requestAnimationFrame(function () {
+ target.dispatchEvent(new CustomEvent(newEventName, event));
+ running = false;
+ });
+ };
+ target.addEventListener(eventName, func);
+ return func;
+ }
+ exports.throttleEvent = throttleEvent;
+ ;
- 'use strict';
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tb24vdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7O0FBRUgscUVBQXFFO0FBQ3JFLG9CQUEyQixLQUFVO0lBQ2pDLE1BQU0sQ0FBQyxPQUFPLEtBQUssS0FBSyxVQUFVLENBQUM7QUFDdkMsQ0FBQztBQUZlLGtCQUFVLGFBRXpCLENBQUE7QUFPRCxvQkFBMkIsSUFBYztJQUFFLGNBQWM7U0FBZCxXQUFjLENBQWQsc0JBQWMsQ0FBZCxJQUFjO1FBQWQsNkJBQWM7O0lBQ3JELEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkIsTUFBTSxDQUFDLElBQUksZUFBSSxJQUFJLENBQUMsQ0FBQztJQUN6QixDQUFDO0FBQ0wsQ0FBQztBQUplLGtCQUFVLGFBSXpCLENBQUE7QUFFRCw2QkFBb0MsT0FBb0IsRUFBRSxXQUF3QjtJQUM5RSxNQUFNLENBQUMsT0FBTyxLQUFLLFdBQVcsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ3BFLENBQUM7QUFGZSwyQkFBbUIsc0JBRWxDLENBQUE7QUFFRDs7OztHQUlHO0FBQ0gsNEJBQW1DLENBQWEsRUFBRSxDQUFhO0lBQTVCLGlCQUFhLEdBQWIsTUFBYTtJQUFFLGlCQUFhLEdBQWIsTUFBYTtJQUMzRCxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0FBQy9CLENBQUM7QUFGZSwwQkFBa0IscUJBRWpDLENBQUE7QUFFRDs7O0dBR0c7QUFDSCxxQkFBNEIsQ0FBUyxFQUFFLENBQVMsRUFBRSxTQUFtQjtJQUFuQix5QkFBbUIsR0FBbkIsbUJBQW1CO0lBQ2pFLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUM7QUFDeEMsQ0FBQztBQUZlLG1CQUFXLGNBRTFCLENBQUE7QUFFRCwwR0FBMEc7QUFDMUcsZUFBc0IsR0FBVyxFQUFFLEdBQVcsRUFBRSxHQUFXO0lBQ3ZELEVBQUUsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztBQUM3QyxDQUFDO0FBTGUsYUFBSyxRQUtwQixDQUFBO0FBRUQsa0dBQWtHO0FBQ2xHLHNCQUFnQyxNQUFTO0lBQ3JDLElBQU0sWUFBWSxHQUFRLEVBQUUsQ0FBQztJQUM3QixHQUFHLENBQUMsQ0FBQyxJQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzdCLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBVSxNQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUMsQ0FBQztJQUNMLENBQUM7SUFDRCxNQUFNLENBQUMsWUFBaUIsQ0FBQztBQUM3QixDQUFDO0FBUmUsb0JBQVksZUFRM0IsQ0FBQTtBQUVEOzs7O0dBSUc7QUFDSCx1QkFBOEIsTUFBbUIsRUFBRSxTQUFpQixFQUFFLFlBQW9CO0lBQ3RGLElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQztJQUNwQixzREFBc0Q7SUFDdEQsSUFBSSxJQUFJLEdBQUcsVUFBQyxLQUFZO1FBQ3BCLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFBQyxNQUFNLENBQUM7UUFBQyxDQUFDO1FBQ3hCLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDZixxQkFBcUIsQ0FBQztZQUNsQixNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksV0FBVyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQzNELE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDLENBQUM7SUFDRixNQUFNLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3pDLE1BQU0sQ0FBQyxJQUFJLENBQUM7QUFDaEIsQ0FBQztBQWJlLHFCQUFhLGdCQWE1QixDQUFBO0FBQUEsQ0FBQyIsImZpbGUiOiJjb21tb24vdXRpbHMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUgUGFsYW50aXIgVGVjaG5vbG9naWVzLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQlNELTMgTGljZW5zZSBhcyBtb2RpZmllZCAodGhlIOKAnExpY2Vuc2XigJ0pOyB5b3UgbWF5IG9idGFpbiBhIGNvcHlcbiAqIG9mIHRoZSBsaWNlbnNlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9wYWxhbnRpci9ibHVlcHJpbnQvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICogYW5kIGh0dHBzOi8vZ2l0aHViLmNvbS9wYWxhbnRpci9ibHVlcHJpbnQvYmxvYi9tYXN0ZXIvUEFURU5UU1xuICovXG5cbi8qKiBSZXR1cm5zIHdoZXRoZXIgdGhlIHZhbHVlIGlzIGEgZnVuY3Rpb24uIEFjdHMgYXMgYSB0eXBlIGd1YXJkLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzRnVuY3Rpb24odmFsdWU6IGFueSk6IHZhbHVlIGlzIEZ1bmN0aW9uIHtcbiAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSBcImZ1bmN0aW9uXCI7XG59XG5cbi8qKiBTYWZlbHkgaW52b2tlIHRoZSBmdW5jdGlvbiB3aXRoIHRoZSBnaXZlbiBhcmd1bWVudHMsIGlmIGl0IGlzIGluZGVlZCBhIGZ1bmN0aW9uLCBhbmQgcmV0dXJuIGl0cyB2YWx1ZS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzYWZlSW52b2tlPFI+KGZ1bmM6ICgpID0+IFIpOiBSO1xuZXhwb3J0IGZ1bmN0aW9uIHNhZmVJbnZva2U8QSwgUj4oZnVuYzogKGFyZzE6IEEpID0+IFIsIGFyZzE6IEEpOiBSO1xuZXhwb3J0IGZ1bmN0aW9uIHNhZmVJbnZva2U8QSwgQiwgUj4oZnVuYzogKGFyZzE6IEEsIGFyZzI6IEIpID0+IFIsIGFyZzE6IEEsIGFyZzI6IEIpOiBSO1xuZXhwb3J0IGZ1bmN0aW9uIHNhZmVJbnZva2U8QSwgQiwgQywgUj4oZnVuYzogKGFyZzE6IEEsIGFyZzI6IEIsIGFyZzM6IEMpID0+IFIsIGFyZzE6IEEsIGFyZzI6IEIsIGFyZzM6IEMpOiBSO1xuZXhwb3J0IGZ1bmN0aW9uIHNhZmVJbnZva2UoZnVuYzogRnVuY3Rpb24sIC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgaWYgKGlzRnVuY3Rpb24oZnVuYykpIHtcbiAgICAgICAgcmV0dXJuIGZ1bmMoLi4uYXJncyk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZWxlbWVudElzT3JDb250YWlucyhlbGVtZW50OiBIVE1MRWxlbWVudCwgdGVzdEVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XG4gICAgcmV0dXJuIGVsZW1lbnQgPT09IHRlc3RFbGVtZW50IHx8IGVsZW1lbnQuY29udGFpbnModGVzdEVsZW1lbnQpO1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIGRpZmZlcmVuY2UgaW4gbGVuZ3RoIGJldHdlZW4gdHdvIGFycmF5cy4gQSBgbnVsbGAgYXJndW1lbnQgaXMgY29uc2lkZXJlZCBhbiBlbXB0eSBsaXN0LlxuICogVGhlIHJldHVybiB2YWx1ZSB3aWxsIGJlIHBvc2l0aXZlIGlmIGBhYCBpcyBsb25nZXIgdGhhbiBgYmAsIG5lZ2F0aXZlIGlmIHRoZSBvcHBvc2l0ZSBpcyB0cnVlLFxuICogYW5kIHplcm8gaWYgdGhlaXIgbGVuZ3RocyBhcmUgZXF1YWwuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcnJheUxlbmd0aENvbXBhcmUoYTogYW55W10gPSBbXSwgYjogYW55W10gPSBbXSkge1xuICAgIHJldHVybiBhLmxlbmd0aCAtIGIubGVuZ3RoO1xufVxuXG4vKipcbiAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgdHdvIG51bWJlcnMgYXJlIHdpdGhpbiB0aGUgZ2l2ZW4gdG9sZXJhbmNlIG9mIGVhY2ggb3RoZXIuXG4gKiBUaGlzIGlzIHVzZWZ1bCB0byBjb3JyZWN0IGZvciBmbG9hdGluZyBwb2ludCBwcmVjaXNpb24gaXNzdWVzLCBsZXNzIHVzZWZ1bCBmb3IgaW50ZWdlcnMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcHByb3hFcXVhbChhOiBudW1iZXIsIGI6IG51bWJlciwgdG9sZXJhbmNlID0gMC4wMDAwMSkge1xuICAgIHJldHVybiBNYXRoLmFicyhhIC0gYikgPD0gdG9sZXJhbmNlO1xufVxuXG4vKiBDbGFtcHMgdGhlIGdpdmVuIG51bWJlciBiZXR3ZWVuIG1pbiBhbmQgbWF4IHZhbHVlcy4gUmV0dXJucyB2YWx1ZSBpZiB3aXRoaW4gcmFuZ2UsIG9yIGNsb3Nlc3QgYm91bmQuICovXG5leHBvcnQgZnVuY3Rpb24gY2xhbXAodmFsOiBudW1iZXIsIG1pbjogbnVtYmVyLCBtYXg6IG51bWJlcikge1xuICAgIGlmIChtYXggPCBtaW4pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiY2xhbXA6IG1heCBjYW5ub3QgYmUgbGVzcyB0aGFuIG1pblwiKTtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgubWluKE1hdGgubWF4KHZhbCwgbWluKSwgbWF4KTtcbn1cblxuLyoqIFJldHVybiBhIG5ldyBvYmplY3Qgd2l0aCB0aGUgc2FtZSBrZXlzIGFzIHRoZSBnaXZlbiBvYmplY3QgKHZhbHVlcyBhcmUgY29waWVkLCBub3QgY2xvbmVkKS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzaGFsbG93Q2xvbmU8VD4ob2JqZWN0OiBUKTogVCB7XG4gICAgY29uc3QgY2xvbmVkT2JqZWN0OiBhbnkgPSB7fTtcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBvYmplY3QpIHtcbiAgICAgICAgaWYgKG9iamVjdC5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgICAgICBjbG9uZWRPYmplY3Rba2V5XSA9ICg8YW55PiBvYmplY3QpW2tleV07XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNsb25lZE9iamVjdCBhcyBUO1xufVxuXG4vKipcbiAqIFRocm90dGxlIGFuIGV2ZW50IG9uIGFuIEV2ZW50VGFyZ2V0IGJ5IHdyYXBwaW5nIGl0IGluIGByZXF1ZXN0QW5pbWF0aW9uRnJhbWVgIGNhbGwuXG4gKiBSZXR1cm5zIHRoZSBldmVudCBoYW5kbGVyIHRoYXQgd2FzIGJvdW5kIHRvIGdpdmVuIGV2ZW50TmFtZSBzbyB5b3UgY2FuIGNsZWFuIHVwIGFmdGVyIHlvdXJzZWxmLlxuICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9FdmVudHMvc2Nyb2xsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0aHJvdHRsZUV2ZW50KHRhcmdldDogRXZlbnRUYXJnZXQsIGV2ZW50TmFtZTogc3RyaW5nLCBuZXdFdmVudE5hbWU6IHN0cmluZykge1xuICAgIGxldCBydW5uaW5nID0gZmFsc2U7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IGJvcnJvd2VkIGRpcmVjdGx5IGZyb20gTUROICovXG4gICAgbGV0IGZ1bmMgPSAoZXZlbnQ6IEV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChydW5uaW5nKSB7IHJldHVybjsgfVxuICAgICAgICBydW5uaW5nID0gdHJ1ZTtcbiAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgICAgIHRhcmdldC5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudChuZXdFdmVudE5hbWUsIGV2ZW50KSk7XG4gICAgICAgICAgICBydW5uaW5nID0gZmFsc2U7XG4gICAgICAgIH0pO1xuICAgIH07XG4gICAgdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCBmdW5jKTtcbiAgICByZXR1cm4gZnVuYztcbn07XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0=
- module.exports = '15.1.0';
/***/ },
/* 56 */
/***/ function(module, exports, __webpack_require__) {
- /* WEBPACK VAR INJECTION */(function(process) {/**
- * Copyright 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @providesModule onlyChild
- */
- 'use strict';
-
- var ReactElement = __webpack_require__(27);
-
- var invariant = __webpack_require__(26);
-
- /**
- * 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.
+ /*
+ * Copyright 2015 Palantir Technologies, Inc. All rights reserved.
+ * Licensed under the BSD-3 License as modified (the “License”); you may obtain a copy
+ * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE
+ * and https://github.com/palantir/blueprint/blob/master/PATENTS
*/
- function onlyChild(children) {
- !ReactElement.isValidElement(children) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'onlyChild must be passed a children with exactly one child.') : invariant(false) : void 0;
- return children;
+ "use strict";
+ var position_1 = __webpack_require__(53);
+ var DEFAULT_CONSTRAINTS = {
+ attachment: "together",
+ to: "scrollParent",
+ };
+ /** @internal */
+ function createTetherOptions(element, target, position, useSmartPositioning, constraints) {
+ if (constraints == null && useSmartPositioning) {
+ constraints = [DEFAULT_CONSTRAINTS];
+ }
+ var options = {
+ attachment: getPopoverAttachment(position),
+ classPrefix: "pt-tether",
+ constraints: constraints,
+ element: element,
+ target: target,
+ targetAttachment: getTargetAttachment(position),
+ };
+ return options;
+ }
+ exports.createTetherOptions = createTetherOptions;
+ /** @internal */
+ function getTargetAttachment(position) {
+ var attachments = (_a = {},
+ _a[position_1.Position.TOP_LEFT] = "top left",
+ _a[position_1.Position.TOP] = "top center",
+ _a[position_1.Position.TOP_RIGHT] = "top right",
+ _a[position_1.Position.RIGHT_TOP] = "top right",
+ _a[position_1.Position.RIGHT] = "middle right",
+ _a[position_1.Position.RIGHT_BOTTOM] = "bottom right",
+ _a[position_1.Position.BOTTOM_RIGHT] = "bottom right",
+ _a[position_1.Position.BOTTOM] = "bottom center",
+ _a[position_1.Position.BOTTOM_LEFT] = "bottom left",
+ _a[position_1.Position.LEFT_BOTTOM] = "bottom left",
+ _a[position_1.Position.LEFT] = "middle left",
+ _a[position_1.Position.LEFT_TOP] = "top left",
+ _a
+ );
+ return attachments[position];
+ var _a;
+ }
+ exports.getTargetAttachment = getTargetAttachment;
+ /** @internal */
+ function getPopoverAttachment(position) {
+ var attachments = (_a = {},
+ _a[position_1.Position.TOP_LEFT] = "bottom left",
+ _a[position_1.Position.TOP] = "bottom center",
+ _a[position_1.Position.TOP_RIGHT] = "bottom right",
+ _a[position_1.Position.RIGHT_TOP] = "top left",
+ _a[position_1.Position.RIGHT] = "middle left",
+ _a[position_1.Position.RIGHT_BOTTOM] = "bottom left",
+ _a[position_1.Position.BOTTOM_RIGHT] = "top right",
+ _a[position_1.Position.BOTTOM] = "top center",
+ _a[position_1.Position.BOTTOM_LEFT] = "top left",
+ _a[position_1.Position.LEFT_BOTTOM] = "bottom right",
+ _a[position_1.Position.LEFT] = "middle right",
+ _a[position_1.Position.LEFT_TOP] = "top right",
+ _a
+ );
+ return attachments[position];
+ var _a;
+ }
+ exports.getPopoverAttachment = getPopoverAttachment;
+ /** @internal */
+ function getAttachmentClasses(position) {
+ // this essentially reimplements the Tether logic for attachment classes so the same styles
+ // can be reused outside of Tether-based popovers.
+ return expandAttachmentClasses(getPopoverAttachment(position), "pt-tether-element-attached").concat(expandAttachmentClasses(getTargetAttachment(position), "pt-tether-target-attached"));
+ }
+ exports.getAttachmentClasses = getAttachmentClasses;
+ function expandAttachmentClasses(attachments, prefix) {
+ var _a = attachments.split(" "), verticalAlign = _a[0], horizontalAlign = _a[1];
+ return [(prefix + "-" + verticalAlign), (prefix + "-" + horizontalAlign)];
}
- module.exports = onlyChild;
- /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22)))
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tb24vdGV0aGVyVXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7O0FBSUgseUJBQXlCLFlBQVksQ0FBQyxDQUFBO0FBRXRDLElBQU0sbUJBQW1CLEdBQUc7SUFDeEIsVUFBVSxFQUFFLFVBQVU7SUFDdEIsRUFBRSxFQUFFLGNBQWM7Q0FDckIsQ0FBQztBQVVGLGdCQUFnQjtBQUNoQiw2QkFBb0MsT0FBZ0IsRUFDaEIsTUFBWSxFQUNaLFFBQWtCLEVBQ2xCLG1CQUE0QixFQUM1QixXQUFnQztJQUNoRSxFQUFFLENBQUMsQ0FBQyxXQUFXLElBQUksSUFBSSxJQUFJLG1CQUFtQixDQUFDLENBQUMsQ0FBQztRQUM3QyxXQUFXLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFNLE9BQU8sR0FBMEI7UUFDbkMsVUFBVSxFQUFFLG9CQUFvQixDQUFDLFFBQVEsQ0FBQztRQUMxQyxXQUFXLEVBQUUsV0FBVztRQUN4Qix3QkFBVztRQUNYLGdCQUFPO1FBQ1AsY0FBTTtRQUNOLGdCQUFnQixFQUFFLG1CQUFtQixDQUFDLFFBQVEsQ0FBQztLQUNsRCxDQUFDO0lBQ0YsTUFBTSxDQUFDLE9BQU8sQ0FBQztBQUNuQixDQUFDO0FBbEJlLDJCQUFtQixzQkFrQmxDLENBQUE7QUFFRCxnQkFBZ0I7QUFDaEIsNkJBQW9DLFFBQWtCO0lBQ2xELElBQU0sV0FBVyxHQUEwQjtRQUN2QyxHQUFDLG1CQUFRLENBQUMsUUFBUSxDQUFDLEdBQU0sVUFBVTtRQUNuQyxHQUFDLG1CQUFRLENBQUMsR0FBRyxDQUFDLEdBQVcsWUFBWTtRQUNyQyxHQUFDLG1CQUFRLENBQUMsU0FBUyxDQUFDLEdBQUssV0FBVztRQUNwQyxHQUFDLG1CQUFRLENBQUMsU0FBUyxDQUFDLEdBQUssV0FBVztRQUNwQyxHQUFDLG1CQUFRLENBQUMsS0FBSyxDQUFDLEdBQVMsY0FBYztRQUN2QyxHQUFDLG1CQUFRLENBQUMsWUFBWSxDQUFDLEdBQUUsY0FBYztRQUN2QyxHQUFDLG1CQUFRLENBQUMsWUFBWSxDQUFDLEdBQUUsY0FBYztRQUN2QyxHQUFDLG1CQUFRLENBQUMsTUFBTSxDQUFDLEdBQVEsZUFBZTtRQUN4QyxHQUFDLG1CQUFRLENBQUMsV0FBVyxDQUFDLEdBQUcsYUFBYTtRQUN0QyxHQUFDLG1CQUFRLENBQUMsV0FBVyxDQUFDLEdBQUcsYUFBYTtRQUN0QyxHQUFDLG1CQUFRLENBQUMsSUFBSSxDQUFDLEdBQVUsYUFBYTtRQUN0QyxHQUFDLG1CQUFRLENBQUMsUUFBUSxDQUFDLEdBQU0sVUFBVTs7S0FDdEMsQ0FBQztJQUNGLE1BQU0sQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7O0FBQ2pDLENBQUM7QUFoQmUsMkJBQW1CLHNCQWdCbEMsQ0FBQTtBQUVELGdCQUFnQjtBQUNoQiw4QkFBcUMsUUFBa0I7SUFDbkQsSUFBTSxXQUFXLEdBQTBCO1FBQ3ZDLEdBQUMsbUJBQVEsQ0FBQyxRQUFRLENBQUMsR0FBTSxhQUFhO1FBQ3RDLEdBQUMsbUJBQVEsQ0FBQyxHQUFHLENBQUMsR0FBVyxlQUFlO1FBQ3hDLEdBQUMsbUJBQVEsQ0FBQyxTQUFTLENBQUMsR0FBSyxjQUFjO1FBQ3ZDLEdBQUMsbUJBQVEsQ0FBQyxTQUFTLENBQUMsR0FBSyxVQUFVO1FBQ25DLEdBQUMsbUJBQVEsQ0FBQyxLQUFLLENBQUMsR0FBUyxhQUFhO1FBQ3RDLEdBQUMsbUJBQVEsQ0FBQyxZQUFZLENBQUMsR0FBRSxhQUFhO1FBQ3RDLEdBQUMsbUJBQVEsQ0FBQyxZQUFZLENBQUMsR0FBRSxXQUFXO1FBQ3BDLEdBQUMsbUJBQVEsQ0FBQyxNQUFNLENBQUMsR0FBUSxZQUFZO1FBQ3JDLEdBQUMsbUJBQVEsQ0FBQyxXQUFXLENBQUMsR0FBRyxVQUFVO1FBQ25DLEdBQUMsbUJBQVEsQ0FBQyxXQUFXLENBQUMsR0FBRyxjQUFjO1FBQ3ZDLEdBQUMsbUJBQVEsQ0FBQyxJQUFJLENBQUMsR0FBVSxjQUFjO1FBQ3ZDLEdBQUMsbUJBQVEsQ0FBQyxRQUFRLENBQUMsR0FBTSxXQUFXOztLQUN2QyxDQUFDO0lBQ0YsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQzs7QUFDakMsQ0FBQztBQWhCZSw0QkFBb0IsdUJBZ0JuQyxDQUFBO0FBRUQsZ0JBQWdCO0FBQ2hCLDhCQUFxQyxRQUFrQjtJQUNuRCwyRkFBMkY7SUFDM0Ysa0RBQWtEO0lBQ2xELE1BQU0sQ0FDQyx1QkFBdUIsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsRUFBRSw0QkFBNEIsQ0FBQyxRQUNyRix1QkFBdUIsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsRUFBRSwyQkFBMkIsQ0FBQyxDQUN6RixDQUFDO0FBQ04sQ0FBQztBQVBlLDRCQUFvQix1QkFPbkMsQ0FBQTtBQUVELGlDQUFpQyxXQUFtQixFQUFFLE1BQWM7SUFDaEUsSUFBQSwyQkFBK0QsRUFBeEQscUJBQWEsRUFBRSx1QkFBZSxDQUEyQjtJQUNoRSxNQUFNLENBQUMsQ0FBQyxDQUFHLE1BQU0sU0FBSSxhQUFhLENBQUUsRUFBRSxDQUFHLE1BQU0sU0FBSSxlQUFlLENBQUUsQ0FBQyxDQUFDO0FBQzFFLENBQUMiLCJmaWxlIjoiY29tbW9uL3RldGhlclV0aWxzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1IFBhbGFudGlyIFRlY2hub2xvZ2llcywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEJTRC0zIExpY2Vuc2UgYXMgbW9kaWZpZWQgKHRoZSDigJxMaWNlbnNl4oCdKTsgeW91IG1heSBvYnRhaW4gYSBjb3B5XG4gKiBvZiB0aGUgbGljZW5zZSBhdCBodHRwczovL2dpdGh1Yi5jb20vcGFsYW50aXIvYmx1ZXByaW50L2Jsb2IvbWFzdGVyL0xJQ0VOU0VcbiAqIGFuZCBodHRwczovL2dpdGh1Yi5jb20vcGFsYW50aXIvYmx1ZXByaW50L2Jsb2IvbWFzdGVyL1BBVEVOVFNcbiAqL1xuXG5pbXBvcnQgKiBhcyBUZXRoZXIgZnJvbSBcInRldGhlclwiO1xuXG5pbXBvcnQgeyBQb3NpdGlvbiB9IGZyb20gXCIuL3Bvc2l0aW9uXCI7XG5cbmNvbnN0IERFRkFVTFRfQ09OU1RSQUlOVFMgPSB7XG4gICAgYXR0YWNobWVudDogXCJ0b2dldGhlclwiLFxuICAgIHRvOiBcInNjcm9sbFBhcmVudFwiLFxufTtcblxuZXhwb3J0IGludGVyZmFjZSBJVGV0aGVyQ29uc3RyYWludCB7XG4gICAgYXR0YWNobWVudD86IHN0cmluZztcbiAgICBvdXRPZkJvdW5kc0NsYXNzPzogc3RyaW5nO1xuICAgIHBpbj86IGJvb2xlYW4gfCBzdHJpbmdbXTtcbiAgICBwaW5uZWRDbGFzcz86IHN0cmluZztcbiAgICB0bz86IHN0cmluZyB8IEhUTUxFbGVtZW50IHwgbnVtYmVyW107XG59XG5cbi8qKiBAaW50ZXJuYWwgKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVUZXRoZXJPcHRpb25zKGVsZW1lbnQ6IEVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IE5vZGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogUG9zaXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VTbWFydFBvc2l0aW9uaW5nOiBib29sZWFuLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3RyYWludHM6IElUZXRoZXJDb25zdHJhaW50W10pIHtcbiAgICBpZiAoY29uc3RyYWludHMgPT0gbnVsbCAmJiB1c2VTbWFydFBvc2l0aW9uaW5nKSB7XG4gICAgICAgIGNvbnN0cmFpbnRzID0gW0RFRkFVTFRfQ09OU1RSQUlOVFNdO1xuICAgIH1cblxuICAgIGNvbnN0IG9wdGlvbnM6IFRldGhlci5JVGV0aGVyT3B0aW9ucyA9IHtcbiAgICAgICAgYXR0YWNobWVudDogZ2V0UG9wb3ZlckF0dGFjaG1lbnQocG9zaXRpb24pLFxuICAgICAgICBjbGFzc1ByZWZpeDogXCJwdC10ZXRoZXJcIixcbiAgICAgICAgY29uc3RyYWludHMsXG4gICAgICAgIGVsZW1lbnQsXG4gICAgICAgIHRhcmdldCxcbiAgICAgICAgdGFyZ2V0QXR0YWNobWVudDogZ2V0VGFyZ2V0QXR0YWNobWVudChwb3NpdGlvbiksXG4gICAgfTtcbiAgICByZXR1cm4gb3B0aW9ucztcbn1cblxuLyoqIEBpbnRlcm5hbCAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFRhcmdldEF0dGFjaG1lbnQocG9zaXRpb246IFBvc2l0aW9uKSB7XG4gICAgY29uc3QgYXR0YWNobWVudHM6IHtbcDogbnVtYmVyXTogc3RyaW5nfSA9IHtcbiAgICAgICAgW1Bvc2l0aW9uLlRPUF9MRUZUXTogICAgIFwidG9wIGxlZnRcIixcbiAgICAgICAgW1Bvc2l0aW9uLlRPUF06ICAgICAgICAgIFwidG9wIGNlbnRlclwiLFxuICAgICAgICBbUG9zaXRpb24uVE9QX1JJR0hUXTogICAgXCJ0b3AgcmlnaHRcIixcbiAgICAgICAgW1Bvc2l0aW9uLlJJR0hUX1RPUF06ICAgIFwidG9wIHJpZ2h0XCIsXG4gICAgICAgIFtQb3NpdGlvbi5SSUdIVF06ICAgICAgICBcIm1pZGRsZSByaWdodFwiLFxuICAgICAgICBbUG9zaXRpb24uUklHSFRfQk9UVE9NXTogXCJib3R0b20gcmlnaHRcIixcbiAgICAgICAgW1Bvc2l0aW9uLkJPVFRPTV9SSUdIVF06IFwiYm90dG9tIHJpZ2h0XCIsXG4gICAgICAgIFtQb3NpdGlvbi5CT1RUT01dOiAgICAgICBcImJvdHRvbSBjZW50ZXJcIixcbiAgICAgICAgW1Bvc2l0aW9uLkJPVFRPTV9MRUZUXTogIFwiYm90dG9tIGxlZnRcIixcbiAgICAgICAgW1Bvc2l0aW9uLkxFRlRfQk9UVE9NXTogIFwiYm90dG9tIGxlZnRcIixcbiAgICAgICAgW1Bvc2l0aW9uLkxFRlRdOiAgICAgICAgIFwibWlkZGxlIGxlZnRcIixcbiAgICAgICAgW1Bvc2l0aW9uLkxFRlRfVE9QXTogICAgIFwidG9wIGxlZnRcIixcbiAgICB9O1xuICAgIHJldHVybiBhdHRhY2htZW50c1twb3NpdGlvbl07XG59XG5cbi8qKiBAaW50ZXJuYWwgKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRQb3BvdmVyQXR0YWNobWVudChwb3NpdGlvbjogUG9zaXRpb24pIHtcbiAgICBjb25zdCBhdHRhY2htZW50czoge1twOiBudW1iZXJdOiBzdHJpbmd9ID0ge1xuICAgICAgICBbUG9zaXRpb24uVE9QX0xFRlRdOiAgICAgXCJib3R0b20gbGVmdFwiLFxuICAgICAgICBbUG9zaXRpb24uVE9QXTogICAgICAgICAgXCJib3R0b20gY2VudGVyXCIsXG4gICAgICAgIFtQb3NpdGlvbi5UT1BfUklHSFRdOiAgICBcImJvdHRvbSByaWdodFwiLFxuICAgICAgICBbUG9zaXRpb24uUklHSFRfVE9QXTogICAgXCJ0b3AgbGVmdFwiLFxuICAgICAgICBbUG9zaXRpb24uUklHSFRdOiAgICAgICAgXCJtaWRkbGUgbGVmdFwiLFxuICAgICAgICBbUG9zaXRpb24uUklHSFRfQk9UVE9NXTogXCJib3R0b20gbGVmdFwiLFxuICAgICAgICBbUG9zaXRpb24uQk9UVE9NX1JJR0hUXTogXCJ0b3AgcmlnaHRcIixcbiAgICAgICAgW1Bvc2l0aW9uLkJPVFRPTV06ICAgICAgIFwidG9wIGNlbnRlclwiLFxuICAgICAgICBbUG9zaXRpb24uQk9UVE9NX0xFRlRdOiAgXCJ0b3AgbGVmdFwiLFxuICAgICAgICBbUG9zaXRpb24uTEVGVF9CT1RUT01dOiAgXCJib3R0b20gcmlnaHRcIixcbiAgICAgICAgW1Bvc2l0aW9uLkxFRlRdOiAgICAgICAgIFwibWlkZGxlIHJpZ2h0XCIsXG4gICAgICAgIFtQb3NpdGlvbi5MRUZUX1RPUF06ICAgICBcInRvcCByaWdodFwiLFxuICAgIH07XG4gICAgcmV0dXJuIGF0dGFjaG1lbnRzW3Bvc2l0aW9uXTtcbn1cblxuLyoqIEBpbnRlcm5hbCAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEF0dGFjaG1lbnRDbGFzc2VzKHBvc2l0aW9uOiBQb3NpdGlvbikge1xuICAgIC8vIHRoaXMgZXNzZW50aWFsbHkgcmVpbXBsZW1lbnRzIHRoZSBUZXRoZXIgbG9naWMgZm9yIGF0dGFjaG1lbnQgY2xhc3NlcyBzbyB0aGUgc2FtZSBzdHlsZXNcbiAgICAvLyBjYW4gYmUgcmV1c2VkIG91dHNpZGUgb2YgVGV0aGVyLWJhc2VkIHBvcG92ZXJzLlxuICAgIHJldHVybiBbXG4gICAgICAgIC4uLmV4cGFuZEF0dGFjaG1lbnRDbGFzc2VzKGdldFBvcG92ZXJBdHRhY2htZW50KHBvc2l0aW9uKSwgXCJwdC10ZXRoZXItZWxlbWVudC1hdHRhY2hlZFwiKSxcbiAgICAgICAgLi4uZXhwYW5kQXR0YWNobWVudENsYXNzZXMoZ2V0VGFyZ2V0QXR0YWNobWVudChwb3NpdGlvbiksIFwicHQtdGV0aGVyLXRhcmdldC1hdHRhY2hlZFwiKSxcbiAgICBdO1xufVxuXG5mdW5jdGlvbiBleHBhbmRBdHRhY2htZW50Q2xhc3NlcyhhdHRhY2htZW50czogc3RyaW5nLCBwcmVmaXg6IHN0cmluZykge1xuICAgIGNvbnN0IFt2ZXJ0aWNhbEFsaWduLCBob3Jpem9udGFsQWxpZ25dID0gYXR0YWNobWVudHMuc3BsaXQoXCIgXCIpO1xuICAgIHJldHVybiBbYCR7cHJlZml4fS0ke3ZlcnRpY2FsQWxpZ259YCwgYCR7cHJlZml4fS0ke2hvcml6b250YWxBbGlnbn1gXTtcbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ==
+
/***/ },
/* 57 */
-/***/ function(module, exports) {
+/***/ function(module, exports, __webpack_require__) {
/*
- * Copyright 2016 Palantir Technologies, Inc. All rights reserved.
+ * Copyright 2015 Palantir Technologies, Inc. All rights reserved.
* Licensed under the BSD-3 License as modified (the “License”); you may obtain a copy
- * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE
- * and https://github.com/palantir/blueprint/blob/master/PATENTS
+ * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE
+ * and https://github.com/palantir/blueprint/blob/master/PATENTS
*/
"use strict";
- exports.Colors = {
- BLACK: "#10161A",
- BLUE1: "#0E5A8A",
- BLUE2: "#106BA3",
- BLUE3: "#137CBD",
- BLUE4: "#2B95D6",
- BLUE5: "#48AFF0",
- COBALT1: "#1F4B99",
- COBALT2: "#2458B3",
- COBALT3: "#2965CC",
- COBALT4: "#4580E6",
- COBALT5: "#669EFF",
- DARK_GRAY1: "#182026",
- DARK_GRAY2: "#202B33",
- DARK_GRAY3: "#293742",
- DARK_GRAY4: "#30404D",
- DARK_GRAY5: "#394B59",
- FOREST1: "#1D7324",
- FOREST2: "#238C2C",
- FOREST3: "#29A634",
- FOREST4: "#43BF4D",
- FOREST5: "#62D96B",
- GOLD1: "#A67908",
- GOLD2: "#BF8C0A",
- GOLD3: "#D99E0B",
- GOLD4: "#F2B824",
- GOLD5: "#FFC940",
- GRAY1: "#5C7080",
- GRAY2: "#738694",
- GRAY3: "#8A9BA8",
- GRAY4: "#A7B6C2",
- GRAY5: "#BFCCD6",
- GREEN1: "#0A6640",
- GREEN2: "#0D8050",
- GREEN3: "#0F9960",
- GREEN4: "#15B371",
- GREEN5: "#3DCC91",
- INDIGO1: "#5642A6",
- INDIGO2: "#634DBF",
- INDIGO3: "#7157D9",
- INDIGO4: "#9179F2",
- INDIGO5: "#AD99FF",
- LIGHT_GRAY1: "#CED9E0",
- LIGHT_GRAY2: "#D8E1E8",
- LIGHT_GRAY3: "#E1E8ED",
- LIGHT_GRAY4: "#EBF1F5",
- LIGHT_GRAY5: "#F5F8FA",
- LIME1: "#728C23",
- LIME2: "#87A629",
- LIME3: "#9BBF30",
- LIME4: "#B6D94C",
- LIME5: "#D1F26D",
- ORANGE1: "#A66321",
- ORANGE2: "#BF7326",
- ORANGE3: "#D9822B",
- ORANGE4: "#F29D49",
- ORANGE5: "#FFB366",
- RED1: "#A82A2A",
- RED2: "#C23030",
- RED3: "#DB3737",
- RED4: "#F55656",
- RED5: "#FF7373",
- ROSE1: "#A82255",
- ROSE2: "#C22762",
- ROSE3: "#DB2C6F",
- ROSE4: "#F5498B",
- ROSE5: "#FF66A1",
- SEPIA1: "#63411E",
- SEPIA2: "#7D5125",
- SEPIA3: "#96622D",
- SEPIA4: "#B07B46",
- SEPIA5: "#C99765",
- TURQUOISE1: "#008075",
- TURQUOISE2: "#00998C",
- TURQUOISE3: "#00B3A4",
- TURQUOISE4: "#14CCBD",
- TURQUOISE5: "#2EE6D6",
- VERMILION1: "#9E2B0E",
- VERMILION2: "#B83211",
- VERMILION3: "#D13913",
- VERMILION4: "#EB532D",
- VERMILION5: "#FF6E4A",
- VIOLET1: "#5C255C",
- VIOLET2: "#752F75",
- VIOLET3: "#8F398F",
- VIOLET4: "#A854A8",
- VIOLET5: "#C274C2",
- WHITE: "#FFFFFF",
- };
+ var intent_1 = __webpack_require__(52);
+ // modifiers
+ exports.DARK = "pt-dark";
+ exports.ACTIVE = "pt-active";
+ exports.MINIMAL = "pt-minimal";
+ exports.DISABLED = "pt-disabled";
+ exports.SMALL = "pt-small";
+ exports.LARGE = "pt-large";
+ exports.INTERACTIVE = "pt-interactive";
+ exports.ALIGN_LEFT = "pt-align-left";
+ exports.ALIGN_RIGHT = "pt-align-right";
+ exports.INLINE = "pt-inline";
+ exports.FILL = "pt-fill";
+ // components
+ exports.ALERT = "pt-alert";
+ exports.ALERT_BODY = "pt-alert-body";
+ exports.ALERT_CONTENTS = "pt-alert-contents";
+ exports.ALERT_FOOTER = "pt-alert-footer";
+ exports.BREADCRUMB = "pt-breadcrumb";
+ exports.BREADCRUMB_CURRENT = "pt-breadcrumb-current";
+ exports.BREADCRUMBS = "pt-breadcrumbs";
+ exports.BREADCRUMBS_COLLAPSED = "pt-breadcrumbs-collapsed";
+ exports.BUTTON = "pt-button";
+ exports.BUTTON_GROUP = "pt-button-group";
+ exports.CARD = "pt-card";
+ exports.COLLAPSE = "pt-collapse";
+ exports.COLLAPSIBLE_LIST = "pt-collapse-list";
+ exports.CONTEXT_MENU = "pt-context-menu";
+ exports.CONTEXT_MENU_POPOVER_TARGET = "pt-context-menu-popover-target";
+ exports.DIALOG = "pt-dialog";
+ exports.DIALOG_BODY = "pt-dialog-body";
+ exports.DIALOG_CLOSE_BUTTON = "pt-dialog-close-button";
+ exports.DIALOG_FOOTER = "pt-dialog-footer";
+ exports.DIALOG_FOOTER_ACTIONS = "pt-dialog-footer-actions";
+ exports.DIALOG_HEADER = "pt-dialog-header";
+ exports.EDITABLE_TEXT = "pt-editable-text";
+ exports.ELEVATION_0 = "pt-elevation-0";
+ exports.ELEVATION_1 = "pt-elevation-1";
+ exports.ELEVATION_2 = "pt-elevation-2";
+ exports.ELEVATION_3 = "pt-elevation-3";
+ exports.ELEVATION_4 = "pt-elevation-4";
+ exports.INPUT = "pt-input";
+ exports.INPUT_GROUP = "pt-input-group";
+ exports.LABEL = "pt-label";
+ exports.MENU = "pt-menu";
+ exports.MENU_ITEM = "pt-menu-item";
+ exports.MENU_SUBMENU = "pt-submenu";
+ exports.MENU_DIVIDER = "pt-menu-divider";
+ exports.MENU_HEADER = "pt-menu-header";
+ exports.NON_IDEAL_STATE = "pt-non-ideal-state";
+ exports.NON_IDEAL_STATE_ACTION = "pt-non-ideal-state-action";
+ exports.NON_IDEAL_STATE_DESCRIPTION = "pt-non-ideal-state-description";
+ exports.NON_IDEAL_STATE_ICON = "pt-non-ideal-state-icon";
+ exports.NON_IDEAL_STATE_TITLE = "pt-non-ideal-state-title";
+ exports.NON_IDEAL_STATE_VISUAL = "pt-non-ideal-state-visual";
+ exports.OVERLAY_BACKDROP = "pt-overlay-backdrop";
+ exports.OVERLAY_OPEN = "pt-overlay-open";
+ exports.OVERLAY_SCROLL_CONTAINER = "pt-overlay-scroll-container";
+ exports.POPOVER = "pt-popover";
+ exports.POPOVER_ARROW = "pt-popover-arrow";
+ exports.POPOVER_BACKDROP = "pt-popover-backdrop";
+ exports.POPOVER_CONTENT = "pt-popover-content";
+ exports.POPOVER_DISMISS = "pt-popover-dismiss";
+ exports.POPOVER_DISMISS_OVERRIDE = "pt-popover-dismiss-override";
+ exports.POPOVER_OPEN = "pt-popover-open";
+ exports.POPOVER_TARGET = "pt-popover-target";
+ exports.TRANSITION_CONTAINER = "pt-transition-container";
+ exports.PORTAL = "pt-portal";
+ exports.SELECT = "pt-select";
+ exports.SLIDER = "pt-slider";
+ exports.SLIDER_HANDLE = exports.SLIDER + "-handle";
+ exports.SLIDER_LABEL = exports.SLIDER + "-label";
+ exports.RANGE_SLIDER = "pt-range-slider";
+ exports.SPINNER = "pt-spinner";
+ exports.SVG_SPINNER = "pt-svg-spinner";
+ exports.TAB = "pt-tab";
+ exports.TAB_LIST = "pt-tab-list";
+ exports.TAB_PANEL = "pt-tab-panel";
+ exports.TABS = "pt-tabs";
+ exports.TAG = "pt-tag";
+ exports.TAG_REMOVABLE = "pt-tag-removable";
+ exports.TAG_REMOVE = "pt-tag-remove";
+ exports.TOAST = "pt-toast";
+ exports.TOAST_CONTAINER = "pt-toast-container";
+ exports.TOAST_MESSAGE = "pt-toast-message";
+ exports.TOOLTIP = "pt-tooltip";
+ exports.TREE = "pt-tree";
+ exports.TREE_NODE = "pt-tree-node";
+ exports.TREE_NODE_CARET = "pt-tree-node-caret";
+ exports.TREE_NODE_CARET_CLOSED = "pt-tree-node-caret-closed";
+ exports.TREE_NODE_CARET_NONE = "pt-tree-node-caret-none";
+ exports.TREE_NODE_CARET_OPEN = "pt-tree-node-caret-open";
+ exports.TREE_NODE_CONTENT = "pt-tree-node-content";
+ exports.TREE_NODE_EXPANDED = "pt-tree-node-expanded";
+ exports.TREE_NODE_ICON = "pt-tree-node-icon";
+ exports.TREE_NODE_LABEL = "pt-tree-node-label";
+ exports.TREE_NODE_LIST = "pt-tree-node-list";
+ exports.TREE_NODE_SECONDARY_LABEL = "pt-tree-node-secondary-label";
+ exports.TREE_NODE_SELECTED = "pt-tree-node-selected";
+ exports.TREE_ROOT = "pt-tree-root";
+ exports.ICON_STANDARD = "pt-icon-standard";
+ exports.ICON_LARGE = "pt-icon-large";
+ /** Return CSS class for icon, whether or not 'pt-icon-' prefix is included */
+ function iconClass(iconName) {
+ if (iconName == null) {
+ return undefined;
+ }
+ return iconName.indexOf("pt-icon-") === 0 ? iconName : "pt-icon-" + iconName;
+ }
+ exports.iconClass = iconClass;
+ function intentClass(intent) {
+ if (intent === void 0) { intent = intent_1.Intent.NONE; }
+ if (intent === intent_1.Intent.NONE || intent_1.Intent[intent] == null) {
+ return undefined;
+ }
+ return "pt-intent-" + intent_1.Intent[intent].toLowerCase();
+ }
+ exports.intentClass = intentClass;
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tb24vY29sb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRzs7QUFFVSxjQUFNLEdBQUc7SUFDbEIsS0FBSyxFQUFFLFNBQVM7SUFFaEIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFNBQVM7SUFFaEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFNBQVM7SUFFbEIsVUFBVSxFQUFFLFNBQVM7SUFDckIsVUFBVSxFQUFFLFNBQVM7SUFDckIsVUFBVSxFQUFFLFNBQVM7SUFDckIsVUFBVSxFQUFFLFNBQVM7SUFDckIsVUFBVSxFQUFFLFNBQVM7SUFFckIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFNBQVM7SUFFbEIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFNBQVM7SUFFaEIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFNBQVM7SUFFaEIsTUFBTSxFQUFFLFNBQVM7SUFDakIsTUFBTSxFQUFFLFNBQVM7SUFDakIsTUFBTSxFQUFFLFNBQVM7SUFDakIsTUFBTSxFQUFFLFNBQVM7SUFDakIsTUFBTSxFQUFFLFNBQVM7SUFFakIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFNBQVM7SUFFbEIsV0FBVyxFQUFFLFNBQVM7SUFDdEIsV0FBVyxFQUFFLFNBQVM7SUFDdEIsV0FBVyxFQUFFLFNBQVM7SUFDdEIsV0FBVyxFQUFFLFNBQVM7SUFDdEIsV0FBVyxFQUFFLFNBQVM7SUFFdEIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFNBQVM7SUFFaEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFNBQVM7SUFFbEIsSUFBSSxFQUFFLFNBQVM7SUFDZixJQUFJLEVBQUUsU0FBUztJQUNmLElBQUksRUFBRSxTQUFTO0lBQ2YsSUFBSSxFQUFFLFNBQVM7SUFDZixJQUFJLEVBQUUsU0FBUztJQUVmLEtBQUssRUFBRSxTQUFTO0lBQ2hCLEtBQUssRUFBRSxTQUFTO0lBQ2hCLEtBQUssRUFBRSxTQUFTO0lBQ2hCLEtBQUssRUFBRSxTQUFTO0lBQ2hCLEtBQUssRUFBRSxTQUFTO0lBRWhCLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLE1BQU0sRUFBRSxTQUFTO0lBRWpCLFVBQVUsRUFBRSxTQUFTO0lBQ3JCLFVBQVUsRUFBRSxTQUFTO0lBQ3JCLFVBQVUsRUFBRSxTQUFTO0lBQ3JCLFVBQVUsRUFBRSxTQUFTO0lBQ3JCLFVBQVUsRUFBRSxTQUFTO0lBRXJCLFVBQVUsRUFBRSxTQUFTO0lBQ3JCLFVBQVUsRUFBRSxTQUFTO0lBQ3JCLFVBQVUsRUFBRSxTQUFTO0lBQ3JCLFVBQVUsRUFBRSxTQUFTO0lBQ3JCLFVBQVUsRUFBRSxTQUFTO0lBRXJCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE9BQU8sRUFBRSxTQUFTO0lBRWxCLEtBQUssRUFBRSxTQUFTO0NBQ25CLENBQUMiLCJmaWxlIjoiY29tbW9uL2NvbG9ycy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNiBQYWxhbnRpciBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgLSBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqL1xuXG5leHBvcnQgY29uc3QgQ29sb3JzID0ge1xuICAgIEJMQUNLOiBcIiMxMDE2MUFcIixcblxuICAgIEJMVUUxOiBcIiMwRTVBOEFcIixcbiAgICBCTFVFMjogXCIjMTA2QkEzXCIsXG4gICAgQkxVRTM6IFwiIzEzN0NCRFwiLFxuICAgIEJMVUU0OiBcIiMyQjk1RDZcIixcbiAgICBCTFVFNTogXCIjNDhBRkYwXCIsXG5cbiAgICBDT0JBTFQxOiBcIiMxRjRCOTlcIixcbiAgICBDT0JBTFQyOiBcIiMyNDU4QjNcIixcbiAgICBDT0JBTFQzOiBcIiMyOTY1Q0NcIixcbiAgICBDT0JBTFQ0OiBcIiM0NTgwRTZcIixcbiAgICBDT0JBTFQ1OiBcIiM2NjlFRkZcIixcblxuICAgIERBUktfR1JBWTE6IFwiIzE4MjAyNlwiLFxuICAgIERBUktfR1JBWTI6IFwiIzIwMkIzM1wiLFxuICAgIERBUktfR1JBWTM6IFwiIzI5Mzc0MlwiLFxuICAgIERBUktfR1JBWTQ6IFwiIzMwNDA0RFwiLFxuICAgIERBUktfR1JBWTU6IFwiIzM5NEI1OVwiLFxuXG4gICAgRk9SRVNUMTogXCIjMUQ3MzI0XCIsXG4gICAgRk9SRVNUMjogXCIjMjM4QzJDXCIsXG4gICAgRk9SRVNUMzogXCIjMjlBNjM0XCIsXG4gICAgRk9SRVNUNDogXCIjNDNCRjREXCIsXG4gICAgRk9SRVNUNTogXCIjNjJEOTZCXCIsXG5cbiAgICBHT0xEMTogXCIjQTY3OTA4XCIsXG4gICAgR09MRDI6IFwiI0JGOEMwQVwiLFxuICAgIEdPTEQzOiBcIiNEOTlFMEJcIixcbiAgICBHT0xENDogXCIjRjJCODI0XCIsXG4gICAgR09MRDU6IFwiI0ZGQzk0MFwiLFxuXG4gICAgR1JBWTE6IFwiIzVDNzA4MFwiLFxuICAgIEdSQVkyOiBcIiM3Mzg2OTRcIixcbiAgICBHUkFZMzogXCIjOEE5QkE4XCIsXG4gICAgR1JBWTQ6IFwiI0E3QjZDMlwiLFxuICAgIEdSQVk1OiBcIiNCRkNDRDZcIixcblxuICAgIEdSRUVOMTogXCIjMEE2NjQwXCIsXG4gICAgR1JFRU4yOiBcIiMwRDgwNTBcIixcbiAgICBHUkVFTjM6IFwiIzBGOTk2MFwiLFxuICAgIEdSRUVONDogXCIjMTVCMzcxXCIsXG4gICAgR1JFRU41OiBcIiMzRENDOTFcIixcblxuICAgIElORElHTzE6IFwiIzU2NDJBNlwiLFxuICAgIElORElHTzI6IFwiIzYzNERCRlwiLFxuICAgIElORElHTzM6IFwiIzcxNTdEOVwiLFxuICAgIElORElHTzQ6IFwiIzkxNzlGMlwiLFxuICAgIElORElHTzU6IFwiI0FEOTlGRlwiLFxuXG4gICAgTElHSFRfR1JBWTE6IFwiI0NFRDlFMFwiLFxuICAgIExJR0hUX0dSQVkyOiBcIiNEOEUxRThcIixcbiAgICBMSUdIVF9HUkFZMzogXCIjRTFFOEVEXCIsXG4gICAgTElHSFRfR1JBWTQ6IFwiI0VCRjFGNVwiLFxuICAgIExJR0hUX0dSQVk1OiBcIiNGNUY4RkFcIixcblxuICAgIExJTUUxOiBcIiM3MjhDMjNcIixcbiAgICBMSU1FMjogXCIjODdBNjI5XCIsXG4gICAgTElNRTM6IFwiIzlCQkYzMFwiLFxuICAgIExJTUU0OiBcIiNCNkQ5NENcIixcbiAgICBMSU1FNTogXCIjRDFGMjZEXCIsXG5cbiAgICBPUkFOR0UxOiBcIiNBNjYzMjFcIixcbiAgICBPUkFOR0UyOiBcIiNCRjczMjZcIixcbiAgICBPUkFOR0UzOiBcIiNEOTgyMkJcIixcbiAgICBPUkFOR0U0OiBcIiNGMjlENDlcIixcbiAgICBPUkFOR0U1OiBcIiNGRkIzNjZcIixcblxuICAgIFJFRDE6IFwiI0E4MkEyQVwiLFxuICAgIFJFRDI6IFwiI0MyMzAzMFwiLFxuICAgIFJFRDM6IFwiI0RCMzczN1wiLFxuICAgIFJFRDQ6IFwiI0Y1NTY1NlwiLFxuICAgIFJFRDU6IFwiI0ZGNzM3M1wiLFxuXG4gICAgUk9TRTE6IFwiI0E4MjI1NVwiLFxuICAgIFJPU0UyOiBcIiNDMjI3NjJcIixcbiAgICBST1NFMzogXCIjREIyQzZGXCIsXG4gICAgUk9TRTQ6IFwiI0Y1NDk4QlwiLFxuICAgIFJPU0U1OiBcIiNGRjY2QTFcIixcblxuICAgIFNFUElBMTogXCIjNjM0MTFFXCIsXG4gICAgU0VQSUEyOiBcIiM3RDUxMjVcIixcbiAgICBTRVBJQTM6IFwiIzk2NjIyRFwiLFxuICAgIFNFUElBNDogXCIjQjA3QjQ2XCIsXG4gICAgU0VQSUE1OiBcIiNDOTk3NjVcIixcblxuICAgIFRVUlFVT0lTRTE6IFwiIzAwODA3NVwiLFxuICAgIFRVUlFVT0lTRTI6IFwiIzAwOTk4Q1wiLFxuICAgIFRVUlFVT0lTRTM6IFwiIzAwQjNBNFwiLFxuICAgIFRVUlFVT0lTRTQ6IFwiIzE0Q0NCRFwiLFxuICAgIFRVUlFVT0lTRTU6IFwiIzJFRTZENlwiLFxuXG4gICAgVkVSTUlMSU9OMTogXCIjOUUyQjBFXCIsXG4gICAgVkVSTUlMSU9OMjogXCIjQjgzMjExXCIsXG4gICAgVkVSTUlMSU9OMzogXCIjRDEzOTEzXCIsXG4gICAgVkVSTUlMSU9ONDogXCIjRUI1MzJEXCIsXG4gICAgVkVSTUlMSU9ONTogXCIjRkY2RTRBXCIsXG5cbiAgICBWSU9MRVQxOiBcIiM1QzI1NUNcIixcbiAgICBWSU9MRVQyOiBcIiM3NTJGNzVcIixcbiAgICBWSU9MRVQzOiBcIiM4RjM5OEZcIixcbiAgICBWSU9MRVQ0OiBcIiNBODU0QThcIixcbiAgICBWSU9MRVQ1OiBcIiNDMjc0QzJcIixcblxuICAgIFdISVRFOiBcIiNGRkZGRkZcIixcbn07XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0=
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tb24vY2xhc3Nlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRzs7QUFFSCx1QkFBdUIsVUFBVSxDQUFDLENBQUE7QUFFbEMsWUFBWTtBQUNDLFlBQUksR0FBRyxTQUFTLENBQUM7QUFDakIsY0FBTSxHQUFHLFdBQVcsQ0FBQztBQUNyQixlQUFPLEdBQUcsWUFBWSxDQUFDO0FBQ3ZCLGdCQUFRLEdBQUcsYUFBYSxDQUFDO0FBQ3pCLGFBQUssR0FBRyxVQUFVLENBQUM7QUFDbkIsYUFBSyxHQUFHLFVBQVUsQ0FBQztBQUNuQixtQkFBVyxHQUFHLGdCQUFnQixDQUFDO0FBQy9CLGtCQUFVLEdBQUcsZUFBZSxDQUFDO0FBQzdCLG1CQUFXLEdBQUcsZ0JBQWdCLENBQUM7QUFDL0IsY0FBTSxHQUFHLFdBQVcsQ0FBQztBQUNyQixZQUFJLEdBQUcsU0FBUyxDQUFDO0FBRTlCLGFBQWE7QUFDQSxhQUFLLEdBQUcsVUFBVSxDQUFDO0FBQ25CLGtCQUFVLEdBQUcsZUFBZSxDQUFDO0FBQzdCLHNCQUFjLEdBQUcsbUJBQW1CLENBQUM7QUFDckMsb0JBQVksR0FBRyxpQkFBaUIsQ0FBQztBQUVqQyxrQkFBVSxHQUFHLGVBQWUsQ0FBQztBQUM3QiwwQkFBa0IsR0FBRyx1QkFBdUIsQ0FBQztBQUM3QyxtQkFBVyxHQUFHLGdCQUFnQixDQUFDO0FBQy9CLDZCQUFxQixHQUFHLDBCQUEwQixDQUFDO0FBRW5ELGNBQU0sR0FBRyxXQUFXLENBQUM7QUFDckIsb0JBQVksR0FBRyxpQkFBaUIsQ0FBQztBQUVqQyxZQUFJLEdBQUcsU0FBUyxDQUFDO0FBRWpCLGdCQUFRLEdBQUcsYUFBYSxDQUFDO0FBRXpCLHdCQUFnQixHQUFHLGtCQUFrQixDQUFDO0FBRXRDLG9CQUFZLEdBQUcsaUJBQWlCLENBQUM7QUFDakMsbUNBQTJCLEdBQUcsZ0NBQWdDLENBQUM7QUFFL0QsY0FBTSxHQUFHLFdBQVcsQ0FBQztBQUNyQixtQkFBVyxHQUFHLGdCQUFnQixDQUFDO0FBQy9CLDJCQUFtQixHQUFHLHdCQUF3QixDQUFDO0FBQy9DLHFCQUFhLEdBQUcsa0JBQWtCLENBQUM7QUFDbkMsNkJBQXFCLEdBQUcsMEJBQTBCLENBQUM7QUFDbkQscUJBQWEsR0FBRyxrQkFBa0IsQ0FBQztBQUVuQyxxQkFBYSxHQUFHLGtCQUFrQixDQUFDO0FBRW5DLG1CQUFXLEdBQUcsZ0JBQWdCLENBQUM7QUFDL0IsbUJBQVcsR0FBRyxnQkFBZ0IsQ0FBQztBQUMvQixtQkFBVyxHQUFHLGdCQUFnQixDQUFDO0FBQy9CLG1CQUFXLEdBQUcsZ0JBQWdCLENBQUM7QUFDL0IsbUJBQVcsR0FBRyxnQkFBZ0IsQ0FBQztBQUUvQixhQUFLLEdBQUcsVUFBVSxDQUFDO0FBQ25CLG1CQUFXLEdBQUcsZ0JBQWdCLENBQUM7QUFFL0IsYUFBSyxHQUFHLFVBQVUsQ0FBQztBQUVuQixZQUFJLEdBQUcsU0FBUyxDQUFDO0FBQ2pCLGlCQUFTLEdBQUcsY0FBYyxDQUFDO0FBQzNCLG9CQUFZLEdBQUcsWUFBWSxDQUFDO0FBQzVCLG9CQUFZLEdBQUcsaUJBQWlCLENBQUM7QUFDakMsbUJBQVcsR0FBRyxnQkFBZ0IsQ0FBQztBQUUvQix1QkFBZSxHQUFHLG9CQUFvQixDQUFDO0FBQ3ZDLDhCQUFzQixHQUFHLDJCQUEyQixDQUFDO0FBQ3JELG1DQUEyQixHQUFHLGdDQUFnQyxDQUFDO0FBQy9ELDRCQUFvQixHQUFHLHlCQUF5QixDQUFDO0FBQ2pELDZCQUFxQixHQUFHLDBCQUEwQixDQUFDO0FBQ25ELDhCQUFzQixHQUFHLDJCQUEyQixDQUFDO0FBRXJELHdCQUFnQixHQUFHLHFCQUFxQixDQUFDO0FBQ3pDLG9CQUFZLEdBQUcsaUJBQWlCLENBQUM7QUFDakMsZ0NBQXdCLEdBQUcsNkJBQTZCLENBQUM7QUFFekQsZUFBTyxHQUFHLFlBQVksQ0FBQztBQUN2QixxQkFBYSxHQUFHLGtCQUFrQixDQUFDO0FBQ25DLHdCQUFnQixHQUFHLHFCQUFxQixDQUFDO0FBQ3pDLHVCQUFlLEdBQUcsb0JBQW9CLENBQUM7QUFDdkMsdUJBQWUsR0FBRyxvQkFBb0IsQ0FBQztBQUN2QyxnQ0FBd0IsR0FBRyw2QkFBNkIsQ0FBQztBQUN6RCxvQkFBWSxHQUFHLGlCQUFpQixDQUFDO0FBQ2pDLHNCQUFjLEdBQUcsbUJBQW1CLENBQUM7QUFDckMsNEJBQW9CLEdBQUcseUJBQXlCLENBQUM7QUFFakQsY0FBTSxHQUFHLFdBQVcsQ0FBQztBQUVyQixjQUFNLEdBQUcsV0FBVyxDQUFDO0FBRXJCLGNBQU0sR0FBRyxXQUFXLENBQUM7QUFDckIscUJBQWEsR0FBTSxjQUFNLFlBQVMsQ0FBQztBQUNuQyxvQkFBWSxHQUFNLGNBQU0sV0FBUSxDQUFDO0FBQ2pDLG9CQUFZLEdBQUcsaUJBQWlCLENBQUM7QUFFakMsZUFBTyxHQUFHLFlBQVksQ0FBQztBQUN2QixtQkFBVyxHQUFHLGdCQUFnQixDQUFDO0FBRS9CLFdBQUcsR0FBRyxRQUFRLENBQUM7QUFDZixnQkFBUSxHQUFHLGFBQWEsQ0FBQztBQUN6QixpQkFBUyxHQUFHLGNBQWMsQ0FBQztBQUMzQixZQUFJLEdBQUcsU0FBUyxDQUFDO0FBRWpCLFdBQUcsR0FBRyxRQUFRLENBQUM7QUFDZixxQkFBYSxHQUFHLGtCQUFrQixDQUFDO0FBQ25DLGtCQUFVLEdBQUcsZUFBZSxDQUFDO0FBRTdCLGFBQUssR0FBRyxVQUFVLENBQUM7QUFDbkIsdUJBQWUsR0FBRyxvQkFBb0IsQ0FBQztBQUN2QyxxQkFBYSxHQUFHLGtCQUFrQixDQUFDO0FBRW5DLGVBQU8sR0FBRyxZQUFZLENBQUM7QUFFdkIsWUFBSSxHQUFHLFNBQVMsQ0FBQztBQUNqQixpQkFBUyxHQUFHLGNBQWMsQ0FBQztBQUMzQix1QkFBZSxHQUFHLG9CQUFvQixDQUFDO0FBQ3ZDLDhCQUFzQixHQUFHLDJCQUEyQixDQUFDO0FBQ3JELDRCQUFvQixHQUFHLHlCQUF5QixDQUFDO0FBQ2pELDRCQUFvQixHQUFHLHlCQUF5QixDQUFDO0FBQ2pELHlCQUFpQixHQUFHLHNCQUFzQixDQUFDO0FBQzNDLDBCQUFrQixHQUFHLHVCQUF1QixDQUFDO0FBQzdDLHNCQUFjLEdBQUcsbUJBQW1CLENBQUM7QUFDckMsdUJBQWUsR0FBRyxvQkFBb0IsQ0FBQztBQUN2QyxzQkFBYyxHQUFHLG1CQUFtQixDQUFDO0FBQ3JDLGlDQUF5QixHQUFHLDhCQUE4QixDQUFDO0FBQzNELDBCQUFrQixHQUFHLHVCQUF1QixDQUFDO0FBQzdDLGlCQUFTLEdBQUcsY0FBYyxDQUFDO0FBRTNCLHFCQUFhLEdBQUcsa0JBQWtCLENBQUM7QUFDbkMsa0JBQVUsR0FBRyxlQUFlLENBQUM7QUFFMUMsOEVBQThFO0FBQzlFLG1CQUEwQixRQUFnQjtJQUN0QyxFQUFFLENBQUMsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNuQixNQUFNLENBQUMsU0FBUyxDQUFDO0lBQ3JCLENBQUM7SUFDRCxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsUUFBUSxHQUFHLGFBQVcsUUFBVSxDQUFDO0FBQ2pGLENBQUM7QUFMZSxpQkFBUyxZQUt4QixDQUFBO0FBRUQscUJBQTRCLE1BQW9CO0lBQXBCLHNCQUFvQixHQUFwQixTQUFTLGVBQU0sQ0FBQyxJQUFJO0lBQzVDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxlQUFNLENBQUMsSUFBSSxJQUFJLGVBQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ25ELE1BQU0sQ0FBQyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUNELE1BQU0sQ0FBQyxlQUFhLGVBQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEVBQUksQ0FBQztBQUN2RCxDQUFDO0FBTGUsbUJBQVcsY0FLMUIsQ0FBQSIsImZpbGUiOiJjb21tb24vY2xhc3Nlcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNSBQYWxhbnRpciBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBCU0QtMyBMaWNlbnNlIGFzIG1vZGlmaWVkICh0aGUg4oCcTGljZW5zZeKAnSk7IHlvdSBtYXkgb2J0YWluIGEgY29weVxuICogb2YgdGhlIGxpY2Vuc2UgYXQgaHR0cHM6Ly9naXRodWIuY29tL3BhbGFudGlyL2JsdWVwcmludC9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKiBhbmQgaHR0cHM6Ly9naXRodWIuY29tL3BhbGFudGlyL2JsdWVwcmludC9ibG9iL21hc3Rlci9QQVRFTlRTXG4gKi9cblxuaW1wb3J0IHsgSW50ZW50IH0gZnJvbSBcIi4vaW50ZW50XCI7XG5cbi8vIG1vZGlmaWVyc1xuZXhwb3J0IGNvbnN0IERBUksgPSBcInB0LWRhcmtcIjtcbmV4cG9ydCBjb25zdCBBQ1RJVkUgPSBcInB0LWFjdGl2ZVwiO1xuZXhwb3J0IGNvbnN0IE1JTklNQUwgPSBcInB0LW1pbmltYWxcIjtcbmV4cG9ydCBjb25zdCBESVNBQkxFRCA9IFwicHQtZGlzYWJsZWRcIjtcbmV4cG9ydCBjb25zdCBTTUFMTCA9IFwicHQtc21hbGxcIjtcbmV4cG9ydCBjb25zdCBMQVJHRSA9IFwicHQtbGFyZ2VcIjtcbmV4cG9ydCBjb25zdCBJTlRFUkFDVElWRSA9IFwicHQtaW50ZXJhY3RpdmVcIjtcbmV4cG9ydCBjb25zdCBBTElHTl9MRUZUID0gXCJwdC1hbGlnbi1sZWZ0XCI7XG5leHBvcnQgY29uc3QgQUxJR05fUklHSFQgPSBcInB0LWFsaWduLXJpZ2h0XCI7XG5leHBvcnQgY29uc3QgSU5MSU5FID0gXCJwdC1pbmxpbmVcIjtcbmV4cG9ydCBjb25zdCBGSUxMID0gXCJwdC1maWxsXCI7XG5cbi8vIGNvbXBvbmVudHNcbmV4cG9ydCBjb25zdCBBTEVSVCA9IFwicHQtYWxlcnRcIjtcbmV4cG9ydCBjb25zdCBBTEVSVF9CT0RZID0gXCJwdC1hbGVydC1ib2R5XCI7XG5leHBvcnQgY29uc3QgQUxFUlRfQ09OVEVOVFMgPSBcInB0LWFsZXJ0LWNvbnRlbnRzXCI7XG5leHBvcnQgY29uc3QgQUxFUlRfRk9PVEVSID0gXCJwdC1hbGVydC1mb290ZXJcIjtcblxuZXhwb3J0IGNvbnN0IEJSRUFEQ1JVTUIgPSBcInB0LWJyZWFkY3J1bWJcIjtcbmV4cG9ydCBjb25zdCBCUkVBRENSVU1CX0NVUlJFTlQgPSBcInB0LWJyZWFkY3J1bWItY3VycmVudFwiO1xuZXhwb3J0IGNvbnN0IEJSRUFEQ1JVTUJTID0gXCJwdC1icmVhZGNydW1ic1wiO1xuZXhwb3J0IGNvbnN0IEJSRUFEQ1JVTUJTX0NPTExBUFNFRCA9IFwicHQtYnJlYWRjcnVtYnMtY29sbGFwc2VkXCI7XG5cbmV4cG9ydCBjb25zdCBCVVRUT04gPSBcInB0LWJ1dHRvblwiO1xuZXhwb3J0IGNvbnN0IEJVVFRPTl9HUk9VUCA9IFwicHQtYnV0dG9uLWdyb3VwXCI7XG5cbmV4cG9ydCBjb25zdCBDQVJEID0gXCJwdC1jYXJkXCI7XG5cbmV4cG9ydCBjb25zdCBDT0xMQVBTRSA9IFwicHQtY29sbGFwc2VcIjtcblxuZXhwb3J0IGNvbnN0IENPTExBUFNJQkxFX0xJU1QgPSBcInB0LWNvbGxhcHNlLWxpc3RcIjtcblxuZXhwb3J0IGNvbnN0IENPTlRFWFRfTUVOVSA9IFwicHQtY29udGV4dC1tZW51XCI7XG5leHBvcnQgY29uc3QgQ09OVEVYVF9NRU5VX1BPUE9WRVJfVEFSR0VUID0gXCJwdC1jb250ZXh0LW1lbnUtcG9wb3Zlci10YXJnZXRcIjtcblxuZXhwb3J0IGNvbnN0IERJQUxPRyA9IFwicHQtZGlhbG9nXCI7XG5leHBvcnQgY29uc3QgRElBTE9HX0JPRFkgPSBcInB0LWRpYWxvZy1ib2R5XCI7XG5leHBvcnQgY29uc3QgRElBTE9HX0NMT1NFX0JVVFRPTiA9IFwicHQtZGlhbG9nLWNsb3NlLWJ1dHRvblwiO1xuZXhwb3J0IGNvbnN0IERJQUxPR19GT09URVIgPSBcInB0LWRpYWxvZy1mb290ZXJcIjtcbmV4cG9ydCBjb25zdCBESUFMT0dfRk9PVEVSX0FDVElPTlMgPSBcInB0LWRpYWxvZy1mb290ZXItYWN0aW9uc1wiO1xuZXhwb3J0IGNvbnN0IERJQUxPR19IRUFERVIgPSBcInB0LWRpYWxvZy1oZWFkZXJcIjtcblxuZXhwb3J0IGNvbnN0IEVESVRBQkxFX1RFWFQgPSBcInB0LWVkaXRhYmxlLXRleHRcIjtcblxuZXhwb3J0IGNvbnN0IEVMRVZBVElPTl8wID0gXCJwdC1lbGV2YXRpb24tMFwiO1xuZXhwb3J0IGNvbnN0IEVMRVZBVElPTl8xID0gXCJwdC1lbGV2YXRpb24tMVwiO1xuZXhwb3J0IGNvbnN0IEVMRVZBVElPTl8yID0gXCJwdC1lbGV2YXRpb24tMlwiO1xuZXhwb3J0IGNvbnN0IEVMRVZBVElPTl8zID0gXCJwdC1lbGV2YXRpb24tM1wiO1xuZXhwb3J0IGNvbnN0IEVMRVZBVElPTl80ID0gXCJwdC1lbGV2YXRpb24tNFwiO1xuXG5leHBvcnQgY29uc3QgSU5QVVQgPSBcInB0LWlucHV0XCI7XG5leHBvcnQgY29uc3QgSU5QVVRfR1JPVVAgPSBcInB0LWlucHV0LWdyb3VwXCI7XG5cbmV4cG9ydCBjb25zdCBMQUJFTCA9IFwicHQtbGFiZWxcIjtcblxuZXhwb3J0IGNvbnN0IE1FTlUgPSBcInB0LW1lbnVcIjtcbmV4cG9ydCBjb25zdCBNRU5VX0lURU0gPSBcInB0LW1lbnUtaXRlbVwiO1xuZXhwb3J0IGNvbnN0IE1FTlVfU1VCTUVOVSA9IFwicHQtc3VibWVudVwiO1xuZXhwb3J0IGNvbnN0IE1FTlVfRElWSURFUiA9IFwicHQtbWVudS1kaXZpZGVyXCI7XG5leHBvcnQgY29uc3QgTUVOVV9IRUFERVIgPSBcInB0LW1lbnUtaGVhZGVyXCI7XG5cbmV4cG9ydCBjb25zdCBOT05fSURFQUxfU1RBVEUgPSBcInB0LW5vbi1pZGVhbC1zdGF0ZVwiO1xuZXhwb3J0IGNvbnN0IE5PTl9JREVBTF9TVEFURV9BQ1RJT04gPSBcInB0LW5vbi1pZGVhbC1zdGF0ZS1hY3Rpb25cIjtcbmV4cG9ydCBjb25zdCBOT05fSURFQUxfU1RBVEVfREVTQ1JJUFRJT04gPSBcInB0LW5vbi1pZGVhbC1zdGF0ZS1kZXNjcmlwdGlvblwiO1xuZXhwb3J0IGNvbnN0IE5PTl9JREVBTF9TVEFURV9JQ09OID0gXCJwdC1ub24taWRlYWwtc3RhdGUtaWNvblwiO1xuZXhwb3J0IGNvbnN0IE5PTl9JREVBTF9TVEFURV9USVRMRSA9IFwicHQtbm9uLWlkZWFsLXN0YXRlLXRpdGxlXCI7XG5leHBvcnQgY29uc3QgTk9OX0lERUFMX1NUQVRFX1ZJU1VBTCA9IFwicHQtbm9uLWlkZWFsLXN0YXRlLXZpc3VhbFwiO1xuXG5leHBvcnQgY29uc3QgT1ZFUkxBWV9CQUNLRFJPUCA9IFwicHQtb3ZlcmxheS1iYWNrZHJvcFwiO1xuZXhwb3J0IGNvbnN0IE9WRVJMQVlfT1BFTiA9IFwicHQtb3ZlcmxheS1vcGVuXCI7XG5leHBvcnQgY29uc3QgT1ZFUkxBWV9TQ1JPTExfQ09OVEFJTkVSID0gXCJwdC1vdmVybGF5LXNjcm9sbC1jb250YWluZXJcIjtcblxuZXhwb3J0IGNvbnN0IFBPUE9WRVIgPSBcInB0LXBvcG92ZXJcIjtcbmV4cG9ydCBjb25zdCBQT1BPVkVSX0FSUk9XID0gXCJwdC1wb3BvdmVyLWFycm93XCI7XG5leHBvcnQgY29uc3QgUE9QT1ZFUl9CQUNLRFJPUCA9IFwicHQtcG9wb3Zlci1iYWNrZHJvcFwiO1xuZXhwb3J0IGNvbnN0IFBPUE9WRVJfQ09OVEVOVCA9IFwicHQtcG9wb3Zlci1jb250ZW50XCI7XG5leHBvcnQgY29uc3QgUE9QT1ZFUl9ESVNNSVNTID0gXCJwdC1wb3BvdmVyLWRpc21pc3NcIjtcbmV4cG9ydCBjb25zdCBQT1BPVkVSX0RJU01JU1NfT1ZFUlJJREUgPSBcInB0LXBvcG92ZXItZGlzbWlzcy1vdmVycmlkZVwiO1xuZXhwb3J0IGNvbnN0IFBPUE9WRVJfT1BFTiA9IFwicHQtcG9wb3Zlci1vcGVuXCI7XG5leHBvcnQgY29uc3QgUE9QT1ZFUl9UQVJHRVQgPSBcInB0LXBvcG92ZXItdGFyZ2V0XCI7XG5leHBvcnQgY29uc3QgVFJBTlNJVElPTl9DT05UQUlORVIgPSBcInB0LXRyYW5zaXRpb24tY29udGFpbmVyXCI7XG5cbmV4cG9ydCBjb25zdCBQT1JUQUwgPSBcInB0LXBvcnRhbFwiO1xuXG5leHBvcnQgY29uc3QgU0VMRUNUID0gXCJwdC1zZWxlY3RcIjtcblxuZXhwb3J0IGNvbnN0IFNMSURFUiA9IFwicHQtc2xpZGVyXCI7XG5leHBvcnQgY29uc3QgU0xJREVSX0hBTkRMRSA9IGAke1NMSURFUn0taGFuZGxlYDtcbmV4cG9ydCBjb25zdCBTTElERVJfTEFCRUwgPSBgJHtTTElERVJ9LWxhYmVsYDtcbmV4cG9ydCBjb25zdCBSQU5HRV9TTElERVIgPSBcInB0LXJhbmdlLXNsaWRlclwiO1xuXG5leHBvcnQgY29uc3QgU1BJTk5FUiA9IFwicHQtc3Bpbm5lclwiO1xuZXhwb3J0IGNvbnN0IFNWR19TUElOTkVSID0gXCJwdC1zdmctc3Bpbm5lclwiO1xuXG5leHBvcnQgY29uc3QgVEFCID0gXCJwdC10YWJcIjtcbmV4cG9ydCBjb25zdCBUQUJfTElTVCA9IFwicHQtdGFiLWxpc3RcIjtcbmV4cG9ydCBjb25zdCBUQUJfUEFORUwgPSBcInB0LXRhYi1wYW5lbFwiO1xuZXhwb3J0IGNvbnN0IFRBQlMgPSBcInB0LXRhYnNcIjtcblxuZXhwb3J0IGNvbnN0IFRBRyA9IFwicHQtdGFnXCI7XG5leHBvcnQgY29uc3QgVEFHX1JFTU9WQUJMRSA9IFwicHQtdGFnLXJlbW92YWJsZVwiO1xuZXhwb3J0IGNvbnN0IFRBR19SRU1PVkUgPSBcInB0LXRhZy1yZW1vdmVcIjtcblxuZXhwb3J0IGNvbnN0IFRPQVNUID0gXCJwdC10b2FzdFwiO1xuZXhwb3J0IGNvbnN0IFRPQVNUX0NPTlRBSU5FUiA9IFwicHQtdG9hc3QtY29udGFpbmVyXCI7XG5leHBvcnQgY29uc3QgVE9BU1RfTUVTU0FHRSA9IFwicHQtdG9hc3QtbWVzc2FnZVwiO1xuXG5leHBvcnQgY29uc3QgVE9PTFRJUCA9IFwicHQtdG9vbHRpcFwiO1xuXG5leHBvcnQgY29uc3QgVFJFRSA9IFwicHQtdHJlZVwiO1xuZXhwb3J0IGNvbnN0IFRSRUVfTk9ERSA9IFwicHQtdHJlZS1ub2RlXCI7XG5leHBvcnQgY29uc3QgVFJFRV9OT0RFX0NBUkVUID0gXCJwdC10cmVlLW5vZGUtY2FyZXRcIjtcbmV4cG9ydCBjb25zdCBUUkVFX05PREVfQ0FSRVRfQ0xPU0VEID0gXCJwdC10cmVlLW5vZGUtY2FyZXQtY2xvc2VkXCI7XG5leHBvcnQgY29uc3QgVFJFRV9OT0RFX0NBUkVUX05PTkUgPSBcInB0LXRyZWUtbm9kZS1jYXJldC1ub25lXCI7XG5leHBvcnQgY29uc3QgVFJFRV9OT0RFX0NBUkVUX09QRU4gPSBcInB0LXRyZWUtbm9kZS1jYXJldC1vcGVuXCI7XG5leHBvcnQgY29uc3QgVFJFRV9OT0RFX0NPTlRFTlQgPSBcInB0LXRyZWUtbm9kZS1jb250ZW50XCI7XG5leHBvcnQgY29uc3QgVFJFRV9OT0RFX0VYUEFOREVEID0gXCJwdC10cmVlLW5vZGUtZXhwYW5kZWRcIjtcbmV4cG9ydCBjb25zdCBUUkVFX05PREVfSUNPTiA9IFwicHQtdHJlZS1ub2RlLWljb25cIjtcbmV4cG9ydCBjb25zdCBUUkVFX05PREVfTEFCRUwgPSBcInB0LXRyZWUtbm9kZS1sYWJlbFwiO1xuZXhwb3J0IGNvbnN0IFRSRUVfTk9ERV9MSVNUID0gXCJwdC10cmVlLW5vZGUtbGlzdFwiO1xuZXhwb3J0IGNvbnN0IFRSRUVfTk9ERV9TRUNPTkRBUllfTEFCRUwgPSBcInB0LXRyZWUtbm9kZS1zZWNvbmRhcnktbGFiZWxcIjtcbmV4cG9ydCBjb25zdCBUUkVFX05PREVfU0VMRUNURUQgPSBcInB0LXRyZWUtbm9kZS1zZWxlY3RlZFwiO1xuZXhwb3J0IGNvbnN0IFRSRUVfUk9PVCA9IFwicHQtdHJlZS1yb290XCI7XG5cbmV4cG9ydCBjb25zdCBJQ09OX1NUQU5EQVJEID0gXCJwdC1pY29uLXN0YW5kYXJkXCI7XG5leHBvcnQgY29uc3QgSUNPTl9MQVJHRSA9IFwicHQtaWNvbi1sYXJnZVwiO1xuXG4vKiogUmV0dXJuIENTUyBjbGFzcyBmb3IgaWNvbiwgd2hldGhlciBvciBub3QgJ3B0LWljb24tJyBwcmVmaXggaXMgaW5jbHVkZWQgKi9cbmV4cG9ydCBmdW5jdGlvbiBpY29uQ2xhc3MoaWNvbk5hbWU6IHN0cmluZykge1xuICAgIGlmIChpY29uTmFtZSA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHJldHVybiBpY29uTmFtZS5pbmRleE9mKFwicHQtaWNvbi1cIikgPT09IDAgPyBpY29uTmFtZSA6IGBwdC1pY29uLSR7aWNvbk5hbWV9YDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGludGVudENsYXNzKGludGVudCA9IEludGVudC5OT05FKSB7XG4gICAgaWYgKGludGVudCA9PT0gSW50ZW50Lk5PTkUgfHwgSW50ZW50W2ludGVudF0gPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICByZXR1cm4gYHB0LWludGVudC0ke0ludGVudFtpbnRlbnRdLnRvTG93ZXJDYXNlKCl9YDtcbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ==
/***/ },
@@ -4569,562 +4802,123 @@
/*
* Copyright 2015 Palantir Technologies, Inc. All rights reserved.
* Licensed under the BSD-3 License as modified (the “License”); you may obtain a copy
- * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE
- * and https://github.com/palantir/blueprint/blob/master/PATENTS
+ * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE
+ * and https://github.com/palantir/blueprint/blob/master/PATENTS
*/
"use strict";
- /**
- * The four basic intents.
- */
- (function (Intent) {
- Intent[Intent["NONE"] = -1] = "NONE";
- Intent[Intent["PRIMARY"] = 0] = "PRIMARY";
- Intent[Intent["SUCCESS"] = 1] = "SUCCESS";
- Intent[Intent["WARNING"] = 2] = "WARNING";
- Intent[Intent["DANGER"] = 3] = "DANGER";
- })(exports.Intent || (exports.Intent = {}));
- var Intent = exports.Intent;
+ exports.ARROW_DOWN = 40;
+ exports.ARROW_LEFT = 37;
+ exports.ARROW_RIGHT = 39;
+ exports.ARROW_UP = 38;
+ exports.ENTER = 13;
+ exports.ESCAPE = 27;
+ exports.SPACE = 32;
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tb24vaW50ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRzs7QUFFSDs7R0FFRztBQUNILFdBQVksTUFBTTtJQUNkLG9DQUFTLENBQUE7SUFDVCx5Q0FBTyxDQUFBO0lBQ1AseUNBQU8sQ0FBQTtJQUNQLHlDQUFPLENBQUE7SUFDUCx1Q0FBTSxDQUFBO0FBQ1YsQ0FBQyxFQU5XLGNBQU0sS0FBTixjQUFNLFFBTWpCO0FBTkQsSUFBWSxNQUFNLEdBQU4sY0FNWCxDQUFBIiwiZmlsZSI6ImNvbW1vbi9pbnRlbnQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUgUGFsYW50aXIgVGVjaG5vbG9naWVzLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wIC0gaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKi9cblxuLyoqXG4gKiBUaGUgZm91ciBiYXNpYyBpbnRlbnRzLlxuICovXG5leHBvcnQgZW51bSBJbnRlbnQge1xuICAgIE5PTkUgPSAtMSxcbiAgICBQUklNQVJZLFxuICAgIFNVQ0NFU1MsXG4gICAgV0FSTklORyxcbiAgICBEQU5HRVJcbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ==
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tb24va2V5cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRzs7QUFFVSxrQkFBVSxHQUFHLEVBQUUsQ0FBQztBQUNoQixrQkFBVSxHQUFHLEVBQUUsQ0FBQztBQUNoQixtQkFBVyxHQUFHLEVBQUUsQ0FBQztBQUNqQixnQkFBUSxHQUFHLEVBQUUsQ0FBQztBQUNkLGFBQUssR0FBRyxFQUFFLENBQUM7QUFDWCxjQUFNLEdBQUcsRUFBRSxDQUFDO0FBQ1osYUFBSyxHQUFHLEVBQUUsQ0FBQyIsImZpbGUiOiJjb21tb24va2V5cy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNSBQYWxhbnRpciBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBCU0QtMyBMaWNlbnNlIGFzIG1vZGlmaWVkICh0aGUg4oCcTGljZW5zZeKAnSk7IHlvdSBtYXkgb2J0YWluIGEgY29weVxuICogb2YgdGhlIGxpY2Vuc2UgYXQgaHR0cHM6Ly9naXRodWIuY29tL3BhbGFudGlyL2JsdWVwcmludC9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKiBhbmQgaHR0cHM6Ly9naXRodWIuY29tL3BhbGFudGlyL2JsdWVwcmludC9ibG9iL21hc3Rlci9QQVRFTlRTXG4gKi9cblxuZXhwb3J0IGNvbnN0IEFSUk9XX0RPV04gPSA0MDtcbmV4cG9ydCBjb25zdCBBUlJPV19MRUZUID0gMzc7XG5leHBvcnQgY29uc3QgQVJST1dfUklHSFQgPSAzOTtcbmV4cG9ydCBjb25zdCBBUlJPV19VUCA9IDM4O1xuZXhwb3J0IGNvbnN0IEVOVEVSID0gMTM7XG5leHBvcnQgY29uc3QgRVNDQVBFID0gMjc7XG5leHBvcnQgY29uc3QgU1BBQ0UgPSAzMjtcbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ==
/***/ },
/* 59 */
-/***/ function(module, exports) {
+/***/ function(module, exports, __webpack_require__) {
/*
- * Copyright 2015 Palantir Technologies, Inc. All rights reserved.
+ * Copyright 2016 Palantir Technologies, Inc. All rights reserved.
* Licensed under the BSD-3 License as modified (the “License”); you may obtain a copy
- * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE
- * and https://github.com/palantir/blueprint/blob/master/PATENTS
+ * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE
+ * and https://github.com/palantir/blueprint/blob/master/PATENTS
*/
"use strict";
- (function (Position) {
- Position[Position["TOP_LEFT"] = 0] = "TOP_LEFT";
- Position[Position["TOP"] = 1] = "TOP";
- Position[Position["TOP_RIGHT"] = 2] = "TOP_RIGHT";
- Position[Position["RIGHT_TOP"] = 3] = "RIGHT_TOP";
- Position[Position["RIGHT"] = 4] = "RIGHT";
- Position[Position["RIGHT_BOTTOM"] = 5] = "RIGHT_BOTTOM";
- Position[Position["BOTTOM_RIGHT"] = 6] = "BOTTOM_RIGHT";
- Position[Position["BOTTOM"] = 7] = "BOTTOM";
- Position[Position["BOTTOM_LEFT"] = 8] = "BOTTOM_LEFT";
- Position[Position["LEFT_BOTTOM"] = 9] = "LEFT_BOTTOM";
- Position[Position["LEFT"] = 10] = "LEFT";
- Position[Position["LEFT_TOP"] = 11] = "LEFT_TOP";
- })(exports.Position || (exports.Position = {}));
- var Position = exports.Position;
- function isPositionHorizontal(position) {
- /* istanbul ignore next */
- return position === Position.TOP || position === Position.TOP_LEFT || position === Position.TOP_RIGHT
- || position === Position.BOTTOM || position === Position.BOTTOM_LEFT || position === Position.BOTTOM_RIGHT;
- }
- exports.isPositionHorizontal = isPositionHorizontal;
- function isPositionVertical(position) {
- /* istanbul ignore next */
- return position === Position.LEFT || position === Position.LEFT_TOP || position === Position.LEFT_BOTTOM
- || position === Position.RIGHT || position === Position.RIGHT_TOP || position === Position.RIGHT_BOTTOM;
+ function __export(m) {
+ for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
}
- exports.isPositionVertical = isPositionVertical;
-
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tb24vcG9zaXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHOztBQUVILFdBQVksUUFBUTtJQUNoQiwrQ0FBUSxDQUFBO0lBQ1IscUNBQUcsQ0FBQTtJQUNILGlEQUFTLENBQUE7SUFDVCxpREFBUyxDQUFBO0lBQ1QseUNBQUssQ0FBQTtJQUNMLHVEQUFZLENBQUE7SUFDWix1REFBWSxDQUFBO0lBQ1osMkNBQU0sQ0FBQTtJQUNOLHFEQUFXLENBQUE7SUFDWCxxREFBVyxDQUFBO0lBQ1gsd0NBQUksQ0FBQTtJQUNKLGdEQUFRLENBQUE7QUFDWixDQUFDLEVBYlcsZ0JBQVEsS0FBUixnQkFBUSxRQWFuQjtBQWJELElBQVksUUFBUSxHQUFSLGdCQWFYLENBQUE7QUFFRCw4QkFBcUMsUUFBa0I7SUFDbkQsMEJBQTBCO0lBQzFCLE1BQU0sQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLEdBQUcsSUFBSSxRQUFRLEtBQUssUUFBUSxDQUFDLFFBQVEsSUFBSSxRQUFRLEtBQUssUUFBUSxDQUFDLFNBQVM7V0FDOUYsUUFBUSxLQUFLLFFBQVEsQ0FBQyxNQUFNLElBQUksUUFBUSxLQUFLLFFBQVEsQ0FBQyxXQUFXLElBQUksUUFBUSxLQUFLLFFBQVEsQ0FBQyxZQUFZLENBQUM7QUFDbkgsQ0FBQztBQUplLDRCQUFvQix1QkFJbkMsQ0FBQTtBQUVELDRCQUFtQyxRQUFrQjtJQUNqRCwwQkFBMEI7SUFDMUIsTUFBTSxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsSUFBSSxJQUFJLFFBQVEsS0FBSyxRQUFRLENBQUMsUUFBUSxJQUFJLFFBQVEsS0FBSyxRQUFRLENBQUMsV0FBVztXQUNqRyxRQUFRLEtBQUssUUFBUSxDQUFDLEtBQUssSUFBSSxRQUFRLEtBQUssUUFBUSxDQUFDLFNBQVMsSUFBSSxRQUFRLEtBQUssUUFBUSxDQUFDLFlBQVksQ0FBQztBQUNoSCxDQUFDO0FBSmUsMEJBQWtCLHFCQUlqQyxDQUFBIiwiZmlsZSI6ImNvbW1vbi9wb3NpdGlvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNSBQYWxhbnRpciBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgLSBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqL1xuXG5leHBvcnQgZW51bSBQb3NpdGlvbiB7XG4gICAgVE9QX0xFRlQsXG4gICAgVE9QLFxuICAgIFRPUF9SSUdIVCxcbiAgICBSSUdIVF9UT1AsXG4gICAgUklHSFQsXG4gICAgUklHSFRfQk9UVE9NLFxuICAgIEJPVFRPTV9SSUdIVCxcbiAgICBCT1RUT00sXG4gICAgQk9UVE9NX0xFRlQsXG4gICAgTEVGVF9CT1RUT00sXG4gICAgTEVGVCxcbiAgICBMRUZUX1RPUCxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUG9zaXRpb25Ib3Jpem9udGFsKHBvc2l0aW9uOiBQb3NpdGlvbikge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIHBvc2l0aW9uID09PSBQb3NpdGlvbi5UT1AgfHwgcG9zaXRpb24gPT09IFBvc2l0aW9uLlRPUF9MRUZUIHx8IHBvc2l0aW9uID09PSBQb3NpdGlvbi5UT1BfUklHSFRcbiAgICAgICAgfHwgcG9zaXRpb24gPT09IFBvc2l0aW9uLkJPVFRPTSB8fCBwb3NpdGlvbiA9PT0gUG9zaXRpb24uQk9UVE9NX0xFRlQgfHwgcG9zaXRpb24gPT09IFBvc2l0aW9uLkJPVFRPTV9SSUdIVDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUG9zaXRpb25WZXJ0aWNhbChwb3NpdGlvbjogUG9zaXRpb24pIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHJldHVybiBwb3NpdGlvbiA9PT0gUG9zaXRpb24uTEVGVCB8fCBwb3NpdGlvbiA9PT0gUG9zaXRpb24uTEVGVF9UT1AgfHwgcG9zaXRpb24gPT09IFBvc2l0aW9uLkxFRlRfQk9UVE9NXG4gICAgICAgIHx8IHBvc2l0aW9uID09PSBQb3NpdGlvbi5SSUdIVCB8fCBwb3NpdGlvbiA9PT0gUG9zaXRpb24uUklHSFRfVE9QIHx8IHBvc2l0aW9uID09PSBQb3NpdGlvbi5SSUdIVF9CT1RUT007XG59XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0=
+ __webpack_require__(60);
+ var contextMenu = __webpack_require__(61);
+ exports.ContextMenu = contextMenu;
+ __export(__webpack_require__(230));
+ __export(__webpack_require__(233));
+ __export(__webpack_require__(231));
+ __export(__webpack_require__(234));
+ __export(__webpack_require__(235));
+ __export(__webpack_require__(238));
+ __export(__webpack_require__(232));
+ __export(__webpack_require__(239));
+ __export(__webpack_require__(240));
+ __export(__webpack_require__(241));
+ __export(__webpack_require__(242));
+ __export(__webpack_require__(243));
+ __export(__webpack_require__(236));
+ __export(__webpack_require__(250));
+ __export(__webpack_require__(237));
+ __export(__webpack_require__(251));
+ __export(__webpack_require__(213));
+ __export(__webpack_require__(208));
+ __export(__webpack_require__(252));
+ __export(__webpack_require__(227));
+ __export(__webpack_require__(253));
+ __export(__webpack_require__(254));
+ __export(__webpack_require__(255));
+ __export(__webpack_require__(258));
+ __export(__webpack_require__(259));
+ __export(__webpack_require__(260));
+ __export(__webpack_require__(261));
+ __export(__webpack_require__(262));
+ __export(__webpack_require__(263));
+ __export(__webpack_require__(264));
+ __export(__webpack_require__(265));
+ __export(__webpack_require__(266));
+ __export(__webpack_require__(267));
+ __export(__webpack_require__(228));
+ __export(__webpack_require__(268));
+ __export(__webpack_require__(269));
+
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHOzs7OztBQUVILFFBQU8sTUFBTSxDQUFDLENBQUE7QUFFZCxJQUFZLFdBQVcsV0FBTSw0QkFBNEIsQ0FBQyxDQUFBO0FBQzdDLG1CQUFXLEdBQUcsV0FBVyxDQUFDO0FBRXZDLGlCQUFjLGVBQWUsQ0FBQyxFQUFBO0FBQzlCLGlCQUFjLDBCQUEwQixDQUFDLEVBQUE7QUFDekMsaUJBQWMsa0JBQWtCLENBQUMsRUFBQTtBQUNqQyxpQkFBYyxxQkFBcUIsQ0FBQyxFQUFBO0FBQ3BDLGlCQUFjLG9DQUFvQyxDQUFDLEVBQUE7QUFDbkQsaUJBQWMsa0NBQWtDLENBQUMsRUFBQTtBQUNqRCxpQkFBYyxpQkFBaUIsQ0FBQyxFQUFBO0FBQ2hDLGlCQUFjLDhCQUE4QixDQUFDLEVBQUE7QUFDN0MsaUJBQWMsa0JBQWtCLENBQUMsRUFBQTtBQUNqQyxpQkFBYyxvQkFBb0IsQ0FBQyxFQUFBO0FBQ25DLGlCQUFjLG9CQUFvQixDQUFDLEVBQUE7QUFDbkMsaUJBQWMsbUJBQW1CLENBQUMsRUFBQTtBQUNsQyxpQkFBYyxhQUFhLENBQUMsRUFBQTtBQUM1QixpQkFBYyxvQkFBb0IsQ0FBQyxFQUFBO0FBQ25DLGlCQUFjLGlCQUFpQixDQUFDLEVBQUE7QUFDaEMsaUJBQWMsaUNBQWlDLENBQUMsRUFBQTtBQUNoRCxpQkFBYyxtQkFBbUIsQ0FBQyxFQUFBO0FBQ2xDLGlCQUFjLG1CQUFtQixDQUFDLEVBQUE7QUFDbEMsaUJBQWMsc0JBQXNCLENBQUMsRUFBQTtBQUNyQyxpQkFBYyxpQkFBaUIsQ0FBQyxFQUFBO0FBQ2hDLGlCQUFjLHdCQUF3QixDQUFDLEVBQUE7QUFDdkMsaUJBQWMsc0JBQXNCLENBQUMsRUFBQTtBQUNyQyxpQkFBYyxzQkFBc0IsQ0FBQyxFQUFBO0FBQ3JDLGlCQUFjLGlCQUFpQixDQUFDLEVBQUE7QUFDaEMsaUJBQWMsbUJBQW1CLENBQUMsRUFBQTtBQUNsQyxpQkFBYyxzQkFBc0IsQ0FBQyxFQUFBO0FBQ3JDLGlCQUFjLFlBQVksQ0FBQyxFQUFBO0FBQzNCLGlCQUFjLGFBQWEsQ0FBQyxFQUFBO0FBQzVCLGlCQUFjLGdCQUFnQixDQUFDLEVBQUE7QUFDL0IsaUJBQWMsaUJBQWlCLENBQUMsRUFBQTtBQUNoQyxpQkFBYyxXQUFXLENBQUMsRUFBQTtBQUMxQixpQkFBYyxlQUFlLENBQUMsRUFBQTtBQUM5QixpQkFBYyxpQkFBaUIsQ0FBQyxFQUFBO0FBQ2hDLGlCQUFjLG1CQUFtQixDQUFDLEVBQUE7QUFDbEMsaUJBQWMsYUFBYSxDQUFDLEVBQUE7QUFDNUIsaUJBQWMsaUJBQWlCLENBQUMsRUFBQSIsImZpbGUiOiJjb21wb25lbnRzL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE2IFBhbGFudGlyIFRlY2hub2xvZ2llcywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEJTRC0zIExpY2Vuc2UgYXMgbW9kaWZpZWQgKHRoZSDigJxMaWNlbnNl4oCdKTsgeW91IG1heSBvYnRhaW4gYSBjb3B5XG4gKiBvZiB0aGUgbGljZW5zZSBhdCBodHRwczovL2dpdGh1Yi5jb20vcGFsYW50aXIvYmx1ZXByaW50L2Jsb2IvbWFzdGVyL0xJQ0VOU0VcbiAqIGFuZCBodHRwczovL2dpdGh1Yi5jb20vcGFsYW50aXIvYmx1ZXByaW50L2Jsb2IvbWFzdGVyL1BBVEVOVFNcbiAqL1xuXG5pbXBvcnQgXCJkb200XCI7XG5cbmltcG9ydCAqIGFzIGNvbnRleHRNZW51IGZyb20gXCIuL2NvbnRleHQtbWVudS9jb250ZXh0TWVudVwiO1xuZXhwb3J0IGNvbnN0IENvbnRleHRNZW51ID0gY29udGV4dE1lbnU7XG5cbmV4cG9ydCAqIGZyb20gXCIuL2FsZXJ0L2FsZXJ0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9icmVhZGNydW1icy9icmVhZGNydW1iXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9idXR0b24vYnV0dG9uc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29sbGFwc2UvY29sbGFwc2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbGxhcHNpYmxlLWxpc3QvY29sbGFwc2libGVMaXN0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb250ZXh0LW1lbnUvY29udGV4dE1lbnVUYXJnZXRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RpYWxvZy9kaWFsb2dcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VkaXRhYmxlLXRleHQvZWRpdGFibGVUZXh0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9mb3Jtcy9jb250cm9sc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZm9ybXMvaW5wdXRHcm91cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZm9ybXMvcmFkaW9Hcm91cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaG90a2V5cy9ob3RrZXlzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9tZW51L21lbnVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21lbnUvbWVudURpdmlkZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21lbnUvbWVudUl0ZW1cIjtcbmV4cG9ydCAqIGZyb20gXCIuL25vbi1pZGVhbC1zdGF0ZS9ub25JZGVhbFN0YXRlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9vdmVybGF5L292ZXJsYXlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BvcG92ZXIvcG9wb3ZlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcG9wb3Zlci9zdmdQb3BvdmVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wb3J0YWwvcG9ydGFsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wcm9ncmVzcy9wcm9ncmVzc0JhclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdG9vbHRpcC9zdmdUb29sdGlwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zbGlkZXIvcmFuZ2VTbGlkZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NsaWRlci9zbGlkZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NwaW5uZXIvc3Bpbm5lclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3Bpbm5lci9zdmdTcGlubmVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJzL3RhYlwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFicy90YWJzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJzL3RhYkxpc3RcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYnMvdGFiUGFuZWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhZy90YWdcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RvYXN0L3RvYXN0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90b2FzdC90b2FzdGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90b29sdGlwL3Rvb2x0aXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RyZWUvdHJlZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHJlZS90cmVlTm9kZVwiO1xuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9
/***/ },
/* 60 */
-/***/ function(module, exports, __webpack_require__) {
-
- /*
- * Copyright 2015 Palantir Technologies, Inc. All rights reserved.
- * Licensed under the BSD-3 License as modified (the “License”); you may obtain a copy
- * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE
- * and https://github.com/palantir/blueprint/blob/master/PATENTS
- */
- "use strict";
- var utils_1 = __webpack_require__(61);
- /** A collection of curated prop keys used across our Components which are not valid HTMLElement props. */
- var INVALID_PROPS = [
- "containerRef",
- "defaultIndeterminate",
- "elementRef",
- "iconName",
- "inputRef",
- "intent",
- "leftIconName",
- "onChildrenMount",
- "onRemove",
- "rightElement",
- "rightIconName",
- "text",
- ];
- /**
- * Typically applied to HTMLElements to filter out blacklisted props. When applied to a Component,
- * can filter props from being passed down to the children. Can also filter by a combined list of
- * supplied prop keys and the blacklist (only appropriate for HTMLElements).
- * @param props The original props object to filter down.
- * @param {string[]} invalidProps If supplied, overwrites the default blacklist.
- * @param {boolean} shouldMerge If true, will merge supplied invalidProps and blacklist together.
- */
- function removeNonHTMLProps(props, invalidProps, shouldMerge) {
- if (invalidProps === void 0) { invalidProps = INVALID_PROPS; }
- if (shouldMerge === void 0) { shouldMerge = false; }
- if (shouldMerge) {
- invalidProps = invalidProps.concat(INVALID_PROPS);
- }
- return invalidProps.reduce(function (prev, curr) {
- if (prev.hasOwnProperty(curr)) {
- delete prev[curr];
- }
- return prev;
- }, utils_1.shallowClone(props));
- }
- exports.removeNonHTMLProps = removeNonHTMLProps;
-
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tb24vcHJvcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHOztBQUtILHNCQUE2QixTQUFTLENBQUMsQ0FBQTtBQXVFdkMsMEdBQTBHO0FBQzFHLElBQU0sYUFBYSxHQUFHO0lBQ2xCLGNBQWM7SUFDZCxzQkFBc0I7SUFDdEIsWUFBWTtJQUNaLFVBQVU7SUFDVixVQUFVO0lBQ1YsUUFBUTtJQUNSLGNBQWM7SUFDZCxpQkFBaUI7SUFDakIsVUFBVTtJQUNWLGNBQWM7SUFDZCxlQUFlO0lBQ2YsTUFBTTtDQUNULENBQUM7QUFFRjs7Ozs7OztHQU9HO0FBQ0gsNEJBQW1ELEtBQVEsRUFBRSxZQUE0QixFQUFFLFdBQW1CO0lBQWpELDRCQUE0QixHQUE1Qiw0QkFBNEI7SUFBRSwyQkFBbUIsR0FBbkIsbUJBQW1CO0lBQzFHLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFBQyxZQUFZLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUFDLENBQUM7SUFDdkUsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsVUFBQyxJQUFJLEVBQUUsSUFBSTtRQUNsQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUFDLE9BQWMsSUFBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQUMsQ0FBQztRQUM3RCxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ2hCLENBQUMsRUFBRSxvQkFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDNUIsQ0FBQztBQU5lLDBCQUFrQixxQkFNakMsQ0FBQSIsImZpbGUiOiJjb21tb24vcHJvcHMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUgUGFsYW50aXIgVGVjaG5vbG9naWVzLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wIC0gaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKi9cblxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5cbmltcG9ydCB7IEludGVudCB9IGZyb20gXCIuL2ludGVudFwiO1xuaW1wb3J0IHsgc2hhbGxvd0Nsb25lIH0gZnJvbSBcIi4vdXRpbHNcIjtcblxuZXhwb3J0IHR5cGUgSFRNTElucHV0UHJvcHMgPSBSZWFjdC5IVE1MUHJvcHM8SFRNTElucHV0RWxlbWVudD47XG5cbi8qKlxuICogQSBzaGFyZWQgYmFzZSBpbnRlcmZhY2UgZm9yIGFsbCBCbHVlcHJpbnQgY29tcG9uZW50IHByb3BzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElQcm9wcyB7XG4gICAgLyoqIEEgc3BhY2UtZGVsaW1pdGVkIGxpc3Qgb2YgY2xhc3MgbmFtZXMgdG8gcGFzcyBhbG9uZyB0byBhIGNoaWxkIGVsZW1lbnQuICovXG4gICAgY2xhc3NOYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElJbnRlbnRQcm9wcyB7XG4gICAgLyoqIFZpc3VhbCBpbnRlbnQgY29sb3IgdG8gYXBwbHkgdG8gZWxlbWVudC4gKi9cbiAgICBpbnRlbnQ/OiBJbnRlbnQ7XG59XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBhIGNsaWNrYWJsZSBhY3Rpb24sIHN1Y2ggYXMgYSBidXR0b24gb3IgbWVudSBpdGVtLlxuICogVGhlc2UgcHJvcHMgY2FuIGJlIHNwcmVhZHkgZGlyZWN0bHkgdG8gYSBgPEJ1dHRvbj5gIG9yIGA8TWVudUl0ZW0+YCBlbGVtZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElBY3Rpb25Qcm9wcyBleHRlbmRzIElJbnRlbnRQcm9wcywgSVByb3BzIHtcbiAgICAvKiogV2hldGhlciB0aGlzIGFjdGlvbiBpcyBub24taW50ZXJhY3RpdmUuICovXG4gICAgZGlzYWJsZWQ/OiBib29sZWFuO1xuXG4gICAgLyoqIE5hbWUgb2YgaWNvbiAodGhlIHBhcnQgYWZ0ZXIgYHB0LWljb24tYCkgdG8gYWRkIHRvIGJ1dHRvbi4gKi9cbiAgICBpY29uTmFtZT86IHN0cmluZztcblxuICAgIC8qKiBDbGljayBldmVudCBoYW5kbGVyLiAqL1xuICAgIG9uQ2xpY2s/OiAoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEVsZW1lbnQ+KSA9PiB2b2lkO1xuXG4gICAgLyoqIEFjdGlvbiB0ZXh0LCByZXF1aXJlZCBmb3IgdXNhYmlsaXR5LiAqL1xuICAgIHRleHQ/OiBzdHJpbmc7XG59XG5cbi8qKiBJbnRlcmZhY2UgZm9yIGEgbGluaywgd2l0aCBzdXBwb3J0IGZvciBjdXN0b21pemluZyB0YXJnZXQgd2luZG93LiAqL1xuZXhwb3J0IGludGVyZmFjZSBJTGlua1Byb3BzIHtcbiAgICAvKiogTGluayBVUkwuICovXG4gICAgaHJlZj86IHN0cmluZztcblxuICAgIC8qKiBMaW5rIHRhcmdldCBhdHRyaWJ1dGUuIFVzZSBcIl9ibGFua1wiIHRvIG9wZW4gaW4gYSBuZXcgd2luZG93LiAqL1xuICAgIHRhcmdldD86IHN0cmluZztcbn1cblxuLyoqIEludGVyZmFjZSBmb3IgYSBjb250cm9sbGVkIGlucHV0LiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ29udHJvbGxlZFByb3BzIHtcbiAgICAvKiogSW5pdGlhbCB2YWx1ZSBvZiB0aGUgaW5wdXQsIGZvciB1bmNvbnRyb2xsZWQgdXNhZ2UuICovXG4gICAgZGVmYXVsdFZhbHVlPzogc3RyaW5nO1xuXG4gICAgLyoqIENoYW5nZSBldmVudCBoYW5kbGVyLiBVc2UgYGV2ZW50LnRhcmdldC52YWx1ZWAgZm9yIG5ldyB2YWx1ZS4gKi9cbiAgICBvbkNoYW5nZT86IFJlYWN0LkZvcm1FdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuXG4gICAgLyoqIEZvcm0gdmFsdWUgb2YgdGhlIGlucHV0LCBmb3IgY29udHJvbGxlZCB1c2FnZS4gKi9cbiAgICB2YWx1ZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBBbiBpbnRlcmZhY2UgZm9yIGFuIG9wdGlvbiBpbiBhIGxpc3QsIHN1Y2ggYXMgaW4gYSBgPHNlbGVjdD5gIG9yIGBSYWRpb0dyb3VwYC5cbiAqIFRoZXNlIHByb3BzIGNhbiBiZSBzcHJlYWQgZGlyZWN0bHkgdG8gYW4gYDxvcHRpb24+YCBvciBgPFJhZGlvPmAgZWxlbWVudC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJT3B0aW9uUHJvcHMgZXh0ZW5kcyBJUHJvcHMge1xuICAgIC8qKiBXaGV0aGVyIHRoaXMgb3B0aW9uIGlzIG5vbi1pbnRlcmFjdGl2ZS4gKi9cbiAgICBkaXNhYmxlZD86IGJvb2xlYW47XG5cbiAgICAvKiogTGFiZWwgdGV4dCBmb3IgdGhpcyBvcHRpb24uICovXG4gICAgbGFiZWw6IHN0cmluZztcblxuICAgIC8qKiBWYWx1ZSBvZiB0aGlzIG9wdGlvbiAqL1xuICAgIHZhbHVlOiBzdHJpbmc7XG59XG5cbi8qKiBBIGNvbGxlY3Rpb24gb2YgY3VyYXRlZCBwcm9wIGtleXMgdXNlZCBhY3Jvc3Mgb3VyIENvbXBvbmVudHMgd2hpY2ggYXJlIG5vdCB2YWxpZCBIVE1MRWxlbWVudCBwcm9wcy4gKi9cbmNvbnN0IElOVkFMSURfUFJPUFMgPSBbXG4gICAgXCJjb250YWluZXJSZWZcIixcbiAgICBcImRlZmF1bHRJbmRldGVybWluYXRlXCIsXG4gICAgXCJlbGVtZW50UmVmXCIsXG4gICAgXCJpY29uTmFtZVwiLFxuICAgIFwiaW5wdXRSZWZcIixcbiAgICBcImludGVudFwiLFxuICAgIFwibGVmdEljb25OYW1lXCIsXG4gICAgXCJvbkNoaWxkcmVuTW91bnRcIixcbiAgICBcIm9uUmVtb3ZlXCIsXG4gICAgXCJyaWdodEVsZW1lbnRcIixcbiAgICBcInJpZ2h0SWNvbk5hbWVcIixcbiAgICBcInRleHRcIixcbl07XG5cbi8qKlxuICogVHlwaWNhbGx5IGFwcGxpZWQgdG8gSFRNTEVsZW1lbnRzIHRvIGZpbHRlciBvdXQgYmxhY2tsaXN0ZWQgcHJvcHMuIFdoZW4gYXBwbGllZCB0byBhIENvbXBvbmVudCxcbiAqIGNhbiBmaWx0ZXIgcHJvcHMgZnJvbSBiZWluZyBwYXNzZWQgZG93biB0byB0aGUgY2hpbGRyZW4uIENhbiBhbHNvIGZpbHRlciBieSBhIGNvbWJpbmVkIGxpc3Qgb2ZcbiAqIHN1cHBsaWVkIHByb3Aga2V5cyBhbmQgdGhlIGJsYWNrbGlzdCAob25seSBhcHByb3ByaWF0ZSBmb3IgSFRNTEVsZW1lbnRzKS5cbiAqIEBwYXJhbSBwcm9wcyBUaGUgb3JpZ2luYWwgcHJvcHMgb2JqZWN0IHRvIGZpbHRlciBkb3duLlxuICogQHBhcmFtIHtzdHJpbmdbXX0gaW52YWxpZFByb3BzIElmIHN1cHBsaWVkLCBvdmVyd3JpdGVzIHRoZSBkZWZhdWx0IGJsYWNrbGlzdC5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gc2hvdWxkTWVyZ2UgSWYgdHJ1ZSwgd2lsbCBtZXJnZSBzdXBwbGllZCBpbnZhbGlkUHJvcHMgYW5kIGJsYWNrbGlzdCB0b2dldGhlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZU5vbkhUTUxQcm9wczxUIGV4dGVuZHMgVSwgVT4ocHJvcHM6IFQsIGludmFsaWRQcm9wcyA9IElOVkFMSURfUFJPUFMsIHNob3VsZE1lcmdlID0gZmFsc2UpOiBVIHtcbiAgICBpZiAoc2hvdWxkTWVyZ2UpIHsgaW52YWxpZFByb3BzID0gaW52YWxpZFByb3BzLmNvbmNhdChJTlZBTElEX1BST1BTKTsgfVxuICAgIHJldHVybiBpbnZhbGlkUHJvcHMucmVkdWNlKChwcmV2LCBjdXJyKSA9PiB7XG4gICAgICAgIGlmIChwcmV2Lmhhc093blByb3BlcnR5KGN1cnIpKSB7IGRlbGV0ZSAoPGFueT4gcHJldilbY3Vycl07IH1cbiAgICAgICAgcmV0dXJuIHByZXY7XG4gICAgfSwgc2hhbGxvd0Nsb25lKHByb3BzKSk7XG59XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0=
-
-
-/***/ },
-/* 61 */
/***/ function(module, exports) {
- /*
- * Copyright 2015 Palantir Technologies, Inc. All rights reserved.
- * Licensed under the BSD-3 License as modified (the “License”); you may obtain a copy
- * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE
- * and https://github.com/palantir/blueprint/blob/master/PATENTS
- */
- "use strict";
- /** Returns whether the value is a function. Acts as a type guard. */
- function isFunction(value) {
- return typeof value === "function";
- }
- exports.isFunction = isFunction;
- function safeInvoke(func) {
- var args = [];
- for (var _i = 1; _i < arguments.length; _i++) {
- args[_i - 1] = arguments[_i];
- }
- if (isFunction(func)) {
- return func.apply(void 0, args);
- }
- }
- exports.safeInvoke = safeInvoke;
- function elementIsOrContains(element, testElement) {
- return element === testElement || element.contains(testElement);
- }
- exports.elementIsOrContains = elementIsOrContains;
- /**
- * Returns the difference in length between two arrays. A `null` argument is considered an empty list.
- * The return value will be positive if `a` is longer than `b`, negative if the opposite is true,
- * and zero if their lengths are equal.
- */
- function arrayLengthCompare(a, b) {
- if (a === void 0) { a = []; }
- if (b === void 0) { b = []; }
- return a.length - b.length;
- }
- exports.arrayLengthCompare = arrayLengthCompare;
- /**
- * Returns true if the two numbers are within the given tolerance of each other.
- * This is useful to correct for floating point precision issues, less useful for integers.
- */
- function approxEqual(a, b, tolerance) {
- if (tolerance === void 0) { tolerance = 0.00001; }
- return Math.abs(a - b) <= tolerance;
- }
- exports.approxEqual = approxEqual;
- /* Clamps the given number between min and max values. Returns value if within range, or closest bound. */
- function clamp(val, min, max) {
- if (max < min) {
- throw new Error("clamp: max cannot be less than min");
- }
- return Math.min(Math.max(val, min), max);
- }
- exports.clamp = clamp;
- /** Return a new object with the same keys as the given object (values are copied, not cloned). */
- function shallowClone(object) {
- var clonedObject = {};
- for (var key in object) {
- if (object.hasOwnProperty(key)) {
- clonedObject[key] = object[key];
- }
- }
- return clonedObject;
- }
- exports.shallowClone = shallowClone;
- /**
- * Throttle an event on an EventTarget by wrapping it in `requestAnimationFrame` call.
- * Returns the event handler that was bound to given eventName so you can clean up after yourself.
- * @see https://developer.mozilla.org/en-US/docs/Web/Events/scroll
- */
- function throttleEvent(target, eventName, newEventName) {
- var running = false;
- /* istanbul ignore next: borrowed directly from MDN */
- var func = function (event) {
- if (running) {
- return;
- }
- running = true;
- requestAnimationFrame(function () {
- target.dispatchEvent(new CustomEvent(newEventName, event));
- running = false;
- });
- };
- target.addEventListener(eventName, func);
- return func;
- }
- exports.throttleEvent = throttleEvent;
- ;
+ /*!
+ Copyright (C) 2013-2015 by Andrea Giammarchi - @WebReflection
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tb24vdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHOztBQUVILHFFQUFxRTtBQUNyRSxvQkFBMkIsS0FBVTtJQUNqQyxNQUFNLENBQUMsT0FBTyxLQUFLLEtBQUssVUFBVSxDQUFDO0FBQ3ZDLENBQUM7QUFGZSxrQkFBVSxhQUV6QixDQUFBO0FBT0Qsb0JBQTJCLElBQWM7SUFBRSxjQUFjO1NBQWQsV0FBYyxDQUFkLHNCQUFjLENBQWQsSUFBYztRQUFkLDZCQUFjOztJQUNyRCxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25CLE1BQU0sQ0FBQyxJQUFJLGVBQUksSUFBSSxDQUFDLENBQUM7SUFDekIsQ0FBQztBQUNMLENBQUM7QUFKZSxrQkFBVSxhQUl6QixDQUFBO0FBRUQsNkJBQW9DLE9BQW9CLEVBQUUsV0FBd0I7SUFDOUUsTUFBTSxDQUFDLE9BQU8sS0FBSyxXQUFXLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUNwRSxDQUFDO0FBRmUsMkJBQW1CLHNCQUVsQyxDQUFBO0FBRUQ7Ozs7R0FJRztBQUNILDRCQUFtQyxDQUFhLEVBQUUsQ0FBYTtJQUE1QixpQkFBYSxHQUFiLE1BQWE7SUFBRSxpQkFBYSxHQUFiLE1BQWE7SUFDM0QsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztBQUMvQixDQUFDO0FBRmUsMEJBQWtCLHFCQUVqQyxDQUFBO0FBRUQ7OztHQUdHO0FBQ0gscUJBQTRCLENBQVMsRUFBRSxDQUFTLEVBQUUsU0FBbUI7SUFBbkIseUJBQW1CLEdBQW5CLG1CQUFtQjtJQUNqRSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksU0FBUyxDQUFDO0FBQ3hDLENBQUM7QUFGZSxtQkFBVyxjQUUxQixDQUFBO0FBRUQsMEdBQTBHO0FBQzFHLGVBQXNCLEdBQVcsRUFBRSxHQUFXLEVBQUUsR0FBVztJQUN2RCxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUxlLGFBQUssUUFLcEIsQ0FBQTtBQUVELGtHQUFrRztBQUNsRyxzQkFBZ0MsTUFBUztJQUNyQyxJQUFNLFlBQVksR0FBUSxFQUFFLENBQUM7SUFDN0IsR0FBRyxDQUFDLENBQUMsSUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQztRQUN2QixFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3QixZQUFZLENBQUMsR0FBRyxDQUFDLEdBQVUsTUFBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLENBQUM7SUFDTCxDQUFDO0lBQ0QsTUFBTSxDQUFDLFlBQWlCLENBQUM7QUFDN0IsQ0FBQztBQVJlLG9CQUFZLGVBUTNCLENBQUE7QUFFRDs7OztHQUlHO0FBQ0gsdUJBQThCLE1BQW1CLEVBQUUsU0FBaUIsRUFBRSxZQUFvQjtJQUN0RixJQUFJLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDcEIsc0RBQXNEO0lBQ3RELElBQUksSUFBSSxHQUFHLFVBQVMsS0FBWTtRQUM1QixFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQUMsTUFBTSxDQUFDO1FBQUMsQ0FBQztRQUN4QixPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ2YscUJBQXFCLENBQUM7WUFDbEIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUMzRCxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQyxDQUFDO0lBQ0YsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN6QyxNQUFNLENBQUMsSUFBSSxDQUFDO0FBQ2hCLENBQUM7QUFiZSxxQkFBYSxnQkFhNUIsQ0FBQTtBQUFBLENBQUMiLCJmaWxlIjoiY29tbW9uL3V0aWxzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1IFBhbGFudGlyIFRlY2hub2xvZ2llcywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAtIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICovXG5cbi8qKiBSZXR1cm5zIHdoZXRoZXIgdGhlIHZhbHVlIGlzIGEgZnVuY3Rpb24uIEFjdHMgYXMgYSB0eXBlIGd1YXJkLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzRnVuY3Rpb24odmFsdWU6IGFueSk6IHZhbHVlIGlzIEZ1bmN0aW9uIHtcbiAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSBcImZ1bmN0aW9uXCI7XG59XG5cbi8qKiBTYWZlbHkgaW52b2tlIHRoZSBmdW5jdGlvbiB3aXRoIHRoZSBnaXZlbiBhcmd1bWVudHMsIGlmIGl0IGlzIGluZGVlZCBhIGZ1bmN0aW9uLCBhbmQgcmV0dXJuIGl0cyB2YWx1ZS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzYWZlSW52b2tlPFI+KGZ1bmM6ICgpID0+IFIpOiBSO1xuZXhwb3J0IGZ1bmN0aW9uIHNhZmVJbnZva2U8QSwgUj4oZnVuYzogKGFyZzE6IEEpID0+IFIsIGFyZzE6IEEpOiBSO1xuZXhwb3J0IGZ1bmN0aW9uIHNhZmVJbnZva2U8QSwgQiwgUj4oZnVuYzogKGFyZzE6IEEsIGFyZzI6IEIpID0+IFIsIGFyZzE6IEEsIGFyZzI6IEIpOiBSO1xuZXhwb3J0IGZ1bmN0aW9uIHNhZmVJbnZva2U8QSwgQiwgQywgUj4oZnVuYzogKGFyZzE6IEEsIGFyZzI6IEIsIGFyZzM6IEMpID0+IFIsIGFyZzE6IEEsIGFyZzI6IEIsIGFyZzM6IEMpOiBSO1xuZXhwb3J0IGZ1bmN0aW9uIHNhZmVJbnZva2UoZnVuYzogRnVuY3Rpb24sIC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgaWYgKGlzRnVuY3Rpb24oZnVuYykpIHtcbiAgICAgICAgcmV0dXJuIGZ1bmMoLi4uYXJncyk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZWxlbWVudElzT3JDb250YWlucyhlbGVtZW50OiBIVE1MRWxlbWVudCwgdGVzdEVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XG4gICAgcmV0dXJuIGVsZW1lbnQgPT09IHRlc3RFbGVtZW50IHx8IGVsZW1lbnQuY29udGFpbnModGVzdEVsZW1lbnQpO1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIGRpZmZlcmVuY2UgaW4gbGVuZ3RoIGJldHdlZW4gdHdvIGFycmF5cy4gQSBgbnVsbGAgYXJndW1lbnQgaXMgY29uc2lkZXJlZCBhbiBlbXB0eSBsaXN0LlxuICogVGhlIHJldHVybiB2YWx1ZSB3aWxsIGJlIHBvc2l0aXZlIGlmIGBhYCBpcyBsb25nZXIgdGhhbiBgYmAsIG5lZ2F0aXZlIGlmIHRoZSBvcHBvc2l0ZSBpcyB0cnVlLFxuICogYW5kIHplcm8gaWYgdGhlaXIgbGVuZ3RocyBhcmUgZXF1YWwuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcnJheUxlbmd0aENvbXBhcmUoYTogYW55W10gPSBbXSwgYjogYW55W10gPSBbXSkge1xuICAgIHJldHVybiBhLmxlbmd0aCAtIGIubGVuZ3RoO1xufVxuXG4vKipcbiAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgdHdvIG51bWJlcnMgYXJlIHdpdGhpbiB0aGUgZ2l2ZW4gdG9sZXJhbmNlIG9mIGVhY2ggb3RoZXIuXG4gKiBUaGlzIGlzIHVzZWZ1bCB0byBjb3JyZWN0IGZvciBmbG9hdGluZyBwb2ludCBwcmVjaXNpb24gaXNzdWVzLCBsZXNzIHVzZWZ1bCBmb3IgaW50ZWdlcnMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcHByb3hFcXVhbChhOiBudW1iZXIsIGI6IG51bWJlciwgdG9sZXJhbmNlID0gMC4wMDAwMSkge1xuICAgIHJldHVybiBNYXRoLmFicyhhIC0gYikgPD0gdG9sZXJhbmNlO1xufVxuXG4vKiBDbGFtcHMgdGhlIGdpdmVuIG51bWJlciBiZXR3ZWVuIG1pbiBhbmQgbWF4IHZhbHVlcy4gUmV0dXJucyB2YWx1ZSBpZiB3aXRoaW4gcmFuZ2UsIG9yIGNsb3Nlc3QgYm91bmQuICovXG5leHBvcnQgZnVuY3Rpb24gY2xhbXAodmFsOiBudW1iZXIsIG1pbjogbnVtYmVyLCBtYXg6IG51bWJlcikge1xuICAgIGlmIChtYXggPCBtaW4pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiY2xhbXA6IG1heCBjYW5ub3QgYmUgbGVzcyB0aGFuIG1pblwiKTtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgubWluKE1hdGgubWF4KHZhbCwgbWluKSwgbWF4KTtcbn1cblxuLyoqIFJldHVybiBhIG5ldyBvYmplY3Qgd2l0aCB0aGUgc2FtZSBrZXlzIGFzIHRoZSBnaXZlbiBvYmplY3QgKHZhbHVlcyBhcmUgY29waWVkLCBub3QgY2xvbmVkKS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzaGFsbG93Q2xvbmU8VD4ob2JqZWN0OiBUKTogVCB7XG4gICAgY29uc3QgY2xvbmVkT2JqZWN0OiBhbnkgPSB7fTtcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBvYmplY3QpIHtcbiAgICAgICAgaWYgKG9iamVjdC5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgICAgICBjbG9uZWRPYmplY3Rba2V5XSA9ICg8YW55PiBvYmplY3QpW2tleV07XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNsb25lZE9iamVjdCBhcyBUO1xufVxuXG4vKipcbiAqIFRocm90dGxlIGFuIGV2ZW50IG9uIGFuIEV2ZW50VGFyZ2V0IGJ5IHdyYXBwaW5nIGl0IGluIGByZXF1ZXN0QW5pbWF0aW9uRnJhbWVgIGNhbGwuXG4gKiBSZXR1cm5zIHRoZSBldmVudCBoYW5kbGVyIHRoYXQgd2FzIGJvdW5kIHRvIGdpdmVuIGV2ZW50TmFtZSBzbyB5b3UgY2FuIGNsZWFuIHVwIGFmdGVyIHlvdXJzZWxmLlxuICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9FdmVudHMvc2Nyb2xsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0aHJvdHRsZUV2ZW50KHRhcmdldDogRXZlbnRUYXJnZXQsIGV2ZW50TmFtZTogc3RyaW5nLCBuZXdFdmVudE5hbWU6IHN0cmluZykge1xuICAgIGxldCBydW5uaW5nID0gZmFsc2U7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IGJvcnJvd2VkIGRpcmVjdGx5IGZyb20gTUROICovXG4gICAgbGV0IGZ1bmMgPSBmdW5jdGlvbihldmVudDogRXZlbnQpIHtcbiAgICAgICAgaWYgKHJ1bm5pbmcpIHsgcmV0dXJuOyB9XG4gICAgICAgIHJ1bm5pbmcgPSB0cnVlO1xuICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICB0YXJnZXQuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQobmV3RXZlbnROYW1lLCBldmVudCkpO1xuICAgICAgICAgICAgcnVubmluZyA9IGZhbHNlO1xuICAgICAgICB9KTtcbiAgICB9O1xuICAgIHRhcmdldC5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgZnVuYyk7XG4gICAgcmV0dXJuIGZ1bmM7XG59O1xuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9
+ 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.
-/***/ },
-/* 62 */
-/***/ function(module, exports, __webpack_require__) {
+ 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.
- /*
- * Copyright 2015 Palantir Technologies, Inc. All rights reserved.
- * Licensed under the BSD-3 License as modified (the “License”); you may obtain a copy
- * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE
- * and https://github.com/palantir/blueprint/blob/master/PATENTS
- */
- "use strict";
- var position_1 = __webpack_require__(59);
- var DEFAULT_CONSTRAINTS = {
- attachment: "together",
- to: "scrollParent",
- };
- /** @internal */
- function createTetherOptions(element, target, position, useSmartPositioning, constraints) {
- if (constraints == null && useSmartPositioning) {
- constraints = [DEFAULT_CONSTRAINTS];
- }
- var options = {
- attachment: getPopoverAttachment(position),
- classPrefix: "pt-tether",
- constraints: constraints,
- element: element,
- target: target,
- targetAttachment: getTargetAttachment(position),
- };
- return options;
- }
- exports.createTetherOptions = createTetherOptions;
- /** @internal */
- function getTargetAttachment(position) {
- var attachments = (_a = {},
- _a[position_1.Position.TOP_LEFT] = "top left",
- _a[position_1.Position.TOP] = "top center",
- _a[position_1.Position.TOP_RIGHT] = "top right",
- _a[position_1.Position.RIGHT_TOP] = "top right",
- _a[position_1.Position.RIGHT] = "middle right",
- _a[position_1.Position.RIGHT_BOTTOM] = "bottom right",
- _a[position_1.Position.BOTTOM_RIGHT] = "bottom right",
- _a[position_1.Position.BOTTOM] = "bottom center",
- _a[position_1.Position.BOTTOM_LEFT] = "bottom left",
- _a[position_1.Position.LEFT_BOTTOM] = "bottom left",
- _a[position_1.Position.LEFT] = "middle left",
- _a[position_1.Position.LEFT_TOP] = "top left",
- _a
- );
- return attachments[position];
- var _a;
- }
- exports.getTargetAttachment = getTargetAttachment;
- /** @internal */
- function getPopoverAttachment(position) {
- var attachments = (_a = {},
- _a[position_1.Position.TOP_LEFT] = "bottom left",
- _a[position_1.Position.TOP] = "bottom center",
- _a[position_1.Position.TOP_RIGHT] = "bottom right",
- _a[position_1.Position.RIGHT_TOP] = "top left",
- _a[position_1.Position.RIGHT] = "middle left",
- _a[position_1.Position.RIGHT_BOTTOM] = "bottom left",
- _a[position_1.Position.BOTTOM_RIGHT] = "top right",
- _a[position_1.Position.BOTTOM] = "top center",
- _a[position_1.Position.BOTTOM_LEFT] = "top left",
- _a[position_1.Position.LEFT_BOTTOM] = "bottom right",
- _a[position_1.Position.LEFT] = "middle right",
- _a[position_1.Position.LEFT_TOP] = "top right",
- _a
- );
- return attachments[position];
- var _a;
- }
- exports.getPopoverAttachment = getPopoverAttachment;
- /** @internal */
- function getAttachmentClasses(position) {
- // this essentially reimplements the Tether logic for attachment classes so the same styles
- // can be reused outside of Tether-based popovers.
- return expandAttachmentClasses(getPopoverAttachment(position), "pt-tether-element-attached").concat(expandAttachmentClasses(getTargetAttachment(position), "pt-tether-target-attached"));
- }
- exports.getAttachmentClasses = getAttachmentClasses;
- function expandAttachmentClasses(attachments, prefix) {
- var _a = attachments.split(" "), verticalAlign = _a[0], horizontalAlign = _a[1];
- return [(prefix + "-" + verticalAlign), (prefix + "-" + horizontalAlign)];
- }
+ */
+ (function(window){'use strict';
+ /* jshint loopfunc: true, noempty: false*/
+ // http://www.w3.org/TR/dom/#element
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tb24vdGV0aGVyVXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHOztBQUlILHlCQUF5QixZQUFZLENBQUMsQ0FBQTtBQUV0QyxJQUFNLG1CQUFtQixHQUFHO0lBQ3hCLFVBQVUsRUFBRSxVQUFVO0lBQ3RCLEVBQUUsRUFBRSxjQUFjO0NBQ3JCLENBQUM7QUFVRixnQkFBZ0I7QUFDaEIsNkJBQW9DLE9BQWdCLEVBQ2hCLE1BQVksRUFDWixRQUFrQixFQUNsQixtQkFBNEIsRUFDNUIsV0FBZ0M7SUFDaEUsRUFBRSxDQUFDLENBQUMsV0FBVyxJQUFJLElBQUksSUFBSSxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7UUFDN0MsV0FBVyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBTSxPQUFPLEdBQTBCO1FBQ25DLFVBQVUsRUFBRSxvQkFBb0IsQ0FBQyxRQUFRLENBQUM7UUFDMUMsV0FBVyxFQUFFLFdBQVc7UUFDeEIsd0JBQVc7UUFDWCxnQkFBTztRQUNQLGNBQU07UUFDTixnQkFBZ0IsRUFBRSxtQkFBbUIsQ0FBQyxRQUFRLENBQUM7S0FDbEQsQ0FBQztJQUNGLE1BQU0sQ0FBQyxPQUFPLENBQUM7QUFDbkIsQ0FBQztBQWxCZSwyQkFBbUIsc0JBa0JsQyxDQUFBO0FBRUQsZ0JBQWdCO0FBQ2hCLDZCQUFvQyxRQUFrQjtJQUNsRCxJQUFNLFdBQVcsR0FBMEI7UUFDdkMsR0FBQyxtQkFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFNLFVBQVU7UUFDbkMsR0FBQyxtQkFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFXLFlBQVk7UUFDckMsR0FBQyxtQkFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFLLFdBQVc7UUFDcEMsR0FBQyxtQkFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFLLFdBQVc7UUFDcEMsR0FBQyxtQkFBUSxDQUFDLEtBQUssQ0FBQyxHQUFTLGNBQWM7UUFDdkMsR0FBQyxtQkFBUSxDQUFDLFlBQVksQ0FBQyxHQUFFLGNBQWM7UUFDdkMsR0FBQyxtQkFBUSxDQUFDLFlBQVksQ0FBQyxHQUFFLGNBQWM7UUFDdkMsR0FBQyxtQkFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFRLGVBQWU7UUFDeEMsR0FBQyxtQkFBUSxDQUFDLFdBQVcsQ0FBQyxHQUFHLGFBQWE7UUFDdEMsR0FBQyxtQkFBUSxDQUFDLFdBQVcsQ0FBQyxHQUFHLGFBQWE7UUFDdEMsR0FBQyxtQkFBUSxDQUFDLElBQUksQ0FBQyxHQUFVLGFBQWE7UUFDdEMsR0FBQyxtQkFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFNLFVBQVU7O0tBQ3RDLENBQUM7SUFDRixNQUFNLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDOztBQUNqQyxDQUFDO0FBaEJlLDJCQUFtQixzQkFnQmxDLENBQUE7QUFFRCxnQkFBZ0I7QUFDaEIsOEJBQXFDLFFBQWtCO0lBQ25ELElBQU0sV0FBVyxHQUEwQjtRQUN2QyxHQUFDLG1CQUFRLENBQUMsUUFBUSxDQUFDLEdBQU0sYUFBYTtRQUN0QyxHQUFDLG1CQUFRLENBQUMsR0FBRyxDQUFDLEdBQVcsZUFBZTtRQUN4QyxHQUFDLG1CQUFRLENBQUMsU0FBUyxDQUFDLEdBQUssY0FBYztRQUN2QyxHQUFDLG1CQUFRLENBQUMsU0FBUyxDQUFDLEdBQUssVUFBVTtRQUNuQyxHQUFDLG1CQUFRLENBQUMsS0FBSyxDQUFDLEdBQVMsYUFBYTtRQUN0QyxHQUFDLG1CQUFRLENBQUMsWUFBWSxDQUFDLEdBQUUsYUFBYTtRQUN0QyxHQUFDLG1CQUFRLENBQUMsWUFBWSxDQUFDLEdBQUUsV0FBVztRQUNwQyxHQUFDLG1CQUFRLENBQUMsTUFBTSxDQUFDLEdBQVEsWUFBWTtRQUNyQyxHQUFDLG1CQUFRLENBQUMsV0FBVyxDQUFDLEdBQUcsVUFBVTtRQUNuQyxHQUFDLG1CQUFRLENBQUMsV0FBVyxDQUFDLEdBQUcsY0FBYztRQUN2QyxHQUFDLG1CQUFRLENBQUMsSUFBSSxDQUFDLEdBQVUsY0FBYztRQUN2QyxHQUFDLG1CQUFRLENBQUMsUUFBUSxDQUFDLEdBQU0sV0FBVzs7S0FDdkMsQ0FBQztJQUNGLE1BQU0sQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7O0FBQ2pDLENBQUM7QUFoQmUsNEJBQW9CLHVCQWdCbkMsQ0FBQTtBQUVELGdCQUFnQjtBQUNoQiw4QkFBcUMsUUFBa0I7SUFDbkQsMkZBQTJGO0lBQzNGLGtEQUFrRDtJQUNsRCxNQUFNLENBQ0MsdUJBQXVCLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLEVBQUUsNEJBQTRCLENBQUMsUUFDckYsdUJBQXVCLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLEVBQUUsMkJBQTJCLENBQUMsQ0FDekYsQ0FBQztBQUNOLENBQUM7QUFQZSw0QkFBb0IsdUJBT25DLENBQUE7QUFFRCxpQ0FBaUMsV0FBbUIsRUFBRSxNQUFjO0lBQ2hFLElBQUEsMkJBQStELEVBQXhELHFCQUFhLEVBQUUsdUJBQWUsQ0FBMkI7SUFDaEUsTUFBTSxDQUFDLENBQUMsQ0FBRyxNQUFNLFNBQUksYUFBYSxDQUFFLEVBQUUsQ0FBRyxNQUFNLFNBQUksZUFBZSxDQUFFLENBQUMsQ0FBQztBQUMxRSxDQUFDIiwiZmlsZSI6ImNvbW1vbi90ZXRoZXJVdGlscy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNSBQYWxhbnRpciBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgLSBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqL1xuXG5pbXBvcnQgKiBhcyBUZXRoZXIgZnJvbSBcInRldGhlclwiO1xuXG5pbXBvcnQgeyBQb3NpdGlvbiB9IGZyb20gXCIuL3Bvc2l0aW9uXCI7XG5cbmNvbnN0IERFRkFVTFRfQ09OU1RSQUlOVFMgPSB7XG4gICAgYXR0YWNobWVudDogXCJ0b2dldGhlclwiLFxuICAgIHRvOiBcInNjcm9sbFBhcmVudFwiLFxufTtcblxuZXhwb3J0IGludGVyZmFjZSBJVGV0aGVyQ29uc3RyYWludCB7XG4gICAgYXR0YWNobWVudD86IHN0cmluZztcbiAgICBvdXRPZkJvdW5kc0NsYXNzPzogc3RyaW5nO1xuICAgIHBpbj86IGJvb2xlYW4gfCBzdHJpbmdbXTtcbiAgICBwaW5uZWRDbGFzcz86IHN0cmluZztcbiAgICB0bz86IHN0cmluZyB8IEhUTUxFbGVtZW50IHwgbnVtYmVyW107XG59XG5cbi8qKiBAaW50ZXJuYWwgKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVUZXRoZXJPcHRpb25zKGVsZW1lbnQ6IEVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IE5vZGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogUG9zaXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VTbWFydFBvc2l0aW9uaW5nOiBib29sZWFuLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3RyYWludHM6IElUZXRoZXJDb25zdHJhaW50W10pIHtcbiAgICBpZiAoY29uc3RyYWludHMgPT0gbnVsbCAmJiB1c2VTbWFydFBvc2l0aW9uaW5nKSB7XG4gICAgICAgIGNvbnN0cmFpbnRzID0gW0RFRkFVTFRfQ09OU1RSQUlOVFNdO1xuICAgIH1cblxuICAgIGNvbnN0IG9wdGlvbnM6IFRldGhlci5JVGV0aGVyT3B0aW9ucyA9IHtcbiAgICAgICAgYXR0YWNobWVudDogZ2V0UG9wb3ZlckF0dGFjaG1lbnQocG9zaXRpb24pLFxuICAgICAgICBjbGFzc1ByZWZpeDogXCJwdC10ZXRoZXJcIixcbiAgICAgICAgY29uc3RyYWludHMsXG4gICAgICAgIGVsZW1lbnQsXG4gICAgICAgIHRhcmdldCxcbiAgICAgICAgdGFyZ2V0QXR0YWNobWVudDogZ2V0VGFyZ2V0QXR0YWNobWVudChwb3NpdGlvbiksXG4gICAgfTtcbiAgICByZXR1cm4gb3B0aW9ucztcbn1cblxuLyoqIEBpbnRlcm5hbCAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFRhcmdldEF0dGFjaG1lbnQocG9zaXRpb246IFBvc2l0aW9uKSB7XG4gICAgY29uc3QgYXR0YWNobWVudHM6IHtbcDogbnVtYmVyXTogc3RyaW5nfSA9IHtcbiAgICAgICAgW1Bvc2l0aW9uLlRPUF9MRUZUXTogICAgIFwidG9wIGxlZnRcIixcbiAgICAgICAgW1Bvc2l0aW9uLlRPUF06ICAgICAgICAgIFwidG9wIGNlbnRlclwiLFxuICAgICAgICBbUG9zaXRpb24uVE9QX1JJR0hUXTogICAgXCJ0b3AgcmlnaHRcIixcbiAgICAgICAgW1Bvc2l0aW9uLlJJR0hUX1RPUF06ICAgIFwidG9wIHJpZ2h0XCIsXG4gICAgICAgIFtQb3NpdGlvbi5SSUdIVF06ICAgICAgICBcIm1pZGRsZSByaWdodFwiLFxuICAgICAgICBbUG9zaXRpb24uUklHSFRfQk9UVE9NXTogXCJib3R0b20gcmlnaHRcIixcbiAgICAgICAgW1Bvc2l0aW9uLkJPVFRPTV9SSUdIVF06IFwiYm90dG9tIHJpZ2h0XCIsXG4gICAgICAgIFtQb3NpdGlvbi5CT1RUT01dOiAgICAgICBcImJvdHRvbSBjZW50ZXJcIixcbiAgICAgICAgW1Bvc2l0aW9uLkJPVFRPTV9MRUZUXTogIFwiYm90dG9tIGxlZnRcIixcbiAgICAgICAgW1Bvc2l0aW9uLkxFRlRfQk9UVE9NXTogIFwiYm90dG9tIGxlZnRcIixcbiAgICAgICAgW1Bvc2l0aW9uLkxFRlRdOiAgICAgICAgIFwibWlkZGxlIGxlZnRcIixcbiAgICAgICAgW1Bvc2l0aW9uLkxFRlRfVE9QXTogICAgIFwidG9wIGxlZnRcIixcbiAgICB9O1xuICAgIHJldHVybiBhdHRhY2htZW50c1twb3NpdGlvbl07XG59XG5cbi8qKiBAaW50ZXJuYWwgKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRQb3BvdmVyQXR0YWNobWVudChwb3NpdGlvbjogUG9zaXRpb24pIHtcbiAgICBjb25zdCBhdHRhY2htZW50czoge1twOiBudW1iZXJdOiBzdHJpbmd9ID0ge1xuICAgICAgICBbUG9zaXRpb24uVE9QX0xFRlRdOiAgICAgXCJib3R0b20gbGVmdFwiLFxuICAgICAgICBbUG9zaXRpb24uVE9QXTogICAgICAgICAgXCJib3R0b20gY2VudGVyXCIsXG4gICAgICAgIFtQb3NpdGlvbi5UT1BfUklHSFRdOiAgICBcImJvdHRvbSByaWdodFwiLFxuICAgICAgICBbUG9zaXRpb24uUklHSFRfVE9QXTogICAgXCJ0b3AgbGVmdFwiLFxuICAgICAgICBbUG9zaXRpb24uUklHSFRdOiAgICAgICAgXCJtaWRkbGUgbGVmdFwiLFxuICAgICAgICBbUG9zaXRpb24uUklHSFRfQk9UVE9NXTogXCJib3R0b20gbGVmdFwiLFxuICAgICAgICBbUG9zaXRpb24uQk9UVE9NX1JJR0hUXTogXCJ0b3AgcmlnaHRcIixcbiAgICAgICAgW1Bvc2l0aW9uLkJPVFRPTV06ICAgICAgIFwidG9wIGNlbnRlclwiLFxuICAgICAgICBbUG9zaXRpb24uQk9UVE9NX0xFRlRdOiAgXCJ0b3AgbGVmdFwiLFxuICAgICAgICBbUG9zaXRpb24uTEVGVF9CT1RUT01dOiAgXCJib3R0b20gcmlnaHRcIixcbiAgICAgICAgW1Bvc2l0aW9uLkxFRlRdOiAgICAgICAgIFwibWlkZGxlIHJpZ2h0XCIsXG4gICAgICAgIFtQb3NpdGlvbi5MRUZUX1RPUF06ICAgICBcInRvcCByaWdodFwiLFxuICAgIH07XG4gICAgcmV0dXJuIGF0dGFjaG1lbnRzW3Bvc2l0aW9uXTtcbn1cblxuLyoqIEBpbnRlcm5hbCAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEF0dGFjaG1lbnRDbGFzc2VzKHBvc2l0aW9uOiBQb3NpdGlvbikge1xuICAgIC8vIHRoaXMgZXNzZW50aWFsbHkgcmVpbXBsZW1lbnRzIHRoZSBUZXRoZXIgbG9naWMgZm9yIGF0dGFjaG1lbnQgY2xhc3NlcyBzbyB0aGUgc2FtZSBzdHlsZXNcbiAgICAvLyBjYW4gYmUgcmV1c2VkIG91dHNpZGUgb2YgVGV0aGVyLWJhc2VkIHBvcG92ZXJzLlxuICAgIHJldHVybiBbXG4gICAgICAgIC4uLmV4cGFuZEF0dGFjaG1lbnRDbGFzc2VzKGdldFBvcG92ZXJBdHRhY2htZW50KHBvc2l0aW9uKSwgXCJwdC10ZXRoZXItZWxlbWVudC1hdHRhY2hlZFwiKSxcbiAgICAgICAgLi4uZXhwYW5kQXR0YWNobWVudENsYXNzZXMoZ2V0VGFyZ2V0QXR0YWNobWVudChwb3NpdGlvbiksIFwicHQtdGV0aGVyLXRhcmdldC1hdHRhY2hlZFwiKSxcbiAgICBdO1xufVxuXG5mdW5jdGlvbiBleHBhbmRBdHRhY2htZW50Q2xhc3NlcyhhdHRhY2htZW50czogc3RyaW5nLCBwcmVmaXg6IHN0cmluZykge1xuICAgIGNvbnN0IFt2ZXJ0aWNhbEFsaWduLCBob3Jpem9udGFsQWxpZ25dID0gYXR0YWNobWVudHMuc3BsaXQoXCIgXCIpO1xuICAgIHJldHVybiBbYCR7cHJlZml4fS0ke3ZlcnRpY2FsQWxpZ259YCwgYCR7cHJlZml4fS0ke2hvcml6b250YWxBbGlnbn1gXTtcbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ==
+ function createDocumentFragment() {
+ return document.createDocumentFragment();
+ }
+ function createElement(nodeName) {
+ return document.createElement(nodeName);
+ }
-/***/ },
-/* 63 */
-/***/ function(module, exports, __webpack_require__) {
-
- /*
- * Copyright 2015 Palantir Technologies, Inc. All rights reserved.
- * Licensed under the BSD-3 License as modified (the “License”); you may obtain a copy
- * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE
- * and https://github.com/palantir/blueprint/blob/master/PATENTS
- */
- "use strict";
- var intent_1 = __webpack_require__(58);
- // modifiers
- exports.DARK = "pt-dark";
- exports.ACTIVE = "pt-active";
- exports.MINIMAL = "pt-minimal";
- exports.DISABLED = "pt-disabled";
- exports.SMALL = "pt-small";
- exports.LARGE = "pt-large";
- exports.INTERACTIVE = "pt-interactive";
- exports.ALIGN_LEFT = "pt-align-left";
- exports.ALIGN_RIGHT = "pt-align-right";
- exports.INLINE = "pt-inline";
- exports.FILL = "pt-fill";
- // components
- exports.ALERT = "pt-alert";
- exports.ALERT_BODY = "pt-alert-body";
- exports.ALERT_CONTENTS = "pt-alert-contents";
- exports.ALERT_FOOTER = "pt-alert-footer";
- exports.BREADCRUMB = "pt-breadcrumb";
- exports.BREADCRUMB_CURRENT = "pt-breadcrumb-current";
- exports.BREADCRUMBS = "pt-breadcrumbs";
- exports.BREADCRUMBS_COLLAPSED = "pt-breadcrumbs-collapsed";
- exports.BUTTON = "pt-button";
- exports.BUTTON_GROUP = "pt-button-group";
- exports.CARD = "pt-card";
- exports.COLLAPSE = "pt-collapse";
- exports.COLLAPSIBLE_LIST = "pt-collapse-list";
- exports.CONTEXT_MENU = "pt-context-menu";
- exports.CONTEXT_MENU_POPOVER_TARGET = "pt-context-menu-popover-target";
- exports.DIALOG = "pt-dialog";
- exports.DIALOG_BODY = "pt-dialog-body";
- exports.DIALOG_CLOSE_BUTTON = "pt-dialog-close-button";
- exports.DIALOG_FOOTER = "pt-dialog-footer";
- exports.DIALOG_FOOTER_ACTIONS = "pt-dialog-footer-actions";
- exports.DIALOG_HEADER = "pt-dialog-header";
- exports.EDITABLE_TEXT = "pt-editable-text";
- exports.ELEVATION_0 = "pt-elevation-0";
- exports.ELEVATION_1 = "pt-elevation-1";
- exports.ELEVATION_2 = "pt-elevation-2";
- exports.ELEVATION_3 = "pt-elevation-3";
- exports.ELEVATION_4 = "pt-elevation-4";
- exports.INPUT = "pt-input";
- exports.INPUT_GROUP = "pt-input-group";
- exports.LABEL = "pt-label";
- exports.MENU = "pt-menu";
- exports.MENU_ITEM = "pt-menu-item";
- exports.MENU_SUBMENU = "pt-submenu";
- exports.MENU_DIVIDER = "pt-menu-divider";
- exports.MENU_HEADER = "pt-menu-header";
- exports.NON_IDEAL_STATE = "pt-non-ideal-state";
- exports.NON_IDEAL_STATE_ACTION = "pt-non-ideal-state-action";
- exports.NON_IDEAL_STATE_DESCRIPTION = "pt-non-ideal-state-description";
- exports.NON_IDEAL_STATE_ICON = "pt-non-ideal-state-icon";
- exports.NON_IDEAL_STATE_TITLE = "pt-non-ideal-state-title";
- exports.NON_IDEAL_STATE_VISUAL = "pt-non-ideal-state-visual";
- exports.OVERLAY_BACKDROP = "pt-overlay-backdrop";
- exports.OVERLAY_OPEN = "pt-overlay-open";
- exports.OVERLAY_SCROLL_CONTAINER = "pt-overlay-scroll-container";
- exports.POPOVER = "pt-popover";
- exports.POPOVER_ARROW = "pt-popover-arrow";
- exports.POPOVER_BACKDROP = "pt-popover-backdrop";
- exports.POPOVER_CONTENT = "pt-popover-content";
- exports.POPOVER_DISMISS = "pt-popover-dismiss";
- exports.POPOVER_DISMISS_OVERRIDE = "pt-popover-dismiss-override";
- exports.POPOVER_OPEN = "pt-popover-open";
- exports.POPOVER_TARGET = "pt-popover-target";
- exports.TRANSITION_CONTAINER = "pt-transition-container";
- exports.PORTAL = "pt-portal";
- exports.SELECT = "pt-select";
- exports.SLIDER = "pt-slider";
- exports.SLIDER_HANDLE = exports.SLIDER + "-handle";
- exports.SLIDER_LABEL = exports.SLIDER + "-label";
- exports.RANGE_SLIDER = "pt-range-slider";
- exports.SPINNER = "pt-spinner";
- exports.SVG_SPINNER = "pt-svg-spinner";
- exports.TAB = "pt-tab";
- exports.TAB_LIST = "pt-tab-list";
- exports.TAB_PANEL = "pt-tab-panel";
- exports.TABS = "pt-tabs";
- exports.TAG = "pt-tag";
- exports.TAG_REMOVABLE = "pt-tag-removable";
- exports.TAG_REMOVE = "pt-tag-remove";
- exports.TOAST = "pt-toast";
- exports.TOAST_CONTAINER = "pt-toast-container";
- exports.TOAST_MESSAGE = "pt-toast-message";
- exports.TOOLTIP = "pt-tooltip";
- exports.TREE = "pt-tree";
- exports.TREE_NODE = "pt-tree-node";
- exports.TREE_NODE_CARET = "pt-tree-node-caret";
- exports.TREE_NODE_CARET_CLOSED = "pt-tree-node-caret-closed";
- exports.TREE_NODE_CARET_NONE = "pt-tree-node-caret-none";
- exports.TREE_NODE_CARET_OPEN = "pt-tree-node-caret-open";
- exports.TREE_NODE_CONTENT = "pt-tree-node-content";
- exports.TREE_NODE_EXPANDED = "pt-tree-node-expanded";
- exports.TREE_NODE_ICON = "pt-tree-node-icon";
- exports.TREE_NODE_LABEL = "pt-tree-node-label";
- exports.TREE_NODE_LIST = "pt-tree-node-list";
- exports.TREE_NODE_SECONDARY_LABEL = "pt-tree-node-secondary-label";
- exports.TREE_NODE_SELECTED = "pt-tree-node-selected";
- exports.TREE_ROOT = "pt-tree-root";
- exports.ICON_STANDARD = "pt-icon-standard";
- exports.ICON_LARGE = "pt-icon-large";
- /** Return CSS class for icon, whether or not 'pt-icon-' prefix is included */
- function iconClass(iconName) {
- if (iconName == null) {
- return undefined;
- }
- return iconName.indexOf("pt-icon-") === 0 ? iconName : "pt-icon-" + iconName;
- }
- exports.iconClass = iconClass;
- function intentClass(intent) {
- if (intent === void 0) { intent = intent_1.Intent.NONE; }
- if (intent === intent_1.Intent.NONE || intent_1.Intent[intent] == null) {
- return undefined;
- }
- return "pt-intent-" + intent_1.Intent[intent].toLowerCase();
- }
- exports.intentClass = intentClass;
-
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tb24vY2xhc3Nlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7O0FBRUgsdUJBQXVCLFVBQVUsQ0FBQyxDQUFBO0FBRWxDLFlBQVk7QUFDQyxZQUFJLEdBQUcsU0FBUyxDQUFDO0FBQ2pCLGNBQU0sR0FBRyxXQUFXLENBQUM7QUFDckIsZUFBTyxHQUFHLFlBQVksQ0FBQztBQUN2QixnQkFBUSxHQUFHLGFBQWEsQ0FBQztBQUN6QixhQUFLLEdBQUcsVUFBVSxDQUFDO0FBQ25CLGFBQUssR0FBRyxVQUFVLENBQUM7QUFDbkIsbUJBQVcsR0FBRyxnQkFBZ0IsQ0FBQztBQUMvQixrQkFBVSxHQUFHLGVBQWUsQ0FBQztBQUM3QixtQkFBVyxHQUFHLGdCQUFnQixDQUFDO0FBQy9CLGNBQU0sR0FBRyxXQUFXLENBQUM7QUFDckIsWUFBSSxHQUFHLFNBQVMsQ0FBQztBQUU5QixhQUFhO0FBQ0EsYUFBSyxHQUFHLFVBQVUsQ0FBQztBQUNuQixrQkFBVSxHQUFHLGVBQWUsQ0FBQztBQUM3QixzQkFBYyxHQUFHLG1CQUFtQixDQUFDO0FBQ3JDLG9CQUFZLEdBQUcsaUJBQWlCLENBQUM7QUFFakMsa0JBQVUsR0FBRyxlQUFlLENBQUM7QUFDN0IsMEJBQWtCLEdBQUcsdUJBQXVCLENBQUM7QUFDN0MsbUJBQVcsR0FBRyxnQkFBZ0IsQ0FBQztBQUMvQiw2QkFBcUIsR0FBRywwQkFBMEIsQ0FBQztBQUVuRCxjQUFNLEdBQUcsV0FBVyxDQUFDO0FBQ3JCLG9CQUFZLEdBQUcsaUJBQWlCLENBQUM7QUFFakMsWUFBSSxHQUFHLFNBQVMsQ0FBQztBQUVqQixnQkFBUSxHQUFHLGFBQWEsQ0FBQztBQUV6Qix3QkFBZ0IsR0FBRyxrQkFBa0IsQ0FBQztBQUV0QyxvQkFBWSxHQUFHLGlCQUFpQixDQUFDO0FBQ2pDLG1DQUEyQixHQUFHLGdDQUFnQyxDQUFDO0FBRS9ELGNBQU0sR0FBRyxXQUFXLENBQUM7QUFDckIsbUJBQVcsR0FBRyxnQkFBZ0IsQ0FBQztBQUMvQiwyQkFBbUIsR0FBRyx3QkFBd0IsQ0FBQztBQUMvQyxxQkFBYSxHQUFHLGtCQUFrQixDQUFDO0FBQ25DLDZCQUFxQixHQUFHLDBCQUEwQixDQUFDO0FBQ25ELHFCQUFhLEdBQUcsa0JBQWtCLENBQUM7QUFFbkMscUJBQWEsR0FBRyxrQkFBa0IsQ0FBQztBQUVuQyxtQkFBVyxHQUFHLGdCQUFnQixDQUFDO0FBQy9CLG1CQUFXLEdBQUcsZ0JBQWdCLENBQUM7QUFDL0IsbUJBQVcsR0FBRyxnQkFBZ0IsQ0FBQztBQUMvQixtQkFBVyxHQUFHLGdCQUFnQixDQUFDO0FBQy9CLG1CQUFXLEdBQUcsZ0JBQWdCLENBQUM7QUFFL0IsYUFBSyxHQUFHLFVBQVUsQ0FBQztBQUNuQixtQkFBVyxHQUFHLGdCQUFnQixDQUFDO0FBRS9CLGFBQUssR0FBRyxVQUFVLENBQUM7QUFFbkIsWUFBSSxHQUFHLFNBQVMsQ0FBQztBQUNqQixpQkFBUyxHQUFHLGNBQWMsQ0FBQztBQUMzQixvQkFBWSxHQUFHLFlBQVksQ0FBQztBQUM1QixvQkFBWSxHQUFHLGlCQUFpQixDQUFDO0FBQ2pDLG1CQUFXLEdBQUcsZ0JBQWdCLENBQUM7QUFFL0IsdUJBQWUsR0FBRyxvQkFBb0IsQ0FBQztBQUN2Qyw4QkFBc0IsR0FBRywyQkFBMkIsQ0FBQztBQUNyRCxtQ0FBMkIsR0FBRyxnQ0FBZ0MsQ0FBQztBQUMvRCw0QkFBb0IsR0FBRyx5QkFBeUIsQ0FBQztBQUNqRCw2QkFBcUIsR0FBRywwQkFBMEIsQ0FBQztBQUNuRCw4QkFBc0IsR0FBRywyQkFBMkIsQ0FBQztBQUVyRCx3QkFBZ0IsR0FBRyxxQkFBcUIsQ0FBQztBQUN6QyxvQkFBWSxHQUFHLGlCQUFpQixDQUFDO0FBQ2pDLGdDQUF3QixHQUFHLDZCQUE2QixDQUFDO0FBRXpELGVBQU8sR0FBRyxZQUFZLENBQUM7QUFDdkIscUJBQWEsR0FBRyxrQkFBa0IsQ0FBQztBQUNuQyx3QkFBZ0IsR0FBRyxxQkFBcUIsQ0FBQztBQUN6Qyx1QkFBZSxHQUFHLG9CQUFvQixDQUFDO0FBQ3ZDLHVCQUFlLEdBQUcsb0JBQW9CLENBQUM7QUFDdkMsZ0NBQXdCLEdBQUcsNkJBQTZCLENBQUM7QUFDekQsb0JBQVksR0FBRyxpQkFBaUIsQ0FBQztBQUNqQyxzQkFBYyxHQUFHLG1CQUFtQixDQUFDO0FBQ3JDLDRCQUFvQixHQUFHLHlCQUF5QixDQUFDO0FBRWpELGNBQU0sR0FBRyxXQUFXLENBQUM7QUFFckIsY0FBTSxHQUFHLFdBQVcsQ0FBQztBQUVyQixjQUFNLEdBQUcsV0FBVyxDQUFDO0FBQ3JCLHFCQUFhLEdBQU0sY0FBTSxZQUFTLENBQUM7QUFDbkMsb0JBQVksR0FBTSxjQUFNLFdBQVEsQ0FBQztBQUNqQyxvQkFBWSxHQUFHLGlCQUFpQixDQUFDO0FBRWpDLGVBQU8sR0FBRyxZQUFZLENBQUM7QUFDdkIsbUJBQVcsR0FBRyxnQkFBZ0IsQ0FBQztBQUUvQixXQUFHLEdBQUcsUUFBUSxDQUFDO0FBQ2YsZ0JBQVEsR0FBRyxhQUFhLENBQUM7QUFDekIsaUJBQVMsR0FBRyxjQUFjLENBQUM7QUFDM0IsWUFBSSxHQUFHLFNBQVMsQ0FBQztBQUVqQixXQUFHLEdBQUcsUUFBUSxDQUFDO0FBQ2YscUJBQWEsR0FBRyxrQkFBa0IsQ0FBQztBQUNuQyxrQkFBVSxHQUFHLGVBQWUsQ0FBQztBQUU3QixhQUFLLEdBQUcsVUFBVSxDQUFDO0FBQ25CLHVCQUFlLEdBQUcsb0JBQW9CLENBQUM7QUFDdkMscUJBQWEsR0FBRyxrQkFBa0IsQ0FBQztBQUVuQyxlQUFPLEdBQUcsWUFBWSxDQUFDO0FBRXZCLFlBQUksR0FBRyxTQUFTLENBQUM7QUFDakIsaUJBQVMsR0FBRyxjQUFjLENBQUM7QUFDM0IsdUJBQWUsR0FBRyxvQkFBb0IsQ0FBQztBQUN2Qyw4QkFBc0IsR0FBRywyQkFBMkIsQ0FBQztBQUNyRCw0QkFBb0IsR0FBRyx5QkFBeUIsQ0FBQztBQUNqRCw0QkFBb0IsR0FBRyx5QkFBeUIsQ0FBQztBQUNqRCx5QkFBaUIsR0FBRyxzQkFBc0IsQ0FBQztBQUMzQywwQkFBa0IsR0FBRyx1QkFBdUIsQ0FBQztBQUM3QyxzQkFBYyxHQUFHLG1CQUFtQixDQUFDO0FBQ3JDLHVCQUFlLEdBQUcsb0JBQW9CLENBQUM7QUFDdkMsc0JBQWMsR0FBRyxtQkFBbUIsQ0FBQztBQUNyQyxpQ0FBeUIsR0FBRyw4QkFBOEIsQ0FBQztBQUMzRCwwQkFBa0IsR0FBRyx1QkFBdUIsQ0FBQztBQUM3QyxpQkFBUyxHQUFHLGNBQWMsQ0FBQztBQUUzQixxQkFBYSxHQUFHLGtCQUFrQixDQUFDO0FBQ25DLGtCQUFVLEdBQUcsZUFBZSxDQUFDO0FBRTFDLDhFQUE4RTtBQUM5RSxtQkFBMEIsUUFBZ0I7SUFDdEMsRUFBRSxDQUFDLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDbkIsTUFBTSxDQUFDLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBQ0QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLFFBQVEsR0FBRyxhQUFXLFFBQVUsQ0FBQztBQUNqRixDQUFDO0FBTGUsaUJBQVMsWUFLeEIsQ0FBQTtBQUVELHFCQUE0QixNQUFvQjtJQUFwQixzQkFBb0IsR0FBcEIsU0FBUyxlQUFNLENBQUMsSUFBSTtJQUM1QyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssZUFBTSxDQUFDLElBQUksSUFBSSxlQUFNLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNuRCxNQUFNLENBQUMsU0FBUyxDQUFDO0lBQ3JCLENBQUM7SUFDRCxNQUFNLENBQUMsZUFBYSxlQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxFQUFJLENBQUM7QUFDdkQsQ0FBQztBQUxlLG1CQUFXLGNBSzFCLENBQUEiLCJmaWxlIjoiY29tbW9uL2NsYXNzZXMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUgUGFsYW50aXIgVGVjaG5vbG9naWVzLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wIC0gaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKi9cblxuaW1wb3J0IHsgSW50ZW50IH0gZnJvbSBcIi4vaW50ZW50XCI7XG5cbi8vIG1vZGlmaWVyc1xuZXhwb3J0IGNvbnN0IERBUksgPSBcInB0LWRhcmtcIjtcbmV4cG9ydCBjb25zdCBBQ1RJVkUgPSBcInB0LWFjdGl2ZVwiO1xuZXhwb3J0IGNvbnN0IE1JTklNQUwgPSBcInB0LW1pbmltYWxcIjtcbmV4cG9ydCBjb25zdCBESVNBQkxFRCA9IFwicHQtZGlzYWJsZWRcIjtcbmV4cG9ydCBjb25zdCBTTUFMTCA9IFwicHQtc21hbGxcIjtcbmV4cG9ydCBjb25zdCBMQVJHRSA9IFwicHQtbGFyZ2VcIjtcbmV4cG9ydCBjb25zdCBJTlRFUkFDVElWRSA9IFwicHQtaW50ZXJhY3RpdmVcIjtcbmV4cG9ydCBjb25zdCBBTElHTl9MRUZUID0gXCJwdC1hbGlnbi1sZWZ0XCI7XG5leHBvcnQgY29uc3QgQUxJR05fUklHSFQgPSBcInB0LWFsaWduLXJpZ2h0XCI7XG5leHBvcnQgY29uc3QgSU5MSU5FID0gXCJwdC1pbmxpbmVcIjtcbmV4cG9ydCBjb25zdCBGSUxMID0gXCJwdC1maWxsXCI7XG5cbi8vIGNvbXBvbmVudHNcbmV4cG9ydCBjb25zdCBBTEVSVCA9IFwicHQtYWxlcnRcIjtcbmV4cG9ydCBjb25zdCBBTEVSVF9CT0RZID0gXCJwdC1hbGVydC1ib2R5XCI7XG5leHBvcnQgY29uc3QgQUxFUlRfQ09OVEVOVFMgPSBcInB0LWFsZXJ0LWNvbnRlbnRzXCI7XG5leHBvcnQgY29uc3QgQUxFUlRfRk9PVEVSID0gXCJwdC1hbGVydC1mb290ZXJcIjtcblxuZXhwb3J0IGNvbnN0IEJSRUFEQ1JVTUIgPSBcInB0LWJyZWFkY3J1bWJcIjtcbmV4cG9ydCBjb25zdCBCUkVBRENSVU1CX0NVUlJFTlQgPSBcInB0LWJyZWFkY3J1bWItY3VycmVudFwiO1xuZXhwb3J0IGNvbnN0IEJSRUFEQ1JVTUJTID0gXCJwdC1icmVhZGNydW1ic1wiO1xuZXhwb3J0IGNvbnN0IEJSRUFEQ1JVTUJTX0NPTExBUFNFRCA9IFwicHQtYnJlYWRjcnVtYnMtY29sbGFwc2VkXCI7XG5cbmV4cG9ydCBjb25zdCBCVVRUT04gPSBcInB0LWJ1dHRvblwiO1xuZXhwb3J0IGNvbnN0IEJVVFRPTl9HUk9VUCA9IFwicHQtYnV0dG9uLWdyb3VwXCI7XG5cbmV4cG9ydCBjb25zdCBDQVJEID0gXCJwdC1jYXJkXCI7XG5cbmV4cG9ydCBjb25zdCBDT0xMQVBTRSA9IFwicHQtY29sbGFwc2VcIjtcblxuZXhwb3J0IGNvbnN0IENPTExBUFNJQkxFX0xJU1QgPSBcInB0LWNvbGxhcHNlLWxpc3RcIjtcblxuZXhwb3J0IGNvbnN0IENPTlRFWFRfTUVOVSA9IFwicHQtY29udGV4dC1tZW51XCI7XG5leHBvcnQgY29uc3QgQ09OVEVYVF9NRU5VX1BPUE9WRVJfVEFSR0VUID0gXCJwdC1jb250ZXh0LW1lbnUtcG9wb3Zlci10YXJnZXRcIjtcblxuZXhwb3J0IGNvbnN0IERJQUxPRyA9IFwicHQtZGlhbG9nXCI7XG5leHBvcnQgY29uc3QgRElBTE9HX0JPRFkgPSBcInB0LWRpYWxvZy1ib2R5XCI7XG5leHBvcnQgY29uc3QgRElBTE9HX0NMT1NFX0JVVFRPTiA9IFwicHQtZGlhbG9nLWNsb3NlLWJ1dHRvblwiO1xuZXhwb3J0IGNvbnN0IERJQUxPR19GT09URVIgPSBcInB0LWRpYWxvZy1mb290ZXJcIjtcbmV4cG9ydCBjb25zdCBESUFMT0dfRk9PVEVSX0FDVElPTlMgPSBcInB0LWRpYWxvZy1mb290ZXItYWN0aW9uc1wiO1xuZXhwb3J0IGNvbnN0IERJQUxPR19IRUFERVIgPSBcInB0LWRpYWxvZy1oZWFkZXJcIjtcblxuZXhwb3J0IGNvbnN0IEVESVRBQkxFX1RFWFQgPSBcInB0LWVkaXRhYmxlLXRleHRcIjtcblxuZXhwb3J0IGNvbnN0IEVMRVZBVElPTl8wID0gXCJwdC1lbGV2YXRpb24tMFwiO1xuZXhwb3J0IGNvbnN0IEVMRVZBVElPTl8xID0gXCJwdC1lbGV2YXRpb24tMVwiO1xuZXhwb3J0IGNvbnN0IEVMRVZBVElPTl8yID0gXCJwdC1lbGV2YXRpb24tMlwiO1xuZXhwb3J0IGNvbnN0IEVMRVZBVElPTl8zID0gXCJwdC1lbGV2YXRpb24tM1wiO1xuZXhwb3J0IGNvbnN0IEVMRVZBVElPTl80ID0gXCJwdC1lbGV2YXRpb24tNFwiO1xuXG5leHBvcnQgY29uc3QgSU5QVVQgPSBcInB0LWlucHV0XCI7XG5leHBvcnQgY29uc3QgSU5QVVRfR1JPVVAgPSBcInB0LWlucHV0LWdyb3VwXCI7XG5cbmV4cG9ydCBjb25zdCBMQUJFTCA9IFwicHQtbGFiZWxcIjtcblxuZXhwb3J0IGNvbnN0IE1FTlUgPSBcInB0LW1lbnVcIjtcbmV4cG9ydCBjb25zdCBNRU5VX0lURU0gPSBcInB0LW1lbnUtaXRlbVwiO1xuZXhwb3J0IGNvbnN0IE1FTlVfU1VCTUVOVSA9IFwicHQtc3VibWVudVwiO1xuZXhwb3J0IGNvbnN0IE1FTlVfRElWSURFUiA9IFwicHQtbWVudS1kaXZpZGVyXCI7XG5leHBvcnQgY29uc3QgTUVOVV9IRUFERVIgPSBcInB0LW1lbnUtaGVhZGVyXCI7XG5cbmV4cG9ydCBjb25zdCBOT05fSURFQUxfU1RBVEUgPSBcInB0LW5vbi1pZGVhbC1zdGF0ZVwiO1xuZXhwb3J0IGNvbnN0IE5PTl9JREVBTF9TVEFURV9BQ1RJT04gPSBcInB0LW5vbi1pZGVhbC1zdGF0ZS1hY3Rpb25cIjtcbmV4cG9ydCBjb25zdCBOT05fSURFQUxfU1RBVEVfREVTQ1JJUFRJT04gPSBcInB0LW5vbi1pZGVhbC1zdGF0ZS1kZXNjcmlwdGlvblwiO1xuZXhwb3J0IGNvbnN0IE5PTl9JREVBTF9TVEFURV9JQ09OID0gXCJwdC1ub24taWRlYWwtc3RhdGUtaWNvblwiO1xuZXhwb3J0IGNvbnN0IE5PTl9JREVBTF9TVEFURV9USVRMRSA9IFwicHQtbm9uLWlkZWFsLXN0YXRlLXRpdGxlXCI7XG5leHBvcnQgY29uc3QgTk9OX0lERUFMX1NUQVRFX1ZJU1VBTCA9IFwicHQtbm9uLWlkZWFsLXN0YXRlLXZpc3VhbFwiO1xuXG5leHBvcnQgY29uc3QgT1ZFUkxBWV9CQUNLRFJPUCA9IFwicHQtb3ZlcmxheS1iYWNrZHJvcFwiO1xuZXhwb3J0IGNvbnN0IE9WRVJMQVlfT1BFTiA9IFwicHQtb3ZlcmxheS1vcGVuXCI7XG5leHBvcnQgY29uc3QgT1ZFUkxBWV9TQ1JPTExfQ09OVEFJTkVSID0gXCJwdC1vdmVybGF5LXNjcm9sbC1jb250YWluZXJcIjtcblxuZXhwb3J0IGNvbnN0IFBPUE9WRVIgPSBcInB0LXBvcG92ZXJcIjtcbmV4cG9ydCBjb25zdCBQT1BPVkVSX0FSUk9XID0gXCJwdC1wb3BvdmVyLWFycm93XCI7XG5leHBvcnQgY29uc3QgUE9QT1ZFUl9CQUNLRFJPUCA9IFwicHQtcG9wb3Zlci1iYWNrZHJvcFwiO1xuZXhwb3J0IGNvbnN0IFBPUE9WRVJfQ09OVEVOVCA9IFwicHQtcG9wb3Zlci1jb250ZW50XCI7XG5leHBvcnQgY29uc3QgUE9QT1ZFUl9ESVNNSVNTID0gXCJwdC1wb3BvdmVyLWRpc21pc3NcIjtcbmV4cG9ydCBjb25zdCBQT1BPVkVSX0RJU01JU1NfT1ZFUlJJREUgPSBcInB0LXBvcG92ZXItZGlzbWlzcy1vdmVycmlkZVwiO1xuZXhwb3J0IGNvbnN0IFBPUE9WRVJfT1BFTiA9IFwicHQtcG9wb3Zlci1vcGVuXCI7XG5leHBvcnQgY29uc3QgUE9QT1ZFUl9UQVJHRVQgPSBcInB0LXBvcG92ZXItdGFyZ2V0XCI7XG5leHBvcnQgY29uc3QgVFJBTlNJVElPTl9DT05UQUlORVIgPSBcInB0LXRyYW5zaXRpb24tY29udGFpbmVyXCI7XG5cbmV4cG9ydCBjb25zdCBQT1JUQUwgPSBcInB0LXBvcnRhbFwiO1xuXG5leHBvcnQgY29uc3QgU0VMRUNUID0gXCJwdC1zZWxlY3RcIjtcblxuZXhwb3J0IGNvbnN0IFNMSURFUiA9IFwicHQtc2xpZGVyXCI7XG5leHBvcnQgY29uc3QgU0xJREVSX0hBTkRMRSA9IGAke1NMSURFUn0taGFuZGxlYDtcbmV4cG9ydCBjb25zdCBTTElERVJfTEFCRUwgPSBgJHtTTElERVJ9LWxhYmVsYDtcbmV4cG9ydCBjb25zdCBSQU5HRV9TTElERVIgPSBcInB0LXJhbmdlLXNsaWRlclwiO1xuXG5leHBvcnQgY29uc3QgU1BJTk5FUiA9IFwicHQtc3Bpbm5lclwiO1xuZXhwb3J0IGNvbnN0IFNWR19TUElOTkVSID0gXCJwdC1zdmctc3Bpbm5lclwiO1xuXG5leHBvcnQgY29uc3QgVEFCID0gXCJwdC10YWJcIjtcbmV4cG9ydCBjb25zdCBUQUJfTElTVCA9IFwicHQtdGFiLWxpc3RcIjtcbmV4cG9ydCBjb25zdCBUQUJfUEFORUwgPSBcInB0LXRhYi1wYW5lbFwiO1xuZXhwb3J0IGNvbnN0IFRBQlMgPSBcInB0LXRhYnNcIjtcblxuZXhwb3J0IGNvbnN0IFRBRyA9IFwicHQtdGFnXCI7XG5leHBvcnQgY29uc3QgVEFHX1JFTU9WQUJMRSA9IFwicHQtdGFnLXJlbW92YWJsZVwiO1xuZXhwb3J0IGNvbnN0IFRBR19SRU1PVkUgPSBcInB0LXRhZy1yZW1vdmVcIjtcblxuZXhwb3J0IGNvbnN0IFRPQVNUID0gXCJwdC10b2FzdFwiO1xuZXhwb3J0IGNvbnN0IFRPQVNUX0NPTlRBSU5FUiA9IFwicHQtdG9hc3QtY29udGFpbmVyXCI7XG5leHBvcnQgY29uc3QgVE9BU1RfTUVTU0FHRSA9IFwicHQtdG9hc3QtbWVzc2FnZVwiO1xuXG5leHBvcnQgY29uc3QgVE9PTFRJUCA9IFwicHQtdG9vbHRpcFwiO1xuXG5leHBvcnQgY29uc3QgVFJFRSA9IFwicHQtdHJlZVwiO1xuZXhwb3J0IGNvbnN0IFRSRUVfTk9ERSA9IFwicHQtdHJlZS1ub2RlXCI7XG5leHBvcnQgY29uc3QgVFJFRV9OT0RFX0NBUkVUID0gXCJwdC10cmVlLW5vZGUtY2FyZXRcIjtcbmV4cG9ydCBjb25zdCBUUkVFX05PREVfQ0FSRVRfQ0xPU0VEID0gXCJwdC10cmVlLW5vZGUtY2FyZXQtY2xvc2VkXCI7XG5leHBvcnQgY29uc3QgVFJFRV9OT0RFX0NBUkVUX05PTkUgPSBcInB0LXRyZWUtbm9kZS1jYXJldC1ub25lXCI7XG5leHBvcnQgY29uc3QgVFJFRV9OT0RFX0NBUkVUX09QRU4gPSBcInB0LXRyZWUtbm9kZS1jYXJldC1vcGVuXCI7XG5leHBvcnQgY29uc3QgVFJFRV9OT0RFX0NPTlRFTlQgPSBcInB0LXRyZWUtbm9kZS1jb250ZW50XCI7XG5leHBvcnQgY29uc3QgVFJFRV9OT0RFX0VYUEFOREVEID0gXCJwdC10cmVlLW5vZGUtZXhwYW5kZWRcIjtcbmV4cG9ydCBjb25zdCBUUkVFX05PREVfSUNPTiA9IFwicHQtdHJlZS1ub2RlLWljb25cIjtcbmV4cG9ydCBjb25zdCBUUkVFX05PREVfTEFCRUwgPSBcInB0LXRyZWUtbm9kZS1sYWJlbFwiO1xuZXhwb3J0IGNvbnN0IFRSRUVfTk9ERV9MSVNUID0gXCJwdC10cmVlLW5vZGUtbGlzdFwiO1xuZXhwb3J0IGNvbnN0IFRSRUVfTk9ERV9TRUNPTkRBUllfTEFCRUwgPSBcInB0LXRyZWUtbm9kZS1zZWNvbmRhcnktbGFiZWxcIjtcbmV4cG9ydCBjb25zdCBUUkVFX05PREVfU0VMRUNURUQgPSBcInB0LXRyZWUtbm9kZS1zZWxlY3RlZFwiO1xuZXhwb3J0IGNvbnN0IFRSRUVfUk9PVCA9IFwicHQtdHJlZS1yb290XCI7XG5cbmV4cG9ydCBjb25zdCBJQ09OX1NUQU5EQVJEID0gXCJwdC1pY29uLXN0YW5kYXJkXCI7XG5leHBvcnQgY29uc3QgSUNPTl9MQVJHRSA9IFwicHQtaWNvbi1sYXJnZVwiO1xuXG4vKiogUmV0dXJuIENTUyBjbGFzcyBmb3IgaWNvbiwgd2hldGhlciBvciBub3QgJ3B0LWljb24tJyBwcmVmaXggaXMgaW5jbHVkZWQgKi9cbmV4cG9ydCBmdW5jdGlvbiBpY29uQ2xhc3MoaWNvbk5hbWU6IHN0cmluZykge1xuICAgIGlmIChpY29uTmFtZSA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHJldHVybiBpY29uTmFtZS5pbmRleE9mKFwicHQtaWNvbi1cIikgPT09IDAgPyBpY29uTmFtZSA6IGBwdC1pY29uLSR7aWNvbk5hbWV9YDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGludGVudENsYXNzKGludGVudCA9IEludGVudC5OT05FKSB7XG4gICAgaWYgKGludGVudCA9PT0gSW50ZW50Lk5PTkUgfHwgSW50ZW50W2ludGVudF0gPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICByZXR1cm4gYHB0LWludGVudC0ke0ludGVudFtpbnRlbnRdLnRvTG93ZXJDYXNlKCl9YDtcbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ==
-
-
-/***/ },
-/* 64 */
-/***/ function(module, exports) {
-
- /*
- * Copyright 2015 Palantir Technologies, Inc. All rights reserved.
- * Licensed under the BSD-3 License as modified (the “License”); you may obtain a copy
- * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE
- * and https://github.com/palantir/blueprint/blob/master/PATENTS
- */
- "use strict";
- exports.ARROW_DOWN = 40;
- exports.ARROW_LEFT = 37;
- exports.ARROW_RIGHT = 39;
- exports.ARROW_UP = 38;
- exports.ENTER = 13;
- exports.ESCAPE = 27;
- exports.SPACE = 32;
-
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tb24va2V5cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7O0FBRVUsa0JBQVUsR0FBRyxFQUFFLENBQUM7QUFDaEIsa0JBQVUsR0FBRyxFQUFFLENBQUM7QUFDaEIsbUJBQVcsR0FBRyxFQUFFLENBQUM7QUFDakIsZ0JBQVEsR0FBRyxFQUFFLENBQUM7QUFDZCxhQUFLLEdBQUcsRUFBRSxDQUFDO0FBQ1gsY0FBTSxHQUFHLEVBQUUsQ0FBQztBQUNaLGFBQUssR0FBRyxFQUFFLENBQUMiLCJmaWxlIjoiY29tbW9uL2tleXMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUgUGFsYW50aXIgVGVjaG5vbG9naWVzLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wIC0gaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKi9cblxuZXhwb3J0IGNvbnN0IEFSUk9XX0RPV04gPSA0MDtcbmV4cG9ydCBjb25zdCBBUlJPV19MRUZUID0gMzc7XG5leHBvcnQgY29uc3QgQVJST1dfUklHSFQgPSAzOTtcbmV4cG9ydCBjb25zdCBBUlJPV19VUCA9IDM4O1xuZXhwb3J0IGNvbnN0IEVOVEVSID0gMTM7XG5leHBvcnQgY29uc3QgRVNDQVBFID0gMjc7XG5leHBvcnQgY29uc3QgU1BBQ0UgPSAzMjtcbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ==
-
-
-/***/ },
-/* 65 */
-/***/ function(module, exports, __webpack_require__) {
-
- /*
- * Copyright 2016 Palantir Technologies, Inc. All rights reserved.
- * Licensed under the BSD-3 License as modified (the “License”); you may obtain a copy
- * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE
- * and https://github.com/palantir/blueprint/blob/master/PATENTS
- */
- "use strict";
- function __export(m) {
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
- }
- __webpack_require__(66);
- var contextMenu = __webpack_require__(67);
- exports.ContextMenu = contextMenu;
- __export(__webpack_require__(214));
- __export(__webpack_require__(217));
- __export(__webpack_require__(215));
- __export(__webpack_require__(218));
- __export(__webpack_require__(219));
- __export(__webpack_require__(222));
- __export(__webpack_require__(216));
- __export(__webpack_require__(223));
- __export(__webpack_require__(224));
- __export(__webpack_require__(225));
- __export(__webpack_require__(226));
- __export(__webpack_require__(227));
- __export(__webpack_require__(220));
- __export(__webpack_require__(233));
- __export(__webpack_require__(221));
- __export(__webpack_require__(234));
- __export(__webpack_require__(203));
- __export(__webpack_require__(198));
- __export(__webpack_require__(235));
- __export(__webpack_require__(211));
- __export(__webpack_require__(236));
- __export(__webpack_require__(237));
- __export(__webpack_require__(238));
- __export(__webpack_require__(241));
- __export(__webpack_require__(242));
- __export(__webpack_require__(243));
- __export(__webpack_require__(244));
- __export(__webpack_require__(245));
- __export(__webpack_require__(246));
- __export(__webpack_require__(247));
- __export(__webpack_require__(248));
- __export(__webpack_require__(249));
- __export(__webpack_require__(250));
- __export(__webpack_require__(212));
- __export(__webpack_require__(251));
- __export(__webpack_require__(252));
-
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRzs7Ozs7QUFFSCxRQUFPLE1BQU0sQ0FBQyxDQUFBO0FBRWQsSUFBWSxXQUFXLFdBQU0sNEJBQTRCLENBQUMsQ0FBQTtBQUM3QyxtQkFBVyxHQUFHLFdBQVcsQ0FBQztBQUV2QyxpQkFBYyxlQUFlLENBQUMsRUFBQTtBQUM5QixpQkFBYywwQkFBMEIsQ0FBQyxFQUFBO0FBQ3pDLGlCQUFjLGtCQUFrQixDQUFDLEVBQUE7QUFDakMsaUJBQWMscUJBQXFCLENBQUMsRUFBQTtBQUNwQyxpQkFBYyxvQ0FBb0MsQ0FBQyxFQUFBO0FBQ25ELGlCQUFjLGtDQUFrQyxDQUFDLEVBQUE7QUFDakQsaUJBQWMsaUJBQWlCLENBQUMsRUFBQTtBQUNoQyxpQkFBYyw4QkFBOEIsQ0FBQyxFQUFBO0FBQzdDLGlCQUFjLGtCQUFrQixDQUFDLEVBQUE7QUFDakMsaUJBQWMsb0JBQW9CLENBQUMsRUFBQTtBQUNuQyxpQkFBYyxvQkFBb0IsQ0FBQyxFQUFBO0FBQ25DLGlCQUFjLG1CQUFtQixDQUFDLEVBQUE7QUFDbEMsaUJBQWMsYUFBYSxDQUFDLEVBQUE7QUFDNUIsaUJBQWMsb0JBQW9CLENBQUMsRUFBQTtBQUNuQyxpQkFBYyxpQkFBaUIsQ0FBQyxFQUFBO0FBQ2hDLGlCQUFjLGlDQUFpQyxDQUFDLEVBQUE7QUFDaEQsaUJBQWMsbUJBQW1CLENBQUMsRUFBQTtBQUNsQyxpQkFBYyxtQkFBbUIsQ0FBQyxFQUFBO0FBQ2xDLGlCQUFjLHNCQUFzQixDQUFDLEVBQUE7QUFDckMsaUJBQWMsaUJBQWlCLENBQUMsRUFBQTtBQUNoQyxpQkFBYyx3QkFBd0IsQ0FBQyxFQUFBO0FBQ3ZDLGlCQUFjLHNCQUFzQixDQUFDLEVBQUE7QUFDckMsaUJBQWMsc0JBQXNCLENBQUMsRUFBQTtBQUNyQyxpQkFBYyxpQkFBaUIsQ0FBQyxFQUFBO0FBQ2hDLGlCQUFjLG1CQUFtQixDQUFDLEVBQUE7QUFDbEMsaUJBQWMsc0JBQXNCLENBQUMsRUFBQTtBQUNyQyxpQkFBYyxZQUFZLENBQUMsRUFBQTtBQUMzQixpQkFBYyxhQUFhLENBQUMsRUFBQTtBQUM1QixpQkFBYyxnQkFBZ0IsQ0FBQyxFQUFBO0FBQy9CLGlCQUFjLGlCQUFpQixDQUFDLEVBQUE7QUFDaEMsaUJBQWMsV0FBVyxDQUFDLEVBQUE7QUFDMUIsaUJBQWMsZUFBZSxDQUFDLEVBQUE7QUFDOUIsaUJBQWMsaUJBQWlCLENBQUMsRUFBQTtBQUNoQyxpQkFBYyxtQkFBbUIsQ0FBQyxFQUFBO0FBQ2xDLGlCQUFjLGFBQWEsQ0FBQyxFQUFBO0FBQzVCLGlCQUFjLGlCQUFpQixDQUFDLEVBQUEiLCJmaWxlIjoiY29tcG9uZW50cy9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNiBQYWxhbnRpciBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgLSBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqL1xuXG5pbXBvcnQgXCJkb200XCI7XG5cbmltcG9ydCAqIGFzIGNvbnRleHRNZW51IGZyb20gXCIuL2NvbnRleHQtbWVudS9jb250ZXh0TWVudVwiO1xuZXhwb3J0IGNvbnN0IENvbnRleHRNZW51ID0gY29udGV4dE1lbnU7XG5cbmV4cG9ydCAqIGZyb20gXCIuL2FsZXJ0L2FsZXJ0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9icmVhZGNydW1icy9icmVhZGNydW1iXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9idXR0b24vYnV0dG9uc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29sbGFwc2UvY29sbGFwc2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbGxhcHNpYmxlLWxpc3QvY29sbGFwc2libGVMaXN0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb250ZXh0LW1lbnUvY29udGV4dE1lbnVUYXJnZXRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RpYWxvZy9kaWFsb2dcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VkaXRhYmxlLXRleHQvZWRpdGFibGVUZXh0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9mb3Jtcy9jb250cm9sc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZm9ybXMvaW5wdXRHcm91cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZm9ybXMvcmFkaW9Hcm91cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaG90a2V5cy9ob3RrZXlzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9tZW51L21lbnVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21lbnUvbWVudURpdmlkZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21lbnUvbWVudUl0ZW1cIjtcbmV4cG9ydCAqIGZyb20gXCIuL25vbi1pZGVhbC1zdGF0ZS9ub25JZGVhbFN0YXRlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9vdmVybGF5L292ZXJsYXlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BvcG92ZXIvcG9wb3ZlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcG9wb3Zlci9zdmdQb3BvdmVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wb3J0YWwvcG9ydGFsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wcm9ncmVzcy9wcm9ncmVzc0JhclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdG9vbHRpcC9zdmdUb29sdGlwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zbGlkZXIvcmFuZ2VTbGlkZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NsaWRlci9zbGlkZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NwaW5uZXIvc3Bpbm5lclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3Bpbm5lci9zdmdTcGlubmVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJzL3RhYlwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFicy90YWJzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJzL3RhYkxpc3RcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYnMvdGFiUGFuZWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhZy90YWdcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RvYXN0L3RvYXN0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90b2FzdC90b2FzdGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90b29sdGlwL3Rvb2x0aXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RyZWUvdHJlZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHJlZS90cmVlTm9kZVwiO1xuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9
-
-
-/***/ },
-/* 66 */
-/***/ function(module, exports) {
-
- /*!
- Copyright (C) 2013-2015 by Andrea Giammarchi - @WebReflection
-
- 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.
-
- */
- (function(window){'use strict';
- /* jshint loopfunc: true, noempty: false*/
- // http://www.w3.org/TR/dom/#element
-
- function createDocumentFragment() {
- return document.createDocumentFragment();
- }
-
- function createElement(nodeName) {
- return document.createElement(nodeName);
- }
-
- function enoughArguments(length, name) {
- if (!length) throw new Error(
- 'Failed to construct ' +
- name +
- ': 1 argument required, but only 0 present.'
- );
- }
+ function enoughArguments(length, name) {
+ if (!length) throw new Error(
+ 'Failed to construct ' +
+ name +
+ ': 1 argument required, but only 0 present.'
+ );
+ }
function mutationMacro(nodes) {
if (nodes.length === 1) {
@@ -6069,14 +5863,14 @@
}(self));
/***/ },
-/* 67 */
+/* 61 */
/***/ function(module, exports, __webpack_require__) {
/*
* Copyright 2016 Palantir Technologies, Inc. All rights reserved.
* Licensed under the BSD-3 License as modified (the “License”); you may obtain a copy
- * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE
- * and https://github.com/palantir/blueprint/blob/master/PATENTS
+ * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE
+ * and https://github.com/palantir/blueprint/blob/master/PATENTS
*/
"use strict";
var __extends = (this && this.__extends) || function (d, b) {
@@ -6085,11 +5879,11 @@
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var React = __webpack_require__(20);
- var ReactDOM = __webpack_require__(68);
- var Classes = __webpack_require__(63);
- var position_1 = __webpack_require__(59);
- var utils_1 = __webpack_require__(61);
- var popover_1 = __webpack_require__(198);
+ var ReactDOM = __webpack_require__(62);
+ var Classes = __webpack_require__(57);
+ var position_1 = __webpack_require__(53);
+ var utils_1 = __webpack_require__(55);
+ var popover_1 = __webpack_require__(208);
var CONSTRAINTS = [{ attachment: "together", pin: true, to: "window" }];
var TRANSITION_DURATION = 100;
var ContextMenu = (function (_super) {
@@ -6167,20 +5961,20 @@
}
exports.isOpen = isOpen;
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21wb25lbnRzL2NvbnRleHQtbWVudS9jb250ZXh0TWVudS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHOzs7Ozs7O0FBRUgsSUFBWSxLQUFLLFdBQU0sT0FBTyxDQUFDLENBQUE7QUFDL0IsSUFBWSxRQUFRLFdBQU0sV0FBVyxDQUFDLENBQUE7QUFFdEMsSUFBWSxPQUFPLFdBQU0sc0JBQXNCLENBQUMsQ0FBQTtBQUNoRCx5QkFBeUIsdUJBQXVCLENBQUMsQ0FBQTtBQUNqRCxzQkFBMkIsb0JBQW9CLENBQUMsQ0FBQTtBQUNoRCx3QkFBd0Isb0JBQW9CLENBQUMsQ0FBQTtBQWM3QyxJQUFNLFdBQVcsR0FBRyxDQUFFLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBRSxDQUFDO0FBQzVFLElBQU0sbUJBQW1CLEdBQUcsR0FBRyxDQUFDO0FBRWhDO0lBQTBCLCtCQUFzQztJQUFoRTtRQUFBLGlCQTJEQztRQTNEeUIsOEJBQXNDO1FBQ3JELFVBQUssR0FBc0I7WUFDOUIsTUFBTSxFQUFFLEtBQUs7U0FDaEIsQ0FBQztRQWtDTSxzQkFBaUIsR0FBRyxVQUFDLENBQXVDLElBQUssT0FBQSxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQWxCLENBQWtCLENBQUM7UUFFcEYsOEJBQXlCLEdBQUcsVUFBQyxDQUFtQztZQUNwRSxnR0FBZ0c7WUFDL0YsQ0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3JCLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNuQix5RkFBeUY7WUFDekYsc0ZBQXNGO1lBQ3RGLFVBQVUsQ0FBQztnQkFDUCxvRUFBb0U7Z0JBQ3BFLGlFQUFpRTtnQkFDakUsK0RBQStEO2dCQUMvRCxJQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ2xFLFNBQVMsQ0FBQyxhQUFhLENBQUMsSUFBSSxVQUFVLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDOUQsQ0FBQyxFQUFFLG1CQUFtQixDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFBO1FBRU8sNkJBQXdCLEdBQUcsVUFBQyxhQUFzQjtZQUN0RCxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pCLEtBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNoQixDQUFDO1FBQ0wsQ0FBQyxDQUFBO0lBQ0wsQ0FBQztJQXREVSw0QkFBTSxHQUFiO1FBQ0ksMkNBQTJDO1FBQzNDLElBQU0sT0FBTyxHQUFHLHFCQUFDLEdBQUcsSUFBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGlCQUFrQixHQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSyxDQUFNLENBQUM7UUFDcEYsTUFBTSxDQUFDLENBQ0gsb0JBQUMsaUJBQU8sR0FDSixhQUFhLEVBQUUsRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDLHlCQUF5QixFQUFHLEVBQ2pFLFdBQVcsRUFBRSxXQUFZLEVBQ3pCLE9BQU8sRUFBRSxPQUFRLEVBQ2pCLFlBQVksRUFBRSxLQUFNLEVBQ3BCLE9BQU8sRUFBRSxJQUFLLEVBQ2QsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTyxFQUMxQixhQUFhLEVBQUUsSUFBSSxDQUFDLHdCQUF5QixFQUM3QyxRQUFRLEVBQUUsbUJBQVEsQ0FBQyxTQUFVLEVBQzdCLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxPQUFRLEVBQ2xDLHdCQUF3QixFQUFFLEtBQU0sRUFDaEMsa0JBQWtCLEVBQUUsbUJBQW9CO1lBRXhDLHFCQUFDLEdBQUcsSUFBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLDJCQUE0QixFQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU8sRUFBRztTQUMzRSxDQUNiLENBQUM7SUFDTixDQUFDO0lBRU0sMEJBQUksR0FBWCxVQUFZLElBQWlCLEVBQUUsTUFBZSxFQUFFLE9BQW9CO1FBQ2hFLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFVBQUksRUFBRSxjQUFNLEVBQUUsZ0JBQU8sRUFBRSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVNLDBCQUFJLEdBQVg7UUFDWSxnQ0FBTyxDQUFnQjtRQUMvQixJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNoRCxrQkFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUF3Qkwsa0JBQUM7QUFBRCxDQTNEQSxBQTJEQyxDQTNEeUIsS0FBSyxDQUFDLFNBQVMsR0EyRHhDO0FBRUQsSUFBSSxXQUF3QixDQUFDO0FBRTdCOzs7O0dBSUc7QUFDSCxjQUFxQixJQUFpQixFQUFFLE1BQWUsRUFBRSxPQUFvQjtJQUN6RSxFQUFFLENBQUMsQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN0QixJQUFNLGtCQUFrQixHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekQsa0JBQWtCLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDdkQsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUM5QyxXQUFXLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxvQkFBQyxXQUFXLE9BQUcsRUFBRSxrQkFBa0IsQ0FBZ0IsQ0FBQztJQUN0RixDQUFDO0lBRUQsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQzVDLENBQUM7QUFUZSxZQUFJLE9BU25CLENBQUE7QUFFRCxrQ0FBa0M7QUFDbEM7SUFDSSxFQUFFLENBQUMsQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN0QixXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztBQUNMLENBQUM7QUFKZSxZQUFJLE9BSW5CLENBQUE7QUFFRCx1REFBdUQ7QUFDdkQ7SUFDSSxNQUFNLENBQUMsV0FBVyxJQUFJLElBQUksSUFBSSxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztBQUMzRCxDQUFDO0FBRmUsY0FBTSxTQUVyQixDQUFBIiwiZmlsZSI6ImNvbXBvbmVudHMvY29udGV4dC1tZW51L2NvbnRleHRNZW51LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE2IFBhbGFudGlyIFRlY2hub2xvZ2llcywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAtIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICovXG5cbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0ICogYXMgUmVhY3RET00gZnJvbSBcInJlYWN0LWRvbVwiO1xuXG5pbXBvcnQgKiBhcyBDbGFzc2VzIGZyb20gXCIuLi8uLi9jb21tb24vY2xhc3Nlc1wiO1xuaW1wb3J0IHsgUG9zaXRpb24gfSBmcm9tIFwiLi4vLi4vY29tbW9uL3Bvc2l0aW9uXCI7XG5pbXBvcnQgeyBzYWZlSW52b2tlIH0gZnJvbSBcIi4uLy4uL2NvbW1vbi91dGlsc1wiO1xuaW1wb3J0IHsgUG9wb3ZlciB9IGZyb20gXCIuLi9wb3BvdmVyL3BvcG92ZXJcIjtcblxuZXhwb3J0IGludGVyZmFjZSBJT2Zmc2V0IHtcbiAgICBsZWZ0OiBudW1iZXI7XG4gICAgdG9wOiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBJQ29udGV4dE1lbnVTdGF0ZSB7XG4gICAgaXNPcGVuPzogYm9vbGVhbjtcbiAgICBtZW51PzogSlNYLkVsZW1lbnQ7XG4gICAgb2Zmc2V0PzogSU9mZnNldDtcbiAgICBvbkNsb3NlPzogKCkgPT4gdm9pZDtcbn1cblxuY29uc3QgQ09OU1RSQUlOVFMgPSBbIHsgYXR0YWNobWVudDogXCJ0b2dldGhlclwiLCBwaW46IHRydWUsIHRvOiBcIndpbmRvd1wiIH0gXTtcbmNvbnN0IFRSQU5TSVRJT05fRFVSQVRJT04gPSAxMDA7XG5cbmNsYXNzIENvbnRleHRNZW51IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PHt9LCBJQ29udGV4dE1lbnVTdGF0ZT4ge1xuICAgIHB1YmxpYyBzdGF0ZTogSUNvbnRleHRNZW51U3RhdGUgPSB7XG4gICAgICAgIGlzT3BlbjogZmFsc2UsXG4gICAgfTtcblxuICAgIHB1YmxpYyByZW5kZXIoKSB7XG4gICAgICAgIC8vIHByZXZlbnQgcmlnaHQtY2xpY2tpbmcgaW4gYSBjb250ZXh0IG1lbnVcbiAgICAgICAgY29uc3QgY29udGVudCA9IDxkaXYgb25Db250ZXh0TWVudT17dGhpcy5jYW5jZWxDb250ZXh0TWVudX0+e3RoaXMuc3RhdGUubWVudX08L2Rpdj47XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8UG9wb3ZlclxuICAgICAgICAgICAgICAgIGJhY2tkcm9wUHJvcHM9e3sgb25Db250ZXh0TWVudTogdGhpcy5oYW5kbGVCYWNrZHJvcENvbnRleHRNZW51IH19XG4gICAgICAgICAgICAgICAgY29uc3RyYWludHM9e0NPTlNUUkFJTlRTfVxuICAgICAgICAgICAgICAgIGNvbnRlbnQ9e2NvbnRlbnR9XG4gICAgICAgICAgICAgICAgZW5mb3JjZUZvY3VzPXtmYWxzZX1cbiAgICAgICAgICAgICAgICBpc01vZGFsPXt0cnVlfVxuICAgICAgICAgICAgICAgIGlzT3Blbj17dGhpcy5zdGF0ZS5pc09wZW59XG4gICAgICAgICAgICAgICAgb25JbnRlcmFjdGlvbj17dGhpcy5oYW5kbGVQb3BvdmVySW50ZXJhY3Rpb259XG4gICAgICAgICAgICAgICAgcG9zaXRpb249e1Bvc2l0aW9uLlJJR0hUX1RPUH1cbiAgICAgICAgICAgICAgICBwb3BvdmVyQ2xhc3NOYW1lPXtDbGFzc2VzLk1JTklNQUx9XG4gICAgICAgICAgICAgICAgdXNlU21hcnRBcnJvd1Bvc2l0aW9uaW5nPXtmYWxzZX1cbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uRHVyYXRpb249e1RSQU5TSVRJT05fRFVSQVRJT059XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e0NsYXNzZXMuQ09OVEVYVF9NRU5VX1BPUE9WRVJfVEFSR0VUfSBzdHlsZT17dGhpcy5zdGF0ZS5vZmZzZXR9IC8+XG4gICAgICAgICAgICA8L1BvcG92ZXI+XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIHNob3cobWVudTogSlNYLkVsZW1lbnQsIG9mZnNldDogSU9mZnNldCwgb25DbG9zZT86ICgpID0+IHZvaWQpIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGlzT3BlbjogdHJ1ZSwgbWVudSwgb2Zmc2V0LCBvbkNsb3NlIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBoaWRlKCkge1xuICAgICAgICBjb25zdCB7IG9uQ2xvc2UgfSA9IHRoaXMuc3RhdGU7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoeyBpc09wZW46IGZhbHNlLCBvbkNsb3NlOiBudWxsIH0pO1xuICAgICAgICBzYWZlSW52b2tlKG9uQ2xvc2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2FuY2VsQ29udGV4dE1lbnUgPSAoZTogUmVhY3QuU3ludGhldGljRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiBlLnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICBwcml2YXRlIGhhbmRsZUJhY2tkcm9wQ29udGV4dE1lbnUgPSAoZTogUmVhY3QuTW91c2VFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHtcbiAgICAgICAgLy8gSEFDS0hBQ0s6IFJlYWN0IGZ1bmN0aW9uIHRvIHJlbW92ZSBmcm9tIHRoZSBldmVudCBwb29sIChub3Qgc3VyZSB3aHkgaXQncyBub3QgaW4gdHlwaW5ncyAjNjYpXG4gICAgICAgIChlIGFzIGFueSkucGVyc2lzdCgpO1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIC8vIHdhaXQgZm9yIGJhY2tkcm9wIHRvIGRpc2FwcGVhciBzbyB3ZSBjYW4gZmluZCB0aGUgXCJyZWFsXCIgZWxlbWVudCBhdCBldmVudCBjb29yZGluYXRlcy5cbiAgICAgICAgLy8gdGltZW91dCBkdXJhdGlvbiBpcyBlcXVpdmFsZW50IHRvIHRyYW5zaXRpb24gZHVyYXRpb24gc28gd2Uga25vdyBpdCdzIGFuaW1hdGVkIG91dC5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAvLyByZXRyaWdnZXIgY29udGV4dCBtZW51IGV2ZW50IGF0IHRoZSBlbGVtZW50IGJlbmVhdGggdGhlIGJhY2tkcm9wLlxuICAgICAgICAgICAgLy8gaWYgaXQgaGFzIGEgYGNvbnRleHRtZW51YCBldmVudCBoYW5kbGVyIHRoZW4gaXQnbGwgYmUgaW52b2tlZC5cbiAgICAgICAgICAgIC8vIGlmIGl0IGRvZXNuJ3QsIG5vIG5hdGl2ZSBtZW51IHdpbGwgc2hvdyAoYXQgbGVhc3Qgb24gT1NYKSA6KFxuICAgICAgICAgICAgY29uc3QgbmV3VGFyZ2V0ID0gZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludChlLmNsaWVudFgsIGUuY2xpZW50WSk7XG4gICAgICAgICAgICBuZXdUYXJnZXQuZGlzcGF0Y2hFdmVudChuZXcgTW91c2VFdmVudChcImNvbnRleHRtZW51XCIsIGUpKTtcbiAgICAgICAgfSwgVFJBTlNJVElPTl9EVVJBVElPTik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVQb3BvdmVySW50ZXJhY3Rpb24gPSAobmV4dE9wZW5TdGF0ZTogYm9vbGVhbikgPT4ge1xuICAgICAgICBpZiAoIW5leHRPcGVuU3RhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuaGlkZSgpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5sZXQgY29udGV4dE1lbnU6IENvbnRleHRNZW51O1xuXG4vKipcbiAqIFNob3cgdGhlIGdpdmVuIG1lbnUgZWxlbWVudCBhdCB0aGUgZ2l2ZW4gb2Zmc2V0IGZyb20gdGhlIHRvcC1sZWZ0IGNvcm5lciBvZiB0aGUgdmlld3BvcnQuXG4gKiBUaGUgbWVudSB3aWxsIGFwcGVhciBiZWxvdy1yaWdodCBvZiB0aGlzIHBvaW50IGFuZCB3aWxsIGZsaXAgdG8gYmVsb3ctbGVmdCBpZiB0aGVyZSBpcyBub3QgZW5vdWdoXG4gKiByb29tIG9uc2NyZWVuLiBUaGUgb3B0aW9uYWwgY2FsbGJhY2sgd2lsbCBiZSBpbnZva2VkIHdoZW4gdGhpcyBtZW51IGNsb3Nlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNob3cobWVudTogSlNYLkVsZW1lbnQsIG9mZnNldDogSU9mZnNldCwgb25DbG9zZT86ICgpID0+IHZvaWQpIHtcbiAgICBpZiAoY29udGV4dE1lbnUgPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBjb250ZXh0TWVudUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xuICAgICAgICBjb250ZXh0TWVudUVsZW1lbnQuY2xhc3NMaXN0LmFkZChDbGFzc2VzLkNPTlRFWFRfTUVOVSk7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY29udGV4dE1lbnVFbGVtZW50KTtcbiAgICAgICAgY29udGV4dE1lbnUgPSBSZWFjdERPTS5yZW5kZXIoPENvbnRleHRNZW51IC8+LCBjb250ZXh0TWVudUVsZW1lbnQpIGFzIENvbnRleHRNZW51O1xuICAgIH1cblxuICAgIGNvbnRleHRNZW51LnNob3cobWVudSwgb2Zmc2V0LCBvbkNsb3NlKTtcbn1cblxuLyoqIEhpZGUgdGhlIG9wZW4gY29udGV4dCBtZW51LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhpZGUoKSB7XG4gICAgaWYgKGNvbnRleHRNZW51ICE9IG51bGwpIHtcbiAgICAgICAgY29udGV4dE1lbnUuaGlkZSgpO1xuICAgIH1cbn1cblxuLyoqIFJldHVybiB3aGV0aGVyIGEgY29udGV4dCBtZW51IGlzIGN1cnJlbnRseSBvcGVuLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzT3BlbigpIHtcbiAgICByZXR1cm4gY29udGV4dE1lbnUgIT0gbnVsbCAmJiBjb250ZXh0TWVudS5zdGF0ZS5pc09wZW47XG59XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0=
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21wb25lbnRzL2NvbnRleHQtbWVudS9jb250ZXh0TWVudS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7Ozs7Ozs7QUFFSCxJQUFZLEtBQUssV0FBTSxPQUFPLENBQUMsQ0FBQTtBQUMvQixJQUFZLFFBQVEsV0FBTSxXQUFXLENBQUMsQ0FBQTtBQUV0QyxJQUFZLE9BQU8sV0FBTSxzQkFBc0IsQ0FBQyxDQUFBO0FBQ2hELHlCQUF5Qix1QkFBdUIsQ0FBQyxDQUFBO0FBQ2pELHNCQUEyQixvQkFBb0IsQ0FBQyxDQUFBO0FBQ2hELHdCQUF3QixvQkFBb0IsQ0FBQyxDQUFBO0FBYzdDLElBQU0sV0FBVyxHQUFHLENBQUUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFFLENBQUM7QUFDNUUsSUFBTSxtQkFBbUIsR0FBRyxHQUFHLENBQUM7QUFFaEM7SUFBMEIsK0JBQXNDO0lBQWhFO1FBQUEsaUJBMkRDO1FBM0R5Qiw4QkFBc0M7UUFDckQsVUFBSyxHQUFzQjtZQUM5QixNQUFNLEVBQUUsS0FBSztTQUNoQixDQUFDO1FBa0NNLHNCQUFpQixHQUFHLFVBQUMsQ0FBdUMsSUFBSyxPQUFBLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBbEIsQ0FBa0IsQ0FBQztRQUVwRiw4QkFBeUIsR0FBRyxVQUFDLENBQW1DO1lBQ3BFLGdHQUFnRztZQUMvRixDQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDckIsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ25CLHlGQUF5RjtZQUN6RixzRkFBc0Y7WUFDdEYsVUFBVSxDQUFDO2dCQUNQLG9FQUFvRTtnQkFDcEUsaUVBQWlFO2dCQUNqRSwrREFBK0Q7Z0JBQy9ELElBQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDbEUsU0FBUyxDQUFDLGFBQWEsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5RCxDQUFDLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUE7UUFFTyw2QkFBd0IsR0FBRyxVQUFDLGFBQXNCO1lBQ3RELEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztnQkFDakIsS0FBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2hCLENBQUM7UUFDTCxDQUFDLENBQUE7SUFDTCxDQUFDO0lBdERVLDRCQUFNLEdBQWI7UUFDSSwyQ0FBMkM7UUFDM0MsSUFBTSxPQUFPLEdBQUcscUJBQUMsR0FBRyxJQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsaUJBQWtCLEdBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFLLENBQU0sQ0FBQztRQUNwRixNQUFNLENBQUMsQ0FDSCxvQkFBQyxpQkFBTyxHQUNKLGFBQWEsRUFBRSxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMseUJBQXlCLEVBQUcsRUFDakUsV0FBVyxFQUFFLFdBQVksRUFDekIsT0FBTyxFQUFFLE9BQVEsRUFDakIsWUFBWSxFQUFFLEtBQU0sRUFDcEIsT0FBTyxFQUFFLElBQUssRUFDZCxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFPLEVBQzFCLGFBQWEsRUFBRSxJQUFJLENBQUMsd0JBQXlCLEVBQzdDLFFBQVEsRUFBRSxtQkFBUSxDQUFDLFNBQVUsRUFDN0IsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLE9BQVEsRUFDbEMsd0JBQXdCLEVBQUUsS0FBTSxFQUNoQyxrQkFBa0IsRUFBRSxtQkFBb0I7WUFFeEMscUJBQUMsR0FBRyxJQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsMkJBQTRCLEVBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTyxFQUFHO1NBQzNFLENBQ2IsQ0FBQztJQUNOLENBQUM7SUFFTSwwQkFBSSxHQUFYLFVBQVksSUFBaUIsRUFBRSxNQUFlLEVBQUUsT0FBb0I7UUFDaEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsVUFBSSxFQUFFLGNBQU0sRUFBRSxnQkFBTyxFQUFFLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRU0sMEJBQUksR0FBWDtRQUNZLGdDQUFPLENBQWdCO1FBQy9CLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2hELGtCQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQXdCTCxrQkFBQztBQUFELENBM0RBLEFBMkRDLENBM0R5QixLQUFLLENBQUMsU0FBUyxHQTJEeEM7QUFFRCxJQUFJLFdBQXdCLENBQUM7QUFFN0I7Ozs7R0FJRztBQUNILGNBQXFCLElBQWlCLEVBQUUsTUFBZSxFQUFFLE9BQW9CO0lBQ3pFLEVBQUUsQ0FBQyxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLElBQU0sa0JBQWtCLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6RCxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN2RCxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQzlDLFdBQVcsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLG9CQUFDLFdBQVcsT0FBRyxFQUFFLGtCQUFrQixDQUFnQixDQUFDO0lBQ3RGLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDNUMsQ0FBQztBQVRlLFlBQUksT0FTbkIsQ0FBQTtBQUVELGtDQUFrQztBQUNsQztJQUNJLEVBQUUsQ0FBQyxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDO0FBQ0wsQ0FBQztBQUplLFlBQUksT0FJbkIsQ0FBQTtBQUVELHVEQUF1RDtBQUN2RDtJQUNJLE1BQU0sQ0FBQyxXQUFXLElBQUksSUFBSSxJQUFJLFdBQVcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO0FBQzNELENBQUM7QUFGZSxjQUFNLFNBRXJCLENBQUEiLCJmaWxlIjoiY29tcG9uZW50cy9jb250ZXh0LW1lbnUvY29udGV4dE1lbnUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTYgUGFsYW50aXIgVGVjaG5vbG9naWVzLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQlNELTMgTGljZW5zZSBhcyBtb2RpZmllZCAodGhlIOKAnExpY2Vuc2XigJ0pOyB5b3UgbWF5IG9idGFpbiBhIGNvcHlcbiAqIG9mIHRoZSBsaWNlbnNlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9wYWxhbnRpci9ibHVlcHJpbnQvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICogYW5kIGh0dHBzOi8vZ2l0aHViLmNvbS9wYWxhbnRpci9ibHVlcHJpbnQvYmxvYi9tYXN0ZXIvUEFURU5UU1xuICovXG5cbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0ICogYXMgUmVhY3RET00gZnJvbSBcInJlYWN0LWRvbVwiO1xuXG5pbXBvcnQgKiBhcyBDbGFzc2VzIGZyb20gXCIuLi8uLi9jb21tb24vY2xhc3Nlc1wiO1xuaW1wb3J0IHsgUG9zaXRpb24gfSBmcm9tIFwiLi4vLi4vY29tbW9uL3Bvc2l0aW9uXCI7XG5pbXBvcnQgeyBzYWZlSW52b2tlIH0gZnJvbSBcIi4uLy4uL2NvbW1vbi91dGlsc1wiO1xuaW1wb3J0IHsgUG9wb3ZlciB9IGZyb20gXCIuLi9wb3BvdmVyL3BvcG92ZXJcIjtcblxuZXhwb3J0IGludGVyZmFjZSBJT2Zmc2V0IHtcbiAgICBsZWZ0OiBudW1iZXI7XG4gICAgdG9wOiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBJQ29udGV4dE1lbnVTdGF0ZSB7XG4gICAgaXNPcGVuPzogYm9vbGVhbjtcbiAgICBtZW51PzogSlNYLkVsZW1lbnQ7XG4gICAgb2Zmc2V0PzogSU9mZnNldDtcbiAgICBvbkNsb3NlPzogKCkgPT4gdm9pZDtcbn1cblxuY29uc3QgQ09OU1RSQUlOVFMgPSBbIHsgYXR0YWNobWVudDogXCJ0b2dldGhlclwiLCBwaW46IHRydWUsIHRvOiBcIndpbmRvd1wiIH0gXTtcbmNvbnN0IFRSQU5TSVRJT05fRFVSQVRJT04gPSAxMDA7XG5cbmNsYXNzIENvbnRleHRNZW51IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PHt9LCBJQ29udGV4dE1lbnVTdGF0ZT4ge1xuICAgIHB1YmxpYyBzdGF0ZTogSUNvbnRleHRNZW51U3RhdGUgPSB7XG4gICAgICAgIGlzT3BlbjogZmFsc2UsXG4gICAgfTtcblxuICAgIHB1YmxpYyByZW5kZXIoKSB7XG4gICAgICAgIC8vIHByZXZlbnQgcmlnaHQtY2xpY2tpbmcgaW4gYSBjb250ZXh0IG1lbnVcbiAgICAgICAgY29uc3QgY29udGVudCA9IDxkaXYgb25Db250ZXh0TWVudT17dGhpcy5jYW5jZWxDb250ZXh0TWVudX0+e3RoaXMuc3RhdGUubWVudX08L2Rpdj47XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8UG9wb3ZlclxuICAgICAgICAgICAgICAgIGJhY2tkcm9wUHJvcHM9e3sgb25Db250ZXh0TWVudTogdGhpcy5oYW5kbGVCYWNrZHJvcENvbnRleHRNZW51IH19XG4gICAgICAgICAgICAgICAgY29uc3RyYWludHM9e0NPTlNUUkFJTlRTfVxuICAgICAgICAgICAgICAgIGNvbnRlbnQ9e2NvbnRlbnR9XG4gICAgICAgICAgICAgICAgZW5mb3JjZUZvY3VzPXtmYWxzZX1cbiAgICAgICAgICAgICAgICBpc01vZGFsPXt0cnVlfVxuICAgICAgICAgICAgICAgIGlzT3Blbj17dGhpcy5zdGF0ZS5pc09wZW59XG4gICAgICAgICAgICAgICAgb25JbnRlcmFjdGlvbj17dGhpcy5oYW5kbGVQb3BvdmVySW50ZXJhY3Rpb259XG4gICAgICAgICAgICAgICAgcG9zaXRpb249e1Bvc2l0aW9uLlJJR0hUX1RPUH1cbiAgICAgICAgICAgICAgICBwb3BvdmVyQ2xhc3NOYW1lPXtDbGFzc2VzLk1JTklNQUx9XG4gICAgICAgICAgICAgICAgdXNlU21hcnRBcnJvd1Bvc2l0aW9uaW5nPXtmYWxzZX1cbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uRHVyYXRpb249e1RSQU5TSVRJT05fRFVSQVRJT059XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e0NsYXNzZXMuQ09OVEVYVF9NRU5VX1BPUE9WRVJfVEFSR0VUfSBzdHlsZT17dGhpcy5zdGF0ZS5vZmZzZXR9IC8+XG4gICAgICAgICAgICA8L1BvcG92ZXI+XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIHNob3cobWVudTogSlNYLkVsZW1lbnQsIG9mZnNldDogSU9mZnNldCwgb25DbG9zZT86ICgpID0+IHZvaWQpIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGlzT3BlbjogdHJ1ZSwgbWVudSwgb2Zmc2V0LCBvbkNsb3NlIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBoaWRlKCkge1xuICAgICAgICBjb25zdCB7IG9uQ2xvc2UgfSA9IHRoaXMuc3RhdGU7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoeyBpc09wZW46IGZhbHNlLCBvbkNsb3NlOiBudWxsIH0pO1xuICAgICAgICBzYWZlSW52b2tlKG9uQ2xvc2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2FuY2VsQ29udGV4dE1lbnUgPSAoZTogUmVhY3QuU3ludGhldGljRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiBlLnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICBwcml2YXRlIGhhbmRsZUJhY2tkcm9wQ29udGV4dE1lbnUgPSAoZTogUmVhY3QuTW91c2VFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHtcbiAgICAgICAgLy8gSEFDS0hBQ0s6IFJlYWN0IGZ1bmN0aW9uIHRvIHJlbW92ZSBmcm9tIHRoZSBldmVudCBwb29sIChub3Qgc3VyZSB3aHkgaXQncyBub3QgaW4gdHlwaW5ncyAjNjYpXG4gICAgICAgIChlIGFzIGFueSkucGVyc2lzdCgpO1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIC8vIHdhaXQgZm9yIGJhY2tkcm9wIHRvIGRpc2FwcGVhciBzbyB3ZSBjYW4gZmluZCB0aGUgXCJyZWFsXCIgZWxlbWVudCBhdCBldmVudCBjb29yZGluYXRlcy5cbiAgICAgICAgLy8gdGltZW91dCBkdXJhdGlvbiBpcyBlcXVpdmFsZW50IHRvIHRyYW5zaXRpb24gZHVyYXRpb24gc28gd2Uga25vdyBpdCdzIGFuaW1hdGVkIG91dC5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAvLyByZXRyaWdnZXIgY29udGV4dCBtZW51IGV2ZW50IGF0IHRoZSBlbGVtZW50IGJlbmVhdGggdGhlIGJhY2tkcm9wLlxuICAgICAgICAgICAgLy8gaWYgaXQgaGFzIGEgYGNvbnRleHRtZW51YCBldmVudCBoYW5kbGVyIHRoZW4gaXQnbGwgYmUgaW52b2tlZC5cbiAgICAgICAgICAgIC8vIGlmIGl0IGRvZXNuJ3QsIG5vIG5hdGl2ZSBtZW51IHdpbGwgc2hvdyAoYXQgbGVhc3Qgb24gT1NYKSA6KFxuICAgICAgICAgICAgY29uc3QgbmV3VGFyZ2V0ID0gZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludChlLmNsaWVudFgsIGUuY2xpZW50WSk7XG4gICAgICAgICAgICBuZXdUYXJnZXQuZGlzcGF0Y2hFdmVudChuZXcgTW91c2VFdmVudChcImNvbnRleHRtZW51XCIsIGUpKTtcbiAgICAgICAgfSwgVFJBTlNJVElPTl9EVVJBVElPTik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVQb3BvdmVySW50ZXJhY3Rpb24gPSAobmV4dE9wZW5TdGF0ZTogYm9vbGVhbikgPT4ge1xuICAgICAgICBpZiAoIW5leHRPcGVuU3RhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuaGlkZSgpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5sZXQgY29udGV4dE1lbnU6IENvbnRleHRNZW51O1xuXG4vKipcbiAqIFNob3cgdGhlIGdpdmVuIG1lbnUgZWxlbWVudCBhdCB0aGUgZ2l2ZW4gb2Zmc2V0IGZyb20gdGhlIHRvcC1sZWZ0IGNvcm5lciBvZiB0aGUgdmlld3BvcnQuXG4gKiBUaGUgbWVudSB3aWxsIGFwcGVhciBiZWxvdy1yaWdodCBvZiB0aGlzIHBvaW50IGFuZCB3aWxsIGZsaXAgdG8gYmVsb3ctbGVmdCBpZiB0aGVyZSBpcyBub3QgZW5vdWdoXG4gKiByb29tIG9uc2NyZWVuLiBUaGUgb3B0aW9uYWwgY2FsbGJhY2sgd2lsbCBiZSBpbnZva2VkIHdoZW4gdGhpcyBtZW51IGNsb3Nlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNob3cobWVudTogSlNYLkVsZW1lbnQsIG9mZnNldDogSU9mZnNldCwgb25DbG9zZT86ICgpID0+IHZvaWQpIHtcbiAgICBpZiAoY29udGV4dE1lbnUgPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBjb250ZXh0TWVudUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xuICAgICAgICBjb250ZXh0TWVudUVsZW1lbnQuY2xhc3NMaXN0LmFkZChDbGFzc2VzLkNPTlRFWFRfTUVOVSk7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY29udGV4dE1lbnVFbGVtZW50KTtcbiAgICAgICAgY29udGV4dE1lbnUgPSBSZWFjdERPTS5yZW5kZXIoPENvbnRleHRNZW51IC8+LCBjb250ZXh0TWVudUVsZW1lbnQpIGFzIENvbnRleHRNZW51O1xuICAgIH1cblxuICAgIGNvbnRleHRNZW51LnNob3cobWVudSwgb2Zmc2V0LCBvbkNsb3NlKTtcbn1cblxuLyoqIEhpZGUgdGhlIG9wZW4gY29udGV4dCBtZW51LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhpZGUoKSB7XG4gICAgaWYgKGNvbnRleHRNZW51ICE9IG51bGwpIHtcbiAgICAgICAgY29udGV4dE1lbnUuaGlkZSgpO1xuICAgIH1cbn1cblxuLyoqIFJldHVybiB3aGV0aGVyIGEgY29udGV4dCBtZW51IGlzIGN1cnJlbnRseSBvcGVuLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzT3BlbigpIHtcbiAgICByZXR1cm4gY29udGV4dE1lbnUgIT0gbnVsbCAmJiBjb250ZXh0TWVudS5zdGF0ZS5pc09wZW47XG59XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0=
/***/ },
-/* 68 */
+/* 62 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
- module.exports = __webpack_require__(69);
+ module.exports = __webpack_require__(63);
/***/ },
-/* 69 */
+/* 63 */
/***/ function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(process) {/**
@@ -6191,28 +5985,27 @@
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
- * @providesModule ReactDOM
*/
/* globals __REACT_DEVTOOLS_GLOBAL_HOOK__*/
'use strict';
- var ReactDOMComponentTree = __webpack_require__(70);
- var ReactDefaultInjection = __webpack_require__(73);
- var ReactMount = __webpack_require__(190);
- var ReactReconciler = __webpack_require__(92);
- var ReactUpdates = __webpack_require__(89);
- var ReactVersion = __webpack_require__(55);
+ var ReactDOMComponentTree = __webpack_require__(64);
+ var ReactDefaultInjection = __webpack_require__(68);
+ var ReactMount = __webpack_require__(196);
+ var ReactReconciler = __webpack_require__(89);
+ var ReactUpdates = __webpack_require__(86);
+ var ReactVersion = __webpack_require__(201);
- var findDOMNode = __webpack_require__(195);
- var getNativeComponentFromComposite = __webpack_require__(196);
- var renderSubtreeIntoContainer = __webpack_require__(197);
- var warning = __webpack_require__(29);
+ var findDOMNode = __webpack_require__(202);
+ var getHostComponentFromComposite = __webpack_require__(203);
+ var renderSubtreeIntoContainer = __webpack_require__(204);
+ var warning = __webpack_require__(30);
ReactDefaultInjection.inject();
- var React = {
+ var ReactDOM = {
findDOMNode: findDOMNode,
render: ReactMount.render,
unmountComponentAtNode: ReactMount.unmountComponentAtNode,
@@ -6225,7 +6018,6 @@
// Inject the runtime into a devtools global hook regardless of browser.
// Allows for debugging when the hook is injected on the page.
- /* eslint-enable camelcase */
if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject === 'function') {
__REACT_DEVTOOLS_GLOBAL_HOOK__.inject({
ComponentTree: {
@@ -6233,7 +6025,7 @@
getNodeFromInstance: function (inst) {
// inst is an internal instance (but could be a composite)
if (inst._renderedComponent) {
- inst = getNativeComponentFromComposite(inst);
+ inst = getHostComponentFromComposite(inst);
}
if (inst) {
return ReactDOMComponentTree.getNodeFromInstance(inst);
@@ -6248,7 +6040,7 @@
}
if (process.env.NODE_ENV !== 'production') {
- var ExecutionEnvironment = __webpack_require__(39);
+ var ExecutionEnvironment = __webpack_require__(78);
if (ExecutionEnvironment.canUseDOM && window.top === window.self) {
// First check if devtools is not installed
@@ -6272,7 +6064,7 @@
var expectedFeatures = [
// shims
- Array.isArray, Array.prototype.every, Array.prototype.forEach, Array.prototype.indexOf, Array.prototype.map, Date.now, Function.prototype.bind, Object.keys, String.prototype.split, String.prototype.trim];
+ 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]) {
@@ -6283,11 +6075,22 @@
}
}
- module.exports = React;
+ if (process.env.NODE_ENV !== 'production') {
+ var ReactInstrumentation = __webpack_require__(92);
+ var ReactDOMUnknownPropertyHook = __webpack_require__(205);
+ var ReactDOMNullInputValuePropHook = __webpack_require__(206);
+ var ReactDOMInvalidARIAHook = __webpack_require__(207);
+
+ ReactInstrumentation.debugTool.addHook(ReactDOMUnknownPropertyHook);
+ ReactInstrumentation.debugTool.addHook(ReactDOMNullInputValuePropHook);
+ ReactInstrumentation.debugTool.addHook(ReactDOMInvalidARIAHook);
+ }
+
+ module.exports = ReactDOM;
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22)))
/***/ },
-/* 70 */
+/* 64 */
/***/ function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(process) {/**
@@ -6298,15 +6101,16 @@
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
- * @providesModule ReactDOMComponentTree
*/
'use strict';
- var DOMProperty = __webpack_require__(71);
- var ReactDOMComponentFlags = __webpack_require__(72);
+ var _prodInvariant = __webpack_require__(65);
+
+ var DOMProperty = __webpack_require__(66);
+ var ReactDOMComponentFlags = __webpack_require__(67);
- var invariant = __webpack_require__(26);
+ var invariant = __webpack_require__(27);
var ATTR_NAME = DOMProperty.ID_ATTRIBUTE_NAME;
var Flags = ReactDOMComponentFlags;
@@ -6314,13 +6118,13 @@
var internalInstanceKey = '__reactInternalInstance$' + Math.random().toString(36).slice(2);
/**
- * Drill down (through composites and empty components) until we get a native or
- * native text component.
+ * 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 getRenderedNativeOrTextFromComponent(component) {
+ function getRenderedHostOrTextFromComponent(component) {
var rendered;
while (rendered = component._renderedComponent) {
component = rendered;
@@ -6329,25 +6133,25 @@
}
/**
- * Populate `_nativeNode` on the rendered native/text component with the given
+ * 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 nativeInst = getRenderedNativeOrTextFromComponent(inst);
- nativeInst._nativeNode = node;
- node[internalInstanceKey] = nativeInst;
+ var hostInst = getRenderedHostOrTextFromComponent(inst);
+ hostInst._hostNode = node;
+ node[internalInstanceKey] = hostInst;
}
function uncacheNode(inst) {
- var node = inst._nativeNode;
+ var node = inst._hostNode;
if (node) {
delete node[internalInstanceKey];
- inst._nativeNode = null;
+ inst._hostNode = null;
}
}
/**
- * Populate `_nativeNode` on each child of `inst`, assuming that the children
+ * 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
@@ -6371,8 +6175,8 @@
continue;
}
var childInst = children[name];
- var childID = getRenderedNativeOrTextFromComponent(childInst)._domID;
- if (childID == null) {
+ var childID = getRenderedHostOrTextFromComponent(childInst)._domID;
+ if (childID === 0) {
// We're currently unmounting this child in ReactMultiChild; skip it.
continue;
}
@@ -6384,7 +6188,7 @@
}
}
// 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) : invariant(false) : void 0;
+ 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;
}
@@ -6429,7 +6233,7 @@
*/
function getInstanceFromNode(node) {
var inst = getClosestInstanceFromNode(node);
- if (inst != null && inst._nativeNode === node) {
+ if (inst != null && inst._hostNode === node) {
return inst;
} else {
return null;
@@ -6443,27 +6247,27 @@
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._nativeNode !== undefined) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'getNodeFromInstance: Invalid argument.') : invariant(false) : void 0;
+ !(inst._hostNode !== undefined) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'getNodeFromInstance: Invalid argument.') : _prodInvariant('33') : void 0;
- if (inst._nativeNode) {
- return inst._nativeNode;
+ 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._nativeNode) {
+ while (!inst._hostNode) {
parents.push(inst);
- !inst._nativeParent ? process.env.NODE_ENV !== 'production' ? invariant(false, 'React DOM tree root should always have a node reference.') : invariant(false) : void 0;
- inst = inst._nativeParent;
+ !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._nativeNode);
+ precacheChildNodes(inst, inst._hostNode);
}
- return inst._nativeNode;
+ return inst._hostNode;
}
var ReactDOMComponentTree = {
@@ -6479,41 +6283,84 @@
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22)))
/***/ },
-/* 71 */
-/***/ function(module, exports, __webpack_require__) {
+/* 65 */
+/***/ function(module, exports) {
- /* WEBPACK VAR INJECTION */(function(process) {/**
- * Copyright 2013-present, Facebook, Inc.
+ /**
+ * Copyright (c) 2013-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
- * @providesModule DOMProperty
+ *
*/
-
'use strict';
- var invariant = __webpack_require__(26);
+ /**
+ * 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 checkMask(value, bitmask) {
- return (value & bitmask) === bitmask;
- }
+ function reactProdInvariant(code) {
+ var argCount = arguments.length - 1;
- 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_SIDE_EFFECTS: 0x2,
- HAS_BOOLEAN_VALUE: 0x4,
- HAS_NUMERIC_VALUE: 0x8,
- HAS_POSITIVE_NUMERIC_VALUE: 0x10 | 0x8,
- HAS_OVERLOADED_BOOLEAN_VALUE: 0x20,
+ 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;
+
+/***/ },
+/* 66 */
+/***/ function(module, exports, __webpack_require__) {
+
+ /* WEBPACK VAR INJECTION */(function(process) {/**
+ * Copyright 2013-present, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ *
+ */
+
+ 'use strict';
+
+ var _prodInvariant = __webpack_require__(65);
+
+ var invariant = __webpack_require__(27);
+
+ 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:
*
@@ -6554,7 +6401,7 @@
}
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) : invariant(false) : void 0;
+ !!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];
@@ -6566,15 +6413,12 @@
mutationMethod: null,
mustUseProperty: checkMask(propConfig, Injection.MUST_USE_PROPERTY),
- hasSideEffects: checkMask(propConfig, Injection.HAS_SIDE_EFFECTS),
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.mustUseProperty || !propertyInfo.hasSideEffects) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'DOMProperty: Properties that have side effects must use property: %s', propName) : invariant(false) : void 0;
- !(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) : invariant(false) : void 0;
+ !(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;
@@ -6628,7 +6472,7 @@
ROOT_ATTRIBUTE_NAME: 'data-reactroot',
ATTRIBUTE_NAME_START_CHAR: ATTRIBUTE_NAME_START_CHAR,
- ATTRIBUTE_NAME_CHAR: ATTRIBUTE_NAME_START_CHAR + '\\-.0-9\\uB7\\u0300-\\u036F\\u203F-\\u2040',
+ 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
@@ -6645,11 +6489,6 @@
* initial render.
* mustUseProperty:
* Whether the property must be accessed and mutated as an object property.
- * hasSideEffects:
- * Whether or not setting a value causes side effects such as triggering
- * resources to be loaded or text selection changes. If true, we read from
- * the DOM before updating to ensure that the value is only set if it has
- * changed.
* hasBooleanValue:
* Whether the property should be removed when set to a falsey value.
* hasNumericValue:
@@ -6668,9 +6507,13 @@
/**
* 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' ? {} : null,
+ getPossibleStandardName: process.env.NODE_ENV !== 'production' ? { autofocus: 'autoFocus' } : null,
/**
* All of the isCustomAttribute() functions that have been injected.
@@ -6698,7 +6541,7 @@
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22)))
/***/ },
-/* 72 */
+/* 67 */
/***/ function(module, exports) {
/**
@@ -6709,7 +6552,6 @@
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
- * @providesModule ReactDOMComponentFlags
*/
'use strict';
@@ -6721,7 +6563,7 @@
module.exports = ReactDOMComponentFlags;
/***/ },
-/* 73 */
+/* 68 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -6732,29 +6574,29 @@
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
- * @providesModule ReactDefaultInjection
*/
'use strict';
- var BeforeInputEventPlugin = __webpack_require__(74);
- var ChangeEventPlugin = __webpack_require__(88);
- var DefaultEventPluginOrder = __webpack_require__(99);
- var EnterLeaveEventPlugin = __webpack_require__(100);
- var HTMLDOMPropertyConfig = __webpack_require__(105);
- var ReactComponentBrowserEnvironment = __webpack_require__(106);
- var ReactDOMComponent = __webpack_require__(120);
- var ReactDOMComponentTree = __webpack_require__(70);
- var ReactDOMEmptyComponent = __webpack_require__(161);
- var ReactDOMTreeTraversal = __webpack_require__(162);
- var ReactDOMTextComponent = __webpack_require__(163);
- var ReactDefaultBatchingStrategy = __webpack_require__(164);
- var ReactEventListener = __webpack_require__(165);
- var ReactInjection = __webpack_require__(168);
- var ReactReconcileTransaction = __webpack_require__(169);
- var SVGDOMPropertyConfig = __webpack_require__(177);
- var SelectEventPlugin = __webpack_require__(178);
- var SimpleEventPlugin = __webpack_require__(179);
+ var ARIADOMPropertyConfig = __webpack_require__(69);
+ var BeforeInputEventPlugin = __webpack_require__(70);
+ var ChangeEventPlugin = __webpack_require__(85);
+ var DefaultEventPluginOrder = __webpack_require__(102);
+ var EnterLeaveEventPlugin = __webpack_require__(103);
+ var HTMLDOMPropertyConfig = __webpack_require__(108);
+ var ReactComponentBrowserEnvironment = __webpack_require__(109);
+ var ReactDOMComponent = __webpack_require__(122);
+ var ReactDOMComponentTree = __webpack_require__(64);
+ var ReactDOMEmptyComponent = __webpack_require__(167);
+ var ReactDOMTreeTraversal = __webpack_require__(168);
+ var ReactDOMTextComponent = __webpack_require__(169);
+ var ReactDefaultBatchingStrategy = __webpack_require__(170);
+ var ReactEventListener = __webpack_require__(171);
+ var ReactInjection = __webpack_require__(174);
+ var ReactReconcileTransaction = __webpack_require__(175);
+ var SVGDOMPropertyConfig = __webpack_require__(183);
+ var SelectEventPlugin = __webpack_require__(184);
+ var SimpleEventPlugin = __webpack_require__(185);
var alreadyInjected = false;
@@ -6788,10 +6630,11 @@
BeforeInputEventPlugin: BeforeInputEventPlugin
});
- ReactInjection.NativeComponent.injectGenericComponentClass(ReactDOMComponent);
+ ReactInjection.HostComponent.injectGenericComponentClass(ReactDOMComponent);
- ReactInjection.NativeComponent.injectTextComponentClass(ReactDOMTextComponent);
+ ReactInjection.HostComponent.injectTextComponentClass(ReactDOMTextComponent);
+ ReactInjection.DOMProperty.injectDOMPropertyConfig(ARIADOMPropertyConfig);
ReactInjection.DOMProperty.injectDOMPropertyConfig(HTMLDOMPropertyConfig);
ReactInjection.DOMProperty.injectDOMPropertyConfig(SVGDOMPropertyConfig);
@@ -6810,7 +6653,85 @@
};
/***/ },
-/* 74 */
+/* 69 */
+/***/ function(module, exports) {
+
+ /**
+ * Copyright 2013-present, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ *
+ */
+
+ 'use strict';
+
+ 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;
+
+/***/ },
+/* 70 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -6821,19 +6742,15 @@
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
- * @providesModule BeforeInputEventPlugin
*/
'use strict';
- var EventConstants = __webpack_require__(75);
- var EventPropagators = __webpack_require__(76);
- var ExecutionEnvironment = __webpack_require__(39);
- var FallbackCompositionState = __webpack_require__(83);
- var SyntheticCompositionEvent = __webpack_require__(85);
- var SyntheticInputEvent = __webpack_require__(87);
-
- var keyOf = __webpack_require__(50);
+ var EventPropagators = __webpack_require__(71);
+ var ExecutionEnvironment = __webpack_require__(78);
+ var FallbackCompositionState = __webpack_require__(79);
+ var SyntheticCompositionEvent = __webpack_require__(82);
+ var SyntheticInputEvent = __webpack_require__(84);
var END_KEYCODES = [9, 13, 27, 32]; // Tab, Return, Esc, Space
var START_KEYCODE = 229;
@@ -6867,37 +6784,35 @@
var SPACEBAR_CODE = 32;
var SPACEBAR_CHAR = String.fromCharCode(SPACEBAR_CODE);
- var topLevelTypes = EventConstants.topLevelTypes;
-
// Events and their corresponding property names.
var eventTypes = {
beforeInput: {
phasedRegistrationNames: {
- bubbled: keyOf({ onBeforeInput: null }),
- captured: keyOf({ onBeforeInputCapture: null })
+ bubbled: 'onBeforeInput',
+ captured: 'onBeforeInputCapture'
},
- dependencies: [topLevelTypes.topCompositionEnd, topLevelTypes.topKeyPress, topLevelTypes.topTextInput, topLevelTypes.topPaste]
+ dependencies: ['topCompositionEnd', 'topKeyPress', 'topTextInput', 'topPaste']
},
compositionEnd: {
phasedRegistrationNames: {
- bubbled: keyOf({ onCompositionEnd: null }),
- captured: keyOf({ onCompositionEndCapture: null })
+ bubbled: 'onCompositionEnd',
+ captured: 'onCompositionEndCapture'
},
- dependencies: [topLevelTypes.topBlur, topLevelTypes.topCompositionEnd, topLevelTypes.topKeyDown, topLevelTypes.topKeyPress, topLevelTypes.topKeyUp, topLevelTypes.topMouseDown]
+ dependencies: ['topBlur', 'topCompositionEnd', 'topKeyDown', 'topKeyPress', 'topKeyUp', 'topMouseDown']
},
compositionStart: {
phasedRegistrationNames: {
- bubbled: keyOf({ onCompositionStart: null }),
- captured: keyOf({ onCompositionStartCapture: null })
+ bubbled: 'onCompositionStart',
+ captured: 'onCompositionStartCapture'
},
- dependencies: [topLevelTypes.topBlur, topLevelTypes.topCompositionStart, topLevelTypes.topKeyDown, topLevelTypes.topKeyPress, topLevelTypes.topKeyUp, topLevelTypes.topMouseDown]
+ dependencies: ['topBlur', 'topCompositionStart', 'topKeyDown', 'topKeyPress', 'topKeyUp', 'topMouseDown']
},
compositionUpdate: {
phasedRegistrationNames: {
- bubbled: keyOf({ onCompositionUpdate: null }),
- captured: keyOf({ onCompositionUpdateCapture: null })
+ bubbled: 'onCompositionUpdate',
+ captured: 'onCompositionUpdateCapture'
},
- dependencies: [topLevelTypes.topBlur, topLevelTypes.topCompositionUpdate, topLevelTypes.topKeyDown, topLevelTypes.topKeyPress, topLevelTypes.topKeyUp, topLevelTypes.topMouseDown]
+ dependencies: ['topBlur', 'topCompositionUpdate', 'topKeyDown', 'topKeyPress', 'topKeyUp', 'topMouseDown']
}
};
@@ -6923,11 +6838,11 @@
*/
function getCompositionEventType(topLevelType) {
switch (topLevelType) {
- case topLevelTypes.topCompositionStart:
+ case 'topCompositionStart':
return eventTypes.compositionStart;
- case topLevelTypes.topCompositionEnd:
+ case 'topCompositionEnd':
return eventTypes.compositionEnd;
- case topLevelTypes.topCompositionUpdate:
+ case 'topCompositionUpdate':
return eventTypes.compositionUpdate;
}
}
@@ -6941,7 +6856,7 @@
* @return {boolean}
*/
function isFallbackCompositionStart(topLevelType, nativeEvent) {
- return topLevelType === topLevelTypes.topKeyDown && nativeEvent.keyCode === START_KEYCODE;
+ return topLevelType === 'topKeyDown' && nativeEvent.keyCode === START_KEYCODE;
}
/**
@@ -6953,16 +6868,16 @@
*/
function isFallbackCompositionEnd(topLevelType, nativeEvent) {
switch (topLevelType) {
- case topLevelTypes.topKeyUp:
+ case 'topKeyUp':
// Command keys insert or clear IME input.
return END_KEYCODES.indexOf(nativeEvent.keyCode) !== -1;
- case topLevelTypes.topKeyDown:
+ 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 topLevelTypes.topKeyPress:
- case topLevelTypes.topMouseDown:
- case topLevelTypes.topBlur:
+ case 'topKeyPress':
+ case 'topMouseDown':
+ case 'topBlur':
// Events are not possible without cancelling IME.
return true;
default:
@@ -7047,9 +6962,9 @@
*/
function getNativeBeforeInputChars(topLevelType, nativeEvent) {
switch (topLevelType) {
- case topLevelTypes.topCompositionEnd:
+ case 'topCompositionEnd':
return getDataFromCustomEvent(nativeEvent);
- case topLevelTypes.topKeyPress:
+ 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.
@@ -7072,7 +6987,7 @@
hasSpaceKeypress = true;
return SPACEBAR_CHAR;
- case topLevelTypes.topTextInput:
+ case 'topTextInput':
// Record the characters to be added to the DOM.
var chars = nativeEvent.data;
@@ -7102,8 +7017,10 @@
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 === topLevelTypes.topCompositionEnd || isFallbackCompositionEnd(topLevelType, nativeEvent)) {
+ if (topLevelType === 'topCompositionEnd' || !canUseCompositionEvent && isFallbackCompositionEnd(topLevelType, nativeEvent)) {
var chars = currentComposition.getData();
FallbackCompositionState.release(currentComposition);
currentComposition = null;
@@ -7113,11 +7030,11 @@
}
switch (topLevelType) {
- case topLevelTypes.topPaste:
+ 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 topLevelTypes.topKeyPress:
+ case 'topKeyPress':
/**
* As of v27, Firefox may fire keypress events even when no character
* will be inserted. A few possibilities:
@@ -7138,7 +7055,7 @@
return String.fromCharCode(nativeEvent.which);
}
return null;
- case topLevelTypes.topCompositionEnd:
+ case 'topCompositionEnd':
return useFallbackCompositionData ? null : nativeEvent.data;
default:
return null;
@@ -7203,109 +7120,7 @@
module.exports = BeforeInputEventPlugin;
/***/ },
-/* 75 */
-/***/ function(module, exports, __webpack_require__) {
-
- /**
- * Copyright 2013-present, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- * @providesModule EventConstants
- */
-
- 'use strict';
-
- var keyMirror = __webpack_require__(48);
-
- var PropagationPhases = keyMirror({ bubbled: null, captured: null });
-
- /**
- * Types of raw signals from the browser caught at the top level.
- */
- var topLevelTypes = keyMirror({
- topAbort: null,
- topAnimationEnd: null,
- topAnimationIteration: null,
- topAnimationStart: null,
- topBlur: null,
- topCanPlay: null,
- topCanPlayThrough: null,
- topChange: null,
- topClick: null,
- topCompositionEnd: null,
- topCompositionStart: null,
- topCompositionUpdate: null,
- topContextMenu: null,
- topCopy: null,
- topCut: null,
- topDoubleClick: null,
- topDrag: null,
- topDragEnd: null,
- topDragEnter: null,
- topDragExit: null,
- topDragLeave: null,
- topDragOver: null,
- topDragStart: null,
- topDrop: null,
- topDurationChange: null,
- topEmptied: null,
- topEncrypted: null,
- topEnded: null,
- topError: null,
- topFocus: null,
- topInput: null,
- topInvalid: null,
- topKeyDown: null,
- topKeyPress: null,
- topKeyUp: null,
- topLoad: null,
- topLoadedData: null,
- topLoadedMetadata: null,
- topLoadStart: null,
- topMouseDown: null,
- topMouseMove: null,
- topMouseOut: null,
- topMouseOver: null,
- topMouseUp: null,
- topPaste: null,
- topPause: null,
- topPlay: null,
- topPlaying: null,
- topProgress: null,
- topRateChange: null,
- topReset: null,
- topScroll: null,
- topSeeked: null,
- topSeeking: null,
- topSelectionChange: null,
- topStalled: null,
- topSubmit: null,
- topSuspend: null,
- topTextInput: null,
- topTimeUpdate: null,
- topTouchCancel: null,
- topTouchEnd: null,
- topTouchMove: null,
- topTouchStart: null,
- topTransitionEnd: null,
- topVolumeChange: null,
- topWaiting: null,
- topWheel: null
- });
-
- var EventConstants = {
- topLevelTypes: topLevelTypes,
- PropagationPhases: PropagationPhases
- };
-
- module.exports = EventConstants;
-
-/***/ },
-/* 76 */
+/* 71 */
/***/ function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(process) {/**
@@ -7316,20 +7131,17 @@
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
- * @providesModule EventPropagators
*/
'use strict';
- var EventConstants = __webpack_require__(75);
- var EventPluginHub = __webpack_require__(77);
- var EventPluginUtils = __webpack_require__(79);
+ var EventPluginHub = __webpack_require__(72);
+ var EventPluginUtils = __webpack_require__(74);
- var accumulateInto = __webpack_require__(81);
- var forEachAccumulated = __webpack_require__(82);
- var warning = __webpack_require__(29);
+ var accumulateInto = __webpack_require__(76);
+ var forEachAccumulated = __webpack_require__(77);
+ var warning = __webpack_require__(30);
- var PropagationPhases = EventConstants.PropagationPhases;
var getListener = EventPluginHub.getListener;
/**
@@ -7347,11 +7159,10 @@
* Mutating the event's members allows us to not have to create a wrapping
* "dispatch" object that pairs the event with the listener.
*/
- function accumulateDirectionalDispatches(inst, upwards, event) {
+ 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 phase = upwards ? PropagationPhases.bubbled : PropagationPhases.captured;
var listener = listenerAtPhase(inst, event, phase);
if (listener) {
event._dispatchListeners = accumulateInto(event._dispatchListeners, listener);
@@ -7448,7 +7259,7 @@
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22)))
/***/ },
-/* 77 */
+/* 72 */
/***/ function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(process) {/**
@@ -7459,18 +7270,19 @@
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
- * @providesModule EventPluginHub
*/
'use strict';
- var EventPluginRegistry = __webpack_require__(78);
- var EventPluginUtils = __webpack_require__(79);
- var ReactErrorUtils = __webpack_require__(80);
+ var _prodInvariant = __webpack_require__(65);
- var accumulateInto = __webpack_require__(81);
- var forEachAccumulated = __webpack_require__(82);
- var invariant = __webpack_require__(26);
+ var EventPluginRegistry = __webpack_require__(73);
+ var EventPluginUtils = __webpack_require__(74);
+ var ReactErrorUtils = __webpack_require__(75);
+
+ var accumulateInto = __webpack_require__(76);
+ var forEachAccumulated = __webpack_require__(77);
+ var invariant = __webpack_require__(27);
/**
* Internal store for event listeners
@@ -7506,6 +7318,12 @@
return executeDispatchesAndRelease(e, false);
};
+ var getDictionaryKey = function (inst) {
+ // Prevents V8 performance issue:
+ // https://github.com/facebook/react/pull/7232
+ return '.' + inst._rootNodeID;
+ };
+
/**
* This is a unified interface for event plugins to be installed and configured.
*
@@ -7549,17 +7367,18 @@
},
/**
- * Stores `listener` at `listenerBank[registrationName][id]`. Is idempotent.
+ * Stores `listener` at `listenerBank[registrationName][key]`. Is idempotent.
*
* @param {object} inst The instance, which is the source of events.
* @param {string} registrationName Name of listener (e.g. `onClick`).
* @param {function} listener The callback to store.
*/
putListener: function (inst, registrationName, listener) {
- !(typeof listener === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected %s listener to be a function, instead got type %s', registrationName, typeof listener) : invariant(false) : void 0;
+ !(typeof listener === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected %s listener to be a function, instead got type %s', registrationName, typeof listener) : _prodInvariant('94', registrationName, typeof listener) : void 0;
+ var key = getDictionaryKey(inst);
var bankForRegistrationName = listenerBank[registrationName] || (listenerBank[registrationName] = {});
- bankForRegistrationName[inst._rootNodeID] = listener;
+ bankForRegistrationName[key] = listener;
var PluginModule = EventPluginRegistry.registrationNameModules[registrationName];
if (PluginModule && PluginModule.didPutListener) {
@@ -7574,7 +7393,8 @@
*/
getListener: function (inst, registrationName) {
var bankForRegistrationName = listenerBank[registrationName];
- return bankForRegistrationName && bankForRegistrationName[inst._rootNodeID];
+ var key = getDictionaryKey(inst);
+ return bankForRegistrationName && bankForRegistrationName[key];
},
/**
@@ -7592,7 +7412,8 @@
var bankForRegistrationName = listenerBank[registrationName];
// TODO: This should never be null -- when is it?
if (bankForRegistrationName) {
- delete bankForRegistrationName[inst._rootNodeID];
+ var key = getDictionaryKey(inst);
+ delete bankForRegistrationName[key];
}
},
@@ -7602,8 +7423,13 @@
* @param {object} inst The instance, which is the source of events.
*/
deleteAllListeners: function (inst) {
+ var key = getDictionaryKey(inst);
for (var registrationName in listenerBank) {
- if (!listenerBank[registrationName][inst._rootNodeID]) {
+ if (!listenerBank.hasOwnProperty(registrationName)) {
+ continue;
+ }
+
+ if (!listenerBank[registrationName][key]) {
continue;
}
@@ -7612,7 +7438,7 @@
PluginModule.willDeleteListener(inst, registrationName);
}
- delete listenerBank[registrationName][inst._rootNodeID];
+ delete listenerBank[registrationName][key];
}
},
@@ -7667,7 +7493,7 @@
} 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.') : invariant(false) : void 0;
+ !!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();
},
@@ -7689,7 +7515,7 @@
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22)))
/***/ },
-/* 78 */
+/* 73 */
/***/ function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(process) {/**
@@ -7700,17 +7526,19 @@
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
- * @providesModule EventPluginRegistry
+ *
*/
'use strict';
- var invariant = __webpack_require__(26);
+ var _prodInvariant = __webpack_require__(65);
+
+ var invariant = __webpack_require__(27);
/**
* Injectable ordering of event plugins.
*/
- var EventPluginOrder = null;
+ var eventPluginOrder = null;
/**
* Injectable mapping from names to event plugin modules.
@@ -7723,22 +7551,22 @@
* @private
*/
function recomputePluginOrdering() {
- if (!EventPluginOrder) {
- // Wait until an `EventPluginOrder` is injected.
+ 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) : invariant(false) : void 0;
+ 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) : invariant(false) : void 0;
- EventPluginRegistry.plugins[pluginIndex] = PluginModule;
- var publishedEvents = PluginModule.eventTypes;
+ !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) : invariant(false) : void 0;
+ !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;
}
}
}
@@ -7751,8 +7579,8 @@
* @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) : invariant(false) : void 0;
+ 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;
@@ -7760,12 +7588,12 @@
for (var phaseName in phasedRegistrationNames) {
if (phasedRegistrationNames.hasOwnProperty(phaseName)) {
var phasedRegistrationName = phasedRegistrationNames[phaseName];
- publishRegistrationName(phasedRegistrationName, PluginModule, eventName);
+ publishRegistrationName(phasedRegistrationName, pluginModule, eventName);
}
}
return true;
} else if (dispatchConfig.registrationName) {
- publishRegistrationName(dispatchConfig.registrationName, PluginModule, eventName);
+ publishRegistrationName(dispatchConfig.registrationName, pluginModule, eventName);
return true;
}
return false;
@@ -7779,14 +7607,18 @@
* @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) : invariant(false) : void 0;
- EventPluginRegistry.registrationNameModules[registrationName] = PluginModule;
- EventPluginRegistry.registrationNameDependencies[registrationName] = PluginModule.eventTypes[eventName].dependencies;
+ 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;
+ }
}
}
@@ -7824,6 +7656,7 @@
* @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
@@ -7834,10 +7667,10 @@
* @internal
* @see {EventPluginHub.injection.injectEventPluginOrder}
*/
- injectEventPluginOrder: function (InjectedEventPluginOrder) {
- !!EventPluginOrder ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject event plugin ordering more than ' + 'once. You are likely trying to load more than one copy of React.') : invariant(false) : void 0;
+ injectEventPluginOrder: function (injectedEventPluginOrder) {
+ !!eventPluginOrder ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject event plugin ordering more than once. You are likely trying to load more than one copy of React.') : _prodInvariant('101') : void 0;
// Clone the ordering so it cannot be dynamically mutated.
- EventPluginOrder = Array.prototype.slice.call(InjectedEventPluginOrder);
+ eventPluginOrder = Array.prototype.slice.call(injectedEventPluginOrder);
recomputePluginOrdering();
},
@@ -7857,10 +7690,10 @@
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) : invariant(false) : void 0;
- namesToPlugins[pluginName] = PluginModule;
+ 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;
}
}
@@ -7881,13 +7714,19 @@
if (dispatchConfig.registrationName) {
return EventPluginRegistry.registrationNameModules[dispatchConfig.registrationName] || null;
}
- for (var phase in dispatchConfig.phasedRegistrationNames) {
- if (!dispatchConfig.phasedRegistrationNames.hasOwnProperty(phase)) {
- continue;
- }
- var PluginModule = EventPluginRegistry.registrationNameModules[dispatchConfig.phasedRegistrationNames[phase]];
- if (PluginModule) {
- return PluginModule;
+ 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;
@@ -7898,7 +7737,7 @@
* @private
*/
_resetEventPlugins: function () {
- EventPluginOrder = null;
+ eventPluginOrder = null;
for (var pluginName in namesToPlugins) {
if (namesToPlugins.hasOwnProperty(pluginName)) {
delete namesToPlugins[pluginName];
@@ -7936,7 +7775,7 @@
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22)))
/***/ },
-/* 79 */
+/* 74 */
/***/ function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(process) {/**
@@ -7947,16 +7786,16 @@
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
- * @providesModule EventPluginUtils
*/
'use strict';
- var EventConstants = __webpack_require__(75);
- var ReactErrorUtils = __webpack_require__(80);
+ var _prodInvariant = __webpack_require__(65);
- var invariant = __webpack_require__(26);
- var warning = __webpack_require__(29);
+ var ReactErrorUtils = __webpack_require__(75);
+
+ var invariant = __webpack_require__(27);
+ var warning = __webpack_require__(30);
/**
* Injected dependencies:
@@ -7983,17 +7822,15 @@
}
};
- var topLevelTypes = EventConstants.topLevelTypes;
-
function isEndish(topLevelType) {
- return topLevelType === topLevelTypes.topMouseUp || topLevelType === topLevelTypes.topTouchEnd || topLevelType === topLevelTypes.topTouchCancel;
+ return topLevelType === 'topMouseUp' || topLevelType === 'topTouchEnd' || topLevelType === 'topTouchCancel';
}
function isMoveish(topLevelType) {
- return topLevelType === topLevelTypes.topMouseMove || topLevelType === topLevelTypes.topTouchMove;
+ return topLevelType === 'topMouseMove' || topLevelType === 'topTouchMove';
}
function isStartish(topLevelType) {
- return topLevelType === topLevelTypes.topMouseDown || topLevelType === topLevelTypes.topTouchStart;
+ return topLevelType === 'topMouseDown' || topLevelType === 'topTouchStart';
}
var validateEventDispatches;
@@ -8110,7 +7947,7 @@
}
var dispatchListener = event._dispatchListeners;
var dispatchInstance = event._dispatchInstances;
- !!Array.isArray(dispatchListener) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'executeDirectDispatch(...): Invalid `event`.') : invariant(false) : void 0;
+ !!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;
@@ -8169,7 +8006,7 @@
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22)))
/***/ },
-/* 80 */
+/* 75 */
/***/ function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(process) {/**
@@ -8180,7 +8017,7 @@
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
- * @providesModule ReactErrorUtils
+ *
*/
'use strict';
@@ -8190,19 +8027,18 @@
/**
* Call a function while guarding against errors that happens within it.
*
- * @param {?String} name of the guard to use for logging or debugging
+ * @param {String} name of the guard to use for logging or debugging
* @param {Function} func The function to invoke
* @param {*} a First argument
* @param {*} b Second argument
*/
- function invokeGuardedCallback(name, func, a, b) {
+ function invokeGuardedCallback(name, func, a) {
try {
- return func(a, b);
+ func(a);
} catch (x) {
if (caughtError === null) {
caughtError = x;
}
- return undefined;
}
}
@@ -8235,11 +8071,12 @@
*/
if (typeof window !== 'undefined' && typeof window.dispatchEvent === 'function' && typeof document !== 'undefined' && typeof document.createEvent === 'function') {
var fakeNode = document.createElement('react');
- ReactErrorUtils.invokeGuardedCallback = function (name, func, a, b) {
- var boundFunc = func.bind(null, a, b);
+ 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');
+ // $FlowFixMe https://github.com/facebook/flow/issues/2336
evt.initEvent(evtType, false, false);
fakeNode.dispatchEvent(evt);
fakeNode.removeEventListener(evtType, boundFunc, false);
@@ -8251,7 +8088,7 @@
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22)))
/***/ },
-/* 81 */
+/* 76 */
/***/ function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(process) {/**
@@ -8262,15 +8099,16 @@
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
- * @providesModule accumulateInto
+ *
*/
'use strict';
- var invariant = __webpack_require__(26);
+ var _prodInvariant = __webpack_require__(65);
+
+ var invariant = __webpack_require__(27);
/**
- *
* 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
@@ -8284,27 +8122,24 @@
*/
function accumulateInto(current, next) {
- !(next != null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'accumulateInto(...): Accumulated items must not be null or undefined.') : invariant(false) : void 0;
+ !(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).
- var currentIsArray = Array.isArray(current);
- var nextIsArray = Array.isArray(next);
-
- if (currentIsArray && nextIsArray) {
- current.push.apply(current, next);
- return current;
- }
-
- if (currentIsArray) {
+ if (Array.isArray(current)) {
+ if (Array.isArray(next)) {
+ current.push.apply(current, next);
+ return current;
+ }
current.push(next);
return current;
}
- if (nextIsArray) {
+ if (Array.isArray(next)) {
// A bit too dangerous to mutate `next`.
return [current].concat(next);
}
@@ -8316,7 +8151,7 @@
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22)))
/***/ },
-/* 82 */
+/* 77 */
/***/ function(module, exports) {
/**
@@ -8327,7 +8162,7 @@
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
- * @providesModule forEachAccumulated
+ *
*/
'use strict';
@@ -8340,65 +8175,104 @@
* allocate an array).
*/
- var forEachAccumulated = function (arr, cb, scope) {
+ function forEachAccumulated(arr, cb, scope) {
if (Array.isArray(arr)) {
arr.forEach(cb, scope);
} else if (arr) {
cb.call(scope, arr);
}
- };
+ }
module.exports = forEachAccumulated;
/***/ },
-/* 83 */
-/***/ function(module, exports, __webpack_require__) {
+/* 78 */
+/***/ function(module, exports) {
/**
- * Copyright 2013-present, Facebook, Inc.
+ * Copyright (c) 2013-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
- * @providesModule FallbackCompositionState
*/
'use strict';
- var _assign = __webpack_require__(23);
-
- var PooledClass = __webpack_require__(25);
-
- var getTextContentAccessor = __webpack_require__(84);
+ var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
/**
- * 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
+ * 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.
*/
- function FallbackCompositionState(root) {
- this._root = root;
- this._startText = this.getText();
- this._fallbackText = null;
- }
+ var ExecutionEnvironment = {
- _assign(FallbackCompositionState.prototype, {
- destructor: function () {
- this._root = null;
- this._startText = null;
- this._fallbackText = null;
- },
+ canUseDOM: canUseDOM,
- /**
- * Get current text of input.
+ 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;
+
+/***/ },
+/* 79 */
+/***/ function(module, exports, __webpack_require__) {
+
+ /**
+ * Copyright 2013-present, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ *
+ */
+
+ 'use strict';
+
+ var _assign = __webpack_require__(23);
+
+ var PooledClass = __webpack_require__(80);
+
+ var getTextContentAccessor = __webpack_require__(81);
+
+ /**
+ * This helper class stores information about text content of a target node,
+ * allowing comparison of content before and after a given event.
+ *
+ * Identify the node where selection currently begins, then observe
+ * both its text content and its current position in the DOM. Since the
+ * browser may natively replace the target node during composition, we can
+ * use its position to find its replacement.
+ *
+ * @param {DOMEventTarget} root
+ */
+ function FallbackCompositionState(root) {
+ this._root = root;
+ this._startText = this.getText();
+ this._fallbackText = null;
+ }
+
+ _assign(FallbackCompositionState.prototype, {
+ destructor: function () {
+ this._root = null;
+ this._startText = null;
+ this._fallbackText = null;
+ },
+
+ /**
+ * Get current text of input.
*
* @return {string}
*/
@@ -8451,7 +8325,136 @@
module.exports = FallbackCompositionState;
/***/ },
-/* 84 */
+/* 80 */
+/***/ function(module, exports, __webpack_require__) {
+
+ /* WEBPACK VAR INJECTION */(function(process) {/**
+ * Copyright 2013-present, Facebook, Inc.
+ * All rights reserved.
+ *
+ * This source code is licensed under the BSD-style license found in the
+ * LICENSE file in the root directory of this source tree. An additional grant
+ * of patent rights can be found in the PATENTS file in the same directory.
+ *
+ *
+ */
+
+ 'use strict';
+
+ var _prodInvariant = __webpack_require__(65);
+
+ var invariant = __webpack_require__(27);
+
+ /**
+ * Static poolers. Several custom versions for each potential number of
+ * arguments. A completely generic pooler is easy to implement, but would
+ * require accessing the `arguments` object. In each of these, `this` refers to
+ * the Class itself, not an instance. If any others are needed, simply add them
+ * here, or in their own files.
+ */
+ var oneArgumentPooler = function (copyFieldsFrom) {
+ var Klass = this;
+ if (Klass.instancePool.length) {
+ var instance = Klass.instancePool.pop();
+ Klass.call(instance, copyFieldsFrom);
+ return instance;
+ } else {
+ return new Klass(copyFieldsFrom);
+ }
+ };
+
+ var twoArgumentPooler = function (a1, a2) {
+ var Klass = this;
+ if (Klass.instancePool.length) {
+ var instance = Klass.instancePool.pop();
+ Klass.call(instance, a1, a2);
+ return instance;
+ } else {
+ return new Klass(a1, a2);
+ }
+ };
+
+ var threeArgumentPooler = function (a1, a2, a3) {
+ var Klass = this;
+ if (Klass.instancePool.length) {
+ var instance = Klass.instancePool.pop();
+ Klass.call(instance, a1, a2, a3);
+ return instance;
+ } else {
+ return new Klass(a1, a2, a3);
+ }
+ };
+
+ var fourArgumentPooler = function (a1, a2, a3, a4) {
+ var Klass = this;
+ if (Klass.instancePool.length) {
+ var instance = Klass.instancePool.pop();
+ Klass.call(instance, a1, a2, a3, a4);
+ return instance;
+ } else {
+ return new Klass(a1, a2, a3, a4);
+ }
+ };
+
+ var fiveArgumentPooler = function (a1, a2, a3, a4, a5) {
+ var Klass = this;
+ if (Klass.instancePool.length) {
+ var instance = Klass.instancePool.pop();
+ Klass.call(instance, a1, a2, a3, a4, a5);
+ return instance;
+ } else {
+ return new Klass(a1, a2, a3, a4, a5);
+ }
+ };
+
+ var standardReleaser = function (instance) {
+ var Klass = this;
+ !(instance instanceof Klass) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Trying to release an instance into a pool of a different type.') : _prodInvariant('25') : void 0;
+ instance.destructor();
+ if (Klass.instancePool.length < Klass.poolSize) {
+ Klass.instancePool.push(instance);
+ }
+ };
+
+ var DEFAULT_POOL_SIZE = 10;
+ var DEFAULT_POOLER = oneArgumentPooler;
+
+ /**
+ * Augments `CopyConstructor` to be a poolable class, augmenting only the class
+ * itself (statically) not adding any prototypical fields. Any CopyConstructor
+ * you give this may have a `poolSize` property, and will look for a
+ * prototypical `destructor` on instances.
+ *
+ * @param {Function} CopyConstructor Constructor that can be used to reset.
+ * @param {Function} pooler Customizable pooler.
+ */
+ var addPoolingTo = function (CopyConstructor, pooler) {
+ // 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,
+ fiveArgumentPooler: fiveArgumentPooler
+ };
+
+ module.exports = PooledClass;
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22)))
+
+/***/ },
+/* 81 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -8462,12 +8465,11 @@
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
- * @providesModule getTextContentAccessor
*/
'use strict';
- var ExecutionEnvironment = __webpack_require__(39);
+ var ExecutionEnvironment = __webpack_require__(78);
var contentKey = null;
@@ -8489,7 +8491,7 @@
module.exports = getTextContentAccessor;
/***/ },
-/* 85 */
+/* 82 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -8500,12 +8502,11 @@
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
- * @providesModule SyntheticCompositionEvent
*/
'use strict';
- var SyntheticEvent = __webpack_require__(86);
+ var SyntheticEvent = __webpack_require__(83);
/**
* @interface Event
@@ -8530,7 +8531,7 @@
module.exports = SyntheticCompositionEvent;
/***/ },
-/* 86 */
+/* 83 */
/***/ function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(process) {/**
@@ -8541,17 +8542,16 @@
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
- * @providesModule SyntheticEvent
*/
'use strict';
var _assign = __webpack_require__(23);
- var PooledClass = __webpack_require__(25);
+ var PooledClass = __webpack_require__(80);
- var emptyFunction = __webpack_require__(30);
- var warning = __webpack_require__(29);
+ var emptyFunction = __webpack_require__(31);
+ var warning = __webpack_require__(30);
var didWarnForAddedNewProperty = false;
var isProxySupported = typeof Proxy === 'function';
@@ -8648,7 +8648,8 @@
if (event.preventDefault) {
event.preventDefault();
- } else {
+ } else if (typeof event.returnValue !== 'unknown') {
+ // eslint-disable-line valid-typeof
event.returnValue = false;
}
this.isDefaultPrevented = emptyFunction.thatReturnsTrue;
@@ -8662,9 +8663,16 @@
if (event.stopPropagation) {
event.stopPropagation();
- } else {
+ } 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;
},
@@ -8700,10 +8708,9 @@
this[shouldBeReleasedProperties[i]] = null;
}
if (process.env.NODE_ENV !== 'production') {
- var noop = __webpack_require__(30);
Object.defineProperty(this, 'nativeEvent', getPooledWarningPropertyDefinition('nativeEvent', null));
- Object.defineProperty(this, 'preventDefault', getPooledWarningPropertyDefinition('preventDefault', noop));
- Object.defineProperty(this, 'stopPropagation', getPooledWarningPropertyDefinition('stopPropagation', noop));
+ Object.defineProperty(this, 'preventDefault', getPooledWarningPropertyDefinition('preventDefault', emptyFunction));
+ Object.defineProperty(this, 'stopPropagation', getPooledWarningPropertyDefinition('stopPropagation', emptyFunction));
}
}
@@ -8797,7 +8804,7 @@
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22)))
/***/ },
-/* 87 */
+/* 84 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -8808,12 +8815,11 @@
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
- * @providesModule SyntheticInputEvent
*/
'use strict';
- var SyntheticEvent = __webpack_require__(86);
+ var SyntheticEvent = __webpack_require__(83);
/**
* @interface Event
@@ -8839,7 +8845,7 @@
module.exports = SyntheticInputEvent;
/***/ },
-/* 88 */
+/* 85 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -8850,33 +8856,28 @@
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
- * @providesModule ChangeEventPlugin
*/
'use strict';
- var EventConstants = __webpack_require__(75);
- var EventPluginHub = __webpack_require__(77);
- var EventPropagators = __webpack_require__(76);
- var ExecutionEnvironment = __webpack_require__(39);
- var ReactDOMComponentTree = __webpack_require__(70);
- var ReactUpdates = __webpack_require__(89);
- var SyntheticEvent = __webpack_require__(86);
-
- var getEventTarget = __webpack_require__(96);
- var isEventSupported = __webpack_require__(97);
- var isTextInputElement = __webpack_require__(98);
- var keyOf = __webpack_require__(50);
+ var EventPluginHub = __webpack_require__(72);
+ var EventPropagators = __webpack_require__(71);
+ var ExecutionEnvironment = __webpack_require__(78);
+ var ReactDOMComponentTree = __webpack_require__(64);
+ var ReactUpdates = __webpack_require__(86);
+ var SyntheticEvent = __webpack_require__(83);
- var topLevelTypes = EventConstants.topLevelTypes;
+ var getEventTarget = __webpack_require__(99);
+ var isEventSupported = __webpack_require__(100);
+ var isTextInputElement = __webpack_require__(101);
var eventTypes = {
change: {
phasedRegistrationNames: {
- bubbled: keyOf({ onChange: null }),
- captured: keyOf({ onChangeCapture: null })
+ bubbled: 'onChange',
+ captured: 'onChangeCapture'
},
- dependencies: [topLevelTypes.topBlur, topLevelTypes.topChange, topLevelTypes.topClick, topLevelTypes.topFocus, topLevelTypes.topInput, topLevelTypes.topKeyDown, topLevelTypes.topKeyUp, topLevelTypes.topSelectionChange]
+ dependencies: ['topBlur', 'topChange', 'topClick', 'topFocus', 'topInput', 'topKeyDown', 'topKeyUp', 'topSelectionChange']
}
};
@@ -8899,7 +8900,7 @@
var doesChangeEventBubble = false;
if (ExecutionEnvironment.canUseDOM) {
// See `handleChange` comment below
- doesChangeEventBubble = isEventSupported('change') && (!('documentMode' in document) || document.documentMode > 8);
+ doesChangeEventBubble = isEventSupported('change') && (!document.documentMode || document.documentMode > 8);
}
function manualDispatchChangeEvent(nativeEvent) {
@@ -8941,17 +8942,17 @@
}
function getTargetInstForChangeEvent(topLevelType, targetInst) {
- if (topLevelType === topLevelTypes.topChange) {
+ if (topLevelType === 'topChange') {
return targetInst;
}
}
function handleEventsForChangeEventIE8(topLevelType, target, targetInst) {
- if (topLevelType === topLevelTypes.topFocus) {
+ 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 === topLevelTypes.topBlur) {
+ } else if (topLevelType === 'topBlur') {
stopWatchingForChangeEventIE8();
}
}
@@ -8965,7 +8966,7 @@
// deleting text, so we ignore its input events.
// IE10+ fire input events to often, such when a placeholder
// changes or when an input with a placeholder is focused.
- isInputEventSupported = isEventSupported('input') && (!('documentMode' in document) || document.documentMode > 11);
+ isInputEventSupported = isEventSupported('input') && (!document.documentMode || document.documentMode > 11);
}
/**
@@ -9049,7 +9050,7 @@
* If a `change` event should be fired, returns the target's ID.
*/
function getTargetInstForInputEvent(topLevelType, targetInst) {
- if (topLevelType === topLevelTypes.topInput) {
+ 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;
@@ -9057,7 +9058,7 @@
}
function handleEventsForInputEventIE(topLevelType, target, targetInst) {
- if (topLevelType === topLevelTypes.topFocus) {
+ 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'
@@ -9073,14 +9074,14 @@
// missed a blur event somehow.
stopWatchingForValueChange();
startWatchingForValueChange(target, targetInst);
- } else if (topLevelType === topLevelTypes.topBlur) {
+ } else if (topLevelType === 'topBlur') {
stopWatchingForValueChange();
}
}
// For IE8 and IE9.
function getTargetInstForInputEventIE(topLevelType, targetInst) {
- if (topLevelType === topLevelTypes.topSelectionChange || topLevelType === topLevelTypes.topKeyUp || topLevelType === topLevelTypes.topKeyDown) {
+ 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.
//
@@ -9109,7 +9110,7 @@
}
function getTargetInstForClickEvent(topLevelType, targetInst) {
- if (topLevelType === topLevelTypes.topClick) {
+ if (topLevelType === 'topClick') {
return targetInst;
}
}
@@ -9169,7 +9170,7 @@
module.exports = ChangeEventPlugin;
/***/ },
-/* 89 */
+/* 86 */
/***/ function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(process) {/**
@@ -9180,21 +9181,20 @@
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
- * @providesModule ReactUpdates
*/
'use strict';
- var _assign = __webpack_require__(23);
+ var _prodInvariant = __webpack_require__(65),
+ _assign = __webpack_require__(23);
- var CallbackQueue = __webpack_require__(90);
- var PooledClass = __webpack_require__(25);
- var ReactFeatureFlags = __webpack_require__(91);
- var ReactInstrumentation = __webpack_require__(37);
- var ReactReconciler = __webpack_require__(92);
- var Transaction = __webpack_require__(95);
+ var CallbackQueue = __webpack_require__(87);
+ var PooledClass = __webpack_require__(80);
+ var ReactFeatureFlags = __webpack_require__(88);
+ var ReactReconciler = __webpack_require__(89);
+ var Transaction = __webpack_require__(98);
- var invariant = __webpack_require__(26);
+ var invariant = __webpack_require__(27);
var dirtyComponents = [];
var updateBatchNumber = 0;
@@ -9204,7 +9204,7 @@
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') : invariant(false) : void 0;
+ !(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 = {
@@ -9245,7 +9245,7 @@
/* useCreateElement */true);
}
- _assign(ReactUpdatesFlushTransaction.prototype, Transaction.Mixin, {
+ _assign(ReactUpdatesFlushTransaction.prototype, Transaction, {
getTransactionWrappers: function () {
return TRANSACTION_WRAPPERS;
},
@@ -9261,7 +9261,7 @@
perform: function (method, scope, a) {
// Essentially calls `this.reconcileTransaction.perform(method, scope, a)`
// with this transaction's wrappers around it.
- return Transaction.Mixin.perform.call(this, this.reconcileTransaction.perform, this.reconcileTransaction, method, scope, a);
+ return Transaction.perform.call(this, this.reconcileTransaction.perform, this.reconcileTransaction, method, scope, a);
}
});
@@ -9269,7 +9269,7 @@
function batchedUpdates(callback, a, b, c, d, e) {
ensureInjected();
- batchingStrategy.batchedUpdates(callback, a, b, c, d, e);
+ return batchingStrategy.batchedUpdates(callback, a, b, c, d, e);
}
/**
@@ -9285,7 +9285,7 @@
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) : invariant(false) : void 0;
+ !(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
@@ -9315,7 +9315,7 @@
if (ReactFeatureFlags.logTopLevelRenders) {
var namedComponent = component;
// Duck type TopLevelWrapper. This is probably always true.
- if (component._currentElement.props === component._renderedComponent._currentElement) {
+ if (component._currentElement.type.isReactTopLevelWrapper) {
namedComponent = component._renderedComponent;
}
markerName = 'React update: ' + namedComponent.getName();
@@ -9337,10 +9337,6 @@
}
var flushBatchedUpdates = function () {
- if (process.env.NODE_ENV !== 'production') {
- ReactInstrumentation.debugTool.onBeginFlush();
- }
-
// 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
@@ -9360,10 +9356,6 @@
CallbackQueue.release(queue);
}
}
-
- if (process.env.NODE_ENV !== 'production') {
- ReactInstrumentation.debugTool.onEndFlush();
- }
};
/**
@@ -9376,7 +9368,7 @@
// 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 setProps, setState, forceUpdate, etc.; creation and
+ // function, like setState, forceUpdate, etc.; creation and
// destruction of top-level components is guarded in ReactMount.)
if (!batchingStrategy.isBatchingUpdates) {
@@ -9395,21 +9387,21 @@
* 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 where' + 'updates are not being batched.') : invariant(false) : void 0;
+ !batchingStrategy.isBatchingUpdates ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates.asap: Can\'t enqueue an asap callback in a context whereupdates are not being batched.') : _prodInvariant('125') : void 0;
asapCallbackQueue.enqueue(callback, context);
asapEnqueued = true;
}
var ReactUpdatesInjection = {
injectReconcileTransaction: function (ReconcileTransaction) {
- !ReconcileTransaction ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a reconcile transaction class') : invariant(false) : void 0;
+ !ReconcileTransaction ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a reconcile transaction class') : _prodInvariant('126') : void 0;
ReactUpdates.ReactReconcileTransaction = ReconcileTransaction;
},
injectBatchingStrategy: function (_batchingStrategy) {
- !_batchingStrategy ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a batching strategy') : invariant(false) : void 0;
- !(typeof _batchingStrategy.batchedUpdates === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a batchedUpdates() function') : invariant(false) : void 0;
- !(typeof _batchingStrategy.isBatchingUpdates === 'boolean') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide an isBatchingUpdates boolean attribute') : invariant(false) : void 0;
+ !_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;
}
};
@@ -9434,7 +9426,7 @@
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22)))
/***/ },
-/* 90 */
+/* 87 */
/***/ function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(process) {/**
@@ -9445,16 +9437,18 @@
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
- * @providesModule CallbackQueue
+ *
*/
'use strict';
- var _assign = __webpack_require__(23);
+ var _prodInvariant = __webpack_require__(65);
- var PooledClass = __webpack_require__(25);
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
- var invariant = __webpack_require__(26);
+ var PooledClass = __webpack_require__(80);
+
+ var invariant = __webpack_require__(27);
/**
* A specialized pseudo-event module to help keep track of components waiting to
@@ -9467,12 +9461,15 @@
* @implements PooledClass
* @internal
*/
- function CallbackQueue() {
- this._callbacks = null;
- this._contexts = null;
- }
- _assign(CallbackQueue.prototype, {
+ 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.
@@ -9481,12 +9478,14 @@
* @param {?object} context Context to call `callback` with.
* @internal
*/
- enqueue: function (callback, context) {
+
+
+ CallbackQueue.prototype.enqueue = function enqueue(callback, context) {
this._callbacks = this._callbacks || [];
- this._contexts = this._contexts || [];
this._callbacks.push(callback);
+ this._contexts = this._contexts || [];
this._contexts.push(context);
- },
+ };
/**
* Invokes all enqueued callbacks and clears the queue. This is invoked after
@@ -9494,58 +9493,64 @@
*
* @internal
*/
- notifyAll: function () {
+
+
+ CallbackQueue.prototype.notifyAll = function notifyAll() {
var callbacks = this._callbacks;
var contexts = this._contexts;
- if (callbacks) {
- !(callbacks.length === contexts.length) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Mismatched list of contexts in callback queue') : invariant(false) : void 0;
+ 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]);
+ callbacks[i].call(contexts[i], arg);
}
callbacks.length = 0;
contexts.length = 0;
}
- },
+ };
- checkpoint: function () {
+ CallbackQueue.prototype.checkpoint = function checkpoint() {
return this._callbacks ? this._callbacks.length : 0;
- },
+ };
- rollback: function (len) {
- if (this._callbacks) {
+ CallbackQueue.prototype.rollback = function rollback(len) {
+ if (this._callbacks && this._contexts) {
this._callbacks.length = len;
this._contexts.length = len;
}
- },
+ };
/**
* Resets the internal queue.
*
* @internal
*/
- reset: function () {
+
+
+ CallbackQueue.prototype.reset = function reset() {
this._callbacks = null;
this._contexts = null;
- },
+ };
/**
* `PooledClass` looks for this.
*/
- destructor: function () {
- this.reset();
- }
- });
- PooledClass.addPoolingTo(CallbackQueue);
+ CallbackQueue.prototype.destructor = function destructor() {
+ this.reset();
+ };
- module.exports = CallbackQueue;
+ return CallbackQueue;
+ }();
+
+ module.exports = PooledClass.addPoolingTo(CallbackQueue);
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22)))
/***/ },
-/* 91 */
+/* 88 */
/***/ function(module, exports) {
/**
@@ -9556,7 +9561,7 @@
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
- * @providesModule ReactFeatureFlags
+ *
*/
'use strict';
@@ -9571,7 +9576,7 @@
module.exports = ReactFeatureFlags;
/***/ },
-/* 92 */
+/* 89 */
/***/ function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(process) {/**
@@ -9582,15 +9587,14 @@
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
- * @providesModule ReactReconciler
*/
'use strict';
- var ReactRef = __webpack_require__(93);
- var ReactInstrumentation = __webpack_require__(37);
+ var ReactRef = __webpack_require__(90);
+ var ReactInstrumentation = __webpack_require__(92);
- var invariant = __webpack_require__(26);
+ var warning = __webpack_require__(30);
/**
* Helper to call ReactRef.attachRefs with this composite component, split out
@@ -9607,25 +9611,25 @@
*
* @param {ReactComponent} internalInstance
* @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction
- * @param {?object} the containing native component instance
- * @param {?object} info about the native container
+ * @param {?object} the containing host component instance
+ * @param {?object} info about the host container
* @return {?string} Rendered markup to be inserted into the DOM.
* @final
* @internal
*/
- mountComponent: function (internalInstance, transaction, nativeParent, nativeContainerInfo, context) {
+ mountComponent: function (internalInstance, transaction, hostParent, hostContainerInfo, context, parentDebugID // 0 in production and for roots
+ ) {
if (process.env.NODE_ENV !== 'production') {
if (internalInstance._debugID !== 0) {
- ReactInstrumentation.debugTool.onBeginReconcilerTimer(internalInstance._debugID, 'mountComponent');
+ ReactInstrumentation.debugTool.onBeforeMountComponent(internalInstance._debugID, internalInstance._currentElement, parentDebugID);
}
}
- var markup = internalInstance.mountComponent(transaction, nativeParent, nativeContainerInfo, context);
+ 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.onEndReconcilerTimer(internalInstance._debugID, 'mountComponent');
ReactInstrumentation.debugTool.onMountComponent(internalInstance._debugID);
}
}
@@ -9636,8 +9640,8 @@
* Returns a value that can be passed to
* ReactComponentEnvironment.replaceNodeWithMarkup.
*/
- getNativeNode: function (internalInstance) {
- return internalInstance.getNativeNode();
+ getHostNode: function (internalInstance) {
+ return internalInstance.getHostNode();
},
/**
@@ -9649,14 +9653,13 @@
unmountComponent: function (internalInstance, safely) {
if (process.env.NODE_ENV !== 'production') {
if (internalInstance._debugID !== 0) {
- ReactInstrumentation.debugTool.onBeginReconcilerTimer(internalInstance._debugID, 'unmountComponent');
+ 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.onEndReconcilerTimer(internalInstance._debugID, 'unmountComponent');
ReactInstrumentation.debugTool.onUnmountComponent(internalInstance._debugID);
}
}
@@ -9690,7 +9693,7 @@
if (process.env.NODE_ENV !== 'production') {
if (internalInstance._debugID !== 0) {
- ReactInstrumentation.debugTool.onBeginReconcilerTimer(internalInstance._debugID, 'receiveComponent');
+ ReactInstrumentation.debugTool.onBeforeUpdateComponent(internalInstance._debugID, nextElement);
}
}
@@ -9708,7 +9711,6 @@
if (process.env.NODE_ENV !== 'production') {
if (internalInstance._debugID !== 0) {
- ReactInstrumentation.debugTool.onEndReconcilerTimer(internalInstance._debugID, 'receiveComponent');
ReactInstrumentation.debugTool.onUpdateComponent(internalInstance._debugID);
}
}
@@ -9725,18 +9727,17 @@
if (internalInstance._updateBatchNumber !== updateBatchNumber) {
// The component's enqueued batch number should always be the current
// batch or the following one.
- !(internalInstance._updateBatchNumber == null || internalInstance._updateBatchNumber === updateBatchNumber + 1) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'performUpdateIfNecessary: Unexpected batch number (current %s, ' + 'pending %s)', updateBatchNumber, internalInstance._updateBatchNumber) : invariant(false) : void 0;
+ process.env.NODE_ENV !== 'production' ? warning(internalInstance._updateBatchNumber == null || internalInstance._updateBatchNumber === updateBatchNumber + 1, 'performUpdateIfNecessary: Unexpected batch number (current %s, ' + 'pending %s)', updateBatchNumber, internalInstance._updateBatchNumber) : void 0;
return;
}
if (process.env.NODE_ENV !== 'production') {
if (internalInstance._debugID !== 0) {
- ReactInstrumentation.debugTool.onBeginReconcilerTimer(internalInstance._debugID, 'performUpdateIfNecessary');
+ ReactInstrumentation.debugTool.onBeforeUpdateComponent(internalInstance._debugID, internalInstance._currentElement);
}
}
internalInstance.performUpdateIfNecessary(transaction);
if (process.env.NODE_ENV !== 'production') {
if (internalInstance._debugID !== 0) {
- ReactInstrumentation.debugTool.onEndReconcilerTimer(internalInstance._debugID, 'performUpdateIfNecessary');
ReactInstrumentation.debugTool.onUpdateComponent(internalInstance._debugID);
}
}
@@ -9748,7 +9749,7 @@
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22)))
/***/ },
-/* 93 */
+/* 90 */
/***/ function(module, exports, __webpack_require__) {
/**
@@ -9759,12 +9760,12 @@
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
- * @providesModule ReactRef
+ *
*/
'use strict';
- var ReactOwner = __webpack_require__(94);
+ var ReactOwner = __webpack_require__(91);
var ReactRef = {};
@@ -9787,7 +9788,7 @@
}
ReactRef.attachRefs = function (instance, element) {
- if (element === null || element === false) {
+ if (element === null || typeof element !== 'object') {
return;
}
var ref = element.ref;
@@ -9809,17 +9810,27 @@
// is made. It probably belongs where the key checking and
// instantiateReactComponent is done.
- var prevEmpty = prevElement === null || prevElement === false;
- var nextEmpty = nextElement === null || nextElement === false;
+ var prevRef = null;
+ var prevOwner = null;
+ if (prevElement !== null && typeof prevElement === 'object') {
+ prevRef = prevElement.ref;
+ prevOwner = prevElement._owner;
+ }
- return(
- // This has a few false positives w/r/t empty components.
- prevEmpty || nextEmpty || nextElement._owner !== prevElement._owner || nextElement.ref !== prevElement.ref
- );
+ var nextRef = null;
+ var nextOwner = null;
+ if (nextElement !== null && 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 || element === false) {
+ if (element === null || typeof element !== 'object') {
return;
}
var ref = element.ref;
@@ -9831,7 +9842,7 @@
module.exports = ReactRef;
/***/ },
-/* 94 */
+/* 91 */
/***/ function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(process) {/**
@@ -9842,12 +9853,23 @@
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
- * @providesModule ReactOwner
+ *
*/
'use strict';
- var invariant = __webpack_require__(26);
+ var _prodInvariant = __webpack_require__(65);
+
+ var invariant = __webpack_require__(27);
+
+ /**
+ * @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.
@@ -9880,16 +9902,6 @@
* @class ReactOwner
*/
var ReactOwner = {
-
- /**
- * @param {?object} object
- * @return {boolean} True if `object` is a valid owner.
- * @final
- */
- isValidOwner: function (object) {
- return !!(object && typeof object.attachRef === 'function' && typeof object.detachRef === 'function');
- },
-
/**
* Adds a component by ref to an owner component.
*
@@ -9900,7 +9912,7 @@
* @internal
*/
addComponentAsRefTo: function (component, ref, owner) {
- !ReactOwner.isValidOwner(owner) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'addComponentAsRefTo(...): Only a ReactOwner can have refs. You might ' + 'be adding a ref to a component that was not created inside a component\'s ' + '`render` method, or you have multiple copies of React loaded ' + '(details: https://fb.me/react-refs-must-have-owner).') : invariant(false) : void 0;
+ !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);
},
@@ -9914,7 +9926,7 @@
* @internal
*/
removeComponentAsRefFrom: function (component, ref, owner) {
- !ReactOwner.isValidOwner(owner) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'removeComponentAsRefFrom(...): Only a ReactOwner can have refs. You might ' + 'be removing a ref to a component that was not created inside a component\'s ' + '`render` method, or you have multiple copies of React loaded ' + '(details: https://fb.me/react-refs-must-have-owner).') : invariant(false) : void 0;
+ !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.
@@ -9929,681 +9941,550 @@
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22)))
/***/ },
-/* 95 */
+/* 92 */
/***/ function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(process) {/**
- * Copyright 2013-present, Facebook, Inc.
+ * Copyright 2016-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
- * @providesModule Transaction
+ *
*/
'use strict';
- var invariant = __webpack_require__(26);
-
- /**
- * `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.
- *
- *
- *
- * Use cases:
- * - Preserving the input selection ranges before/after reconciliation.
- * Restoring selection even in the event of an unexpected error.
- * - Deactivating events while rearranging the DOM, preventing blurs/focuses,
- * while guaranteeing that afterwards, the event system is reactivated.
- * - Flushing a queue of collected DOM mutations to the main UI thread after a
- * reconciliation takes place in a worker thread.
- * - Invoking any collected `componentDidUpdate` callbacks after rendering new
- * content.
- * - (Future use case): Wrapping particular flushes of the `ReactWorker` queue
- * to preserve the `scrollTop` (an automatic scroll aware DOM).
- * - (Future use case): Layout calculations before and after DOM updates.
- *
- * Transactional plugin API:
- * - A module that has an `initialize` method that returns any precomputation.
- * - and a `close` method that accepts the precomputation. `close` is invoked
- * when the wrapped process is completed, or has failed.
- *
- * @param {Array} transactionWrapper Wrapper modules
- * that implement `initialize` and `close`.
- * @return {Transaction} Single transaction for reuse in thread.
- *
- * @class Transaction
- */
- var Mixin = {
- /**
- * Sets up this instance so that it is prepared for collecting metrics. Does
- * so such that this setup method may be used on an instance that is already
- * initialized, in a way that does not consume additional memory upon reuse.
- * That can be useful if you decide to make your subclass of this mixin a
- * "PooledClass".
- */
- reinitializeTransaction: function () {
- this.transactionWrappers = this.getTransactionWrappers();
- if (this.wrapperInitData) {
- this.wrapperInitData.length = 0;
- } else {
- this.wrapperInitData = [];
- }
- this._isInTransaction = false;
- },
-
- _isInTransaction: false,
-
- /**
- * @abstract
- * @return {Array} Array of transaction wrappers.
- */
- getTransactionWrappers: null,
-
- isInTransaction: function () {
- return !!this._isInTransaction;
- },
-
- /**
- * Executes the function within a safety window. Use this for the top level
- * methods that result in large amounts of computation/mutations that would
- * need to be safety checked. The optional arguments helps prevent the need
- * to bind in many cases.
- *
- * @param {function} method Member of scope to call.
- * @param {Object} scope Scope to invoke from.
- * @param {Object?=} a Argument to pass to the method.
- * @param {Object?=} b Argument to pass to the method.
- * @param {Object?=} c Argument to pass to the method.
- * @param {Object?=} d Argument to pass to the method.
- * @param {Object?=} e Argument to pass to the method.
- * @param {Object?=} f Argument to pass to the method.
- *
- * @return {*} Return value from `method`.
- */
- perform: function (method, scope, a, b, c, d, e, f) {
- !!this.isInTransaction() ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Transaction.perform(...): Cannot initialize a transaction when there ' + 'is already an outstanding transaction.') : invariant(false) : void 0;
- var errorThrown;
- var ret;
- try {
- this._isInTransaction = true;
- // Catching errors makes debugging more difficult, so we start with
- // errorThrown set to true before setting it to false after calling
- // close -- if it's still set to true in the finally block, it means
- // one of these calls threw.
- errorThrown = true;
- this.initializeAll(0);
- ret = method.call(scope, a, b, c, d, e, f);
- errorThrown = false;
- } finally {
- try {
- if (errorThrown) {
- // If `method` throws, prefer to show that stack trace over any thrown
- // by invoking `closeAll`.
- try {
- this.closeAll(0);
- } catch (err) {}
- } else {
- // Since `method` didn't throw, we don't want to silence the exception
- // here.
- this.closeAll(0);
- }
- } finally {
- this._isInTransaction = false;
- }
- }
- return ret;
- },
-
- initializeAll: function (startIndex) {
- var transactionWrappers = this.transactionWrappers;
- for (var i = startIndex; i < transactionWrappers.length; i++) {
- var wrapper = transactionWrappers[i];
- try {
- // Catching errors makes debugging more difficult, so we start with the
- // OBSERVED_ERROR state before overwriting it with the real return value
- // of initialize -- if it's still set to OBSERVED_ERROR in the finally
- // block, it means wrapper.initialize threw.
- this.wrapperInitData[i] = Transaction.OBSERVED_ERROR;
- this.wrapperInitData[i] = wrapper.initialize ? wrapper.initialize.call(this) : null;
- } finally {
- if (this.wrapperInitData[i] === Transaction.OBSERVED_ERROR) {
- // The initializer for wrapper i threw an error; initialize the
- // remaining wrappers but silence any exceptions from them to ensure
- // that the first error is the one to bubble up.
- try {
- this.initializeAll(i + 1);
- } catch (err) {}
- }
- }
- }
- },
-
- /**
- * Invokes each of `this.transactionWrappers.close[i]` functions, passing into
- * them the respective return values of `this.transactionWrappers.init[i]`
- * (`close`rs that correspond to initializers that failed will not be
- * invoked).
- */
- closeAll: function (startIndex) {
- !this.isInTransaction() ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Transaction.closeAll(): Cannot close transaction when none are open.') : invariant(false) : void 0;
- var transactionWrappers = this.transactionWrappers;
- for (var i = startIndex; i < transactionWrappers.length; i++) {
- var wrapper = transactionWrappers[i];
- var initData = this.wrapperInitData[i];
- var errorThrown;
- try {
- // Catching errors makes debugging more difficult, so we start with
- // errorThrown set to true before setting it to false after calling
- // close -- if it's still set to true in the finally block, it means
- // wrapper.close threw.
- errorThrown = true;
- if (initData !== Transaction.OBSERVED_ERROR && wrapper.close) {
- wrapper.close.call(this, initData);
- }
- errorThrown = false;
- } finally {
- if (errorThrown) {
- // The closer for wrapper i threw an error; close the remaining
- // wrappers but silence any exceptions from them to ensure that the
- // first error is the one to bubble up.
- try {
- this.closeAll(i + 1);
- } catch (e) {}
- }
- }
- }
- this.wrapperInitData.length = 0;
- }
- };
-
- var Transaction = {
-
- Mixin: Mixin,
+ // Trust the developer to only use ReactInstrumentation with a __DEV__ check
- /**
- * Token to look for to determine if an error occurred.
- */
- OBSERVED_ERROR: {}
+ var debugTool = null;
- };
+ if (process.env.NODE_ENV !== 'production') {
+ var ReactDebugTool = __webpack_require__(93);
+ debugTool = ReactDebugTool;
+ }
- module.exports = Transaction;
+ module.exports = { debugTool: debugTool };
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22)))
/***/ },
-/* 96 */
-/***/ function(module, exports) {
+/* 93 */
+/***/ function(module, exports, __webpack_require__) {
- /**
- * Copyright 2013-present, Facebook, Inc.
+ /* WEBPACK VAR INJECTION */(function(process) {/**
+ * Copyright 2016-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
- * @providesModule getEventTarget
+ *
*/
'use strict';
- /**
- * Gets the target node from a native browser event by accounting for
- * inconsistencies in browser DOM APIs.
- *
- * @param {object} nativeEvent Native browser event.
- * @return {DOMEventTarget} Target node.
- */
+ var ReactInvalidSetStateWarningHook = __webpack_require__(94);
+ var ReactHostOperationHistoryHook = __webpack_require__(95);
+ var ReactComponentTreeHook = __webpack_require__(45);
+ var ExecutionEnvironment = __webpack_require__(78);
- function getEventTarget(nativeEvent) {
- var target = nativeEvent.target || nativeEvent.srcElement || window;
+ var performanceNow = __webpack_require__(96);
+ var warning = __webpack_require__(30);
- // Normalize SVG