ype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n runtime.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n runtime.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n runtime.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration. If the Promise is rejected, however, the\n // result for this iteration will be rejected with the same\n // reason. Note that rejections of yielded Promises are not\n // thrown back into the generator function, as is the case\n // when an awaited Promise is rejected. This difference in\n // behavior between yield and await is important, because it\n // allows the consumer to decide what to do with the yielded\n // rejection (swallow it and continue, manually .throw it back\n // into the generator, abandon iteration, whatever). With\n // await, by contrast, there is no opportunity to examine the\n // rejection reason outside the generator function, so the\n // only option is to throw it from the await expression, and\n // let the generator function handle the exception.\n result.value = unwrapped;\n resolve(result);\n }, reject);\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n runtime.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return runtime.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator.return) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n runtime.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n runtime.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n})(\n // In sloppy mode, unbound `this` refers to the global object, fallback to\n // Function constructor if we're in global strict mode. That is sadly a form\n // of indirect eval which violates Content Security Policy.\n (function() { return this })() || Function(\"return this\")()\n);\n","\"use strict\";\n\nexports.__esModule = true;\n\nvar _isIterable2 = require(\"../core-js/is-iterable\");\n\nvar _isIterable3 = _interopRequireDefault(_isIterable2);\n\nvar _getIterator2 = require(\"../core-js/get-iterator\");\n\nvar _getIterator3 = _interopRequireDefault(_getIterator2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = (0, _getIterator3.default)(arr), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if ((0, _isIterable3.default)(Object(arr))) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();","module.exports = { \"default\": require(\"core-js/library/fn/is-iterable\"), __esModule: true };","require('../modules/web.dom.iterable');\nrequire('../modules/es6.string.iterator');\nmodule.exports = require('../modules/core.is-iterable');\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').isIterable = function (it) {\n var O = Object(it);\n return O[ITERATOR] !== undefined\n || '@@iterator' in O\n // eslint-disable-next-line no-prototype-builtins\n || Iterators.hasOwnProperty(classof(O));\n};\n","module.exports = { \"default\": require(\"core-js/library/fn/get-iterator\"), __esModule: true };","require('../modules/web.dom.iterable');\nrequire('../modules/es6.string.iterator');\nmodule.exports = require('../modules/core.get-iterator');\n","var anObject = require('./_an-object');\nvar get = require('./core.get-iterator-method');\nmodule.exports = require('./_core').getIterator = function (it) {\n var iterFn = get(it);\n if (typeof iterFn != 'function') throw TypeError(it + ' is not iterable!');\n return anObject(iterFn.call(it));\n};\n","\"use strict\";\n\nexports.__esModule = true;\n\nvar _defineProperty = require(\"../core-js/object/define-property\");\n\nvar _defineProperty2 = _interopRequireDefault(_defineProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (obj, key, value) {\n if (key in obj) {\n (0, _defineProperty2.default)(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = require('babel-runtime/helpers/createClass');\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = require('babel-runtime/helpers/inherits');\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _extends2 = require('babel-runtime/helpers/extends');\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _createStyles = require('../styles/createStyles');\n\nvar _createStyles2 = _interopRequireDefault(_createStyles);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Arrow = function Arrow(_ref) {\n var expanded = _ref.expanded,\n styles = _ref.styles;\n return _react2.default.createElement(\n 'span',\n { style: (0, _extends3.default)({}, styles.base, expanded ? styles.expanded : styles.collapsed) },\n '\\u25B6'\n );\n};\n\nvar TreeNode = function (_Component) {\n (0, _inherits3.default)(TreeNode, _Component);\n\n function TreeNode() {\n (0, _classCallCheck3.default)(this, TreeNode);\n return (0, _possibleConstructorReturn3.default)(this, (TreeNode.__proto__ || Object.getPrototypeOf(TreeNode)).apply(this, arguments));\n }\n\n (0, _createClass3.default)(TreeNode, [{\n key: 'render',\n value: function render() {\n var _props = this.props,\n expanded = _props.expanded,\n onClick = _props.onClick,\n children = _props.children,\n nodeRenderer = _props.nodeRenderer,\n title = _props.title,\n shouldShowArrow = _props.shouldShowArrow,\n shouldShowPlaceholder = _props.shouldShowPlaceholder;\n var theme = this.context.theme;\n\n var styles = (0, _createStyles2.default)('TreeNode', theme);\n\n var renderedNode = (0, _react.createElement)(nodeRenderer, this.props);\n var childNodes = expanded ? children : undefined;\n\n return _react2.default.createElement(\n 'li',\n { 'aria-expanded': expanded, role: 'treeitem', style: styles.treeNodeBase, title: title },\n _react2.default.createElement(\n 'div',\n { style: styles.treeNodePreviewContainer, onClick: onClick },\n shouldShowArrow || _react.Children.count(children) > 0 ? _react2.default.createElement(Arrow, { expanded: expanded, styles: styles.treeNodeArrow }) : shouldShowPlaceholder && _react2.default.createElement(\n 'span',\n { style: styles.treeNodePlaceholder },\n '\\xA0'\n ),\n renderedNode\n ),\n _react2.default.createElement(\n 'ol',\n { role: 'group', style: styles.treeNodeChildNodesContainer },\n childNodes\n )\n );\n }\n }]);\n return TreeNode;\n}(_react.Component);\n\nTreeNode.propTypes = {\n name: _propTypes2.default.string,\n data: _propTypes2.default.any,\n\n expanded: _propTypes2.default.bool,\n shouldShowArrow: _propTypes2.default.bool,\n shouldShowPlaceholder: _propTypes2.default.bool,\n\n nodeRenderer: _propTypes2.default.func,\n\n onClick: _propTypes2.default.func\n};\n\nTreeNode.defaultProps = {\n name: undefined,\n data: undefined,\n expanded: true,\n\n nodeRenderer: function nodeRenderer(_ref2) {\n var name = _ref2.name;\n return _react2.default.createElement(\n 'span',\n null,\n name\n );\n },\n\n onClick: function onClick() {},\n\n shouldShowArrow: false,\n shouldShowPlaceholder: true\n};\n\nTreeNode.contextTypes = {\n theme: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]).isRequired\n};\n\nexports.default = TreeNode;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends2 = require('babel-runtime/helpers/extends');\n\nvar _extends3 = _interopRequireDefault(_extends2);\n\nvar _unselectable = require('./unselectable');\n\nvar _unselectable2 = _interopRequireDefault(_unselectable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = function (theme) {\n return {\n DOMNodePreview: {\n htmlOpenTag: {\n base: {\n color: theme.HTML_TAG_COLOR\n },\n tagName: {\n color: theme.HTML_TAGNAME_COLOR,\n textTransform: theme.HTML_TAGNAME_TEXT_TRANSFORM\n },\n htmlAttributeName: {\n color: theme.HTML_ATTRIBUTE_NAME_COLOR\n },\n htmlAttributeValue: {\n color: theme.HTML_ATTRIBUTE_VALUE_COLOR\n }\n },\n htmlCloseTag: {\n base: {\n color: theme.HTML_TAG_COLOR\n },\n offsetLeft: {\n /* hack: offset placeholder */\n marginLeft: -theme.TREENODE_PADDING_LEFT\n },\n tagName: {\n color: theme.HTML_TAGNAME_COLOR,\n textTransform: theme.HTML_TAGNAME_TEXT_TRANSFORM\n }\n },\n htmlComment: {\n color: theme.HTML_COMMENT_COLOR\n },\n htmlDoctype: {\n color: theme.HTML_DOCTYPE_COLOR\n }\n },\n\n ObjectName: {\n base: {\n color: theme.OBJECT_NAME_COLOR\n },\n dimmed: {\n opacity: 0.6\n }\n },\n\n ObjectValue: {\n objectValueNull: {\n color: theme.OBJECT_VALUE_NULL_COLOR\n },\n objectValueUndefined: {\n color: theme.OBJECT_VALUE_UNDEFINED_COLOR\n },\n objectValueRegExp: {\n color: theme.OBJECT_VALUE_REGEXP_COLOR\n },\n objectValueString: {\n color: theme.OBJECT_VALUE_STRING_COLOR\n },\n objectValueSymbol: {\n color: theme.OBJECT_VALUE_SYMBOL_COLOR\n },\n objectValueNumber: {\n color: theme.OBJECT_VALUE_NUMBER_COLOR\n },\n objectValueBoolean: {\n color: theme.OBJECT_VALUE_BOOLEAN_COLOR\n },\n objectValueFunctionKeyword: {\n color: theme.OBJECT_VALUE_FUNCTION_KEYWORD_COLOR,\n fontStyle: 'italic'\n },\n objectValueFunctionName: {\n fontStyle: 'italic'\n }\n },\n\n TreeNode: {\n treeNodeBase: {\n color: theme.BASE_COLOR,\n backgroundColor: theme.BASE_BACKGROUND_COLOR,\n\n lineHeight: theme.TREENODE_LINE_HEIGHT,\n cursor: 'default',\n\n boxSizing: 'border-box',\n listStyle: 'none',\n\n fontFamily: theme.TREENODE_FONT_FAMILY,\n fontSize: theme.TREENODE_FONT_SIZE\n },\n treeNodePreviewContainer: {},\n treeNodePlaceholder: (0, _extends3.default)({\n whiteSpace: 'pre',\n\n fontSize: theme.ARROW_FONT_SIZE,\n marginRight: theme.ARROW_MARGIN_RIGHT\n }, _unselectable2.default),\n treeNodeArrow: {\n base: (0, _extends3.default)({\n color: theme.ARROW_COLOR,\n display: 'inline-block',\n // lineHeight: '14px',\n fontSize: theme.ARROW_FONT_SIZE,\n marginRight: theme.ARROW_MARGIN_RIGHT\n }, _unselectable2.default),\n expanded: {\n WebkitTransform: 'rotateZ(90deg)',\n MozTransform: 'rotateZ(90deg)',\n transform: 'rotateZ(90deg)'\n },\n collapsed: {\n WebkitTransform: 'rotateZ(0deg)',\n MozTransform: 'rotateZ(0deg)',\n transform: 'rotateZ(0deg)'\n }\n },\n treeNodeChildNodesContainer: {\n margin: 0, // reset user-agent style\n paddingLeft: theme.TREENODE_PADDING_LEFT\n }\n },\n\n TableInspector: {\n base: {\n color: theme.BASE_COLOR,\n\n position: 'relative',\n border: '1px solid ' + theme.TABLE_BORDER_COLOR,\n fontFamily: theme.BASE_FONT_FAMILY,\n fontSize: theme.BASE_FONT_SIZE,\n lineHeight: '120%',\n boxSizing: 'border-box',\n cursor: 'default'\n }\n },\n\n TableInspectorHeaderContainer: {\n base: {\n top: 0,\n height: '17px',\n left: 0,\n right: 0,\n overflowX: 'hidden'\n },\n table: {\n tableLayout: 'fixed',\n borderSpacing: 0,\n borderCollapse: 'separate',\n height: '100%',\n width: '100%',\n margin: 0\n }\n },\n\n TableInspectorDataContainer: {\n tr: {\n display: 'table-row'\n },\n td: {\n boxSizing: 'border-box',\n border: 'none', // prevent overrides\n height: '16px', // /* 0.5 * table.background-size height */\n verticalAlign: 'top',\n padding: '1px 4px',\n WebkitUserSelect: 'text',\n\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n lineHeight: '14px'\n },\n div: {\n position: 'static',\n top: '17px',\n bottom: 0,\n overflowY: 'overlay',\n transform: 'translateZ(0)',\n\n left: 0,\n right: 0,\n overflowX: 'hidden'\n },\n table: {\n positon: 'static',\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n borderTop: '0 none transparent',\n margin: 0, // prevent user agent stylesheet overrides\n\n backgroundImage: theme.TABLE_DATA_BACKGROUND_IMAGE,\n backgroundSize: theme.TABLE_DATA_BACKGROUND_SIZE,\n tableLayout: 'fixed',\n\n // table\n borderSpacing: 0,\n borderCollapse: 'separate',\n // height: '100%',\n width: '100%',\n\n fontSize: theme.BASE_FONT_SIZE,\n lineHeight: '120%'\n }\n },\n\n TableInspectorTH: {\n base: {\n position: 'relative', // anchor for sort icon container\n height: 'auto',\n textAlign: 'left',\n backgroundColor: theme.TABLE_TH_BACKGROUND_COLOR,\n borderBottom: '1px solid ' + theme.TABLE_BORDER_COLOR,\n fontWeight: 'normal',\n verticalAlign: 'middle',\n padding: '0 4px',\n\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n lineHeight: '14px',\n\n ':hover': {\n backgroundColor: theme.TABLE_TH_HOVER_COLOR\n }\n },\n div: {\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n\n // prevent user agent stylesheet overrides\n fontSize: theme.BASE_FONT_SIZE,\n lineHeight: '120%'\n }\n },\n\n TableInspectorLeftBorder: {\n none: {\n borderLeft: 'none'\n },\n solid: {\n borderLeft: '1px solid ' + theme.TABLE_BORDER_COLOR\n }\n },\n\n TableInspectorSortIcon: (0, _extends3.default)({\n display: 'block',\n marginRight: 3, // 4,\n width: 8,\n height: 7,\n\n marginTop: -7,\n color: theme.TABLE_SORT_ICON_COLOR,\n fontSize: 12\n }, _unselectable2.default)\n };\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n WebkitTouchCallout: 'none',\n WebkitUserSelect: 'none',\n KhtmlUserSelect: 'none',\n MozUserSelect: 'none',\n msUserSelect: 'none',\n OUserSelect: 'none',\n userSelect: 'none'\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.hasChildNodes = hasChildNodes;\nvar DEFAULT_ROOT_PATH = exports.DEFAULT_ROOT_PATH = '$';\n\nvar WILDCARD = '*';\n\nfunction hasChildNodes(data, dataIterator) {\n return !dataIterator(data).next().done;\n}\n\nvar wildcardPathsFromLevel = exports.wildcardPathsFromLevel = function wildcardPathsFromLevel(level) {\n // i is depth\n return Array.from({ length: level }, function (_, i) {\n return [DEFAULT_ROOT_PATH].concat(Array.from({ length: i }, function () {\n return '*';\n })).join('.');\n });\n};\n\nvar getExpandedPaths = exports.getExpandedPaths = function getExpandedPaths(data, dataIterator, expandPaths, expandLevel) {\n var initialState = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};\n\n var wildcardPaths = [].concat(wildcardPathsFromLevel(expandLevel)).concat(expandPaths).filter(function (path) {\n return typeof path === 'string';\n }); // could be undefined\n\n var expandedPaths = [];\n wildcardPaths.forEach(function (wildcardPath) {\n var keyPaths = wildcardPath.split('.');\n var populatePaths = function populatePaths(curData, curPath, depth) {\n if (depth === keyPaths.length) {\n expandedPaths.push(curPath);\n return;\n }\n var key = keyPaths[depth];\n if (depth === 0) {\n if (hasChildNodes(curData, dataIterator) && (key === DEFAULT_ROOT_PATH || key === WILDCARD)) {\n populatePaths(curData, DEFAULT_ROOT_PATH, depth + 1);\n }\n } else {\n if (key === WILDCARD) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = dataIterator(curData)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var _ref2 = _step.value;\n var name = _ref2.name,\n _data = _ref2.data;\n\n if (hasChildNodes(_data, dataIterator)) {\n populatePaths(_data, curPath + '.' + name, depth + 1);\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n } else {\n var value = curData[key];\n if (hasChildNodes(value, dataIterator)) {\n populatePaths(value, curPath + '.' + key, depth + 1);\n }\n }\n }\n };\n\n populatePaths(data, '', 0);\n });\n\n return expandedPaths.reduce(function (obj, path) {\n obj[path] = true;\n return obj;\n }, initialState);\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof2 = require('babel-runtime/helpers/typeof');\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _ObjectValue = require('../object/ObjectValue');\n\nvar _ObjectValue2 = _interopRequireDefault(_ObjectValue);\n\nvar _ObjectName = require('../object/ObjectName');\n\nvar _ObjectName2 = _interopRequireDefault(_ObjectName);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/* NOTE: Chrome console.log is italic */\nvar styles = {\n preview: {\n fontStyle: 'italic'\n }\n};\n\n/* intersperse arr with separator */\nfunction intersperse(arr, sep) {\n if (arr.length === 0) {\n return [];\n }\n\n return arr.slice(1).reduce(function (xs, x) {\n return xs.concat([sep, x]);\n }, [arr[0]]);\n}\n\n/**\n * A preview of the object\n */\nvar ObjectPreview = function ObjectPreview(_ref) {\n var data = _ref.data,\n maxProperties = _ref.maxProperties;\n\n var object = data;\n\n if ((typeof object === 'undefined' ? 'undefined' : (0, _typeof3.default)(object)) !== 'object' || object === null || object instanceof Date || object instanceof RegExp) {\n return _react2.default.createElement(_ObjectValue2.default, { object: object });\n }\n\n if (Array.isArray(object)) {\n return _react2.default.createElement(\n 'span',\n { style: styles.preview },\n '[',\n intersperse(object.map(function (element, index) {\n return _react2.default.createElement(_ObjectValue2.default, { key: index, object: element });\n }), ', '),\n ']'\n );\n } else {\n var propertyNodes = [];\n for (var propertyName in object) {\n var propertyValue = object[propertyName];\n if (object.hasOwnProperty(propertyName)) {\n var ellipsis = void 0;\n if (propertyNodes.length === maxProperties - 1 && Object.keys(object).length > maxProperties) {\n ellipsis = _react2.default.createElement(\n 'span',\n { key: 'ellipsis' },\n '\\u2026'\n );\n }\n propertyNodes.push(_react2.default.createElement(\n 'span',\n { key: propertyName },\n _react2.default.createElement(_ObjectName2.default, { name: propertyName || '\"\"' }),\n ':\\xA0',\n _react2.default.createElement(_ObjectValue2.default, { object: propertyValue }),\n ellipsis\n ));\n if (ellipsis) break;\n }\n }\n\n return _react2.default.createElement(\n 'span',\n { style: styles.preview },\n object.constructor.name + ' {',\n intersperse(propertyNodes, ', '),\n '}'\n );\n }\n};\n\nObjectPreview.propTypes = {\n /**\n * max number of properties shown in the property view\n */\n maxProperties: _propTypes2.default.number\n};\nObjectPreview.defaultProps = {\n maxProperties: 5\n};\n\nexports.default = ObjectPreview;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof2 = require('babel-runtime/helpers/typeof');\n\nvar _typeof3 = _interopRequireDefault(_typeof2);\n\nvar _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');\n\nvar _classCallCheck3 = _interopRequireDefault(_classCallCheck2);\n\nvar _createClass2 = require('babel-runtime/helpers/createClass');\n\nvar _createClass3 = _interopRequireDefault(_createClass2);\n\nvar _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');\n\nvar _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);\n\nvar _inherits2 = require('babel-runtime/helpers/inherits');\n\nvar _inherits3 = _interopRequireDefault(_inherits2);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _ThemeProvider = require('../styles/ThemeProvider');\n\nvar _ThemeProvider2 = _interopRequireDefault(_ThemeProvider);\n\nvar _createStyles = require('../styles/createStyles');\n\nvar _createStyles2 = _interopRequireDefault(_createStyles);\n\nvar _getHeaders2 = require('./getHeaders');\n\nvar _getHeaders3 = _interopRequireDefault(_getHeaders2);\n\nvar _DataContainer = require('./DataContainer');\n\nvar _DataContainer2 = _interopRequireDefault(_DataContainer);\n\nvar _HeaderContainer = require('./HeaderContainer');\n\nvar _HeaderContainer2 = _interopRequireDefault(_HeaderContainer);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar TableInspector = function (_Component) {\n (0, _inherits3.default)(TableInspector, _Component);\n\n function TableInspector(props) {\n (0, _classCallCheck3.default)(this, TableInspector);\n\n var _this = (0, _possibleConstructorReturn3.default)(this, (TableInspector.__proto__ || Object.getPrototypeOf(TableInspector)).call(this, props));\n\n _this.state = {\n sorted: false, // has user ever clicked the