{"version":3,"file":"js/6888-f6a86a647333e28e0122.js","mappings":"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","sources":["webpack://mobicheckin-server/./node_modules/asap/browser-asap.js","webpack://mobicheckin-server/./node_modules/asap/browser-raw.js","webpack://mobicheckin-server/./node_modules/autobind-decorator/lib/esm/index.js","webpack://mobicheckin-server/./node_modules/disposables/modules/CompositeDisposable.js","webpack://mobicheckin-server/./node_modules/disposables/modules/Disposable.js","webpack://mobicheckin-server/./node_modules/disposables/modules/SerialDisposable.js","webpack://mobicheckin-server/./node_modules/disposables/modules/index.js","webpack://mobicheckin-server/./node_modules/disposables/modules/isDisposable.js","webpack://mobicheckin-server/./node_modules/dnd-core/lib/DragDropManagerImpl.js","webpack://mobicheckin-server/./node_modules/dnd-core/lib/DragDropMonitorImpl.js","webpack://mobicheckin-server/./node_modules/dnd-core/lib/HandlerRegistryImpl.js","webpack://mobicheckin-server/./node_modules/dnd-core/lib/actions/dragDrop.js","webpack://mobicheckin-server/./node_modules/dnd-core/lib/actions/registry.js","webpack://mobicheckin-server/./node_modules/dnd-core/lib/contracts.js","webpack://mobicheckin-server/./node_modules/dnd-core/lib/factories.js","webpack://mobicheckin-server/./node_modules/dnd-core/lib/index.js","webpack://mobicheckin-server/./node_modules/dnd-core/lib/interfaces.js","webpack://mobicheckin-server/./node_modules/dnd-core/lib/reducers/dirtyHandlerIds.js","webpack://mobicheckin-server/./node_modules/dnd-core/lib/reducers/dragOffset.js","webpack://mobicheckin-server/./node_modules/dnd-core/lib/reducers/dragOperation.js","webpack://mobicheckin-server/./node_modules/dnd-core/lib/reducers/index.js","webpack://mobicheckin-server/./node_modules/dnd-core/lib/reducers/refCount.js","webpack://mobicheckin-server/./node_modules/dnd-core/lib/reducers/stateId.js","webpack://mobicheckin-server/./node_modules/dnd-core/lib/utils/coords.js","webpack://mobicheckin-server/./node_modules/dnd-core/lib/utils/dirtiness.js","webpack://mobicheckin-server/./node_modules/dnd-core/lib/utils/equality.js","webpack://mobicheckin-server/./node_modules/dnd-core/lib/utils/getNextUniqueId.js","webpack://mobicheckin-server/./node_modules/dnd-core/lib/utils/matchesType.js","webpack://mobicheckin-server/./node_modules/dnd-core/node_modules/redux/es/redux.js","webpack://mobicheckin-server/./node_modules/immutability-helper/index.js","webpack://mobicheckin-server/./node_modules/lodash/_LazyWrapper.js","webpack://mobicheckin-server/./node_modules/lodash/_LodashWrapper.js","webpack://mobicheckin-server/./node_modules/lodash/_baseIntersection.js","webpack://mobicheckin-server/./node_modules/lodash/_baseLodash.js","webpack://mobicheckin-server/./node_modules/lodash/_baseXor.js","webpack://mobicheckin-server/./node_modules/lodash/_castArrayLikeObject.js","webpack://mobicheckin-server/./node_modules/lodash/_createFlow.js","webpack://mobicheckin-server/./node_modules/lodash/_flatRest.js","webpack://mobicheckin-server/./node_modules/lodash/_getData.js","webpack://mobicheckin-server/./node_modules/lodash/_getFuncName.js","webpack://mobicheckin-server/./node_modules/lodash/_isLaziable.js","webpack://mobicheckin-server/./node_modules/lodash/_metaMap.js","webpack://mobicheckin-server/./node_modules/lodash/_realNames.js","webpack://mobicheckin-server/./node_modules/lodash/_wrapperClone.js","webpack://mobicheckin-server/./node_modules/lodash/defaults.js","webpack://mobicheckin-server/./node_modules/lodash/flatten.js","webpack://mobicheckin-server/./node_modules/lodash/flow.js","webpack://mobicheckin-server/./node_modules/lodash/intersection.js","webpack://mobicheckin-server/./node_modules/lodash/union.js","webpack://mobicheckin-server/./node_modules/lodash/without.js","webpack://mobicheckin-server/./node_modules/lodash/wrapperLodash.js","webpack://mobicheckin-server/./node_modules/lodash/xor.js","webpack://mobicheckin-server/./node_modules/react-dnd-html5-backend/lib/BrowserDetector.js","webpack://mobicheckin-server/./node_modules/react-dnd-html5-backend/lib/EnterLeaveCounter.js","webpack://mobicheckin-server/./node_modules/react-dnd-html5-backend/lib/HTML5Backend.js","webpack://mobicheckin-server/./node_modules/react-dnd-html5-backend/lib/MonotonicInterpolant.js","webpack://mobicheckin-server/./node_modules/react-dnd-html5-backend/lib/NativeDragSources.js","webpack://mobicheckin-server/./node_modules/react-dnd-html5-backend/lib/NativeTypes.js","webpack://mobicheckin-server/./node_modules/react-dnd-html5-backend/lib/OffsetUtils.js","webpack://mobicheckin-server/./node_modules/react-dnd-html5-backend/lib/getEmptyImage.js","webpack://mobicheckin-server/./node_modules/react-dnd-html5-backend/lib/index.js","webpack://mobicheckin-server/./node_modules/react-dnd/lib/DragDropContext.js","webpack://mobicheckin-server/./node_modules/react-dnd/lib/DragDropContextProvider.js","webpack://mobicheckin-server/./node_modules/react-dnd/lib/DragLayer.js","webpack://mobicheckin-server/./node_modules/react-dnd/lib/DragSource.js","webpack://mobicheckin-server/./node_modules/react-dnd/lib/DropTarget.js","webpack://mobicheckin-server/./node_modules/react-dnd/lib/createSourceConnector.js","webpack://mobicheckin-server/./node_modules/react-dnd/lib/createSourceFactory.js","webpack://mobicheckin-server/./node_modules/react-dnd/lib/createSourceMonitor.js","webpack://mobicheckin-server/./node_modules/react-dnd/lib/createTargetConnector.js","webpack://mobicheckin-server/./node_modules/react-dnd/lib/createTargetFactory.js","webpack://mobicheckin-server/./node_modules/react-dnd/lib/createTargetMonitor.js","webpack://mobicheckin-server/./node_modules/react-dnd/lib/decorateHandler.js","webpack://mobicheckin-server/./node_modules/react-dnd/lib/index.js","webpack://mobicheckin-server/./node_modules/react-dnd/lib/registerSource.js","webpack://mobicheckin-server/./node_modules/react-dnd/lib/registerTarget.js","webpack://mobicheckin-server/./node_modules/react-dnd/lib/utils/checkDecoratorArguments.js","webpack://mobicheckin-server/./node_modules/react-dnd/lib/utils/cloneWithRef.js","webpack://mobicheckin-server/./node_modules/react-dnd/lib/utils/isValidType.js","webpack://mobicheckin-server/./node_modules/react-dnd/lib/wrapConnectorHooks.js","webpack://mobicheckin-server/./node_modules/react-dnd/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack://mobicheckin-server/./node_modules/react-sliding-pane/dist/react-sliding-pane.js","webpack://mobicheckin-server/./node_modules/shallowequal/index.js","webpack://mobicheckin-server/./node_modules/symbol-observable/es/index.js","webpack://mobicheckin-server/./node_modules/symbol-observable/es/ponyfill.js"],"sourcesContent":["\"use strict\";\n\n// rawAsap provides everything we need except exception management.\nvar rawAsap = require(\"./raw\");\n// RawTasks are recycled to reduce GC churn.\nvar freeTasks = [];\n// We queue errors to ensure they are thrown in right order (FIFO).\n// Array-as-queue is good enough here, since we are just dealing with exceptions.\nvar pendingErrors = [];\nvar requestErrorThrow = rawAsap.makeRequestCallFromTimer(throwFirstError);\n\nfunction throwFirstError() {\n if (pendingErrors.length) {\n throw pendingErrors.shift();\n }\n}\n\n/**\n * Calls a task as soon as possible after returning, in its own event, with priority\n * over other events like animation, reflow, and repaint. An error thrown from an\n * event will not interrupt, nor even substantially slow down the processing of\n * other events, but will be rather postponed to a lower priority event.\n * @param {{call}} task A callable object, typically a function that takes no\n * arguments.\n */\nmodule.exports = asap;\nfunction asap(task) {\n var rawTask;\n if (freeTasks.length) {\n rawTask = freeTasks.pop();\n } else {\n rawTask = new RawTask();\n }\n rawTask.task = task;\n rawAsap(rawTask);\n}\n\n// We wrap tasks with recyclable task objects. A task object implements\n// `call`, just like a function.\nfunction RawTask() {\n this.task = null;\n}\n\n// The sole purpose of wrapping the task is to catch the exception and recycle\n// the task object after its single use.\nRawTask.prototype.call = function () {\n try {\n this.task.call();\n } catch (error) {\n if (asap.onerror) {\n // This hook exists purely for testing purposes.\n // Its name will be periodically randomized to break any code that\n // depends on its existence.\n asap.onerror(error);\n } else {\n // In a web browser, exceptions are not fatal. However, to avoid\n // slowing down the queue of pending tasks, we rethrow the error in a\n // lower priority turn.\n pendingErrors.push(error);\n requestErrorThrow();\n }\n } finally {\n this.task = null;\n freeTasks[freeTasks.length] = this;\n }\n};\n","\"use strict\";\n\n// Use the fastest means possible to execute a task in its own turn, with\n// priority over other events including IO, animation, reflow, and redraw\n// events in browsers.\n//\n// An exception thrown by a task will permanently interrupt the processing of\n// subsequent tasks. The higher level `asap` function ensures that if an\n// exception is thrown by a task, that the task queue will continue flushing as\n// soon as possible, but if you use `rawAsap` directly, you are responsible to\n// either ensure that no exceptions are thrown from your task, or to manually\n// call `rawAsap.requestFlush` if an exception is thrown.\nmodule.exports = rawAsap;\nfunction rawAsap(task) {\n if (!queue.length) {\n requestFlush();\n flushing = true;\n }\n // Equivalent to push, but avoids a function call.\n queue[queue.length] = task;\n}\n\nvar queue = [];\n// Once a flush has been requested, no further calls to `requestFlush` are\n// necessary until the next `flush` completes.\nvar flushing = false;\n// `requestFlush` is an implementation-specific method that attempts to kick\n// off a `flush` event as quickly as possible. `flush` will attempt to exhaust\n// the event queue before yielding to the browser's own event loop.\nvar requestFlush;\n// The position of the next task to execute in the task queue. This is\n// preserved between calls to `flush` so that it can be resumed if\n// a task throws an exception.\nvar index = 0;\n// If a task schedules additional tasks recursively, the task queue can grow\n// unbounded. To prevent memory exhaustion, the task queue will periodically\n// truncate already-completed tasks.\nvar capacity = 1024;\n\n// The flush function processes all tasks that have been scheduled with\n// `rawAsap` unless and until one of those tasks throws an exception.\n// If a task throws an exception, `flush` ensures that its state will remain\n// consistent and will resume where it left off when called again.\n// However, `flush` does not make any arrangements to be called again if an\n// exception is thrown.\nfunction flush() {\n while (index < queue.length) {\n var currentIndex = index;\n // Advance the index before calling the task. This ensures that we will\n // begin flushing on the next task the task throws an error.\n index = index + 1;\n queue[currentIndex].call();\n // Prevent leaking memory for long chains of recursive calls to `asap`.\n // If we call `asap` within tasks scheduled by `asap`, the queue will\n // grow, but to avoid an O(n) walk for every task we execute, we don't\n // shift tasks off the queue after they have been executed.\n // Instead, we periodically shift 1024 tasks off the queue.\n if (index > capacity) {\n // Manually shift all values starting at the index back to the\n // beginning of the queue.\n for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) {\n queue[scan] = queue[scan + index];\n }\n queue.length -= index;\n index = 0;\n }\n }\n queue.length = 0;\n index = 0;\n flushing = false;\n}\n\n// `requestFlush` is implemented using a strategy based on data collected from\n// every available SauceLabs Selenium web driver worker at time of writing.\n// https://docs.google.com/spreadsheets/d/1mG-5UYGup5qxGdEMWkhP6BWCz053NUb2E1QoUTU16uA/edit#gid=783724593\n\n// Safari 6 and 6.1 for desktop, iPad, and iPhone are the only browsers that\n// have WebKitMutationObserver but not un-prefixed MutationObserver.\n// Must use `global` or `self` instead of `window` to work in both frames and web\n// workers. `global` is a provision of Browserify, Mr, Mrs, or Mop.\n\n/* globals self */\nvar scope = typeof global !== \"undefined\" ? global : self;\nvar BrowserMutationObserver = scope.MutationObserver || scope.WebKitMutationObserver;\n\n// MutationObservers are desirable because they have high priority and work\n// reliably everywhere they are implemented.\n// They are implemented in all modern browsers.\n//\n// - Android 4-4.3\n// - Chrome 26-34\n// - Firefox 14-29\n// - Internet Explorer 11\n// - iPad Safari 6-7.1\n// - iPhone Safari 7-7.1\n// - Safari 6-7\nif (typeof BrowserMutationObserver === \"function\") {\n requestFlush = makeRequestCallFromMutationObserver(flush);\n\n// MessageChannels are desirable because they give direct access to the HTML\n// task queue, are implemented in Internet Explorer 10, Safari 5.0-1, and Opera\n// 11-12, and in web workers in many engines.\n// Although message channels yield to any queued rendering and IO tasks, they\n// would be better than imposing the 4ms delay of timers.\n// However, they do not work reliably in Internet Explorer or Safari.\n\n// Internet Explorer 10 is the only browser that has setImmediate but does\n// not have MutationObservers.\n// Although setImmediate yields to the browser's renderer, it would be\n// preferrable to falling back to setTimeout since it does not have\n// the minimum 4ms penalty.\n// Unfortunately there appears to be a bug in Internet Explorer 10 Mobile (and\n// Desktop to a lesser extent) that renders both setImmediate and\n// MessageChannel useless for the purposes of ASAP.\n// https://github.com/kriskowal/q/issues/396\n\n// Timers are implemented universally.\n// We fall back to timers in workers in most engines, and in foreground\n// contexts in the following browsers.\n// However, note that even this simple case requires nuances to operate in a\n// broad spectrum of browsers.\n//\n// - Firefox 3-13\n// - Internet Explorer 6-9\n// - iPad Safari 4.3\n// - Lynx 2.8.7\n} else {\n requestFlush = makeRequestCallFromTimer(flush);\n}\n\n// `requestFlush` requests that the high priority event queue be flushed as\n// soon as possible.\n// This is useful to prevent an error thrown in a task from stalling the event\n// queue if the exception handled by Node.js’s\n// `process.on(\"uncaughtException\")` or by a domain.\nrawAsap.requestFlush = requestFlush;\n\n// To request a high priority event, we induce a mutation observer by toggling\n// the text of a text node between \"1\" and \"-1\".\nfunction makeRequestCallFromMutationObserver(callback) {\n var toggle = 1;\n var observer = new BrowserMutationObserver(callback);\n var node = document.createTextNode(\"\");\n observer.observe(node, {characterData: true});\n return function requestCall() {\n toggle = -toggle;\n node.data = toggle;\n };\n}\n\n// The message channel technique was discovered by Malte Ubl and was the\n// original foundation for this library.\n// http://www.nonblocking.io/2011/06/windownexttick.html\n\n// Safari 6.0.5 (at least) intermittently fails to create message ports on a\n// page's first load. Thankfully, this version of Safari supports\n// MutationObservers, so we don't need to fall back in that case.\n\n// function makeRequestCallFromMessageChannel(callback) {\n// var channel = new MessageChannel();\n// channel.port1.onmessage = callback;\n// return function requestCall() {\n// channel.port2.postMessage(0);\n// };\n// }\n\n// For reasons explained above, we are also unable to use `setImmediate`\n// under any circumstances.\n// Even if we were, there is another bug in Internet Explorer 10.\n// It is not sufficient to assign `setImmediate` to `requestFlush` because\n// `setImmediate` must be called *by name* and therefore must be wrapped in a\n// closure.\n// Never forget.\n\n// function makeRequestCallFromSetImmediate(callback) {\n// return function requestCall() {\n// setImmediate(callback);\n// };\n// }\n\n// Safari 6.0 has a problem where timers will get lost while the user is\n// scrolling. This problem does not impact ASAP because Safari 6.0 supports\n// mutation observers, so that implementation is used instead.\n// However, if we ever elect to use timers in Safari, the prevalent work-around\n// is to add a scroll event listener that calls for a flush.\n\n// `setTimeout` does not call the passed callback if the delay is less than\n// approximately 7 in web workers in Firefox 8 through 18, and sometimes not\n// even then.\n\nfunction makeRequestCallFromTimer(callback) {\n return function requestCall() {\n // We dispatch a timeout with a specified delay of 0 for engines that\n // can reliably accommodate that request. This will usually be snapped\n // to a 4 milisecond delay, but once we're flushing, there's no delay\n // between events.\n var timeoutHandle = setTimeout(handleTimer, 0);\n // However, since this timer gets frequently dropped in Firefox\n // workers, we enlist an interval handle that will try to fire\n // an event 20 times per second until it succeeds.\n var intervalHandle = setInterval(handleTimer, 50);\n\n function handleTimer() {\n // Whichever timer succeeds will cancel both timers and\n // execute the callback.\n clearTimeout(timeoutHandle);\n clearInterval(intervalHandle);\n callback();\n }\n };\n}\n\n// This is for `asap.js` only.\n// Its name will be periodically randomized to break any code that depends on\n// its existence.\nrawAsap.makeRequestCallFromTimer = makeRequestCallFromTimer;\n\n// ASAP was originally a nextTick shim included in Q. This was factored out\n// into this ASAP package. It was later adapted to RSVP which made further\n// amendments. These decisions, particularly to marginalize MessageChannel and\n// to capture the MutationObserver implementation in a closure, were integrated\n// back into ASAP proper.\n// https://github.com/tildeio/rsvp.js/blob/cddf7232546a9cf858524b75cde6f9edf72620a7/lib/rsvp/asap.js\n","function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/**\n * Return a descriptor removing the value and returning a getter\n * The getter will return a .bind version of the function\n * and memoize the result against a symbol on the instance\n */\nexport function boundMethod(target, key, descriptor) {\n var fn = descriptor.value;\n\n if (typeof fn !== 'function') {\n throw new TypeError(\"@boundMethod decorator can only be applied to methods not: \".concat(_typeof(fn)));\n } // In IE11 calling Object.defineProperty has a side-effect of evaluating the\n // getter for the property which is being replaced. This causes infinite\n // recursion and an \"Out of stack space\" error.\n\n\n var definingProperty = false;\n return {\n configurable: true,\n get: function get() {\n // eslint-disable-next-line no-prototype-builtins\n if (definingProperty || this === target.prototype || this.hasOwnProperty(key) || typeof fn !== 'function') {\n return fn;\n }\n\n var boundFn = fn.bind(this);\n definingProperty = true;\n Object.defineProperty(this, key, {\n configurable: true,\n get: function get() {\n return boundFn;\n },\n set: function set(value) {\n fn = value;\n delete this[key];\n }\n });\n definingProperty = false;\n return boundFn;\n },\n set: function set(value) {\n fn = value;\n }\n };\n}\n/**\n * Use boundMethod to bind all methods on the target.prototype\n */\n\nexport function boundClass(target) {\n // (Using reflect to get all keys including symbols)\n var keys; // Use Reflect if exists\n\n if (typeof Reflect !== 'undefined' && typeof Reflect.ownKeys === 'function') {\n keys = Reflect.ownKeys(target.prototype);\n } else {\n keys = Object.getOwnPropertyNames(target.prototype); // Use symbols if support is provided\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n keys = keys.concat(Object.getOwnPropertySymbols(target.prototype));\n }\n }\n\n keys.forEach(function (key) {\n // Ignore special case target method\n if (key === 'constructor') {\n return;\n }\n\n var descriptor = Object.getOwnPropertyDescriptor(target.prototype, key); // Only methods need binding\n\n if (typeof descriptor.value === 'function') {\n Object.defineProperty(target.prototype, key, boundMethod(target, key, descriptor));\n }\n });\n return target;\n}\nexport default function autobind() {\n if (arguments.length === 1) {\n return boundClass.apply(void 0, arguments);\n }\n\n return boundMethod.apply(void 0, arguments);\n}","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar _isDisposable = require('./isDisposable');\n\nvar _isDisposable2 = _interopRequireDefault(_isDisposable);\n\n/**\n * Represents a group of disposable resources that are disposed together.\n */\n\nvar CompositeDisposable = (function () {\n function CompositeDisposable() {\n for (var _len = arguments.length, disposables = Array(_len), _key = 0; _key < _len; _key++) {\n disposables[_key] = arguments[_key];\n }\n\n _classCallCheck(this, CompositeDisposable);\n\n if (Array.isArray(disposables[0]) && disposables.length === 1) {\n disposables = disposables[0];\n }\n\n for (var i = 0; i < disposables.length; i++) {\n if (!_isDisposable2['default'](disposables[i])) {\n throw new Error('Expected a disposable');\n }\n }\n\n this.disposables = disposables;\n this.isDisposed = false;\n }\n\n /**\n * Adds a disposable to the CompositeDisposable or disposes the disposable if the CompositeDisposable is disposed.\n * @param {Disposable} item Disposable to add.\n */\n\n CompositeDisposable.prototype.add = function add(item) {\n if (this.isDisposed) {\n item.dispose();\n } else {\n this.disposables.push(item);\n }\n };\n\n /**\n * Removes and disposes the first occurrence of a disposable from the CompositeDisposable.\n * @param {Disposable} item Disposable to remove.\n * @returns {Boolean} true if found; false otherwise.\n */\n\n CompositeDisposable.prototype.remove = function remove(item) {\n if (this.isDisposed) {\n return false;\n }\n\n var index = this.disposables.indexOf(item);\n if (index === -1) {\n return false;\n }\n\n this.disposables.splice(index, 1);\n item.dispose();\n return true;\n };\n\n /**\n * Disposes all disposables in the group and removes them from the group.\n */\n\n CompositeDisposable.prototype.dispose = function dispose() {\n if (this.isDisposed) {\n return;\n }\n\n var len = this.disposables.length;\n var currentDisposables = new Array(len);\n for (var i = 0; i < len; i++) {\n currentDisposables[i] = this.disposables[i];\n }\n\n this.isDisposed = true;\n this.disposables = [];\n this.length = 0;\n\n for (var i = 0; i < len; i++) {\n currentDisposables[i].dispose();\n }\n };\n\n return CompositeDisposable;\n})();\n\nexports['default'] = CompositeDisposable;\nmodule.exports = exports['default'];","\"use strict\";\n\nexports.__esModule = true;\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar noop = function noop() {};\n\n/**\n * The basic disposable.\n */\n\nvar Disposable = (function () {\n _createClass(Disposable, null, [{\n key: \"empty\",\n value: { dispose: noop },\n enumerable: true\n }]);\n\n function Disposable(action) {\n _classCallCheck(this, Disposable);\n\n this.isDisposed = false;\n this.action = action || noop;\n }\n\n Disposable.prototype.dispose = function dispose() {\n if (!this.isDisposed) {\n this.action.call(null);\n this.isDisposed = true;\n }\n };\n\n return Disposable;\n})();\n\nexports[\"default\"] = Disposable;\nmodule.exports = exports[\"default\"];","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }\n\nvar _isDisposable = require('./isDisposable');\n\nvar _isDisposable2 = _interopRequireDefault(_isDisposable);\n\nvar SerialDisposable = (function () {\n function SerialDisposable() {\n _classCallCheck(this, SerialDisposable);\n\n this.isDisposed = false;\n this.current = null;\n }\n\n /**\n * Gets the underlying disposable.\n * @return The underlying disposable.\n */\n\n SerialDisposable.prototype.getDisposable = function getDisposable() {\n return this.current;\n };\n\n /**\n * Sets the underlying disposable.\n * @param {Disposable} value The new underlying disposable.\n */\n\n SerialDisposable.prototype.setDisposable = function setDisposable() {\n var value = arguments.length <= 0 || arguments[0] === undefined ? null : arguments[0];\n\n if (value != null && !_isDisposable2['default'](value)) {\n throw new Error('Expected either an empty value or a valid disposable');\n }\n\n var isDisposed = this.isDisposed;\n var previous = undefined;\n\n if (!isDisposed) {\n previous = this.current;\n this.current = value;\n }\n\n if (previous) {\n previous.dispose();\n }\n\n if (isDisposed && value) {\n value.dispose();\n }\n };\n\n /**\n * Disposes the underlying disposable as well as all future replacements.\n */\n\n SerialDisposable.prototype.dispose = function dispose() {\n if (this.isDisposed) {\n return;\n }\n\n this.isDisposed = true;\n var previous = this.current;\n this.current = null;\n\n if (previous) {\n previous.dispose();\n }\n };\n\n return SerialDisposable;\n})();\n\nexports['default'] = SerialDisposable;\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _isDisposable2 = require('./isDisposable');\n\nvar _isDisposable3 = _interopRequireDefault(_isDisposable2);\n\nexports.isDisposable = _isDisposable3['default'];\n\nvar _Disposable2 = require('./Disposable');\n\nvar _Disposable3 = _interopRequireDefault(_Disposable2);\n\nexports.Disposable = _Disposable3['default'];\n\nvar _CompositeDisposable2 = require('./CompositeDisposable');\n\nvar _CompositeDisposable3 = _interopRequireDefault(_CompositeDisposable2);\n\nexports.CompositeDisposable = _CompositeDisposable3['default'];\n\nvar _SerialDisposable2 = require('./SerialDisposable');\n\nvar _SerialDisposable3 = _interopRequireDefault(_SerialDisposable2);\n\nexports.SerialDisposable = _SerialDisposable3['default'];","'use strict';\n\nexports.__esModule = true;\nexports['default'] = isDisposable;\n\nfunction isDisposable(obj) {\n return Boolean(obj && typeof obj.dispose === 'function');\n}\n\nmodule.exports = exports['default'];","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar redux_1 = require(\"redux\");\nvar reducers_1 = __importDefault(require(\"./reducers\"));\nvar dragDrop_1 = __importDefault(require(\"./actions/dragDrop\"));\nvar DragDropMonitorImpl_1 = __importDefault(require(\"./DragDropMonitorImpl\"));\nvar HandlerRegistryImpl_1 = __importDefault(require(\"./HandlerRegistryImpl\"));\nvar DragDropManagerImpl = /** @class */ (function () {\n function DragDropManagerImpl(createBackend, context) {\n if (context === void 0) { context = {}; }\n this.context = context;\n this.isSetUp = false;\n var store = redux_1.createStore(reducers_1.default);\n this.store = store;\n this.monitor = new DragDropMonitorImpl_1.default(store, new HandlerRegistryImpl_1.default(store));\n this.backend = createBackend(this);\n store.subscribe(this.handleRefCountChange.bind(this));\n }\n DragDropManagerImpl.prototype.getContext = function () {\n return this.context;\n };\n DragDropManagerImpl.prototype.getMonitor = function () {\n return this.monitor;\n };\n DragDropManagerImpl.prototype.getBackend = function () {\n return this.backend;\n };\n DragDropManagerImpl.prototype.getRegistry = function () {\n return this.monitor.registry;\n };\n DragDropManagerImpl.prototype.getActions = function () {\n var manager = this;\n var dispatch = this.store.dispatch;\n function bindActionCreator(actionCreator) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var action = actionCreator.apply(manager, args);\n if (typeof action !== 'undefined') {\n dispatch(action);\n }\n };\n }\n var actions = dragDrop_1.default(this);\n return Object.keys(actions).reduce(function (boundActions, key) {\n var action = actions[key];\n boundActions[key] = bindActionCreator(action); // eslint-disable-line no-param-reassign\n return boundActions;\n }, {});\n };\n DragDropManagerImpl.prototype.dispatch = function (action) {\n this.store.dispatch(action);\n };\n DragDropManagerImpl.prototype.handleRefCountChange = function () {\n var shouldSetUp = this.store.getState().refCount > 0;\n if (shouldSetUp && !this.isSetUp) {\n this.backend.setup();\n this.isSetUp = true;\n }\n else if (!shouldSetUp && this.isSetUp) {\n this.backend.teardown();\n this.isSetUp = false;\n }\n };\n return DragDropManagerImpl;\n}());\nexports.default = DragDropManagerImpl;\n//# sourceMappingURL=DragDropManagerImpl.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar invariant_1 = __importDefault(require(\"invariant\"));\nvar isArray_1 = __importDefault(require(\"lodash/isArray\"));\nvar matchesType_1 = __importDefault(require(\"./utils/matchesType\"));\nvar coords_1 = require(\"./utils/coords\");\nvar dirtiness_1 = require(\"./utils/dirtiness\");\nvar DragDropMonitorImpl = /** @class */ (function () {\n function DragDropMonitorImpl(store, registry) {\n this.store = store;\n this.registry = registry;\n }\n DragDropMonitorImpl.prototype.subscribeToStateChange = function (listener, options) {\n var _this = this;\n if (options === void 0) { options = { handlerIds: undefined }; }\n var handlerIds = options.handlerIds;\n invariant_1.default(typeof listener === 'function', 'listener must be a function.');\n invariant_1.default(typeof handlerIds === 'undefined' || isArray_1.default(handlerIds), 'handlerIds, when specified, must be an array of strings.');\n var prevStateId = this.store.getState().stateId;\n var handleChange = function () {\n var state = _this.store.getState();\n var currentStateId = state.stateId;\n try {\n var canSkipListener = currentStateId === prevStateId ||\n (currentStateId === prevStateId + 1 &&\n !dirtiness_1.areDirty(state.dirtyHandlerIds, handlerIds));\n if (!canSkipListener) {\n listener();\n }\n }\n finally {\n prevStateId = currentStateId;\n }\n };\n return this.store.subscribe(handleChange);\n };\n DragDropMonitorImpl.prototype.subscribeToOffsetChange = function (listener) {\n var _this = this;\n invariant_1.default(typeof listener === 'function', 'listener must be a function.');\n var previousState = this.store.getState().dragOffset;\n var handleChange = function () {\n var nextState = _this.store.getState().dragOffset;\n if (nextState === previousState) {\n return;\n }\n previousState = nextState;\n listener();\n };\n return this.store.subscribe(handleChange);\n };\n DragDropMonitorImpl.prototype.canDragSource = function (sourceId) {\n var source = this.registry.getSource(sourceId);\n invariant_1.default(source, 'Expected to find a valid source.');\n if (this.isDragging()) {\n return false;\n }\n return source.canDrag(this, sourceId);\n };\n DragDropMonitorImpl.prototype.canDropOnTarget = function (targetId) {\n var target = this.registry.getTarget(targetId);\n invariant_1.default(target, 'Expected to find a valid target.');\n if (!this.isDragging() || this.didDrop()) {\n return false;\n }\n var targetType = this.registry.getTargetType(targetId);\n var draggedItemType = this.getItemType();\n return (matchesType_1.default(targetType, draggedItemType) && target.canDrop(this, targetId));\n };\n DragDropMonitorImpl.prototype.isDragging = function () {\n return Boolean(this.getItemType());\n };\n DragDropMonitorImpl.prototype.isDraggingSource = function (sourceId) {\n var source = this.registry.getSource(sourceId, true);\n invariant_1.default(source, 'Expected to find a valid source.');\n if (!this.isDragging() || !this.isSourcePublic()) {\n return false;\n }\n var sourceType = this.registry.getSourceType(sourceId);\n var draggedItemType = this.getItemType();\n if (sourceType !== draggedItemType) {\n return false;\n }\n return source.isDragging(this, sourceId);\n };\n DragDropMonitorImpl.prototype.isOverTarget = function (targetId, options) {\n if (options === void 0) { options = { shallow: false }; }\n var shallow = options.shallow;\n if (!this.isDragging()) {\n return false;\n }\n var targetType = this.registry.getTargetType(targetId);\n var draggedItemType = this.getItemType();\n if (draggedItemType && !matchesType_1.default(targetType, draggedItemType)) {\n return false;\n }\n var targetIds = this.getTargetIds();\n if (!targetIds.length) {\n return false;\n }\n var index = targetIds.indexOf(targetId);\n if (shallow) {\n return index === targetIds.length - 1;\n }\n else {\n return index > -1;\n }\n };\n DragDropMonitorImpl.prototype.getItemType = function () {\n return this.store.getState().dragOperation.itemType;\n };\n DragDropMonitorImpl.prototype.getItem = function () {\n return this.store.getState().dragOperation.item;\n };\n DragDropMonitorImpl.prototype.getSourceId = function () {\n return this.store.getState().dragOperation.sourceId;\n };\n DragDropMonitorImpl.prototype.getTargetIds = function () {\n return this.store.getState().dragOperation.targetIds;\n };\n DragDropMonitorImpl.prototype.getDropResult = function () {\n return this.store.getState().dragOperation.dropResult;\n };\n DragDropMonitorImpl.prototype.didDrop = function () {\n return this.store.getState().dragOperation.didDrop;\n };\n DragDropMonitorImpl.prototype.isSourcePublic = function () {\n return this.store.getState().dragOperation.isSourcePublic;\n };\n DragDropMonitorImpl.prototype.getInitialClientOffset = function () {\n return this.store.getState().dragOffset.initialClientOffset;\n };\n DragDropMonitorImpl.prototype.getInitialSourceClientOffset = function () {\n return this.store.getState().dragOffset.initialSourceClientOffset;\n };\n DragDropMonitorImpl.prototype.getClientOffset = function () {\n return this.store.getState().dragOffset.clientOffset;\n };\n DragDropMonitorImpl.prototype.getSourceClientOffset = function () {\n return coords_1.getSourceClientOffset(this.store.getState().dragOffset);\n };\n DragDropMonitorImpl.prototype.getDifferenceFromInitialOffset = function () {\n return coords_1.getDifferenceFromInitialOffset(this.store.getState().dragOffset);\n };\n return DragDropMonitorImpl;\n}());\nexports.default = DragDropMonitorImpl;\n//# sourceMappingURL=DragDropMonitorImpl.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar invariant_1 = __importDefault(require(\"invariant\"));\nvar asap = require('asap');\nvar registry_1 = require(\"./actions/registry\");\nvar getNextUniqueId_1 = __importDefault(require(\"./utils/getNextUniqueId\"));\nvar interfaces_1 = require(\"./interfaces\");\nvar contracts_1 = require(\"./contracts\");\nfunction getNextHandlerId(role) {\n var id = getNextUniqueId_1.default().toString();\n switch (role) {\n case interfaces_1.HandlerRole.SOURCE:\n return \"S\" + id;\n case interfaces_1.HandlerRole.TARGET:\n return \"T\" + id;\n default:\n throw new Error(\"Unknown Handler Role: \" + role);\n }\n}\nfunction parseRoleFromHandlerId(handlerId) {\n switch (handlerId[0]) {\n case 'S':\n return interfaces_1.HandlerRole.SOURCE;\n case 'T':\n return interfaces_1.HandlerRole.TARGET;\n default:\n invariant_1.default(false, \"Cannot parse handler ID: \" + handlerId);\n }\n}\nvar HandlerRegistryImpl = /** @class */ (function () {\n function HandlerRegistryImpl(store) {\n this.store = store;\n this.types = {};\n this.dragSources = {};\n this.dropTargets = {};\n this.pinnedSourceId = null;\n this.pinnedSource = null;\n }\n HandlerRegistryImpl.prototype.addSource = function (type, source) {\n contracts_1.validateType(type);\n contracts_1.validateSourceContract(source);\n var sourceId = this.addHandler(interfaces_1.HandlerRole.SOURCE, type, source);\n this.store.dispatch(registry_1.addSource(sourceId));\n return sourceId;\n };\n HandlerRegistryImpl.prototype.addTarget = function (type, target) {\n contracts_1.validateType(type, true);\n contracts_1.validateTargetContract(target);\n var targetId = this.addHandler(interfaces_1.HandlerRole.TARGET, type, target);\n this.store.dispatch(registry_1.addTarget(targetId));\n return targetId;\n };\n HandlerRegistryImpl.prototype.containsHandler = function (handler) {\n var _this = this;\n return (Object.keys(this.dragSources).some(function (key) { return _this.dragSources[key] === handler; }) ||\n Object.keys(this.dropTargets).some(function (key) { return _this.dropTargets[key] === handler; }));\n };\n HandlerRegistryImpl.prototype.getSource = function (sourceId, includePinned) {\n if (includePinned === void 0) { includePinned = false; }\n invariant_1.default(this.isSourceId(sourceId), 'Expected a valid source ID.');\n var isPinned = includePinned && sourceId === this.pinnedSourceId;\n var source = isPinned ? this.pinnedSource : this.dragSources[sourceId];\n return source;\n };\n HandlerRegistryImpl.prototype.getTarget = function (targetId) {\n invariant_1.default(this.isTargetId(targetId), 'Expected a valid target ID.');\n return this.dropTargets[targetId];\n };\n HandlerRegistryImpl.prototype.getSourceType = function (sourceId) {\n invariant_1.default(this.isSourceId(sourceId), 'Expected a valid source ID.');\n return this.types[sourceId];\n };\n HandlerRegistryImpl.prototype.getTargetType = function (targetId) {\n invariant_1.default(this.isTargetId(targetId), 'Expected a valid target ID.');\n return this.types[targetId];\n };\n HandlerRegistryImpl.prototype.isSourceId = function (handlerId) {\n var role = parseRoleFromHandlerId(handlerId);\n return role === interfaces_1.HandlerRole.SOURCE;\n };\n HandlerRegistryImpl.prototype.isTargetId = function (handlerId) {\n var role = parseRoleFromHandlerId(handlerId);\n return role === interfaces_1.HandlerRole.TARGET;\n };\n HandlerRegistryImpl.prototype.removeSource = function (sourceId) {\n var _this = this;\n invariant_1.default(this.getSource(sourceId), 'Expected an existing source.');\n this.store.dispatch(registry_1.removeSource(sourceId));\n asap(function () {\n delete _this.dragSources[sourceId];\n delete _this.types[sourceId];\n });\n };\n HandlerRegistryImpl.prototype.removeTarget = function (targetId) {\n var _this = this;\n invariant_1.default(this.getTarget(targetId), 'Expected an existing target.');\n this.store.dispatch(registry_1.removeTarget(targetId));\n asap(function () {\n delete _this.dropTargets[targetId];\n delete _this.types[targetId];\n });\n };\n HandlerRegistryImpl.prototype.pinSource = function (sourceId) {\n var source = this.getSource(sourceId);\n invariant_1.default(source, 'Expected an existing source.');\n this.pinnedSourceId = sourceId;\n this.pinnedSource = source;\n };\n HandlerRegistryImpl.prototype.unpinSource = function () {\n invariant_1.default(this.pinnedSource, 'No source is pinned at the time.');\n this.pinnedSourceId = null;\n this.pinnedSource = null;\n };\n HandlerRegistryImpl.prototype.addHandler = function (role, type, handler) {\n var id = getNextHandlerId(role);\n this.types[id] = type;\n if (role === interfaces_1.HandlerRole.SOURCE) {\n this.dragSources[id] = handler;\n }\n else if (role === interfaces_1.HandlerRole.TARGET) {\n this.dropTargets[id] = handler;\n }\n return id;\n };\n return HandlerRegistryImpl;\n}());\nexports.default = HandlerRegistryImpl;\n//# sourceMappingURL=HandlerRegistryImpl.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar invariant_1 = __importDefault(require(\"invariant\"));\nvar isArray_1 = __importDefault(require(\"lodash/isArray\"));\nvar isObject_1 = __importDefault(require(\"lodash/isObject\"));\nvar matchesType_1 = __importDefault(require(\"../utils/matchesType\"));\nexports.BEGIN_DRAG = 'dnd-core/BEGIN_DRAG';\nexports.PUBLISH_DRAG_SOURCE = 'dnd-core/PUBLISH_DRAG_SOURCE';\nexports.HOVER = 'dnd-core/HOVER';\nexports.DROP = 'dnd-core/DROP';\nexports.END_DRAG = 'dnd-core/END_DRAG';\nfunction createDragDropActions(manager) {\n return {\n beginDrag: function (sourceIds, _a) {\n if (sourceIds === void 0) { sourceIds = []; }\n var _b = _a === void 0 ? {\n publishSource: true,\n } : _a, publishSource = _b.publishSource, clientOffset = _b.clientOffset, getSourceClientOffset = _b.getSourceClientOffset;\n var monitor = manager.getMonitor();\n var registry = manager.getRegistry();\n invariant_1.default(!monitor.isDragging(), 'Cannot call beginDrag while dragging.');\n for (var _i = 0, sourceIds_1 = sourceIds; _i < sourceIds_1.length; _i++) {\n var s = sourceIds_1[_i];\n invariant_1.default(registry.getSource(s), 'Expected sourceIds to be registered.');\n }\n var sourceId = null;\n for (var i = sourceIds.length - 1; i >= 0; i--) {\n if (monitor.canDragSource(sourceIds[i])) {\n sourceId = sourceIds[i];\n break;\n }\n }\n if (sourceId === null) {\n return;\n }\n var sourceClientOffset = null;\n if (clientOffset) {\n invariant_1.default(typeof getSourceClientOffset === 'function', 'When clientOffset is provided, getSourceClientOffset must be a function.');\n sourceClientOffset = getSourceClientOffset(sourceId);\n }\n var source = registry.getSource(sourceId);\n var item = source.beginDrag(monitor, sourceId);\n invariant_1.default(isObject_1.default(item), 'Item must be an object.');\n registry.pinSource(sourceId);\n var itemType = registry.getSourceType(sourceId);\n return {\n type: exports.BEGIN_DRAG,\n payload: {\n itemType: itemType,\n item: item,\n sourceId: sourceId,\n clientOffset: clientOffset || null,\n sourceClientOffset: sourceClientOffset || null,\n isSourcePublic: !!publishSource,\n },\n };\n },\n publishDragSource: function () {\n var monitor = manager.getMonitor();\n if (!monitor.isDragging()) {\n return;\n }\n return { type: exports.PUBLISH_DRAG_SOURCE };\n },\n hover: function (targetIdsArg, _a) {\n var clientOffset = (_a === void 0 ? {} : _a).clientOffset;\n invariant_1.default(isArray_1.default(targetIdsArg), 'Expected targetIds to be an array.');\n var targetIds = targetIdsArg.slice(0);\n var monitor = manager.getMonitor();\n var registry = manager.getRegistry();\n invariant_1.default(monitor.isDragging(), 'Cannot call hover while not dragging.');\n invariant_1.default(!monitor.didDrop(), 'Cannot call hover after drop.');\n // First check invariants.\n for (var i = 0; i < targetIds.length; i++) {\n var targetId = targetIds[i];\n invariant_1.default(targetIds.lastIndexOf(targetId) === i, 'Expected targetIds to be unique in the passed array.');\n var target = registry.getTarget(targetId);\n invariant_1.default(target, 'Expected targetIds to be registered.');\n }\n var draggedItemType = monitor.getItemType();\n // Remove those targetIds that don't match the targetType. This\n // fixes shallow isOver which would only be non-shallow because of\n // non-matching targets.\n for (var i = targetIds.length - 1; i >= 0; i--) {\n var targetId = targetIds[i];\n var targetType = registry.getTargetType(targetId);\n if (!matchesType_1.default(targetType, draggedItemType)) {\n targetIds.splice(i, 1);\n }\n }\n // Finally call hover on all matching targets.\n for (var _i = 0, targetIds_1 = targetIds; _i < targetIds_1.length; _i++) {\n var targetId = targetIds_1[_i];\n var target = registry.getTarget(targetId);\n target.hover(monitor, targetId);\n }\n return {\n type: exports.HOVER,\n payload: {\n targetIds: targetIds,\n clientOffset: clientOffset || null,\n },\n };\n },\n drop: function (options) {\n if (options === void 0) { options = {}; }\n var monitor = manager.getMonitor();\n var registry = manager.getRegistry();\n invariant_1.default(monitor.isDragging(), 'Cannot call drop while not dragging.');\n invariant_1.default(!monitor.didDrop(), 'Cannot call drop twice during one drag operation.');\n var targetIds = monitor\n .getTargetIds()\n .filter(monitor.canDropOnTarget, monitor);\n targetIds.reverse();\n // Multiple actions are dispatched here, which is why this doesn't return an action\n targetIds.forEach(function (targetId, index) {\n var target = registry.getTarget(targetId);\n var dropResult = target.drop(monitor, targetId);\n invariant_1.default(typeof dropResult === 'undefined' || isObject_1.default(dropResult), 'Drop result must either be an object or undefined.');\n if (typeof dropResult === 'undefined') {\n dropResult = index === 0 ? {} : monitor.getDropResult();\n }\n var action = {\n type: exports.DROP,\n payload: {\n dropResult: __assign({}, options, dropResult),\n },\n };\n manager.dispatch(action);\n });\n },\n endDrag: function () {\n var monitor = manager.getMonitor();\n var registry = manager.getRegistry();\n invariant_1.default(monitor.isDragging(), 'Cannot call endDrag while not dragging.');\n var sourceId = monitor.getSourceId();\n var source = registry.getSource(sourceId, true);\n source.endDrag(monitor, sourceId);\n registry.unpinSource();\n return { type: exports.END_DRAG };\n },\n };\n}\nexports.default = createDragDropActions;\n//# sourceMappingURL=dragDrop.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ADD_SOURCE = 'dnd-core/ADD_SOURCE';\nexports.ADD_TARGET = 'dnd-core/ADD_TARGET';\nexports.REMOVE_SOURCE = 'dnd-core/REMOVE_SOURCE';\nexports.REMOVE_TARGET = 'dnd-core/REMOVE_TARGET';\nfunction addSource(sourceId) {\n return {\n type: exports.ADD_SOURCE,\n payload: {\n sourceId: sourceId,\n },\n };\n}\nexports.addSource = addSource;\nfunction addTarget(targetId) {\n return {\n type: exports.ADD_TARGET,\n payload: {\n targetId: targetId,\n },\n };\n}\nexports.addTarget = addTarget;\nfunction removeSource(sourceId) {\n return {\n type: exports.REMOVE_SOURCE,\n payload: {\n sourceId: sourceId,\n },\n };\n}\nexports.removeSource = removeSource;\nfunction removeTarget(targetId) {\n return {\n type: exports.REMOVE_TARGET,\n payload: {\n targetId: targetId,\n },\n };\n}\nexports.removeTarget = removeTarget;\n//# sourceMappingURL=registry.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar invariant_1 = __importDefault(require(\"invariant\"));\nvar isArray_1 = __importDefault(require(\"lodash/isArray\"));\nfunction validateSourceContract(source) {\n invariant_1.default(typeof source.canDrag === 'function', 'Expected canDrag to be a function.');\n invariant_1.default(typeof source.beginDrag === 'function', 'Expected beginDrag to be a function.');\n invariant_1.default(typeof source.endDrag === 'function', 'Expected endDrag to be a function.');\n}\nexports.validateSourceContract = validateSourceContract;\nfunction validateTargetContract(target) {\n invariant_1.default(typeof target.canDrop === 'function', 'Expected canDrop to be a function.');\n invariant_1.default(typeof target.hover === 'function', 'Expected hover to be a function.');\n invariant_1.default(typeof target.drop === 'function', 'Expected beginDrag to be a function.');\n}\nexports.validateTargetContract = validateTargetContract;\nfunction validateType(type, allowArray) {\n if (allowArray && isArray_1.default(type)) {\n type.forEach(function (t) { return validateType(t, false); });\n return;\n }\n invariant_1.default(typeof type === 'string' || typeof type === 'symbol', allowArray\n ? 'Type can only be a string, a symbol, or an array of either.'\n : 'Type can only be a string or a symbol.');\n}\nexports.validateType = validateType;\n//# sourceMappingURL=contracts.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar DragDropManagerImpl_1 = __importDefault(require(\"./DragDropManagerImpl\"));\nfunction createDragDropManager(backend, context) {\n return new DragDropManagerImpl_1.default(backend, context);\n}\nexports.createDragDropManager = createDragDropManager;\n//# sourceMappingURL=factories.js.map","\"use strict\";\nfunction __export(m) {\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__export(require(\"./interfaces\"));\n__export(require(\"./factories\"));\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar HandlerRole;\n(function (HandlerRole) {\n HandlerRole[\"SOURCE\"] = \"SOURCE\";\n HandlerRole[\"TARGET\"] = \"TARGET\";\n})(HandlerRole = exports.HandlerRole || (exports.HandlerRole = {}));\n//# sourceMappingURL=interfaces.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar xor_1 = __importDefault(require(\"lodash/xor\"));\nvar dragDrop_1 = require(\"../actions/dragDrop\");\nvar registry_1 = require(\"../actions/registry\");\nvar equality_1 = require(\"../utils/equality\");\nvar dirtiness_1 = require(\"../utils/dirtiness\");\nfunction dirtyHandlerIds(state, action) {\n if (state === void 0) { state = dirtiness_1.NONE; }\n switch (action.type) {\n case dragDrop_1.HOVER:\n break;\n case registry_1.ADD_SOURCE:\n case registry_1.ADD_TARGET:\n case registry_1.REMOVE_TARGET:\n case registry_1.REMOVE_SOURCE:\n return dirtiness_1.NONE;\n case dragDrop_1.BEGIN_DRAG:\n case dragDrop_1.PUBLISH_DRAG_SOURCE:\n case dragDrop_1.END_DRAG:\n case dragDrop_1.DROP:\n default:\n return dirtiness_1.ALL;\n }\n var _a = action.payload, _b = _a.targetIds, targetIds = _b === void 0 ? [] : _b, _c = _a.prevTargetIds, prevTargetIds = _c === void 0 ? [] : _c;\n var result = xor_1.default(targetIds, prevTargetIds);\n var didChange = result.length > 0 || !equality_1.areArraysEqual(targetIds, prevTargetIds);\n if (!didChange) {\n return dirtiness_1.NONE;\n }\n // Check the target ids at the innermost position. If they are valid, add them\n // to the result\n var prevInnermostTargetId = prevTargetIds[prevTargetIds.length - 1];\n var innermostTargetId = targetIds[targetIds.length - 1];\n if (prevInnermostTargetId !== innermostTargetId) {\n if (prevInnermostTargetId) {\n result.push(prevInnermostTargetId);\n }\n if (innermostTargetId) {\n result.push(innermostTargetId);\n }\n }\n return result;\n}\nexports.default = dirtyHandlerIds;\n//# sourceMappingURL=dirtyHandlerIds.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar dragDrop_1 = require(\"../actions/dragDrop\");\nvar equality_1 = require(\"../utils/equality\");\nvar initialState = {\n initialSourceClientOffset: null,\n initialClientOffset: null,\n clientOffset: null,\n};\nfunction dragOffset(state, action) {\n if (state === void 0) { state = initialState; }\n var payload = action.payload;\n switch (action.type) {\n case dragDrop_1.BEGIN_DRAG:\n return {\n initialSourceClientOffset: payload.sourceClientOffset,\n initialClientOffset: payload.clientOffset,\n clientOffset: payload.clientOffset,\n };\n case dragDrop_1.HOVER:\n if (equality_1.areCoordsEqual(state.clientOffset, payload.clientOffset)) {\n return state;\n }\n return __assign({}, state, { clientOffset: payload.clientOffset });\n case dragDrop_1.END_DRAG:\n case dragDrop_1.DROP:\n return initialState;\n default:\n return state;\n }\n}\nexports.default = dragOffset;\n//# sourceMappingURL=dragOffset.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar without_1 = __importDefault(require(\"lodash/without\"));\nvar dragDrop_1 = require(\"../actions/dragDrop\");\nvar registry_1 = require(\"../actions/registry\");\nvar initialState = {\n itemType: null,\n item: null,\n sourceId: null,\n targetIds: [],\n dropResult: null,\n didDrop: false,\n isSourcePublic: null,\n};\nfunction dragOperation(state, action) {\n if (state === void 0) { state = initialState; }\n var payload = action.payload;\n switch (action.type) {\n case dragDrop_1.BEGIN_DRAG:\n return __assign({}, state, { itemType: payload.itemType, item: payload.item, sourceId: payload.sourceId, isSourcePublic: payload.isSourcePublic, dropResult: null, didDrop: false });\n case dragDrop_1.PUBLISH_DRAG_SOURCE:\n return __assign({}, state, { isSourcePublic: true });\n case dragDrop_1.HOVER:\n return __assign({}, state, { targetIds: payload.targetIds });\n case registry_1.REMOVE_TARGET:\n if (state.targetIds.indexOf(payload.targetId) === -1) {\n return state;\n }\n return __assign({}, state, { targetIds: without_1.default(state.targetIds, payload.targetId) });\n case dragDrop_1.DROP:\n return __assign({}, state, { dropResult: payload.dropResult, didDrop: true, targetIds: [] });\n case dragDrop_1.END_DRAG:\n return __assign({}, state, { itemType: null, item: null, sourceId: null, dropResult: null, didDrop: false, isSourcePublic: null, targetIds: [] });\n default:\n return state;\n }\n}\nexports.default = dragOperation;\n//# sourceMappingURL=dragOperation.js.map","\"use strict\";\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar get_1 = __importDefault(require(\"lodash/get\"));\nvar dragOffset_1 = __importDefault(require(\"./dragOffset\"));\nvar dragOperation_1 = __importDefault(require(\"./dragOperation\"));\nvar refCount_1 = __importDefault(require(\"./refCount\"));\nvar dirtyHandlerIds_1 = __importDefault(require(\"./dirtyHandlerIds\"));\nvar stateId_1 = __importDefault(require(\"./stateId\"));\nfunction reduce(state, action) {\n if (state === void 0) { state = {}; }\n return {\n dirtyHandlerIds: dirtyHandlerIds_1.default(state.dirtyHandlerIds, {\n type: action.type,\n payload: __assign({}, action.payload, { prevTargetIds: get_1.default(state, 'dragOperation.targetIds', []) }),\n }),\n dragOffset: dragOffset_1.default(state.dragOffset, action),\n refCount: refCount_1.default(state.refCount, action),\n dragOperation: dragOperation_1.default(state.dragOperation, action),\n stateId: stateId_1.default(state.stateId),\n };\n}\nexports.default = reduce;\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar registry_1 = require(\"../actions/registry\");\nfunction refCount(state, action) {\n if (state === void 0) { state = 0; }\n switch (action.type) {\n case registry_1.ADD_SOURCE:\n case registry_1.ADD_TARGET:\n return state + 1;\n case registry_1.REMOVE_SOURCE:\n case registry_1.REMOVE_TARGET:\n return state - 1;\n default:\n return state;\n }\n}\nexports.default = refCount;\n//# sourceMappingURL=refCount.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction stateId(state) {\n if (state === void 0) { state = 0; }\n return state + 1;\n}\nexports.default = stateId;\n//# sourceMappingURL=stateId.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Coordinate addition\n * @param a The first coordinate\n * @param b The second coordinate\n */\nfunction add(a, b) {\n return {\n x: a.x + b.x,\n y: a.y + b.y,\n };\n}\nexports.add = add;\n/**\n * Coordinate subtraction\n * @param a The first coordinate\n * @param b The second coordinate\n */\nfunction subtract(a, b) {\n return {\n x: a.x - b.x,\n y: a.y - b.y,\n };\n}\nexports.subtract = subtract;\n/**\n * Returns the cartesian distance of the drag source component's position, based on its position\n * at the time when the current drag operation has started, and the movement difference.\n *\n * Returns null if no item is being dragged.\n *\n * @param state The offset state to compute from\n */\nfunction getSourceClientOffset(state) {\n var clientOffset = state.clientOffset, initialClientOffset = state.initialClientOffset, initialSourceClientOffset = state.initialSourceClientOffset;\n if (!clientOffset || !initialClientOffset || !initialSourceClientOffset) {\n return null;\n }\n return subtract(add(clientOffset, initialSourceClientOffset), initialClientOffset);\n}\nexports.getSourceClientOffset = getSourceClientOffset;\n/**\n * Determines the x,y offset between the client offset and the initial client offset\n *\n * @param state The offset state to compute from\n */\nfunction getDifferenceFromInitialOffset(state) {\n var clientOffset = state.clientOffset, initialClientOffset = state.initialClientOffset;\n if (!clientOffset || !initialClientOffset) {\n return null;\n }\n return subtract(clientOffset, initialClientOffset);\n}\nexports.getDifferenceFromInitialOffset = getDifferenceFromInitialOffset;\n//# sourceMappingURL=coords.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar intersection_1 = __importDefault(require(\"lodash/intersection\"));\nexports.NONE = [];\nexports.ALL = [];\n/**\n * Determines if the given handler IDs are dirty or not.\n *\n * @param dirtyIds The set of dirty handler ids\n * @param handlerIds The set of handler ids to check\n */\nfunction areDirty(dirtyIds, handlerIds) {\n if (dirtyIds === exports.NONE) {\n return false;\n }\n if (dirtyIds === exports.ALL || typeof handlerIds === 'undefined') {\n return true;\n }\n return intersection_1.default(handlerIds, dirtyIds).length > 0;\n}\nexports.areDirty = areDirty;\n//# sourceMappingURL=dirtiness.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.strictEquality = function (a, b) { return a === b; };\n/**\n * Determine if two cartesian coordinate offsets are equal\n * @param offsetA\n * @param offsetB\n */\nfunction areCoordsEqual(offsetA, offsetB) {\n if (!offsetA && !offsetB) {\n return true;\n }\n else if (!offsetA || !offsetB) {\n return false;\n }\n else {\n return offsetA.x === offsetB.x && offsetA.y === offsetB.y;\n }\n}\nexports.areCoordsEqual = areCoordsEqual;\n/**\n * Determines if two arrays of items are equal\n * @param a The first array of items\n * @param b The second array of items\n */\nfunction areArraysEqual(a, b, isEqual) {\n if (isEqual === void 0) { isEqual = exports.strictEquality; }\n if (a.length !== b.length) {\n return false;\n }\n for (var i = 0; i < a.length; ++i) {\n if (!isEqual(a[i], b[i])) {\n return false;\n }\n }\n return true;\n}\nexports.areArraysEqual = areArraysEqual;\n//# sourceMappingURL=equality.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar nextUniqueId = 0;\nfunction getNextUniqueId() {\n return nextUniqueId++;\n}\nexports.default = getNextUniqueId;\n//# sourceMappingURL=getNextUniqueId.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar isArray_1 = __importDefault(require(\"lodash/isArray\"));\nfunction matchesType(targetType, draggedItemType) {\n if (draggedItemType === null) {\n return targetType === null;\n }\n return isArray_1.default(targetType)\n ? targetType.some(function (t) { return t === draggedItemType; })\n : targetType === draggedItemType;\n}\nexports.default = matchesType;\n//# sourceMappingURL=matchesType.js.map","import $$observable from 'symbol-observable';\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nvar randomString = function randomString() {\n return Math.random().toString(36).substring(7).split('').join('.');\n};\n\nvar ActionTypes = {\n INIT: \"@@redux/INIT\" + randomString(),\n REPLACE: \"@@redux/REPLACE\" + randomString(),\n PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() {\n return \"@@redux/PROBE_UNKNOWN_ACTION\" + randomString();\n }\n};\n\n/**\n * @param {any} obj The object to inspect.\n * @returns {boolean} True if the argument appears to be a plain object.\n */\nfunction isPlainObject(obj) {\n if (typeof obj !== 'object' || obj === null) return false;\n var proto = obj;\n\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n\n return Object.getPrototypeOf(obj) === proto;\n}\n\n/**\n * Creates a Redux store that holds the state tree.\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n\nfunction createStore(reducer, preloadedState, enhancer) {\n var _ref2;\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') {\n throw new Error('It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function');\n }\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n enhancer = preloadedState;\n preloadedState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error('Expected the enhancer to be a function.');\n }\n\n return enhancer(createStore)(reducer, preloadedState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error('Expected the reducer to be a function.');\n }\n\n var currentReducer = reducer;\n var currentState = preloadedState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n\n\n function getState() {\n if (isDispatching) {\n throw new Error('You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.');\n }\n\n return currentState;\n }\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n\n\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error('Expected the listener to be a function.');\n }\n\n if (isDispatching) {\n throw new Error('You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api-reference/store#subscribe(listener) for more details.');\n }\n\n var isSubscribed = true;\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n if (isDispatching) {\n throw new Error('You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api-reference/store#subscribe(listener) for more details.');\n }\n\n isSubscribed = false;\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n };\n }\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n\n\n function dispatch(action) {\n if (!isPlainObject(action)) {\n throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error('Actions may not have an undefined \"type\" property. ' + 'Have you misspelled a constant?');\n }\n\n if (isDispatching) {\n throw new Error('Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n\n return action;\n }\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n\n\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error('Expected the nextReducer to be a function.');\n }\n\n currentReducer = nextReducer;\n dispatch({\n type: ActionTypes.REPLACE\n });\n }\n /**\n * Interoperability point for observable/reactive libraries.\n * @returns {observable} A minimal observable of state changes.\n * For more information, see the observable proposal:\n * https://github.com/tc39/proposal-observable\n */\n\n\n function observable() {\n var _ref;\n\n var outerSubscribe = subscribe;\n return _ref = {\n /**\n * The minimal observable subscription method.\n * @param {Object} observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns {subscription} An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe: function subscribe(observer) {\n if (typeof observer !== 'object' || observer === null) {\n throw new TypeError('Expected the observer to be an object.');\n }\n\n function observeState() {\n if (observer.next) {\n observer.next(getState());\n }\n }\n\n observeState();\n var unsubscribe = outerSubscribe(observeState);\n return {\n unsubscribe: unsubscribe\n };\n }\n }, _ref[$$observable] = function () {\n return this;\n }, _ref;\n } // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n\n\n dispatch({\n type: ActionTypes.INIT\n });\n return _ref2 = {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n }, _ref2[$$observable] = observable, _ref2;\n}\n\n/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nfunction warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n\n\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n } catch (e) {} // eslint-disable-line no-empty\n\n}\n\nfunction getUndefinedStateErrorMessage(key, action) {\n var actionType = action && action.type;\n var actionDescription = actionType && \"action \\\"\" + String(actionType) + \"\\\"\" || 'an action';\n return \"Given \" + actionDescription + \", reducer \\\"\" + key + \"\\\" returned undefined. \" + \"To ignore an action, you must explicitly return the previous state. \" + \"If you want this reducer to hold no value, you can return null instead of undefined.\";\n}\n\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n var reducerKeys = Object.keys(reducers);\n var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';\n\n if (reducerKeys.length === 0) {\n return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n }\n\n if (!isPlainObject(inputState)) {\n return \"The \" + argumentName + \" has unexpected type of \\\"\" + {}.toString.call(inputState).match(/\\s([a-z|A-Z]+)/)[1] + \"\\\". Expected argument to be an object with the following \" + (\"keys: \\\"\" + reducerKeys.join('\", \"') + \"\\\"\");\n }\n\n var unexpectedKeys = Object.keys(inputState).filter(function (key) {\n return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];\n });\n unexpectedKeys.forEach(function (key) {\n unexpectedKeyCache[key] = true;\n });\n if (action && action.type === ActionTypes.REPLACE) return;\n\n if (unexpectedKeys.length > 0) {\n return \"Unexpected \" + (unexpectedKeys.length > 1 ? 'keys' : 'key') + \" \" + (\"\\\"\" + unexpectedKeys.join('\", \"') + \"\\\" found in \" + argumentName + \". \") + \"Expected to find one of the known reducer keys instead: \" + (\"\\\"\" + reducerKeys.join('\", \"') + \"\\\". Unexpected keys will be ignored.\");\n }\n}\n\nfunction assertReducerShape(reducers) {\n Object.keys(reducers).forEach(function (key) {\n var reducer = reducers[key];\n var initialState = reducer(undefined, {\n type: ActionTypes.INIT\n });\n\n if (typeof initialState === 'undefined') {\n throw new Error(\"Reducer \\\"\" + key + \"\\\" returned undefined during initialization. \" + \"If the state passed to the reducer is undefined, you must \" + \"explicitly return the initial state. The initial state may \" + \"not be undefined. If you don't want to set a value for this reducer, \" + \"you can use null instead of undefined.\");\n }\n\n if (typeof reducer(undefined, {\n type: ActionTypes.PROBE_UNKNOWN_ACTION()\n }) === 'undefined') {\n throw new Error(\"Reducer \\\"\" + key + \"\\\" returned undefined when probed with a random type. \" + (\"Don't try to handle \" + ActionTypes.INIT + \" or other actions in \\\"redux/*\\\" \") + \"namespace. They are considered private. Instead, you must return the \" + \"current state for any unknown actions, unless it is undefined, \" + \"in which case you must return the initial state, regardless of the \" + \"action type. The initial state may not be undefined, but can be null.\");\n }\n });\n}\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @param {Object} reducers An object whose values correspond to different\n * reducer functions that need to be combined into one. One handy way to obtain\n * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n * undefined for any action. Instead, they should return their initial state\n * if the state passed to them was undefined, and the current state for any\n * unrecognized action.\n *\n * @returns {Function} A reducer function that invokes every reducer inside the\n * passed object, and builds a state object with the same shape.\n */\n\n\nfunction combineReducers(reducers) {\n var reducerKeys = Object.keys(reducers);\n var finalReducers = {};\n\n for (var i = 0; i < reducerKeys.length; i++) {\n var key = reducerKeys[i];\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof reducers[key] === 'undefined') {\n warning(\"No reducer provided for key \\\"\" + key + \"\\\"\");\n }\n }\n\n if (typeof reducers[key] === 'function') {\n finalReducers[key] = reducers[key];\n }\n }\n\n var finalReducerKeys = Object.keys(finalReducers);\n var unexpectedKeyCache;\n\n if (process.env.NODE_ENV !== 'production') {\n unexpectedKeyCache = {};\n }\n\n var shapeAssertionError;\n\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n\n return function combination(state, action) {\n if (state === void 0) {\n state = {};\n }\n\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n\n var hasChanged = false;\n var nextState = {};\n\n for (var _i = 0; _i < finalReducerKeys.length; _i++) {\n var _key = finalReducerKeys[_i];\n var reducer = finalReducers[_key];\n var previousStateForKey = state[_key];\n var nextStateForKey = reducer(previousStateForKey, action);\n\n if (typeof nextStateForKey === 'undefined') {\n var errorMessage = getUndefinedStateErrorMessage(_key, action);\n throw new Error(errorMessage);\n }\n\n nextState[_key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n\n return hasChanged ? nextState : state;\n };\n}\n\nfunction bindActionCreator(actionCreator, dispatch) {\n return function () {\n return dispatch(actionCreator.apply(this, arguments));\n };\n}\n/**\n * Turns an object whose values are action creators, into an object with the\n * same keys, but with every function wrapped into a `dispatch` call so they\n * may be invoked directly. This is just a convenience method, as you can call\n * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.\n *\n * For convenience, you can also pass a single function as the first argument,\n * and get a function in return.\n *\n * @param {Function|Object} actionCreators An object whose values are action\n * creator functions. One handy way to obtain it is to use ES6 `import * as`\n * syntax. You may also pass a single function.\n *\n * @param {Function} dispatch The `dispatch` function available on your Redux\n * store.\n *\n * @returns {Function|Object} The object mimicking the original object, but with\n * every action creator wrapped into the `dispatch` call. If you passed a\n * function as `actionCreators`, the return value will also be a single\n * function.\n */\n\n\nfunction bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === 'function') {\n return bindActionCreator(actionCreators, dispatch);\n }\n\n if (typeof actionCreators !== 'object' || actionCreators === null) {\n throw new Error(\"bindActionCreators expected an object or a function, instead received \" + (actionCreators === null ? 'null' : typeof actionCreators) + \". \" + \"Did you write \\\"import ActionCreators from\\\" instead of \\\"import * as ActionCreators from\\\"?\");\n }\n\n var keys = Object.keys(actionCreators);\n var boundActionCreators = {};\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var actionCreator = actionCreators[key];\n\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n }\n }\n\n return boundActionCreators;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(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}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\n/**\n * Composes single-argument functions from right to left. The rightmost\n * function can take multiple arguments as it provides the signature for\n * the resulting composite function.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing the argument functions\n * from right to left. For example, compose(f, g, h) is identical to doing\n * (...args) => f(g(h(...args))).\n */\nfunction compose() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n\n if (funcs.length === 1) {\n return funcs[0];\n }\n\n return funcs.reduce(function (a, b) {\n return function () {\n return a(b.apply(void 0, arguments));\n };\n });\n}\n\n/**\n * Creates a store enhancer that applies middleware to the dispatch method\n * of the Redux store. This is handy for a variety of tasks, such as expressing\n * asynchronous actions in a concise manner, or logging every action payload.\n *\n * See `redux-thunk` package as an example of the Redux middleware.\n *\n * Because middleware is potentially asynchronous, this should be the first\n * store enhancer in the composition chain.\n *\n * Note that each middleware will be given the `dispatch` and `getState` functions\n * as named arguments.\n *\n * @param {...Function} middlewares The middleware chain to be applied.\n * @returns {Function} A store enhancer applying the middleware.\n */\n\nfunction applyMiddleware() {\n for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n return function (createStore) {\n return function () {\n var store = createStore.apply(void 0, arguments);\n\n var _dispatch = function dispatch() {\n throw new Error(\"Dispatching while constructing your middleware is not allowed. \" + \"Other middleware would not be applied to this dispatch.\");\n };\n\n var middlewareAPI = {\n getState: store.getState,\n dispatch: function dispatch() {\n return _dispatch.apply(void 0, arguments);\n }\n };\n var chain = middlewares.map(function (middleware) {\n return middleware(middlewareAPI);\n });\n _dispatch = compose.apply(void 0, chain)(store.dispatch);\n return _objectSpread({}, store, {\n dispatch: _dispatch\n });\n };\n };\n}\n\n/*\n * This is a dummy function to check if the function name has been altered by minification.\n * If the function has been minified and NODE_ENV !== 'production', warn the user.\n */\n\nfunction isCrushed() {}\n\nif (process.env.NODE_ENV !== 'production' && typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') {\n warning('You are currently using minified code outside of NODE_ENV === \"production\". ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or setting mode to production in webpack (https://webpack.js.org/concepts/mode/) ' + 'to ensure you have the correct code for your production build.');\n}\n\nexport { createStore, combineReducers, bindActionCreators, applyMiddleware, compose, ActionTypes as __DO_NOT_USE__ActionTypes };\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction stringifiable(obj) {\n // Safely stringify Object.create(null)\n /* istanbul ignore next */\n return typeof obj === 'object' && !('toString' in obj) ?\n Object.prototype.toString.call(obj).slice(8, -1) :\n obj;\n}\nvar isProduction = typeof process === 'object' && process.env.NODE_ENV === 'production';\nfunction invariant(condition, message) {\n if (!condition) {\n /* istanbul ignore next */\n if (isProduction) {\n throw new Error('Invariant failed');\n }\n throw new Error(message());\n }\n}\nexports.invariant = invariant;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar splice = Array.prototype.splice;\nvar toString = Object.prototype.toString;\nfunction type(obj) {\n return toString.call(obj).slice(8, -1);\n}\nvar assign = Object.assign || /* istanbul ignore next */ (function (target, source) {\n getAllKeys(source).forEach(function (key) {\n if (hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n });\n return target;\n});\nvar getAllKeys = typeof Object.getOwnPropertySymbols === 'function'\n ? function (obj) { return Object.keys(obj).concat(Object.getOwnPropertySymbols(obj)); }\n /* istanbul ignore next */\n : function (obj) { return Object.keys(obj); };\nfunction copy(object) {\n return Array.isArray(object)\n ? assign(object.constructor(object.length), object)\n : (type(object) === 'Map')\n ? new Map(object)\n : (type(object) === 'Set')\n ? new Set(object)\n : (object && typeof object === 'object')\n ? assign(Object.create(Object.getPrototypeOf(object)), object)\n /* istanbul ignore next */\n : object;\n}\nvar Context = /** @class */ (function () {\n function Context() {\n this.commands = assign({}, defaultCommands);\n this.update = this.update.bind(this);\n // Deprecated: update.extend, update.isEquals and update.newContext\n this.update.extend = this.extend = this.extend.bind(this);\n this.update.isEquals = function (x, y) { return x === y; };\n this.update.newContext = function () { return new Context().update; };\n }\n Object.defineProperty(Context.prototype, \"isEquals\", {\n get: function () {\n return this.update.isEquals;\n },\n set: function (value) {\n this.update.isEquals = value;\n },\n enumerable: true,\n configurable: true\n });\n Context.prototype.extend = function (directive, fn) {\n this.commands[directive] = fn;\n };\n Context.prototype.update = function (object, $spec) {\n var _this = this;\n var spec = (typeof $spec === 'function') ? { $apply: $spec } : $spec;\n if (!(Array.isArray(object) && Array.isArray(spec))) {\n invariant(!Array.isArray(spec), function () { return \"update(): You provided an invalid spec to update(). The spec may \" +\n \"not contain an array except as the value of $set, $push, $unshift, \" +\n \"$splice or any custom command allowing an array value.\"; });\n }\n invariant(typeof spec === 'object' && spec !== null, function () { return \"update(): You provided an invalid spec to update(). The spec and \" +\n \"every included key path must be plain objects containing one of the \" +\n (\"following commands: \" + Object.keys(_this.commands).join(', ') + \".\"); });\n var nextObject = object;\n getAllKeys(spec).forEach(function (key) {\n if (hasOwnProperty.call(_this.commands, key)) {\n var objectWasNextObject = object === nextObject;\n nextObject = _this.commands[key](spec[key], nextObject, spec, object);\n if (objectWasNextObject && _this.isEquals(nextObject, object)) {\n nextObject = object;\n }\n }\n else {\n var nextValueForKey = type(object) === 'Map'\n ? _this.update(object.get(key), spec[key])\n : _this.update(object[key], spec[key]);\n var nextObjectValue = type(nextObject) === 'Map'\n ? nextObject.get(key)\n : nextObject[key];\n if (!_this.isEquals(nextValueForKey, nextObjectValue)\n || typeof nextValueForKey === 'undefined'\n && !hasOwnProperty.call(object, key)) {\n if (nextObject === object) {\n nextObject = copy(object);\n }\n if (type(nextObject) === 'Map') {\n nextObject.set(key, nextValueForKey);\n }\n else {\n nextObject[key] = nextValueForKey;\n }\n }\n }\n });\n return nextObject;\n };\n return Context;\n}());\nexports.Context = Context;\nvar defaultCommands = {\n $push: function (value, nextObject, spec) {\n invariantPushAndUnshift(nextObject, spec, '$push');\n return value.length ? nextObject.concat(value) : nextObject;\n },\n $unshift: function (value, nextObject, spec) {\n invariantPushAndUnshift(nextObject, spec, '$unshift');\n return value.length ? value.concat(nextObject) : nextObject;\n },\n $splice: function (value, nextObject, spec, originalObject) {\n invariantSplices(nextObject, spec);\n value.forEach(function (args) {\n invariantSplice(args);\n if (nextObject === originalObject && args.length) {\n nextObject = copy(originalObject);\n }\n splice.apply(nextObject, args);\n });\n return nextObject;\n },\n $set: function (value, _nextObject, spec) {\n invariantSet(spec);\n return value;\n },\n $toggle: function (targets, nextObject) {\n invariantSpecArray(targets, '$toggle');\n var nextObjectCopy = targets.length ? copy(nextObject) : nextObject;\n targets.forEach(function (target) {\n nextObjectCopy[target] = !nextObject[target];\n });\n return nextObjectCopy;\n },\n $unset: function (value, nextObject, _spec, originalObject) {\n invariantSpecArray(value, '$unset');\n value.forEach(function (key) {\n if (Object.hasOwnProperty.call(nextObject, key)) {\n if (nextObject === originalObject) {\n nextObject = copy(originalObject);\n }\n delete nextObject[key];\n }\n });\n return nextObject;\n },\n $add: function (values, nextObject, _spec, originalObject) {\n invariantMapOrSet(nextObject, '$add');\n invariantSpecArray(values, '$add');\n if (type(nextObject) === 'Map') {\n values.forEach(function (_a) {\n var key = _a[0], value = _a[1];\n if (nextObject === originalObject && nextObject.get(key) !== value) {\n nextObject = copy(originalObject);\n }\n nextObject.set(key, value);\n });\n }\n else {\n values.forEach(function (value) {\n if (nextObject === originalObject && !nextObject.has(value)) {\n nextObject = copy(originalObject);\n }\n nextObject.add(value);\n });\n }\n return nextObject;\n },\n $remove: function (value, nextObject, _spec, originalObject) {\n invariantMapOrSet(nextObject, '$remove');\n invariantSpecArray(value, '$remove');\n value.forEach(function (key) {\n if (nextObject === originalObject && nextObject.has(key)) {\n nextObject = copy(originalObject);\n }\n nextObject.delete(key);\n });\n return nextObject;\n },\n $merge: function (value, nextObject, _spec, originalObject) {\n invariantMerge(nextObject, value);\n getAllKeys(value).forEach(function (key) {\n if (value[key] !== nextObject[key]) {\n if (nextObject === originalObject) {\n nextObject = copy(originalObject);\n }\n nextObject[key] = value[key];\n }\n });\n return nextObject;\n },\n $apply: function (value, original) {\n invariantApply(value);\n return value(original);\n },\n};\nvar defaultContext = new Context();\nexports.isEquals = defaultContext.update.isEquals;\nexports.extend = defaultContext.extend;\nexports.default = defaultContext.update;\n// @ts-ignore\nexports.default.default = module.exports = assign(exports.default, exports);\n// invariants\nfunction invariantPushAndUnshift(value, spec, command) {\n invariant(Array.isArray(value), function () { return \"update(): expected target of \" + stringifiable(command) + \" to be an array; got \" + stringifiable(value) + \".\"; });\n invariantSpecArray(spec[command], command);\n}\nfunction invariantSpecArray(spec, command) {\n invariant(Array.isArray(spec), function () { return \"update(): expected spec of \" + stringifiable(command) + \" to be an array; got \" + stringifiable(spec) + \". \" +\n \"Did you forget to wrap your parameter in an array?\"; });\n}\nfunction invariantSplices(value, spec) {\n invariant(Array.isArray(value), function () { return \"Expected $splice target to be an array; got \" + stringifiable(value); });\n invariantSplice(spec.$splice);\n}\nfunction invariantSplice(value) {\n invariant(Array.isArray(value), function () { return \"update(): expected spec of $splice to be an array of arrays; got \" + stringifiable(value) + \". \" +\n \"Did you forget to wrap your parameters in an array?\"; });\n}\nfunction invariantApply(fn) {\n invariant(typeof fn === 'function', function () { return \"update(): expected spec of $apply to be a function; got \" + stringifiable(fn) + \".\"; });\n}\nfunction invariantSet(spec) {\n invariant(Object.keys(spec).length === 1, function () { return \"Cannot have more than one key in an object with $set\"; });\n}\nfunction invariantMerge(target, specValue) {\n invariant(specValue && typeof specValue === 'object', function () { return \"update(): $merge expects a spec of type 'object'; got \" + stringifiable(specValue); });\n invariant(target && typeof target === 'object', function () { return \"update(): $merge expects a target of type 'object'; got \" + stringifiable(target); });\n}\nfunction invariantMapOrSet(target, command) {\n var typeOfTarget = type(target);\n invariant(typeOfTarget === 'Map' || typeOfTarget === 'Set', function () { return \"update(): \" + stringifiable(command) + \" expects a target of type Set or Map; got \" + stringifiable(typeOfTarget); });\n}\n","var baseCreate = require('./_baseCreate'),\n baseLodash = require('./_baseLodash');\n\n/** Used as references for the maximum length and index of an array. */\nvar MAX_ARRAY_LENGTH = 4294967295;\n\n/**\n * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation.\n *\n * @private\n * @constructor\n * @param {*} value The value to wrap.\n */\nfunction LazyWrapper(value) {\n this.__wrapped__ = value;\n this.__actions__ = [];\n this.__dir__ = 1;\n this.__filtered__ = false;\n this.__iteratees__ = [];\n this.__takeCount__ = MAX_ARRAY_LENGTH;\n this.__views__ = [];\n}\n\n// Ensure `LazyWrapper` is an instance of `baseLodash`.\nLazyWrapper.prototype = baseCreate(baseLodash.prototype);\nLazyWrapper.prototype.constructor = LazyWrapper;\n\nmodule.exports = LazyWrapper;\n","var baseCreate = require('./_baseCreate'),\n baseLodash = require('./_baseLodash');\n\n/**\n * The base constructor for creating `lodash` wrapper objects.\n *\n * @private\n * @param {*} value The value to wrap.\n * @param {boolean} [chainAll] Enable explicit method chain sequences.\n */\nfunction LodashWrapper(value, chainAll) {\n this.__wrapped__ = value;\n this.__actions__ = [];\n this.__chain__ = !!chainAll;\n this.__index__ = 0;\n this.__values__ = undefined;\n}\n\nLodashWrapper.prototype = baseCreate(baseLodash.prototype);\nLodashWrapper.prototype.constructor = LodashWrapper;\n\nmodule.exports = LodashWrapper;\n","var SetCache = require('./_SetCache'),\n arrayIncludes = require('./_arrayIncludes'),\n arrayIncludesWith = require('./_arrayIncludesWith'),\n arrayMap = require('./_arrayMap'),\n baseUnary = require('./_baseUnary'),\n cacheHas = require('./_cacheHas');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMin = Math.min;\n\n/**\n * The base implementation of methods like `_.intersection`, without support\n * for iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of shared values.\n */\nfunction baseIntersection(arrays, iteratee, comparator) {\n var includes = comparator ? arrayIncludesWith : arrayIncludes,\n length = arrays[0].length,\n othLength = arrays.length,\n othIndex = othLength,\n caches = Array(othLength),\n maxLength = Infinity,\n result = [];\n\n while (othIndex--) {\n var array = arrays[othIndex];\n if (othIndex && iteratee) {\n array = arrayMap(array, baseUnary(iteratee));\n }\n maxLength = nativeMin(array.length, maxLength);\n caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120))\n ? new SetCache(othIndex && array)\n : undefined;\n }\n array = arrays[0];\n\n var index = -1,\n seen = caches[0];\n\n outer:\n while (++index < length && result.length < maxLength) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (!(seen\n ? cacheHas(seen, computed)\n : includes(result, computed, comparator)\n )) {\n othIndex = othLength;\n while (--othIndex) {\n var cache = caches[othIndex];\n if (!(cache\n ? cacheHas(cache, computed)\n : includes(arrays[othIndex], computed, comparator))\n ) {\n continue outer;\n }\n }\n if (seen) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nmodule.exports = baseIntersection;\n","/**\n * The function whose prototype chain sequence wrappers inherit from.\n *\n * @private\n */\nfunction baseLodash() {\n // No operation performed.\n}\n\nmodule.exports = baseLodash;\n","var baseDifference = require('./_baseDifference'),\n baseFlatten = require('./_baseFlatten'),\n baseUniq = require('./_baseUniq');\n\n/**\n * The base implementation of methods like `_.xor`, without support for\n * iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of values.\n */\nfunction baseXor(arrays, iteratee, comparator) {\n var length = arrays.length;\n if (length < 2) {\n return length ? baseUniq(arrays[0]) : [];\n }\n var index = -1,\n result = Array(length);\n\n while (++index < length) {\n var array = arrays[index],\n othIndex = -1;\n\n while (++othIndex < length) {\n if (othIndex != index) {\n result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator);\n }\n }\n }\n return baseUniq(baseFlatten(result, 1), iteratee, comparator);\n}\n\nmodule.exports = baseXor;\n","var isArrayLikeObject = require('./isArrayLikeObject');\n\n/**\n * Casts `value` to an empty array if it's not an array like object.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array|Object} Returns the cast array-like object.\n */\nfunction castArrayLikeObject(value) {\n return isArrayLikeObject(value) ? value : [];\n}\n\nmodule.exports = castArrayLikeObject;\n","var LodashWrapper = require('./_LodashWrapper'),\n flatRest = require('./_flatRest'),\n getData = require('./_getData'),\n getFuncName = require('./_getFuncName'),\n isArray = require('./isArray'),\n isLaziable = require('./_isLaziable');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to compose bitmasks for function metadata. */\nvar WRAP_CURRY_FLAG = 8,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_ARY_FLAG = 128,\n WRAP_REARG_FLAG = 256;\n\n/**\n * Creates a `_.flow` or `_.flowRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new flow function.\n */\nfunction createFlow(fromRight) {\n return flatRest(function(funcs) {\n var length = funcs.length,\n index = length,\n prereq = LodashWrapper.prototype.thru;\n\n if (fromRight) {\n funcs.reverse();\n }\n while (index--) {\n var func = funcs[index];\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (prereq && !wrapper && getFuncName(func) == 'wrapper') {\n var wrapper = new LodashWrapper([], true);\n }\n }\n index = wrapper ? index : length;\n while (++index < length) {\n func = funcs[index];\n\n var funcName = getFuncName(func),\n data = funcName == 'wrapper' ? getData(func) : undefined;\n\n if (data && isLaziable(data[0]) &&\n data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) &&\n !data[4].length && data[9] == 1\n ) {\n wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]);\n } else {\n wrapper = (func.length == 1 && isLaziable(func))\n ? wrapper[funcName]()\n : wrapper.thru(func);\n }\n }\n return function() {\n var args = arguments,\n value = args[0];\n\n if (wrapper && args.length == 1 && isArray(value)) {\n return wrapper.plant(value).value();\n }\n var index = 0,\n result = length ? funcs[index].apply(this, args) : value;\n\n while (++index < length) {\n result = funcs[index].call(this, result);\n }\n return result;\n };\n });\n}\n\nmodule.exports = createFlow;\n","var flatten = require('./flatten'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * A specialized version of `baseRest` which flattens the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\nfunction flatRest(func) {\n return setToString(overRest(func, undefined, flatten), func + '');\n}\n\nmodule.exports = flatRest;\n","var metaMap = require('./_metaMap'),\n noop = require('./noop');\n\n/**\n * Gets metadata for `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {*} Returns the metadata for `func`.\n */\nvar getData = !metaMap ? noop : function(func) {\n return metaMap.get(func);\n};\n\nmodule.exports = getData;\n","var realNames = require('./_realNames');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the name of `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {string} Returns the function name.\n */\nfunction getFuncName(func) {\n var result = (func.name + ''),\n array = realNames[result],\n length = hasOwnProperty.call(realNames, result) ? array.length : 0;\n\n while (length--) {\n var data = array[length],\n otherFunc = data.func;\n if (otherFunc == null || otherFunc == func) {\n return data.name;\n }\n }\n return result;\n}\n\nmodule.exports = getFuncName;\n","var LazyWrapper = require('./_LazyWrapper'),\n getData = require('./_getData'),\n getFuncName = require('./_getFuncName'),\n lodash = require('./wrapperLodash');\n\n/**\n * Checks if `func` has a lazy counterpart.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` has a lazy counterpart,\n * else `false`.\n */\nfunction isLaziable(func) {\n var funcName = getFuncName(func),\n other = lodash[funcName];\n\n if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) {\n return false;\n }\n if (func === other) {\n return true;\n }\n var data = getData(other);\n return !!data && func === data[0];\n}\n\nmodule.exports = isLaziable;\n","var WeakMap = require('./_WeakMap');\n\n/** Used to store function metadata. */\nvar metaMap = WeakMap && new WeakMap;\n\nmodule.exports = metaMap;\n","/** Used to lookup unminified function names. */\nvar realNames = {};\n\nmodule.exports = realNames;\n","var LazyWrapper = require('./_LazyWrapper'),\n LodashWrapper = require('./_LodashWrapper'),\n copyArray = require('./_copyArray');\n\n/**\n * Creates a clone of `wrapper`.\n *\n * @private\n * @param {Object} wrapper The wrapper to clone.\n * @returns {Object} Returns the cloned wrapper.\n */\nfunction wrapperClone(wrapper) {\n if (wrapper instanceof LazyWrapper) {\n return wrapper.clone();\n }\n var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__);\n result.__actions__ = copyArray(wrapper.__actions__);\n result.__index__ = wrapper.__index__;\n result.__values__ = wrapper.__values__;\n return result;\n}\n\nmodule.exports = wrapperClone;\n","var baseRest = require('./_baseRest'),\n eq = require('./eq'),\n isIterateeCall = require('./_isIterateeCall'),\n keysIn = require('./keysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns own and inherited enumerable string keyed properties of source\n * objects to the destination object for all destination properties that\n * resolve to `undefined`. Source objects are applied from left to right.\n * Once a property is set, additional values of the same property are ignored.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaultsDeep\n * @example\n *\n * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\nvar defaults = baseRest(function(object, sources) {\n object = Object(object);\n\n var index = -1;\n var length = sources.length;\n var guard = length > 2 ? sources[2] : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n length = 1;\n }\n\n while (++index < length) {\n var source = sources[index];\n var props = keysIn(source);\n var propsIndex = -1;\n var propsLength = props.length;\n\n while (++propsIndex < propsLength) {\n var key = props[propsIndex];\n var value = object[key];\n\n if (value === undefined ||\n (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n object[key] = source[key];\n }\n }\n }\n\n return object;\n});\n\nmodule.exports = defaults;\n","var baseFlatten = require('./_baseFlatten');\n\n/**\n * Flattens `array` a single level deep.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flatten([1, [2, [3, [4]], 5]]);\n * // => [1, 2, [3, [4]], 5]\n */\nfunction flatten(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, 1) : [];\n}\n\nmodule.exports = flatten;\n","var createFlow = require('./_createFlow');\n\n/**\n * Creates a function that returns the result of invoking the given functions\n * with the `this` binding of the created function, where each successive\n * invocation is supplied the return value of the previous.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Util\n * @param {...(Function|Function[])} [funcs] The functions to invoke.\n * @returns {Function} Returns the new composite function.\n * @see _.flowRight\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var addSquare = _.flow([_.add, square]);\n * addSquare(1, 2);\n * // => 9\n */\nvar flow = createFlow();\n\nmodule.exports = flow;\n","var arrayMap = require('./_arrayMap'),\n baseIntersection = require('./_baseIntersection'),\n baseRest = require('./_baseRest'),\n castArrayLikeObject = require('./_castArrayLikeObject');\n\n/**\n * Creates an array of unique values that are included in all given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order and references of result values are\n * determined by the first array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersection([2, 1], [2, 3]);\n * // => [2]\n */\nvar intersection = baseRest(function(arrays) {\n var mapped = arrayMap(arrays, castArrayLikeObject);\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped)\n : [];\n});\n\nmodule.exports = intersection;\n","var baseFlatten = require('./_baseFlatten'),\n baseRest = require('./_baseRest'),\n baseUniq = require('./_baseUniq'),\n isArrayLikeObject = require('./isArrayLikeObject');\n\n/**\n * Creates an array of unique values, in order, from all given arrays using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.union([2], [1, 2]);\n * // => [2, 1]\n */\nvar union = baseRest(function(arrays) {\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));\n});\n\nmodule.exports = union;\n","var baseDifference = require('./_baseDifference'),\n baseRest = require('./_baseRest'),\n isArrayLikeObject = require('./isArrayLikeObject');\n\n/**\n * Creates an array excluding all given values using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * **Note:** Unlike `_.pull`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...*} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.difference, _.xor\n * @example\n *\n * _.without([2, 1, 2, 3], 1, 2);\n * // => [3]\n */\nvar without = baseRest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, values)\n : [];\n});\n\nmodule.exports = without;\n","var LazyWrapper = require('./_LazyWrapper'),\n LodashWrapper = require('./_LodashWrapper'),\n baseLodash = require('./_baseLodash'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike'),\n wrapperClone = require('./_wrapperClone');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates a `lodash` object which wraps `value` to enable implicit method\n * chain sequences. Methods that operate on and return arrays, collections,\n * and functions can be chained together. Methods that retrieve a single value\n * or may return a primitive value will automatically end the chain sequence\n * and return the unwrapped value. Otherwise, the value must be unwrapped\n * with `_#value`.\n *\n * Explicit chain sequences, which must be unwrapped with `_#value`, may be\n * enabled using `_.chain`.\n *\n * The execution of chained methods is lazy, that is, it's deferred until\n * `_#value` is implicitly or explicitly called.\n *\n * Lazy evaluation allows several methods to support shortcut fusion.\n * Shortcut fusion is an optimization to merge iteratee calls; this avoids\n * the creation of intermediate arrays and can greatly reduce the number of\n * iteratee executions. Sections of a chain sequence qualify for shortcut\n * fusion if the section is applied to an array and iteratees accept only\n * one argument. The heuristic for whether a section qualifies for shortcut\n * fusion is subject to change.\n *\n * Chaining is supported in custom builds as long as the `_#value` method is\n * directly or indirectly included in the build.\n *\n * In addition to lodash methods, wrappers have `Array` and `String` methods.\n *\n * The wrapper `Array` methods are:\n * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift`\n *\n * The wrapper `String` methods are:\n * `replace` and `split`\n *\n * The wrapper methods that support shortcut fusion are:\n * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`,\n * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`,\n * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray`\n *\n * The chainable wrapper methods are:\n * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`,\n * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`,\n * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`,\n * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`,\n * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`,\n * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`,\n * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`,\n * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`,\n * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`,\n * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`,\n * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`,\n * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`,\n * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`,\n * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`,\n * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`,\n * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`,\n * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`,\n * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`,\n * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`,\n * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`,\n * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`,\n * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`,\n * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`,\n * `zipObject`, `zipObjectDeep`, and `zipWith`\n *\n * The wrapper methods that are **not** chainable by default are:\n * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`,\n * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`,\n * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`,\n * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`,\n * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`,\n * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`,\n * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`,\n * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`,\n * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`,\n * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`,\n * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`,\n * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`,\n * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`,\n * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`,\n * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`,\n * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`,\n * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`,\n * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`,\n * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`,\n * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`,\n * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`,\n * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`,\n * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`,\n * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`,\n * `upperFirst`, `value`, and `words`\n *\n * @name _\n * @constructor\n * @category Seq\n * @param {*} value The value to wrap in a `lodash` instance.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var wrapped = _([1, 2, 3]);\n *\n * // Returns an unwrapped value.\n * wrapped.reduce(_.add);\n * // => 6\n *\n * // Returns a wrapped value.\n * var squares = wrapped.map(square);\n *\n * _.isArray(squares);\n * // => false\n *\n * _.isArray(squares.value());\n * // => true\n */\nfunction lodash(value) {\n if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) {\n if (value instanceof LodashWrapper) {\n return value;\n }\n if (hasOwnProperty.call(value, '__wrapped__')) {\n return wrapperClone(value);\n }\n }\n return new LodashWrapper(value);\n}\n\n// Ensure wrappers are instances of `baseLodash`.\nlodash.prototype = baseLodash.prototype;\nlodash.prototype.constructor = lodash;\n\nmodule.exports = lodash;\n","var arrayFilter = require('./_arrayFilter'),\n baseRest = require('./_baseRest'),\n baseXor = require('./_baseXor'),\n isArrayLikeObject = require('./isArrayLikeObject');\n\n/**\n * Creates an array of unique values that is the\n * [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference)\n * of the given arrays. The order of result values is determined by the order\n * they occur in the arrays.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.difference, _.without\n * @example\n *\n * _.xor([2, 1], [2, 3]);\n * // => [1, 3]\n */\nvar xor = baseRest(function(arrays) {\n return baseXor(arrayFilter(arrays, isArrayLikeObject));\n});\n\nmodule.exports = xor;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar memoize = require('lodash/memoize');\nexports.isFirefox = memoize(function () { return /firefox/i.test(navigator.userAgent); });\nexports.isSafari = memoize(function () { return Boolean(window.safari); });\n//# sourceMappingURL=BrowserDetector.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar union_1 = __importDefault(require(\"lodash/union\"));\nvar without_1 = __importDefault(require(\"lodash/without\"));\nvar EnterLeaveCounter = /** @class */ (function () {\n function EnterLeaveCounter() {\n this.entered = [];\n }\n EnterLeaveCounter.prototype.enter = function (enteringNode) {\n var previousLength = this.entered.length;\n var isNodeEntered = function (node) {\n return document.documentElement.contains(node) &&\n (!node.contains || node.contains(enteringNode));\n };\n this.entered = union_1.default(this.entered.filter(isNodeEntered), [enteringNode]);\n return previousLength === 0 && this.entered.length > 0;\n };\n EnterLeaveCounter.prototype.leave = function (leavingNode) {\n var previousLength = this.entered.length;\n this.entered = without_1.default(this.entered.filter(function (node) { return document.documentElement.contains(node); }), leavingNode);\n return previousLength > 0 && this.entered.length === 0;\n };\n EnterLeaveCounter.prototype.reset = function () {\n this.entered = [];\n };\n return EnterLeaveCounter;\n}());\nexports.default = EnterLeaveCounter;\n//# sourceMappingURL=EnterLeaveCounter.js.map","\"use strict\";\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/* eslint-disable no-underscore-dangle */\nvar defaults_1 = __importDefault(require(\"lodash/defaults\"));\nvar EnterLeaveCounter_1 = __importDefault(require(\"./EnterLeaveCounter\"));\nvar BrowserDetector_1 = require(\"./BrowserDetector\");\nvar OffsetUtils_1 = require(\"./OffsetUtils\");\nvar NativeDragSources_1 = require(\"./NativeDragSources\");\nvar NativeTypes = __importStar(require(\"./NativeTypes\"));\nvar autobind_decorator_1 = __importDefault(require(\"autobind-decorator\"));\nvar shallowEqual = require('shallowequal');\nvar HTML5Backend = /** @class */ (function () {\n function HTML5Backend(manager) {\n this.sourcePreviewNodes = {};\n this.sourcePreviewNodeOptions = {};\n this.sourceNodes = {};\n this.sourceNodeOptions = {};\n this.enterLeaveCounter = new EnterLeaveCounter_1.default();\n this.dragStartSourceIds = null;\n this.dropTargetIds = [];\n this.dragEnterTargetIds = [];\n this.currentNativeSource = null;\n this.currentNativeHandle = null;\n this.currentDragSourceNode = null;\n this.currentDragSourceNodeOffset = null;\n this.currentDragSourceNodeOffsetChanged = false;\n this.altKeyPressed = false;\n this.mouseMoveTimeoutTimer = null;\n this.asyncEndDragFrameId = null;\n this.dragOverTargetIds = null;\n this.actions = manager.getActions();\n this.monitor = manager.getMonitor();\n this.registry = manager.getRegistry();\n this.context = manager.getContext();\n }\n Object.defineProperty(HTML5Backend.prototype, \"window\", {\n // public for test\n get: function () {\n if (this.context && this.context.window) {\n return this.context.window;\n }\n else if (typeof window !== 'undefined') {\n return window;\n }\n return undefined;\n },\n enumerable: true,\n configurable: true\n });\n HTML5Backend.prototype.setup = function () {\n if (this.window === undefined) {\n return;\n }\n if (this.window.__isReactDndBackendSetUp) {\n throw new Error('Cannot have two HTML5 backends at the same time.');\n }\n this.window.__isReactDndBackendSetUp = true;\n this.addEventListeners(this.window);\n };\n HTML5Backend.prototype.teardown = function () {\n if (this.window === undefined) {\n return;\n }\n this.window.__isReactDndBackendSetUp = false;\n this.removeEventListeners(this.window);\n this.clearCurrentDragSourceNode();\n if (this.asyncEndDragFrameId) {\n this.window.cancelAnimationFrame(this.asyncEndDragFrameId);\n }\n };\n HTML5Backend.prototype.connectDragPreview = function (sourceId, node, options) {\n var _this = this;\n this.sourcePreviewNodeOptions[sourceId] = options;\n this.sourcePreviewNodes[sourceId] = node;\n return function () {\n delete _this.sourcePreviewNodes[sourceId];\n delete _this.sourcePreviewNodeOptions[sourceId];\n };\n };\n HTML5Backend.prototype.connectDragSource = function (sourceId, node, options) {\n var _this = this;\n this.sourceNodes[sourceId] = node;\n this.sourceNodeOptions[sourceId] = options;\n var handleDragStart = function (e) { return _this.handleDragStart(e, sourceId); };\n var handleSelectStart = function (e) { return _this.handleSelectStart(e); };\n node.setAttribute('draggable', true);\n node.addEventListener('dragstart', handleDragStart);\n node.addEventListener('selectstart', handleSelectStart);\n return function () {\n delete _this.sourceNodes[sourceId];\n delete _this.sourceNodeOptions[sourceId];\n node.removeEventListener('dragstart', handleDragStart);\n node.removeEventListener('selectstart', handleSelectStart);\n node.setAttribute('draggable', false);\n };\n };\n HTML5Backend.prototype.connectDropTarget = function (targetId, node) {\n var _this = this;\n var handleDragEnter = function (e) { return _this.handleDragEnter(e, targetId); };\n var handleDragOver = function (e) { return _this.handleDragOver(e, targetId); };\n var handleDrop = function (e) { return _this.handleDrop(e, targetId); };\n node.addEventListener('dragenter', handleDragEnter);\n node.addEventListener('dragover', handleDragOver);\n node.addEventListener('drop', handleDrop);\n return function () {\n node.removeEventListener('dragenter', handleDragEnter);\n node.removeEventListener('dragover', handleDragOver);\n node.removeEventListener('drop', handleDrop);\n };\n };\n HTML5Backend.prototype.addEventListeners = function (target) {\n // SSR Fix (https://github.com/react-dnd/react-dnd/pull/813\n if (!target.addEventListener) {\n return;\n }\n target.addEventListener('dragstart', this.handleTopDragStart);\n target.addEventListener('dragstart', this.handleTopDragStartCapture, true);\n target.addEventListener('dragend', this.handleTopDragEndCapture, true);\n target.addEventListener('dragenter', this.handleTopDragEnter);\n target.addEventListener('dragenter', this.handleTopDragEnterCapture, true);\n target.addEventListener('dragleave', this.handleTopDragLeaveCapture, true);\n target.addEventListener('dragover', this.handleTopDragOver);\n target.addEventListener('dragover', this.handleTopDragOverCapture, true);\n target.addEventListener('drop', this.handleTopDrop);\n target.addEventListener('drop', this.handleTopDropCapture, true);\n };\n HTML5Backend.prototype.removeEventListeners = function (target) {\n // SSR Fix (https://github.com/react-dnd/react-dnd/pull/813\n if (!target.removeEventListener) {\n return;\n }\n target.removeEventListener('dragstart', this.handleTopDragStart);\n target.removeEventListener('dragstart', this.handleTopDragStartCapture, true);\n target.removeEventListener('dragend', this.handleTopDragEndCapture, true);\n target.removeEventListener('dragenter', this.handleTopDragEnter);\n target.removeEventListener('dragenter', this.handleTopDragEnterCapture, true);\n target.removeEventListener('dragleave', this.handleTopDragLeaveCapture, true);\n target.removeEventListener('dragover', this.handleTopDragOver);\n target.removeEventListener('dragover', this.handleTopDragOverCapture, true);\n target.removeEventListener('drop', this.handleTopDrop);\n target.removeEventListener('drop', this.handleTopDropCapture, true);\n };\n HTML5Backend.prototype.getCurrentSourceNodeOptions = function () {\n var sourceId = this.monitor.getSourceId();\n var sourceNodeOptions = this.sourceNodeOptions[sourceId];\n return defaults_1.default(sourceNodeOptions || {}, {\n dropEffect: this.altKeyPressed ? 'copy' : 'move',\n });\n };\n HTML5Backend.prototype.getCurrentDropEffect = function () {\n if (this.isDraggingNativeItem()) {\n // It makes more sense to default to 'copy' for native resources\n return 'copy';\n }\n return this.getCurrentSourceNodeOptions().dropEffect;\n };\n HTML5Backend.prototype.getCurrentSourcePreviewNodeOptions = function () {\n var sourceId = this.monitor.getSourceId();\n var sourcePreviewNodeOptions = this.sourcePreviewNodeOptions[sourceId];\n return defaults_1.default(sourcePreviewNodeOptions || {}, {\n anchorX: 0.5,\n anchorY: 0.5,\n captureDraggingState: false,\n });\n };\n HTML5Backend.prototype.getSourceClientOffset = function (sourceId) {\n return OffsetUtils_1.getNodeClientOffset(this.sourceNodes[sourceId]);\n };\n HTML5Backend.prototype.isDraggingNativeItem = function () {\n var itemType = this.monitor.getItemType();\n return Object.keys(NativeTypes).some(function (key) { return NativeTypes[key] === itemType; });\n };\n HTML5Backend.prototype.beginDragNativeItem = function (type) {\n this.clearCurrentDragSourceNode();\n var SourceType = NativeDragSources_1.createNativeDragSource(type);\n this.currentNativeSource = new SourceType();\n this.currentNativeHandle = this.registry.addSource(type, this.currentNativeSource);\n this.actions.beginDrag([this.currentNativeHandle]);\n };\n HTML5Backend.prototype.asyncEndDragNativeItem = function () {\n if (this.window) {\n this.asyncEndDragFrameId = this.window.requestAnimationFrame(this.endDragNativeItem);\n }\n };\n HTML5Backend.prototype.endDragNativeItem = function () {\n if (!this.isDraggingNativeItem()) {\n return;\n }\n this.actions.endDrag();\n this.registry.removeSource(this.currentNativeHandle);\n this.currentNativeHandle = null;\n this.currentNativeSource = null;\n };\n HTML5Backend.prototype.isNodeInDocument = function (node) {\n // Check the node either in the main document or in the current context\n return ((!!document && document.body.contains(node)) ||\n (!!this.window && this.window.document.body.contains(node)));\n };\n HTML5Backend.prototype.endDragIfSourceWasRemovedFromDOM = function () {\n var node = this.currentDragSourceNode;\n if (this.isNodeInDocument(node)) {\n return;\n }\n if (this.clearCurrentDragSourceNode()) {\n this.actions.endDrag();\n }\n };\n HTML5Backend.prototype.setCurrentDragSourceNode = function (node) {\n var _this = this;\n this.clearCurrentDragSourceNode();\n this.currentDragSourceNode = node;\n this.currentDragSourceNodeOffset = OffsetUtils_1.getNodeClientOffset(node);\n this.currentDragSourceNodeOffsetChanged = false;\n // A timeout of > 0 is necessary to resolve Firefox issue referenced\n // See:\n // * https://github.com/react-dnd/react-dnd/pull/928\n // * https://github.com/react-dnd/react-dnd/issues/869\n var MOUSE_MOVE_TIMEOUT = 1000;\n // Receiving a mouse event in the middle of a dragging operation\n // means it has ended and the drag source node disappeared from DOM,\n // so the browser didn't dispatch the dragend event.\n //\n // We need to wait before we start listening for mousemove events.\n // This is needed because the drag preview needs to be drawn or else it fires an 'mousemove' event\n // immediately in some browsers.\n //\n // See:\n // * https://github.com/react-dnd/react-dnd/pull/928\n // * https://github.com/react-dnd/react-dnd/issues/869\n //\n this.mouseMoveTimeoutTimer = setTimeout(function () {\n _this.mouseMoveTimeoutId = null;\n return (_this.window &&\n _this.window.addEventListener('mousemove', _this.endDragIfSourceWasRemovedFromDOM, true));\n }, MOUSE_MOVE_TIMEOUT);\n };\n HTML5Backend.prototype.clearCurrentDragSourceNode = function () {\n if (this.currentDragSourceNode) {\n this.currentDragSourceNode = null;\n this.currentDragSourceNodeOffset = null;\n this.currentDragSourceNodeOffsetChanged = false;\n if (this.window) {\n this.window.clearTimeout(this.mouseMoveTimeoutTimer);\n this.window.removeEventListener('mousemove', this.endDragIfSourceWasRemovedFromDOM, true);\n }\n this.mouseMoveTimeoutTimer = null;\n return true;\n }\n return false;\n };\n HTML5Backend.prototype.checkIfCurrentDragSourceRectChanged = function () {\n var node = this.currentDragSourceNode;\n if (!node) {\n return false;\n }\n if (this.currentDragSourceNodeOffsetChanged) {\n return true;\n }\n this.currentDragSourceNodeOffsetChanged = !shallowEqual(OffsetUtils_1.getNodeClientOffset(node), this.currentDragSourceNodeOffset);\n return this.currentDragSourceNodeOffsetChanged;\n };\n HTML5Backend.prototype.handleTopDragStartCapture = function () {\n this.clearCurrentDragSourceNode();\n this.dragStartSourceIds = [];\n };\n HTML5Backend.prototype.handleDragStart = function (e, sourceId) {\n if (!this.dragStartSourceIds) {\n this.dragStartSourceIds = [];\n }\n this.dragStartSourceIds.unshift(sourceId);\n };\n HTML5Backend.prototype.handleTopDragStart = function (e) {\n var _this = this;\n var dragStartSourceIds = this.dragStartSourceIds;\n this.dragStartSourceIds = null;\n var clientOffset = OffsetUtils_1.getEventClientOffset(e);\n // Avoid crashing if we missed a drop event or our previous drag died\n if (this.monitor.isDragging()) {\n this.actions.endDrag();\n }\n // Don't publish the source just yet (see why below)\n this.actions.beginDrag(dragStartSourceIds || [], {\n publishSource: false,\n getSourceClientOffset: this.getSourceClientOffset,\n clientOffset: clientOffset,\n });\n var dataTransfer = e.dataTransfer;\n var nativeType = NativeDragSources_1.matchNativeItemType(dataTransfer);\n if (this.monitor.isDragging()) {\n if (typeof dataTransfer.setDragImage === 'function') {\n // Use custom drag image if user specifies it.\n // If child drag source refuses drag but parent agrees,\n // use parent's node as drag image. Neither works in IE though.\n var sourceId = this.monitor.getSourceId();\n var sourceNode = this.sourceNodes[sourceId];\n var dragPreview = this.sourcePreviewNodes[sourceId] || sourceNode;\n var _a = this.getCurrentSourcePreviewNodeOptions(), anchorX = _a.anchorX, anchorY = _a.anchorY, offsetX = _a.offsetX, offsetY = _a.offsetY;\n var anchorPoint = { anchorX: anchorX, anchorY: anchorY };\n var offsetPoint = { offsetX: offsetX, offsetY: offsetY };\n var dragPreviewOffset = OffsetUtils_1.getDragPreviewOffset(sourceNode, dragPreview, clientOffset, anchorPoint, offsetPoint);\n dataTransfer.setDragImage(dragPreview, dragPreviewOffset.x, dragPreviewOffset.y);\n }\n try {\n // Firefox won't drag without setting data\n dataTransfer.setData('application/json', {});\n }\n catch (err) {\n // IE doesn't support MIME types in setData\n }\n // Store drag source node so we can check whether\n // it is removed from DOM and trigger endDrag manually.\n this.setCurrentDragSourceNode(e.target);\n // Now we are ready to publish the drag source.. or are we not?\n var captureDraggingState = this.getCurrentSourcePreviewNodeOptions().captureDraggingState;\n if (!captureDraggingState) {\n // Usually we want to publish it in the next tick so that browser\n // is able to screenshot the current (not yet dragging) state.\n //\n // It also neatly avoids a situation where render() returns null\n // in the same tick for the source element, and browser freaks out.\n setTimeout(function () { return _this.actions.publishDragSource(); }, 0);\n }\n else {\n // In some cases the user may want to override this behavior, e.g.\n // to work around IE not supporting custom drag previews.\n //\n // When using a custom drag layer, the only way to prevent\n // the default drag preview from drawing in IE is to screenshot\n // the dragging state in which the node itself has zero opacity\n // and height. In this case, though, returning null from render()\n // will abruptly end the dragging, which is not obvious.\n //\n // This is the reason such behavior is strictly opt-in.\n this.actions.publishDragSource();\n }\n }\n else if (nativeType) {\n // A native item (such as URL) dragged from inside the document\n this.beginDragNativeItem(nativeType);\n }\n else if (!dataTransfer.types &&\n (!e.target.hasAttribute || !e.target.hasAttribute('draggable'))) {\n // Looks like a Safari bug: dataTransfer.types is null, but there was no draggable.\n // Just let it drag. It's a native type (URL or text) and will be picked up in\n // dragenter handler.\n return; // eslint-disable-line no-useless-return\n }\n else {\n // If by this time no drag source reacted, tell browser not to drag.\n e.preventDefault();\n }\n };\n HTML5Backend.prototype.handleTopDragEndCapture = function () {\n if (this.clearCurrentDragSourceNode()) {\n // Firefox can dispatch this event in an infinite loop\n // if dragend handler does something like showing an alert.\n // Only proceed if we have not handled it already.\n this.actions.endDrag();\n }\n };\n HTML5Backend.prototype.handleTopDragEnterCapture = function (e) {\n this.dragEnterTargetIds = [];\n var isFirstEnter = this.enterLeaveCounter.enter(e.target);\n if (!isFirstEnter || this.monitor.isDragging()) {\n return;\n }\n var dataTransfer = e.dataTransfer;\n var nativeType = NativeDragSources_1.matchNativeItemType(dataTransfer);\n if (nativeType) {\n // A native item (such as file or URL) dragged from outside the document\n this.beginDragNativeItem(nativeType);\n }\n };\n HTML5Backend.prototype.handleDragEnter = function (e, targetId) {\n this.dragEnterTargetIds.unshift(targetId);\n };\n HTML5Backend.prototype.handleTopDragEnter = function (e) {\n var _this = this;\n var dragEnterTargetIds = this.dragEnterTargetIds;\n this.dragEnterTargetIds = [];\n if (!this.monitor.isDragging()) {\n // This is probably a native item type we don't understand.\n return;\n }\n this.altKeyPressed = e.altKey;\n if (!BrowserDetector_1.isFirefox()) {\n // Don't emit hover in `dragenter` on Firefox due to an edge case.\n // If the target changes position as the result of `dragenter`, Firefox\n // will still happily dispatch `dragover` despite target being no longer\n // there. The easy solution is to only fire `hover` in `dragover` on FF.\n this.actions.hover(dragEnterTargetIds, {\n clientOffset: OffsetUtils_1.getEventClientOffset(e),\n });\n }\n var canDrop = dragEnterTargetIds.some(function (targetId) {\n return _this.monitor.canDropOnTarget(targetId);\n });\n if (canDrop) {\n // IE requires this to fire dragover events\n e.preventDefault();\n e.dataTransfer.dropEffect = this.getCurrentDropEffect();\n }\n };\n HTML5Backend.prototype.handleTopDragOverCapture = function () {\n this.dragOverTargetIds = [];\n };\n HTML5Backend.prototype.handleDragOver = function (e, targetId) {\n if (this.dragOverTargetIds === null) {\n this.dragOverTargetIds = [];\n }\n this.dragOverTargetIds.unshift(targetId);\n };\n HTML5Backend.prototype.handleTopDragOver = function (e) {\n var _this = this;\n var dragOverTargetIds = this.dragOverTargetIds;\n this.dragOverTargetIds = [];\n if (!this.monitor.isDragging()) {\n // This is probably a native item type we don't understand.\n // Prevent default \"drop and blow away the whole document\" action.\n e.preventDefault();\n e.dataTransfer.dropEffect = 'none';\n return;\n }\n this.altKeyPressed = e.altKey;\n this.actions.hover(dragOverTargetIds || [], {\n clientOffset: OffsetUtils_1.getEventClientOffset(e),\n });\n var canDrop = (dragOverTargetIds || []).some(function (targetId) {\n return _this.monitor.canDropOnTarget(targetId);\n });\n if (canDrop) {\n // Show user-specified drop effect.\n e.preventDefault();\n e.dataTransfer.dropEffect = this.getCurrentDropEffect();\n }\n else if (this.isDraggingNativeItem()) {\n // Don't show a nice cursor but still prevent default\n // \"drop and blow away the whole document\" action.\n e.preventDefault();\n e.dataTransfer.dropEffect = 'none';\n }\n else if (this.checkIfCurrentDragSourceRectChanged()) {\n // Prevent animating to incorrect position.\n // Drop effect must be other than 'none' to prevent animation.\n e.preventDefault();\n e.dataTransfer.dropEffect = 'move';\n }\n };\n HTML5Backend.prototype.handleTopDragLeaveCapture = function (e) {\n if (this.isDraggingNativeItem()) {\n e.preventDefault();\n }\n var isLastLeave = this.enterLeaveCounter.leave(e.target);\n if (!isLastLeave) {\n return;\n }\n if (this.isDraggingNativeItem()) {\n this.endDragNativeItem();\n }\n };\n HTML5Backend.prototype.handleTopDropCapture = function (e) {\n this.dropTargetIds = [];\n e.preventDefault();\n if (this.isDraggingNativeItem()) {\n this.currentNativeSource.mutateItemByReadingDataTransfer(e.dataTransfer);\n }\n this.enterLeaveCounter.reset();\n };\n HTML5Backend.prototype.handleDrop = function (e, targetId) {\n this.dropTargetIds.unshift(targetId);\n };\n HTML5Backend.prototype.handleTopDrop = function (e) {\n var dropTargetIds = this.dropTargetIds;\n this.dropTargetIds = [];\n this.actions.hover(dropTargetIds, {\n clientOffset: OffsetUtils_1.getEventClientOffset(e),\n });\n this.actions.drop({ dropEffect: this.getCurrentDropEffect() });\n if (this.isDraggingNativeItem()) {\n this.endDragNativeItem();\n }\n else {\n this.endDragIfSourceWasRemovedFromDOM();\n }\n };\n HTML5Backend.prototype.handleSelectStart = function (e) {\n var target = e.target;\n // Only IE requires us to explicitly say\n // we want drag drop operation to start\n if (typeof target.dragDrop !== 'function') {\n return;\n }\n // Inputs and textareas should be selectable\n if (target.tagName === 'INPUT' ||\n target.tagName === 'SELECT' ||\n target.tagName === 'TEXTAREA' ||\n target.isContentEditable) {\n return;\n }\n // For other targets, ask IE\n // to enable drag and drop\n e.preventDefault();\n target.dragDrop();\n };\n __decorate([\n autobind_decorator_1.default\n ], HTML5Backend.prototype, \"getSourceClientOffset\", null);\n __decorate([\n autobind_decorator_1.default\n ], HTML5Backend.prototype, \"asyncEndDragNativeItem\", null);\n __decorate([\n autobind_decorator_1.default\n ], HTML5Backend.prototype, \"endDragNativeItem\", null);\n __decorate([\n autobind_decorator_1.default\n ], HTML5Backend.prototype, \"isNodeInDocument\", null);\n __decorate([\n autobind_decorator_1.default\n ], HTML5Backend.prototype, \"endDragIfSourceWasRemovedFromDOM\", null);\n __decorate([\n autobind_decorator_1.default\n ], HTML5Backend.prototype, \"handleTopDragStartCapture\", null);\n __decorate([\n autobind_decorator_1.default\n ], HTML5Backend.prototype, \"handleTopDragStart\", null);\n __decorate([\n autobind_decorator_1.default\n ], HTML5Backend.prototype, \"handleTopDragEndCapture\", null);\n __decorate([\n autobind_decorator_1.default\n ], HTML5Backend.prototype, \"handleTopDragEnterCapture\", null);\n __decorate([\n autobind_decorator_1.default\n ], HTML5Backend.prototype, \"handleTopDragEnter\", null);\n __decorate([\n autobind_decorator_1.default\n ], HTML5Backend.prototype, \"handleTopDragOverCapture\", null);\n __decorate([\n autobind_decorator_1.default\n ], HTML5Backend.prototype, \"handleTopDragOver\", null);\n __decorate([\n autobind_decorator_1.default\n ], HTML5Backend.prototype, \"handleTopDragLeaveCapture\", null);\n __decorate([\n autobind_decorator_1.default\n ], HTML5Backend.prototype, \"handleTopDropCapture\", null);\n __decorate([\n autobind_decorator_1.default\n ], HTML5Backend.prototype, \"handleTopDrop\", null);\n __decorate([\n autobind_decorator_1.default\n ], HTML5Backend.prototype, \"handleSelectStart\", null);\n return HTML5Backend;\n}());\nexports.default = HTML5Backend;\n//# sourceMappingURL=HTML5Backend.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/* eslint\n no-plusplus: off,\n no-mixed-operators: off\n*/\nvar MonotonicInterpolant = /** @class */ (function () {\n function MonotonicInterpolant(xs, ys) {\n var length = xs.length;\n // Rearrange xs and ys so that xs is sorted\n var indexes = [];\n for (var i = 0; i < length; i++) {\n indexes.push(i);\n }\n indexes.sort(function (a, b) { return (xs[a] < xs[b] ? -1 : 1); });\n // Get consecutive differences and slopes\n var dys = [];\n var dxs = [];\n var ms = [];\n var dx;\n var dy;\n for (var i = 0; i < length - 1; i++) {\n dx = xs[i + 1] - xs[i];\n dy = ys[i + 1] - ys[i];\n dxs.push(dx);\n dys.push(dy);\n ms.push(dy / dx);\n }\n // Get degree-1 coefficients\n var c1s = [ms[0]];\n for (var i = 0; i < dxs.length - 1; i++) {\n var m2 = ms[i];\n var mNext = ms[i + 1];\n if (m2 * mNext <= 0) {\n c1s.push(0);\n }\n else {\n dx = dxs[i];\n var dxNext = dxs[i + 1];\n var common = dx + dxNext;\n c1s.push(3 * common / ((common + dxNext) / m2 + (common + dx) / mNext));\n }\n }\n c1s.push(ms[ms.length - 1]);\n // Get degree-2 and degree-3 coefficients\n var c2s = [];\n var c3s = [];\n var m;\n for (var i = 0; i < c1s.length - 1; i++) {\n m = ms[i];\n var c1 = c1s[i];\n var invDx = 1 / dxs[i];\n var common = c1 + c1s[i + 1] - m - m;\n c2s.push((m - c1 - common) * invDx);\n c3s.push(common * invDx * invDx);\n }\n this.xs = xs;\n this.ys = ys;\n this.c1s = c1s;\n this.c2s = c2s;\n this.c3s = c3s;\n }\n MonotonicInterpolant.prototype.interpolate = function (x) {\n var _a = this, xs = _a.xs, ys = _a.ys, c1s = _a.c1s, c2s = _a.c2s, c3s = _a.c3s;\n // The rightmost point in the dataset should give an exact result\n var i = xs.length - 1;\n if (x === xs[i]) {\n return ys[i];\n }\n // Search for the interval x is in, returning the corresponding y if x is one of the original xs\n var low = 0;\n var high = c3s.length - 1;\n var mid;\n while (low <= high) {\n mid = Math.floor(0.5 * (low + high));\n var xHere = xs[mid];\n if (xHere < x) {\n low = mid + 1;\n }\n else if (xHere > x) {\n high = mid - 1;\n }\n else {\n return ys[mid];\n }\n }\n i = Math.max(0, high);\n // Interpolate\n var diff = x - xs[i];\n var diffSq = diff * diff;\n return ys[i] + c1s[i] * diff + c2s[i] * diffSq + c3s[i] * diff * diffSq;\n };\n return MonotonicInterpolant;\n}());\nexports.default = MonotonicInterpolant;\n//# sourceMappingURL=MonotonicInterpolant.js.map","\"use strict\";\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar NativeTypes = __importStar(require(\"./NativeTypes\"));\nfunction getDataFromDataTransfer(dataTransfer, typesToTry, defaultValue) {\n var result = typesToTry.reduce(function (resultSoFar, typeToTry) { return resultSoFar || dataTransfer.getData(typeToTry); }, null);\n return result != null // eslint-disable-line eqeqeq\n ? result\n : defaultValue;\n}\nvar nativeTypesConfig = (_a = {},\n _a[NativeTypes.FILE] = {\n exposeProperty: 'files',\n matchesTypes: ['Files'],\n getData: function (dataTransfer) {\n return Array.prototype.slice.call(dataTransfer.files);\n },\n },\n _a[NativeTypes.URL] = {\n exposeProperty: 'urls',\n matchesTypes: ['Url', 'text/uri-list'],\n getData: function (dataTransfer, matchesTypes) {\n return getDataFromDataTransfer(dataTransfer, matchesTypes, '').split('\\n');\n },\n },\n _a[NativeTypes.TEXT] = {\n exposeProperty: 'text',\n matchesTypes: ['Text', 'text/plain'],\n getData: function (dataTransfer, matchesTypes) {\n return getDataFromDataTransfer(dataTransfer, matchesTypes, '');\n },\n },\n _a);\nfunction createNativeDragSource(type) {\n var _a = nativeTypesConfig[type], exposeProperty = _a.exposeProperty, matchesTypes = _a.matchesTypes, getData = _a.getData;\n return /** @class */ (function () {\n function NativeDragSource() {\n this.item = (_a = {},\n Object.defineProperty(_a, exposeProperty, {\n get: function () {\n // tslint:disable-next-line no-console\n console.warn(\"Browser doesn't allow reading \\\"\" + exposeProperty + \"\\\" until the drop event.\");\n return null;\n },\n enumerable: true,\n configurable: true\n }),\n _a);\n var _a;\n }\n NativeDragSource.prototype.mutateItemByReadingDataTransfer = function (dataTransfer) {\n delete this.item[exposeProperty];\n this.item[exposeProperty] = getData(dataTransfer, matchesTypes);\n };\n NativeDragSource.prototype.canDrag = function () {\n return true;\n };\n NativeDragSource.prototype.beginDrag = function () {\n return this.item;\n };\n NativeDragSource.prototype.isDragging = function (monitor, handle) {\n return handle === monitor.getSourceId();\n };\n NativeDragSource.prototype.endDrag = function () {\n // empty\n };\n return NativeDragSource;\n }());\n}\nexports.createNativeDragSource = createNativeDragSource;\nfunction matchNativeItemType(dataTransfer) {\n var dataTransferTypes = Array.prototype.slice.call(dataTransfer.types || []);\n return (Object.keys(nativeTypesConfig).filter(function (nativeItemType) {\n var matchesTypes = nativeTypesConfig[nativeItemType].matchesTypes;\n return matchesTypes.some(function (t) { return dataTransferTypes.indexOf(t) > -1; });\n })[0] || null);\n}\nexports.matchNativeItemType = matchNativeItemType;\nvar _a;\n//# sourceMappingURL=NativeDragSources.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FILE = '__NATIVE_FILE__';\nexports.URL = '__NATIVE_URL__';\nexports.TEXT = '__NATIVE_TEXT__';\n//# sourceMappingURL=NativeTypes.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar BrowserDetector_1 = require(\"./BrowserDetector\");\nvar MonotonicInterpolant_1 = __importDefault(require(\"./MonotonicInterpolant\"));\nvar ELEMENT_NODE = 1;\nfunction getNodeClientOffset(node) {\n var el = node.nodeType === ELEMENT_NODE ? node : node.parentElement;\n if (!el) {\n return null;\n }\n var _a = el.getBoundingClientRect(), top = _a.top, left = _a.left;\n return { x: left, y: top };\n}\nexports.getNodeClientOffset = getNodeClientOffset;\nfunction getEventClientOffset(e) {\n return {\n x: e.clientX,\n y: e.clientY,\n };\n}\nexports.getEventClientOffset = getEventClientOffset;\nfunction isImageNode(node) {\n return (node.nodeName === 'IMG' &&\n (BrowserDetector_1.isFirefox() || !document.documentElement.contains(node)));\n}\nfunction getDragPreviewSize(isImage, dragPreview, sourceWidth, sourceHeight) {\n var dragPreviewWidth = isImage ? dragPreview.width : sourceWidth;\n var dragPreviewHeight = isImage ? dragPreview.height : sourceHeight;\n // Work around @2x coordinate discrepancies in browsers\n if (BrowserDetector_1.isSafari() && isImage) {\n dragPreviewHeight /= window.devicePixelRatio;\n dragPreviewWidth /= window.devicePixelRatio;\n }\n return { dragPreviewWidth: dragPreviewWidth, dragPreviewHeight: dragPreviewHeight };\n}\nfunction getDragPreviewOffset(sourceNode, dragPreview, clientOffset, anchorPoint, offsetPoint) {\n // The browsers will use the image intrinsic size under different conditions.\n // Firefox only cares if it's an image, but WebKit also wants it to be detached.\n var isImage = isImageNode(dragPreview);\n var dragPreviewNode = isImage ? sourceNode : dragPreview;\n var dragPreviewNodeOffsetFromClient = getNodeClientOffset(dragPreviewNode);\n var offsetFromDragPreview = {\n x: clientOffset.x - dragPreviewNodeOffsetFromClient.x,\n y: clientOffset.y - dragPreviewNodeOffsetFromClient.y,\n };\n var sourceWidth = sourceNode.offsetWidth, sourceHeight = sourceNode.offsetHeight;\n var anchorX = anchorPoint.anchorX, anchorY = anchorPoint.anchorY;\n var _a = getDragPreviewSize(isImage, dragPreview, sourceWidth, sourceHeight), dragPreviewWidth = _a.dragPreviewWidth, dragPreviewHeight = _a.dragPreviewHeight;\n var calculateYOffset = function () {\n var interpolantY = new MonotonicInterpolant_1.default([0, 0.5, 1], [\n // Dock to the top\n offsetFromDragPreview.y,\n // Align at the center\n offsetFromDragPreview.y / sourceHeight * dragPreviewHeight,\n // Dock to the bottom\n offsetFromDragPreview.y + dragPreviewHeight - sourceHeight,\n ]);\n var y = interpolantY.interpolate(anchorY);\n // Work around Safari 8 positioning bug\n if (BrowserDetector_1.isSafari() && isImage) {\n // We'll have to wait for @3x to see if this is entirely correct\n y += (window.devicePixelRatio - 1) * dragPreviewHeight;\n }\n return y;\n };\n var calculateXOffset = function () {\n // Interpolate coordinates depending on anchor point\n // If you know a simpler way to do this, let me know\n var interpolantX = new MonotonicInterpolant_1.default([0, 0.5, 1], [\n // Dock to the left\n offsetFromDragPreview.x,\n // Align at the center\n offsetFromDragPreview.x / sourceWidth * dragPreviewWidth,\n // Dock to the right\n offsetFromDragPreview.x + dragPreviewWidth - sourceWidth,\n ]);\n return interpolantX.interpolate(anchorX);\n };\n // Force offsets if specified in the options.\n var offsetX = offsetPoint.offsetX, offsetY = offsetPoint.offsetY;\n var isManualOffsetX = offsetX === 0 || offsetX;\n var isManualOffsetY = offsetY === 0 || offsetY;\n return {\n x: isManualOffsetX ? offsetX : calculateXOffset(),\n y: isManualOffsetY ? offsetY : calculateYOffset(),\n };\n}\nexports.getDragPreviewOffset = getDragPreviewOffset;\n//# sourceMappingURL=OffsetUtils.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar emptyImage;\nfunction getEmptyImage() {\n if (!emptyImage) {\n emptyImage = new Image();\n emptyImage.src =\n 'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==';\n }\n return emptyImage;\n}\nexports.default = getEmptyImage;\n//# sourceMappingURL=getEmptyImage.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar HTML5Backend_1 = __importDefault(require(\"./HTML5Backend\"));\nvar getEmptyImage_1 = __importDefault(require(\"./getEmptyImage\"));\nexports.getEmptyImage = getEmptyImage_1.default;\nvar NativeTypes = __importStar(require(\"./NativeTypes\"));\nexports.NativeTypes = NativeTypes;\nfunction createHTML5Backend(manager) {\n return new HTML5Backend_1.default(manager);\n}\nexports.default = createHTML5Backend;\n//# sourceMappingURL=index.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar prop_types_1 = __importDefault(require(\"prop-types\"));\nvar dnd_core_1 = require(\"dnd-core\");\nvar invariant_1 = __importDefault(require(\"invariant\"));\nvar hoist_non_react_statics_1 = __importDefault(require(\"hoist-non-react-statics\"));\nvar checkDecoratorArguments_1 = __importDefault(require(\"./utils/checkDecoratorArguments\"));\nexports.CHILD_CONTEXT_TYPES = {\n dragDropManager: prop_types_1.default.object.isRequired,\n};\nfunction createChildContext(backend, context) {\n return {\n dragDropManager: dnd_core_1.createDragDropManager(backend, context),\n };\n}\nexports.createChildContext = createChildContext;\nfunction DragDropContext(backendFactory, context) {\n checkDecoratorArguments_1.default('DragDropContext', 'backend', backendFactory); // eslint-disable-line prefer-rest-params\n var childContext = createChildContext(backendFactory, context);\n return function decorateContext(DecoratedComponent) {\n var displayName = DecoratedComponent.displayName || DecoratedComponent.name || 'Component';\n var DragDropContextContainer = /** @class */ (function (_super) {\n __extends(DragDropContextContainer, _super);\n function DragDropContextContainer() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n DragDropContextContainer.prototype.getDecoratedComponentInstance = function () {\n invariant_1.default(this.child, 'In order to access an instance of the decorated component it can not be a stateless component.');\n return this.child;\n };\n DragDropContextContainer.prototype.getManager = function () {\n return childContext.dragDropManager;\n };\n DragDropContextContainer.prototype.getChildContext = function () {\n return childContext;\n };\n DragDropContextContainer.prototype.render = function () {\n var _this = this;\n return (react_1.default.createElement(DecoratedComponent, __assign({}, this.props, { ref: function (child) { return (_this.child = child); } })));\n };\n DragDropContextContainer.DecoratedComponent = DecoratedComponent;\n DragDropContextContainer.displayName = \"DragDropContext(\" + displayName + \")\";\n DragDropContextContainer.childContextTypes = exports.CHILD_CONTEXT_TYPES;\n return DragDropContextContainer;\n }(react_1.default.Component));\n return hoist_non_react_statics_1.default(DragDropContextContainer, DecoratedComponent);\n };\n}\nexports.default = DragDropContext;\n//# sourceMappingURL=DragDropContext.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar prop_types_1 = __importDefault(require(\"prop-types\"));\nvar DragDropContext_1 = require(\"./DragDropContext\");\nvar DragDropContextProviderImpl = /** @class */ (function (_super) {\n __extends(DragDropContextProviderImpl, _super);\n function DragDropContextProviderImpl(props, context) {\n var _this = _super.call(this, props, context) || this;\n _this.backend = props.backend;\n _this.childContext = DragDropContext_1.createChildContext(_this.backend, _this.props.context);\n return _this;\n }\n DragDropContextProviderImpl.prototype.componentWillReceiveProps = function (nextProps) {\n if (nextProps.backend !== this.props.backend ||\n nextProps.context !== this.props.context) {\n throw new Error('DragDropContextProvider backend and context props must not change.');\n }\n };\n DragDropContextProviderImpl.prototype.getChildContext = function () {\n return this.childContext;\n };\n DragDropContextProviderImpl.prototype.render = function () {\n return react_1.Children.only(this.props.children);\n };\n DragDropContextProviderImpl.propTypes = {\n backend: prop_types_1.default.oneOfType([prop_types_1.default.func, prop_types_1.default.object]).isRequired,\n children: prop_types_1.default.element.isRequired,\n context: prop_types_1.default.object,\n };\n DragDropContextProviderImpl.defaultProps = {\n context: undefined,\n };\n DragDropContextProviderImpl.childContextTypes = DragDropContext_1.CHILD_CONTEXT_TYPES;\n DragDropContextProviderImpl.displayName = 'DragDropContextProvider';\n return DragDropContextProviderImpl;\n}(react_1.Component));\nexports.default = DragDropContextProviderImpl;\n//# sourceMappingURL=DragDropContextProvider.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = __importDefault(require(\"react\"));\nvar prop_types_1 = __importDefault(require(\"prop-types\"));\nvar hoist_non_react_statics_1 = __importDefault(require(\"hoist-non-react-statics\"));\nvar isPlainObject_1 = __importDefault(require(\"lodash/isPlainObject\"));\nvar invariant_1 = __importDefault(require(\"invariant\"));\nvar checkDecoratorArguments_1 = __importDefault(require(\"./utils/checkDecoratorArguments\"));\nvar shallowEqual = require('shallowequal');\nfunction DragLayer(collect, options) {\n if (options === void 0) { options = {}; }\n checkDecoratorArguments_1.default('DragLayer', 'collect[, options]', collect, options); // eslint-disable-line prefer-rest-params\n invariant_1.default(typeof collect === 'function', 'Expected \"collect\" provided as the first argument to DragLayer to be a function that collects props to inject into the component. ', 'Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs-drag-layer.html', collect);\n invariant_1.default(isPlainObject_1.default(options), 'Expected \"options\" provided as the second argument to DragLayer to be a plain object when specified. ' +\n 'Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs-drag-layer.html', options);\n return function decorateLayer(DecoratedComponent) {\n var _a = options.arePropsEqual, arePropsEqual = _a === void 0 ? shallowEqual : _a;\n var displayName = DecoratedComponent.displayName || DecoratedComponent.name || 'Component';\n var DragLayerContainer = /** @class */ (function (_super) {\n __extends(DragLayerContainer, _super);\n function DragLayerContainer(props, context) {\n var _this = _super.call(this, props) || this;\n _this.isCurrentlyMounted = false;\n _this.handleChange = _this.handleChange.bind(_this);\n _this.manager = context.dragDropManager;\n invariant_1.default(typeof _this.manager === 'object', 'Could not find the drag and drop manager in the context of %s. ' +\n 'Make sure to wrap the top-level component of your app with DragDropContext. ' +\n 'Read more: http://react-dnd.github.io/react-dnd/docs-troubleshooting.html#could-not-find-the-drag-and-drop-manager-in-the-context', displayName, displayName);\n _this.state = _this.getCurrentState();\n return _this;\n }\n Object.defineProperty(DragLayerContainer.prototype, \"DecoratedComponent\", {\n get: function () {\n return DecoratedComponent;\n },\n enumerable: true,\n configurable: true\n });\n DragLayerContainer.prototype.getDecoratedComponentInstance = function () {\n invariant_1.default(this.child, 'In order to access an instance of the decorated component it can not be a stateless component.');\n return this.child;\n };\n DragLayerContainer.prototype.shouldComponentUpdate = function (nextProps, nextState) {\n return (!arePropsEqual(nextProps, this.props) ||\n !shallowEqual(nextState, this.state));\n };\n DragLayerContainer.prototype.componentDidMount = function () {\n this.isCurrentlyMounted = true;\n var monitor = this.manager.getMonitor();\n this.unsubscribeFromOffsetChange = monitor.subscribeToOffsetChange(this.handleChange);\n this.unsubscribeFromStateChange = monitor.subscribeToStateChange(this.handleChange);\n this.handleChange();\n };\n DragLayerContainer.prototype.componentWillUnmount = function () {\n this.isCurrentlyMounted = false;\n if (this.unsubscribeFromOffsetChange) {\n this.unsubscribeFromOffsetChange();\n this.unsubscribeFromOffsetChange = undefined;\n }\n if (this.unsubscribeFromStateChange) {\n this.unsubscribeFromStateChange();\n this.unsubscribeFromStateChange = undefined;\n }\n };\n DragLayerContainer.prototype.render = function () {\n var _this = this;\n return (react_1.default.createElement(DecoratedComponent, __assign({}, this.props, this.state, { ref: function (child) {\n _this.child = child;\n } })));\n };\n DragLayerContainer.prototype.handleChange = function () {\n if (!this.isCurrentlyMounted) {\n return;\n }\n var nextState = this.getCurrentState();\n if (!shallowEqual(nextState, this.state)) {\n this.setState(nextState);\n }\n };\n DragLayerContainer.prototype.getCurrentState = function () {\n var monitor = this.manager.getMonitor();\n return collect(monitor, this.props);\n };\n DragLayerContainer.displayName = \"DragLayer(\" + displayName + \")\";\n DragLayerContainer.contextTypes = {\n dragDropManager: prop_types_1.default.object.isRequired,\n };\n return DragLayerContainer;\n }(react_1.default.Component));\n return hoist_non_react_statics_1.default(DragLayerContainer, DecoratedComponent);\n };\n}\nexports.default = DragLayer;\n//# sourceMappingURL=DragLayer.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar invariant_1 = __importDefault(require(\"invariant\"));\nvar isPlainObject_1 = __importDefault(require(\"lodash/isPlainObject\"));\nvar checkDecoratorArguments_1 = __importDefault(require(\"./utils/checkDecoratorArguments\"));\nvar decorateHandler_1 = __importDefault(require(\"./decorateHandler\"));\nvar registerSource_1 = __importDefault(require(\"./registerSource\"));\nvar createSourceFactory_1 = __importDefault(require(\"./createSourceFactory\"));\nvar createSourceMonitor_1 = __importDefault(require(\"./createSourceMonitor\"));\nvar createSourceConnector_1 = __importDefault(require(\"./createSourceConnector\"));\nvar isValidType_1 = __importDefault(require(\"./utils/isValidType\"));\n/**\n * Decorates a component as a dragsource\n * @param type The dragsource type\n * @param spec The drag source specification\n * @param collect The props collector function\n * @param options DnD optinos\n */\nfunction DragSource(type, spec, collect, options) {\n if (options === void 0) { options = {}; }\n checkDecoratorArguments_1.default('DragSource', 'type, spec, collect[, options]', type, spec, collect, options);\n var getType = type;\n if (typeof type !== 'function') {\n invariant_1.default(isValidType_1.default(type), 'Expected \"type\" provided as the first argument to DragSource to be ' +\n 'a string, or a function that returns a string given the current props. ' +\n 'Instead, received %s. ' +\n 'Read more: http://react-dnd.github.io/react-dnd/docs-drag-source.html', type);\n getType = function () { return type; };\n }\n invariant_1.default(isPlainObject_1.default(spec), 'Expected \"spec\" provided as the second argument to DragSource to be ' +\n 'a plain object. Instead, received %s. ' +\n 'Read more: http://react-dnd.github.io/react-dnd/docs-drag-source.html', spec);\n var createSource = createSourceFactory_1.default(spec);\n invariant_1.default(typeof collect === 'function', 'Expected \"collect\" provided as the third argument to DragSource to be ' +\n 'a function that returns a plain object of props to inject. ' +\n 'Instead, received %s. ' +\n 'Read more: http://react-dnd.github.io/react-dnd/docs-drag-source.html', collect);\n invariant_1.default(isPlainObject_1.default(options), 'Expected \"options\" provided as the fourth argument to DragSource to be ' +\n 'a plain object when specified. ' +\n 'Instead, received %s. ' +\n 'Read more: http://react-dnd.github.io/react-dnd/docs-drag-source.html', collect);\n return function decorateSource(DecoratedComponent) {\n return decorateHandler_1.default({\n containerDisplayName: 'DragSource',\n createHandler: createSource,\n registerHandler: registerSource_1.default,\n createMonitor: createSourceMonitor_1.default,\n createConnector: createSourceConnector_1.default,\n DecoratedComponent: DecoratedComponent,\n getType: getType,\n collect: collect,\n options: options,\n });\n };\n}\nexports.default = DragSource;\n//# sourceMappingURL=DragSource.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar invariant_1 = __importDefault(require(\"invariant\"));\nvar isPlainObject_1 = __importDefault(require(\"lodash/isPlainObject\"));\nvar checkDecoratorArguments_1 = __importDefault(require(\"./utils/checkDecoratorArguments\"));\nvar decorateHandler_1 = __importDefault(require(\"./decorateHandler\"));\nvar registerTarget_1 = __importDefault(require(\"./registerTarget\"));\nvar createTargetFactory_1 = __importDefault(require(\"./createTargetFactory\"));\nvar createTargetMonitor_1 = __importDefault(require(\"./createTargetMonitor\"));\nvar createTargetConnector_1 = __importDefault(require(\"./createTargetConnector\"));\nvar isValidType_1 = __importDefault(require(\"./utils/isValidType\"));\nfunction DropTarget(type, spec, collect, options) {\n if (options === void 0) { options = {}; }\n checkDecoratorArguments_1.default('DropTarget', 'type, spec, collect[, options]', type, spec, collect, options);\n var getType = type;\n if (typeof type !== 'function') {\n invariant_1.default(isValidType_1.default(type, true), 'Expected \"type\" provided as the first argument to DropTarget to be ' +\n 'a string, an array of strings, or a function that returns either given ' +\n 'the current props. Instead, received %s. ' +\n 'Read more: http://react-dnd.github.io/react-dnd/docs-drop-target.html', type);\n getType = function () { return type; };\n }\n invariant_1.default(isPlainObject_1.default(spec), 'Expected \"spec\" provided as the second argument to DropTarget to be ' +\n 'a plain object. Instead, received %s. ' +\n 'Read more: http://react-dnd.github.io/react-dnd/docs-drop-target.html', spec);\n var createTarget = createTargetFactory_1.default(spec);\n invariant_1.default(typeof collect === 'function', 'Expected \"collect\" provided as the third argument to DropTarget to be ' +\n 'a function that returns a plain object of props to inject. ' +\n 'Instead, received %s. ' +\n 'Read more: http://react-dnd.github.io/react-dnd/docs-drop-target.html', collect);\n invariant_1.default(isPlainObject_1.default(options), 'Expected \"options\" provided as the fourth argument to DropTarget to be ' +\n 'a plain object when specified. ' +\n 'Instead, received %s. ' +\n 'Read more: http://react-dnd.github.io/react-dnd/docs-drop-target.html', collect);\n return function decorateTarget(DecoratedComponent) {\n return decorateHandler_1.default({\n containerDisplayName: 'DropTarget',\n createHandler: createTarget,\n registerHandler: registerTarget_1.default,\n createMonitor: createTargetMonitor_1.default,\n createConnector: createTargetConnector_1.default,\n DecoratedComponent: DecoratedComponent,\n getType: getType,\n collect: collect,\n options: options,\n });\n };\n}\nexports.default = DropTarget;\n//# sourceMappingURL=DropTarget.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar wrapConnectorHooks_1 = __importDefault(require(\"./wrapConnectorHooks\"));\nvar shallowEqual = require('shallowequal');\nfunction createSourceConnector(backend) {\n var currentHandlerId;\n var currentDragSourceNode;\n var currentDragSourceOptions;\n var disconnectCurrentDragSource;\n var currentDragPreviewNode;\n var currentDragPreviewOptions;\n var disconnectCurrentDragPreview;\n function reconnectDragSource() {\n if (disconnectCurrentDragSource) {\n disconnectCurrentDragSource();\n disconnectCurrentDragSource = undefined;\n }\n if (currentHandlerId && currentDragSourceNode) {\n disconnectCurrentDragSource = backend.connectDragSource(currentHandlerId, currentDragSourceNode, currentDragSourceOptions);\n }\n }\n function reconnectDragPreview() {\n if (disconnectCurrentDragPreview) {\n disconnectCurrentDragPreview();\n disconnectCurrentDragPreview = undefined;\n }\n if (currentHandlerId && currentDragPreviewNode) {\n disconnectCurrentDragPreview = backend.connectDragPreview(currentHandlerId, currentDragPreviewNode, currentDragPreviewOptions);\n }\n }\n function receiveHandlerId(handlerId) {\n if (handlerId === currentHandlerId) {\n return;\n }\n currentHandlerId = handlerId;\n reconnectDragSource();\n reconnectDragPreview();\n }\n var hooks = wrapConnectorHooks_1.default({\n dragSource: function connectDragSource(node, options) {\n if (node === currentDragSourceNode &&\n shallowEqual(options, currentDragSourceOptions)) {\n return;\n }\n currentDragSourceNode = node;\n currentDragSourceOptions = options;\n reconnectDragSource();\n },\n dragPreview: function connectDragPreview(node, options) {\n if (node === currentDragPreviewNode &&\n shallowEqual(options, currentDragPreviewOptions)) {\n return;\n }\n currentDragPreviewNode = node;\n currentDragPreviewOptions = options;\n reconnectDragPreview();\n },\n });\n return {\n receiveHandlerId: receiveHandlerId,\n hooks: hooks,\n };\n}\nexports.default = createSourceConnector;\n//# sourceMappingURL=createSourceConnector.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar invariant_1 = __importDefault(require(\"invariant\"));\nvar isPlainObject_1 = __importDefault(require(\"lodash/isPlainObject\"));\nvar ALLOWED_SPEC_METHODS = ['canDrag', 'beginDrag', 'isDragging', 'endDrag'];\nvar REQUIRED_SPEC_METHODS = ['beginDrag'];\nfunction createSourceFactory(spec) {\n Object.keys(spec).forEach(function (key) {\n invariant_1.default(ALLOWED_SPEC_METHODS.indexOf(key) > -1, 'Expected the drag source specification to only have ' +\n 'some of the following keys: %s. ' +\n 'Instead received a specification with an unexpected \"%s\" key. ' +\n 'Read more: http://react-dnd.github.io/react-dnd/docs-drag-source.html', ALLOWED_SPEC_METHODS.join(', '), key);\n invariant_1.default(typeof spec[key] === 'function', 'Expected %s in the drag source specification to be a function. ' +\n 'Instead received a specification with %s: %s. ' +\n 'Read more: http://react-dnd.github.io/react-dnd/docs-drag-source.html', key, key, spec[key]);\n });\n REQUIRED_SPEC_METHODS.forEach(function (key) {\n invariant_1.default(typeof spec[key] === 'function', 'Expected %s in the drag source specification to be a function. ' +\n 'Instead received a specification with %s: %s. ' +\n 'Read more: http://react-dnd.github.io/react-dnd/docs-drag-source.html', key, key, spec[key]);\n });\n var SourceImpl = /** @class */ (function () {\n function SourceImpl(monitor) {\n this.monitor = monitor;\n }\n SourceImpl.prototype.receiveProps = function (props) {\n this.props = props;\n };\n SourceImpl.prototype.receiveComponent = function (component) {\n this.component = component;\n };\n SourceImpl.prototype.canDrag = function () {\n if (!this.props) {\n return false;\n }\n if (!spec.canDrag) {\n return true;\n }\n return spec.canDrag(this.props, this.monitor);\n };\n SourceImpl.prototype.isDragging = function (globalMonitor, sourceId) {\n if (!this.props) {\n return false;\n }\n if (!spec.isDragging) {\n return sourceId === globalMonitor.getSourceId();\n }\n return spec.isDragging(this.props, this.monitor);\n };\n SourceImpl.prototype.beginDrag = function () {\n if (!this.props || !this.component) {\n return;\n }\n var item = spec.beginDrag(this.props, this.monitor, this.component);\n if (process.env.NODE_ENV !== 'production') {\n invariant_1.default(isPlainObject_1.default(item), 'beginDrag() must return a plain object that represents the dragged item. ' +\n 'Instead received %s. ' +\n 'Read more: http://react-dnd.github.io/react-dnd/docs-drag-source.html', item);\n }\n return item;\n };\n SourceImpl.prototype.endDrag = function () {\n if (!this.props || !this.component) {\n return;\n }\n if (!spec.endDrag) {\n return;\n }\n spec.endDrag(this.props, this.monitor, this.component);\n };\n return SourceImpl;\n }());\n return function createSource(monitor) {\n return new SourceImpl(monitor);\n };\n}\nexports.default = createSourceFactory;\n//# sourceMappingURL=createSourceFactory.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar invariant_1 = __importDefault(require(\"invariant\"));\nvar isCallingCanDrag = false;\nvar isCallingIsDragging = false;\nvar SourceMonitor = /** @class */ (function () {\n function SourceMonitor(manager) {\n this.internalMonitor = manager.getMonitor();\n }\n SourceMonitor.prototype.receiveHandlerId = function (sourceId) {\n this.sourceId = sourceId;\n };\n SourceMonitor.prototype.canDrag = function () {\n invariant_1.default(!isCallingCanDrag, 'You may not call monitor.canDrag() inside your canDrag() implementation. ' +\n 'Read more: http://react-dnd.github.io/react-dnd/docs-drag-source-monitor.html');\n try {\n isCallingCanDrag = true;\n return this.internalMonitor.canDragSource(this.sourceId);\n }\n finally {\n isCallingCanDrag = false;\n }\n };\n SourceMonitor.prototype.isDragging = function () {\n invariant_1.default(!isCallingIsDragging, 'You may not call monitor.isDragging() inside your isDragging() implementation. ' +\n 'Read more: http://react-dnd.github.io/react-dnd/docs-drag-source-monitor.html');\n try {\n isCallingIsDragging = true;\n return this.internalMonitor.isDraggingSource(this.sourceId);\n }\n finally {\n isCallingIsDragging = false;\n }\n };\n SourceMonitor.prototype.subscribeToStateChange = function (listener, options) {\n return this.internalMonitor.subscribeToStateChange(listener, options);\n };\n SourceMonitor.prototype.isDraggingSource = function (sourceId) {\n return this.internalMonitor.isDraggingSource(sourceId);\n };\n SourceMonitor.prototype.isOverTarget = function (targetId, options) {\n return this.internalMonitor.isOverTarget(targetId, options);\n };\n SourceMonitor.prototype.getTargetIds = function () {\n return this.internalMonitor.getTargetIds();\n };\n SourceMonitor.prototype.isSourcePublic = function () {\n return this.internalMonitor.isSourcePublic();\n };\n SourceMonitor.prototype.getSourceId = function () {\n return this.internalMonitor.getSourceId();\n };\n SourceMonitor.prototype.subscribeToOffsetChange = function (listener) {\n return this.internalMonitor.subscribeToOffsetChange(listener);\n };\n SourceMonitor.prototype.canDragSource = function (sourceId) {\n return this.internalMonitor.canDragSource(sourceId);\n };\n SourceMonitor.prototype.canDropOnTarget = function (targetId) {\n return this.internalMonitor.canDropOnTarget(targetId);\n };\n SourceMonitor.prototype.getItemType = function () {\n return this.internalMonitor.getItemType();\n };\n SourceMonitor.prototype.getItem = function () {\n return this.internalMonitor.getItem();\n };\n SourceMonitor.prototype.getDropResult = function () {\n return this.internalMonitor.getDropResult();\n };\n SourceMonitor.prototype.didDrop = function () {\n return this.internalMonitor.didDrop();\n };\n SourceMonitor.prototype.getInitialClientOffset = function () {\n return this.internalMonitor.getInitialClientOffset();\n };\n SourceMonitor.prototype.getInitialSourceClientOffset = function () {\n return this.internalMonitor.getInitialSourceClientOffset();\n };\n SourceMonitor.prototype.getSourceClientOffset = function () {\n return this.internalMonitor.getSourceClientOffset();\n };\n SourceMonitor.prototype.getClientOffset = function () {\n return this.internalMonitor.getClientOffset();\n };\n SourceMonitor.prototype.getDifferenceFromInitialOffset = function () {\n return this.internalMonitor.getDifferenceFromInitialOffset();\n };\n return SourceMonitor;\n}());\nfunction createSourceMonitor(manager) {\n return new SourceMonitor(manager);\n}\nexports.default = createSourceMonitor;\n//# sourceMappingURL=createSourceMonitor.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar wrapConnectorHooks_1 = __importDefault(require(\"./wrapConnectorHooks\"));\nvar shallowEqual = require('shallowequal');\nfunction createTargetConnector(backend) {\n var currentHandlerId;\n var currentDropTargetNode;\n var currentDropTargetOptions;\n var disconnectCurrentDropTarget;\n function reconnectDropTarget() {\n if (disconnectCurrentDropTarget) {\n disconnectCurrentDropTarget();\n disconnectCurrentDropTarget = undefined;\n }\n if (currentHandlerId && currentDropTargetNode) {\n disconnectCurrentDropTarget = backend.connectDropTarget(currentHandlerId, currentDropTargetNode, currentDropTargetOptions);\n }\n }\n function receiveHandlerId(handlerId) {\n if (handlerId === currentHandlerId) {\n return;\n }\n currentHandlerId = handlerId;\n reconnectDropTarget();\n }\n var hooks = wrapConnectorHooks_1.default({\n dropTarget: function connectDropTarget(node, options) {\n if (node === currentDropTargetNode &&\n shallowEqual(options, currentDropTargetOptions)) {\n return;\n }\n currentDropTargetNode = node;\n currentDropTargetOptions = options;\n reconnectDropTarget();\n },\n });\n return {\n receiveHandlerId: receiveHandlerId,\n hooks: hooks,\n };\n}\nexports.default = createTargetConnector;\n//# sourceMappingURL=createTargetConnector.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar invariant_1 = __importDefault(require(\"invariant\"));\nvar isPlainObject_1 = __importDefault(require(\"lodash/isPlainObject\"));\nvar ALLOWED_SPEC_METHODS = ['canDrop', 'hover', 'drop'];\nfunction createTargetFactory(spec) {\n Object.keys(spec).forEach(function (key) {\n invariant_1.default(ALLOWED_SPEC_METHODS.indexOf(key) > -1, 'Expected the drop target specification to only have ' +\n 'some of the following keys: %s. ' +\n 'Instead received a specification with an unexpected \"%s\" key. ' +\n 'Read more: http://react-dnd.github.io/react-dnd/docs-drop-target.html', ALLOWED_SPEC_METHODS.join(', '), key);\n invariant_1.default(typeof spec[key] === 'function', 'Expected %s in the drop target specification to be a function. ' +\n 'Instead received a specification with %s: %s. ' +\n 'Read more: http://react-dnd.github.io/react-dnd/docs-drop-target.html', key, key, spec[key]);\n });\n var TargetImpl = /** @class */ (function () {\n function TargetImpl(monitor) {\n this.monitor = monitor;\n this.props = null;\n this.component = null;\n }\n TargetImpl.prototype.receiveProps = function (props) {\n this.props = props;\n };\n TargetImpl.prototype.receiveMonitor = function (monitor) {\n this.monitor = monitor;\n };\n TargetImpl.prototype.receiveComponent = function (component) {\n this.component = component;\n };\n TargetImpl.prototype.canDrop = function () {\n if (!spec.canDrop) {\n return true;\n }\n return spec.canDrop(this.props, this.monitor);\n };\n TargetImpl.prototype.hover = function () {\n if (!spec.hover) {\n return;\n }\n spec.hover(this.props, this.monitor, this.component);\n };\n TargetImpl.prototype.drop = function () {\n if (!spec.drop) {\n return undefined;\n }\n var dropResult = spec.drop(this.props, this.monitor, this.component);\n if (process.env.NODE_ENV !== 'production') {\n invariant_1.default(typeof dropResult === 'undefined' || isPlainObject_1.default(dropResult), 'drop() must either return undefined, or an object that represents the drop result. ' +\n 'Instead received %s. ' +\n 'Read more: http://react-dnd.github.io/react-dnd/docs-drop-target.html', dropResult);\n }\n return dropResult;\n };\n return TargetImpl;\n }());\n return function createTarget(monitor) {\n return new TargetImpl(monitor);\n };\n}\nexports.default = createTargetFactory;\n//# sourceMappingURL=createTargetFactory.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar invariant_1 = __importDefault(require(\"invariant\"));\nvar isCallingCanDrop = false;\nvar TargetMonitor = /** @class */ (function () {\n function TargetMonitor(manager) {\n this.internalMonitor = manager.getMonitor();\n }\n TargetMonitor.prototype.receiveHandlerId = function (targetId) {\n this.targetId = targetId;\n };\n TargetMonitor.prototype.canDrop = function () {\n invariant_1.default(!isCallingCanDrop, 'You may not call monitor.canDrop() inside your canDrop() implementation. ' +\n 'Read more: http://react-dnd.github.io/react-dnd/docs-drop-target-monitor.html');\n try {\n isCallingCanDrop = true;\n return this.internalMonitor.canDropOnTarget(this.targetId);\n }\n finally {\n isCallingCanDrop = false;\n }\n };\n TargetMonitor.prototype.isOver = function (options) {\n return this.internalMonitor.isOverTarget(this.targetId, options);\n };\n TargetMonitor.prototype.getItemType = function () {\n return this.internalMonitor.getItemType();\n };\n TargetMonitor.prototype.getItem = function () {\n return this.internalMonitor.getItem();\n };\n TargetMonitor.prototype.getDropResult = function () {\n return this.internalMonitor.getDropResult();\n };\n TargetMonitor.prototype.didDrop = function () {\n return this.internalMonitor.didDrop();\n };\n TargetMonitor.prototype.getInitialClientOffset = function () {\n return this.internalMonitor.getInitialClientOffset();\n };\n TargetMonitor.prototype.getInitialSourceClientOffset = function () {\n return this.internalMonitor.getInitialSourceClientOffset();\n };\n TargetMonitor.prototype.getSourceClientOffset = function () {\n return this.internalMonitor.getSourceClientOffset();\n };\n TargetMonitor.prototype.getClientOffset = function () {\n return this.internalMonitor.getClientOffset();\n };\n TargetMonitor.prototype.getDifferenceFromInitialOffset = function () {\n return this.internalMonitor.getDifferenceFromInitialOffset();\n };\n return TargetMonitor;\n}());\nexports.TargetMonitor = TargetMonitor;\nfunction createTargetMonitor(manager) {\n return new TargetMonitor(manager);\n}\nexports.default = createTargetMonitor;\n//# sourceMappingURL=createTargetMonitor.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result[\"default\"] = mod;\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar React = __importStar(require(\"react\"));\nvar prop_types_1 = __importDefault(require(\"prop-types\"));\nvar isPlainObject_1 = __importDefault(require(\"lodash/isPlainObject\"));\nvar invariant_1 = __importDefault(require(\"invariant\"));\nvar hoist_non_react_statics_1 = __importDefault(require(\"hoist-non-react-statics\"));\nvar shallowEqual = require('shallowequal');\nvar _a = require('disposables'), Disposable = _a.Disposable, CompositeDisposable = _a.CompositeDisposable, SerialDisposable = _a.SerialDisposable;\nvar isClassComponent = function (Comp) {\n return (!!Comp && !!Comp.prototype && typeof Comp.prototype.render === 'function');\n};\nfunction decorateHandler(_a) {\n var DecoratedComponent = _a.DecoratedComponent, createHandler = _a.createHandler, createMonitor = _a.createMonitor, createConnector = _a.createConnector, registerHandler = _a.registerHandler, containerDisplayName = _a.containerDisplayName, getType = _a.getType, collect = _a.collect, options = _a.options;\n var _b = options.arePropsEqual, arePropsEqual = _b === void 0 ? shallowEqual : _b;\n var displayName = DecoratedComponent.displayName || DecoratedComponent.name || 'Component';\n var DragDropContainer = /** @class */ (function (_super) {\n __extends(DragDropContainer, _super);\n function DragDropContainer(props, context) {\n var _this = _super.call(this, props, context) || this;\n _this.isCurrentlyMounted = false;\n _this.handleChange = _this.handleChange.bind(_this);\n _this.handleChildRef = _this.handleChildRef.bind(_this);\n invariant_1.default(typeof _this.context.dragDropManager === 'object', 'Could not find the drag and drop manager in the context of %s. ' +\n 'Make sure to wrap the top-level component of your app with DragDropContext. ' +\n 'Read more: http://react-dnd.github.io/react-dnd/docs-troubleshooting.html#could-not-find-the-drag-and-drop-manager-in-the-context', displayName, displayName);\n _this.manager = _this.context.dragDropManager;\n _this.handlerMonitor = createMonitor(_this.manager);\n _this.handlerConnector = createConnector(_this.manager.getBackend());\n _this.handler = createHandler(_this.handlerMonitor);\n _this.disposable = new SerialDisposable();\n _this.receiveProps(props);\n _this.state = _this.getCurrentState();\n _this.dispose();\n return _this;\n }\n DragDropContainer.prototype.getHandlerId = function () {\n return this.handlerId;\n };\n DragDropContainer.prototype.getDecoratedComponentInstance = function () {\n return this.decoratedComponentInstance;\n };\n DragDropContainer.prototype.shouldComponentUpdate = function (nextProps, nextState) {\n return (!arePropsEqual(nextProps, this.props) ||\n !shallowEqual(nextState, this.state));\n };\n DragDropContainer.prototype.componentDidMount = function () {\n this.isCurrentlyMounted = true;\n this.disposable = new SerialDisposable();\n this.currentType = undefined;\n this.receiveProps(this.props);\n this.handleChange();\n };\n DragDropContainer.prototype.componentWillReceiveProps = function (nextProps) {\n if (!arePropsEqual(nextProps, this.props)) {\n this.receiveProps(nextProps);\n this.handleChange();\n }\n };\n DragDropContainer.prototype.componentWillUnmount = function () {\n this.dispose();\n this.isCurrentlyMounted = false;\n };\n DragDropContainer.prototype.receiveProps = function (props) {\n this.handler.receiveProps(props);\n this.receiveType(getType(props));\n };\n DragDropContainer.prototype.receiveType = function (type) {\n if (type === this.currentType) {\n return;\n }\n this.currentType = type;\n var _a = registerHandler(type, this.handler, this.manager), handlerId = _a.handlerId, unregister = _a.unregister;\n this.handlerId = handlerId;\n this.handlerMonitor.receiveHandlerId(handlerId);\n this.handlerConnector.receiveHandlerId(handlerId);\n var globalMonitor = this.manager.getMonitor();\n var unsubscribe = globalMonitor.subscribeToStateChange(this.handleChange, { handlerIds: [handlerId] });\n this.disposable.setDisposable(new CompositeDisposable(new Disposable(unsubscribe), new Disposable(unregister)));\n };\n DragDropContainer.prototype.handleChange = function () {\n if (!this.isCurrentlyMounted) {\n return;\n }\n var nextState = this.getCurrentState();\n if (!shallowEqual(nextState, this.state)) {\n this.setState(nextState);\n }\n };\n DragDropContainer.prototype.dispose = function () {\n this.disposable.dispose();\n this.handlerConnector.receiveHandlerId(null);\n };\n DragDropContainer.prototype.handleChildRef = function (component) {\n this.decoratedComponentInstance = component;\n this.handler.receiveComponent(component);\n };\n DragDropContainer.prototype.getCurrentState = function () {\n var nextState = collect(this.handlerConnector.hooks, this.handlerMonitor);\n if (process.env.NODE_ENV !== 'production') {\n invariant_1.default(isPlainObject_1.default(nextState), 'Expected `collect` specified as the second argument to ' +\n '%s for %s to return a plain object of props to inject. ' +\n 'Instead, received %s.', containerDisplayName, displayName, nextState);\n }\n return nextState;\n };\n DragDropContainer.prototype.render = function () {\n return (React.createElement(DecoratedComponent, __assign({}, this.props, this.state, { ref: isClassComponent(DecoratedComponent) ? this.handleChildRef : null })));\n };\n DragDropContainer.DecoratedComponent = DecoratedComponent;\n DragDropContainer.displayName = containerDisplayName + \"(\" + displayName + \")\";\n DragDropContainer.contextTypes = {\n dragDropManager: prop_types_1.default.object.isRequired,\n };\n return DragDropContainer;\n }(React.Component));\n return hoist_non_react_statics_1.default(DragDropContainer, DecoratedComponent);\n}\nexports.default = decorateHandler;\n//# sourceMappingURL=decorateHandler.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar DragDropContext_1 = require(\"./DragDropContext\");\nexports.DragDropContext = DragDropContext_1.default;\nvar DragDropContextProvider_1 = require(\"./DragDropContextProvider\");\nexports.DragDropContextProvider = DragDropContextProvider_1.default;\nvar DragLayer_1 = require(\"./DragLayer\");\nexports.DragLayer = DragLayer_1.default;\nvar DragSource_1 = require(\"./DragSource\");\nexports.DragSource = DragSource_1.default;\nvar DropTarget_1 = require(\"./DropTarget\");\nexports.DropTarget = DropTarget_1.default;\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction registerSource(type, source, manager) {\n var registry = manager.getRegistry();\n var sourceId = registry.addSource(type, source);\n function unregisterSource() {\n registry.removeSource(sourceId);\n }\n return {\n handlerId: sourceId,\n unregister: unregisterSource,\n };\n}\nexports.default = registerSource;\n//# sourceMappingURL=registerSource.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction registerTarget(type, target, manager) {\n var registry = manager.getRegistry();\n var targetId = registry.addTarget(type, target);\n function unregisterTarget() {\n registry.removeTarget(targetId);\n }\n return {\n handlerId: targetId,\n unregister: unregisterTarget,\n };\n}\nexports.default = registerTarget;\n//# sourceMappingURL=registerTarget.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction checkDecoratorArguments(functionName, signature) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n if (process.env.NODE_ENV !== 'production') {\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var arg = args_1[_a];\n if (arg && arg.prototype && arg.prototype.render) {\n // tslint:disable-next-line no-console\n console.error('You seem to be applying the arguments in the wrong order. ' +\n (\"It should be \" + functionName + \"(\" + signature + \")(Component), not the other way around. \") +\n 'Read more: http://react-dnd.github.io/react-dnd/docs-troubleshooting.html#you-seem-to-be-applying-the-arguments-in-the-wrong-order');\n return;\n }\n }\n }\n}\nexports.default = checkDecoratorArguments;\n//# sourceMappingURL=checkDecoratorArguments.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar invariant_1 = __importDefault(require(\"invariant\"));\nvar react_1 = require(\"react\");\nfunction cloneWithRef(element, newRef) {\n var previousRef = element.ref;\n invariant_1.default(typeof previousRef !== 'string', 'Cannot connect React DnD to an element with an existing string ref. ' +\n 'Please convert it to use a callback ref instead, or wrap it into a or
. ' +\n 'Read more: https://facebook.github.io/react/docs/more-about-refs.html#the-ref-callback-attribute');\n if (!previousRef) {\n // When there is no ref on the element, use the new ref directly\n return react_1.cloneElement(element, {\n ref: newRef,\n });\n }\n return react_1.cloneElement(element, {\n ref: function (node) {\n newRef(node);\n if (previousRef) {\n previousRef(node);\n }\n },\n });\n}\nexports.default = cloneWithRef;\n//# sourceMappingURL=cloneWithRef.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar isArray_1 = __importDefault(require(\"lodash/isArray\"));\nfunction isValidType(type, allowArray) {\n return (typeof type === 'string' ||\n typeof type === 'symbol' ||\n (!!allowArray && isArray_1.default(type) && type.every(function (t) { return isValidType(t, false); })));\n}\nexports.default = isValidType;\n//# sourceMappingURL=isValidType.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_1 = require(\"react\");\nvar cloneWithRef_1 = __importDefault(require(\"./utils/cloneWithRef\"));\nfunction throwIfCompositeComponentElement(element) {\n // Custom components can no longer be wrapped directly in React DnD 2.0\n // so that we don't need to depend on findDOMNode() from react-dom.\n if (typeof element.type === 'string') {\n return;\n }\n var displayName = element.type.displayName || element.type.name || 'the component';\n throw new Error('Only native element nodes can now be passed to React DnD connectors.' +\n (\"You can either wrap \" + displayName + \" into a
, or turn it into a \") +\n 'drag source or a drop target itself.');\n}\nfunction wrapHookToRecognizeElement(hook) {\n return function (elementOrNode, options) {\n if (elementOrNode === void 0) { elementOrNode = null; }\n if (options === void 0) { options = null; }\n // When passed a node, call the hook straight away.\n if (!react_1.isValidElement(elementOrNode)) {\n var node = elementOrNode;\n hook(node, options);\n return undefined;\n }\n // If passed a ReactElement, clone it and attach this function as a ref.\n // This helps us achieve a neat API where user doesn't even know that refs\n // are being used under the hood.\n var element = elementOrNode;\n throwIfCompositeComponentElement(element);\n // When no options are passed, use the hook directly\n var ref = options ? function (node) { return hook(node, options); } : hook;\n return cloneWithRef_1.default(element, ref);\n };\n}\nfunction wrapConnectorHooks(hooks) {\n var wrappedHooks = {};\n Object.keys(hooks).forEach(function (key) {\n var hook = hooks[key];\n var wrappedHook = wrapHookToRecognizeElement(hook);\n wrappedHooks[key] = function () { return wrappedHook; };\n });\n return wrappedHooks;\n}\nexports.default = wrapConnectorHooks;\n//# sourceMappingURL=wrapConnectorHooks.js.map","'use strict';\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\n\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = getPrototypeOf && getPrototypeOf(Object);\n\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') { // don't hoist over string (html) components\n\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (!REACT_STATICS[key] && !KNOWN_STATICS[key] && (!blacklist || !blacklist[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n try { // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n\n return targetComponent;\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar _pt = require('prop-types');\nvar React = require('react');\nvar Modal = require('react-modal');\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nvar _pt__default = /*#__PURE__*/_interopDefaultLegacy(_pt);\nvar React__default = /*#__PURE__*/_interopDefaultLegacy(React);\nvar Modal__default = /*#__PURE__*/_interopDefaultLegacy(Modal);\n\nvar CLOSE_TIMEOUT = 500;\nfunction ReactSlidingPane(_ref) {\n var isOpen = _ref.isOpen,\n title = _ref.title,\n subtitle = _ref.subtitle,\n onRequestClose = _ref.onRequestClose,\n onAfterOpen = _ref.onAfterOpen,\n onAfterClose = _ref.onAfterClose,\n children = _ref.children,\n className = _ref.className,\n overlayClassName = _ref.overlayClassName,\n closeIcon = _ref.closeIcon,\n _ref$from = _ref.from,\n from = _ref$from === void 0 ? \"right\" : _ref$from,\n width = _ref.width,\n shouldCloseOnEsc = _ref.shouldCloseOnEsc,\n _ref$hideHeader = _ref.hideHeader,\n hideHeader = _ref$hideHeader === void 0 ? false : _ref$hideHeader;\n var directionClass = \"slide-pane_from_\".concat(from); // Reduce bundle size by removing polyfill if array destruction\n\n var state = React__default['default'].useState(false);\n var wasOpen = state[0];\n var setWasOpen = state[1];\n var handleAfterOpen = React__default['default'].useCallback(function () {\n setTimeout(function () {\n setWasOpen(true);\n onAfterOpen === null || onAfterOpen === void 0 ? void 0 : onAfterOpen();\n }, 0);\n }, [onAfterOpen]);\n var handleAfterClose = React__default['default'].useCallback(function () {\n setTimeout(function () {\n setWasOpen(false);\n onAfterClose === null || onAfterClose === void 0 ? void 0 : onAfterClose();\n }, 0);\n }, [onAfterClose]);\n return /*#__PURE__*/React__default['default'].createElement(Modal__default['default'], {\n ariaHideApp: false,\n overlayClassName: {\n base: \"slide-pane__overlay \".concat(overlayClassName || \"\"),\n afterOpen: wasOpen ? \"overlay-after-open\" : '',\n beforeClose: \"overlay-before-close\"\n },\n className: {\n base: \"slide-pane \".concat(directionClass, \" \").concat(className || \"\"),\n afterOpen: wasOpen ? \"content-after-open\" : '',\n beforeClose: \"content-before-close\"\n },\n style: {\n content: {\n width: width || \"80%\"\n }\n },\n closeTimeoutMS: CLOSE_TIMEOUT,\n isOpen: isOpen,\n shouldCloseOnEsc: shouldCloseOnEsc,\n onAfterOpen: handleAfterOpen,\n onAfterClose: handleAfterClose,\n onRequestClose: onRequestClose,\n contentLabel: \"Modal \\\"\".concat(title || \"\", \"\\\"\")\n }, !hideHeader && /*#__PURE__*/React__default['default'].createElement(\"div\", {\n className: \"slide-pane__header\"\n }, /*#__PURE__*/React__default['default'].createElement(\"div\", {\n className: \"slide-pane__close\",\n onClick: onRequestClose\n }, closeIcon || /*#__PURE__*/React__default['default'].createElement(IconClose, null)), /*#__PURE__*/React__default['default'].createElement(\"div\", {\n className: \"slide-pane__title-wrapper\"\n }, /*#__PURE__*/React__default['default'].createElement(\"h2\", {\n className: \"slide-pane__title\"\n }, title), /*#__PURE__*/React__default['default'].createElement(\"div\", {\n className: \"slide-pane__subtitle\"\n }, subtitle))), /*#__PURE__*/React__default['default'].createElement(\"div\", {\n className: \"slide-pane__content\"\n }, children));\n}\nReactSlidingPane.propTypes = {\n isOpen: _pt__default['default'].bool.isRequired,\n title: _pt__default['default'].node,\n subtitle: _pt__default['default'].node,\n from: _pt__default['default'].oneOf([\"left\", \"right\", \"bottom\"]),\n children: _pt__default['default'].node.isRequired,\n className: _pt__default['default'].string,\n overlayClassName: _pt__default['default'].string,\n width: _pt__default['default'].string,\n closeIcon: _pt__default['default'].node,\n shouldCloseOnEsc: _pt__default['default'].bool,\n hideHeader: _pt__default['default'].bool,\n onRequestClose: _pt__default['default'].func.isRequired,\n onAfterOpen: _pt__default['default'].func,\n onAfterClose: _pt__default['default'].func\n};\n\nfunction IconClose() {\n return /*#__PURE__*/React__default['default'].createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 13 22\"\n }, /*#__PURE__*/React__default['default'].createElement(\"path\", {\n fill: \"currentColor\",\n fillRule: \"evenodd\",\n d: \"M4 11l8 8c.6.5.6 1.5 0 2-.5.6-1.5.6-2 0l-9-9c-.6-.5-.6-1.5 0-2l9-9c.5-.6 1.5-.6 2 0 .6.5.6 1.5 0 2l-8 8z\"\n }));\n}\n\nexports.ReactSlidingPane = ReactSlidingPane;\nexports.default = ReactSlidingPane;\n","//\n\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n if (ret !== void 0) {\n return !!ret;\n }\n\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\n // Test for A's keys different from B.\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key)) {\n return false;\n }\n\n var valueA = objA[key];\n var valueB = objB[key];\n\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n if (ret === false || (ret === void 0 && valueA !== valueB)) {\n return false;\n }\n }\n\n return true;\n};\n","/* global window */\nimport ponyfill from './ponyfill.js';\n\nvar root;\n\nif (typeof self !== 'undefined') {\n root = self;\n} else if (typeof window !== 'undefined') {\n root = window;\n} else if (typeof global !== 'undefined') {\n root = global;\n} else if (typeof module !== 'undefined') {\n root = module;\n} else {\n root = Function('return this')();\n}\n\nvar result = ponyfill(root);\nexport default result;\n","export default function symbolObservablePonyfill(root) {\n\tvar result;\n\tvar Symbol = root.Symbol;\n\n\tif (typeof Symbol === 'function') {\n\t\tif (Symbol.observable) {\n\t\t\tresult = Symbol.observable;\n\t\t} else {\n\t\t\tresult = Symbol('observable');\n\t\t\tSymbol.observable = result;\n\t\t}\n\t} else {\n\t\tresult = '@@observable';\n\t}\n\n\treturn result;\n};\n"],"names":["rawAsap","freeTasks","pendingErrors","requestErrorThrow","makeRequestCallFromTimer","length","shift","asap","task","rawTask","pop","RawTask","this","module","exports","prototype","call","error","onerror","push","queue","requestFlush","index","flush","currentIndex","scan","newLength","toggle","observer","node","scope","g","self","BrowserMutationObserver","MutationObserver","WebKitMutationObserver","callback","timeoutHandle","setTimeout","handleTimer","intervalHandle","setInterval","clearTimeout","clearInterval","document","createTextNode","observe","characterData","data","_typeof","obj","Symbol","iterator","constructor","boundMethod","target","key","descriptor","fn","value","TypeError","concat","definingProperty","configurable","get","hasOwnProperty","boundFn","bind","Object","defineProperty","set","boundClass","keys","Reflect","ownKeys","getOwnPropertyNames","getOwnPropertySymbols","forEach","getOwnPropertyDescriptor","autobind","arguments","apply","__esModule","_isDisposable","_isDisposable2","CompositeDisposable","_len","disposables","Array","_key","instance","Constructor","_classCallCheck","isArray","i","Error","isDisposed","add","item","dispose","remove","indexOf","splice","len","currentDisposables","_createClass","defineProperties","props","enumerable","writable","protoProps","staticProps","noop","Disposable","action","SerialDisposable","current","getDisposable","setDisposable","undefined","previous","_interopRequireDefault","_isDisposable3","isDisposable","_Disposable3","_CompositeDisposable3","_SerialDisposable3","Boolean","__importDefault","mod","redux_1","reducers_1","dragDrop_1","DragDropMonitorImpl_1","HandlerRegistryImpl_1","DragDropManagerImpl","createBackend","context","isSetUp","store","createStore","default","monitor","backend","subscribe","handleRefCountChange","getContext","getMonitor","getBackend","getRegistry","registry","getActions","manager","dispatch","actions","reduce","boundActions","actionCreator","args","_i","shouldSetUp","getState","refCount","setup","teardown","invariant_1","isArray_1","matchesType_1","coords_1","dirtiness_1","DragDropMonitorImpl","subscribeToStateChange","listener","options","_this","handlerIds","prevStateId","stateId","state","currentStateId","areDirty","dirtyHandlerIds","subscribeToOffsetChange","previousState","dragOffset","nextState","canDragSource","sourceId","source","getSource","isDragging","canDrag","canDropOnTarget","targetId","getTarget","didDrop","targetType","getTargetType","draggedItemType","getItemType","canDrop","isDraggingSource","isSourcePublic","getSourceType","isOverTarget","shallow","targetIds","getTargetIds","dragOperation","itemType","getItem","getSourceId","getDropResult","dropResult","getInitialClientOffset","initialClientOffset","getInitialSourceClientOffset","initialSourceClientOffset","getClientOffset","clientOffset","getSourceClientOffset","getDifferenceFromInitialOffset","registry_1","getNextUniqueId_1","interfaces_1","contracts_1","parseRoleFromHandlerId","handlerId","HandlerRole","SOURCE","TARGET","HandlerRegistryImpl","types","dragSources","dropTargets","pinnedSourceId","pinnedSource","addSource","type","validateType","validateSourceContract","addHandler","addTarget","validateTargetContract","containsHandler","handler","some","includePinned","isSourceId","isTargetId","removeSource","removeTarget","pinSource","unpinSource","role","id","toString","getNextHandlerId","__assign","assign","t","s","n","p","isObject_1","BEGIN_DRAG","PUBLISH_DRAG_SOURCE","HOVER","DROP","END_DRAG","beginDrag","sourceIds","_a","_b","publishSource","sourceIds_1","sourceClientOffset","payload","publishDragSource","hover","targetIdsArg","slice","lastIndexOf","targetIds_1","drop","filter","reverse","endDrag","ADD_SOURCE","ADD_TARGET","REMOVE_SOURCE","REMOVE_TARGET","allowArray","DragDropManagerImpl_1","createDragDropManager","__export","m","xor_1","equality_1","NONE","ALL","_c","prevTargetIds","result","areArraysEqual","prevInnermostTargetId","innermostTargetId","initialState","areCoordsEqual","without_1","get_1","dragOffset_1","dragOperation_1","refCount_1","dirtyHandlerIds_1","stateId_1","a","b","x","y","subtract","intersection_1","dirtyIds","strictEquality","offsetA","offsetB","isEqual","nextUniqueId","randomString","Math","random","substring","split","join","ActionTypes","INIT","REPLACE","PROBE_UNKNOWN_ACTION","isPlainObject","proto","getPrototypeOf","reducer","preloadedState","enhancer","_ref2","currentReducer","currentState","currentListeners","nextListeners","isDispatching","ensureCanMutateNextListeners","isSubscribed","listeners","replaceReducer","nextReducer","_ref","outerSubscribe","observeState","next","unsubscribe","getUndefinedStateErrorMessage","actionType","String","combineReducers","reducers","reducerKeys","finalReducers","shapeAssertionError","finalReducerKeys","assertReducerShape","e","hasChanged","previousStateForKey","nextStateForKey","errorMessage","bindActionCreator","bindActionCreators","actionCreators","boundActionCreators","_defineProperty","compose","funcs","arg","applyMiddleware","middlewares","_dispatch","middlewareAPI","chain","map","middleware","sym","_objectSpread","stringifiable","isProduction","process","invariant","condition","message","getAllKeys","copy","object","Map","Set","create","Context","commands","defaultCommands","update","extend","isEquals","newContext","directive","$spec","spec","$apply","nextObject","objectWasNextObject","nextValueForKey","nextObjectValue","$push","invariantPushAndUnshift","$unshift","$splice","originalObject","invariantSplice","invariantSplices","$set","_nextObject","invariantSet","$toggle","targets","invariantSpecArray","nextObjectCopy","$unset","_spec","$add","values","invariantMapOrSet","has","$remove","delete","$merge","specValue","original","defaultContext","command","typeOfTarget","baseCreate","baseLodash","LazyWrapper","__wrapped__","__actions__","__dir__","__filtered__","__iteratees__","__takeCount__","__views__","LodashWrapper","chainAll","__chain__","__index__","__values__","SetCache","arrayIncludes","arrayIncludesWith","arrayMap","baseUnary","cacheHas","nativeMin","min","arrays","iteratee","comparator","includes","othLength","othIndex","caches","maxLength","Infinity","array","seen","outer","computed","cache","baseDifference","baseFlatten","baseUniq","isArrayLikeObject","flatRest","getData","getFuncName","isLaziable","fromRight","prereq","thru","func","wrapper","funcName","plant","flatten","overRest","setToString","metaMap","realNames","name","otherFunc","lodash","other","WeakMap","copyArray","clone","baseRest","eq","isIterateeCall","keysIn","objectProto","defaults","sources","guard","propsIndex","propsLength","flow","createFlow","baseIntersection","castArrayLikeObject","intersection","mapped","union","without","isObjectLike","wrapperClone","arrayFilter","baseXor","xor","memoize","isFirefox","test","navigator","userAgent","isSafari","window","safari","union_1","EnterLeaveCounter","entered","enter","enteringNode","previousLength","documentElement","contains","leave","leavingNode","reset","__decorate","decorators","desc","d","c","r","decorate","__importStar","k","defaults_1","EnterLeaveCounter_1","BrowserDetector_1","OffsetUtils_1","NativeDragSources_1","NativeTypes","autobind_decorator_1","shallowEqual","HTML5Backend","sourcePreviewNodes","sourcePreviewNodeOptions","sourceNodes","sourceNodeOptions","enterLeaveCounter","dragStartSourceIds","dropTargetIds","dragEnterTargetIds","currentNativeSource","currentNativeHandle","currentDragSourceNode","currentDragSourceNodeOffset","currentDragSourceNodeOffsetChanged","altKeyPressed","mouseMoveTimeoutTimer","asyncEndDragFrameId","dragOverTargetIds","__isReactDndBackendSetUp","addEventListeners","removeEventListeners","clearCurrentDragSourceNode","cancelAnimationFrame","connectDragPreview","connectDragSource","handleDragStart","handleSelectStart","setAttribute","addEventListener","removeEventListener","connectDropTarget","handleDragEnter","handleDragOver","handleDrop","handleTopDragStart","handleTopDragStartCapture","handleTopDragEndCapture","handleTopDragEnter","handleTopDragEnterCapture","handleTopDragLeaveCapture","handleTopDragOver","handleTopDragOverCapture","handleTopDrop","handleTopDropCapture","getCurrentSourceNodeOptions","dropEffect","getCurrentDropEffect","isDraggingNativeItem","getCurrentSourcePreviewNodeOptions","anchorX","anchorY","captureDraggingState","getNodeClientOffset","beginDragNativeItem","SourceType","createNativeDragSource","asyncEndDragNativeItem","requestAnimationFrame","endDragNativeItem","isNodeInDocument","body","endDragIfSourceWasRemovedFromDOM","setCurrentDragSourceNode","mouseMoveTimeoutId","checkIfCurrentDragSourceRectChanged","unshift","getEventClientOffset","dataTransfer","nativeType","matchNativeItemType","setDragImage","sourceNode","dragPreview","anchorPoint","offsetPoint","offsetX","offsetY","dragPreviewOffset","getDragPreviewOffset","setData","err","hasAttribute","preventDefault","altKey","mutateItemByReadingDataTransfer","dragDrop","tagName","isContentEditable","MonotonicInterpolant","xs","ys","indexes","sort","dx","dy","dys","dxs","ms","c1s","m2","mNext","dxNext","common","c2s","c3s","c1","invDx","interpolate","mid","low","high","xHere","floor","diff","max","diffSq","getDataFromDataTransfer","typesToTry","defaultValue","resultSoFar","typeToTry","nativeTypesConfig","FILE","exposeProperty","matchesTypes","files","URL","TEXT","NativeDragSource","console","warn","handle","dataTransferTypes","nativeItemType","MonotonicInterpolant_1","ELEMENT_NODE","el","nodeType","parentElement","getBoundingClientRect","top","left","clientX","clientY","isImage","nodeName","dragPreviewNodeOffsetFromClient","offsetFromDragPreview","sourceWidth","offsetWidth","sourceHeight","offsetHeight","dragPreviewWidth","width","dragPreviewHeight","height","devicePixelRatio","getDragPreviewSize","isManualOffsetY","emptyImage","Image","src","HTML5Backend_1","getEmptyImage_1","getEmptyImage","extendStatics","__extends","setPrototypeOf","__proto__","__","react_1","prop_types_1","dnd_core_1","hoist_non_react_statics_1","checkDecoratorArguments_1","createChildContext","dragDropManager","CHILD_CONTEXT_TYPES","isRequired","backendFactory","childContext","DecoratedComponent","displayName","DragDropContextContainer","_super","getDecoratedComponentInstance","child","getManager","getChildContext","render","createElement","ref","childContextTypes","Component","DragDropContext_1","DragDropContextProviderImpl","componentWillReceiveProps","nextProps","Children","only","children","propTypes","oneOfType","element","defaultProps","isPlainObject_1","collect","arePropsEqual","DragLayerContainer","isCurrentlyMounted","handleChange","getCurrentState","shouldComponentUpdate","componentDidMount","unsubscribeFromOffsetChange","unsubscribeFromStateChange","componentWillUnmount","setState","contextTypes","decorateHandler_1","registerSource_1","createSourceFactory_1","createSourceMonitor_1","createSourceConnector_1","isValidType_1","getType","createSource","containerDisplayName","createHandler","registerHandler","createMonitor","createConnector","registerTarget_1","createTargetFactory_1","createTargetMonitor_1","createTargetConnector_1","createTarget","wrapConnectorHooks_1","currentHandlerId","currentDragSourceOptions","disconnectCurrentDragSource","currentDragPreviewNode","currentDragPreviewOptions","disconnectCurrentDragPreview","reconnectDragSource","reconnectDragPreview","receiveHandlerId","hooks","dragSource","ALLOWED_SPEC_METHODS","REQUIRED_SPEC_METHODS","SourceImpl","receiveProps","receiveComponent","component","globalMonitor","isCallingCanDrag","isCallingIsDragging","SourceMonitor","internalMonitor","currentDropTargetNode","currentDropTargetOptions","disconnectCurrentDropTarget","reconnectDropTarget","dropTarget","TargetImpl","receiveMonitor","isCallingCanDrop","TargetMonitor","isOver","React","DragDropContainer","handleChildRef","handlerMonitor","handlerConnector","disposable","getHandlerId","decoratedComponentInstance","currentType","receiveType","unregister","Comp","DragDropContext","DragDropContextProvider_1","DragDropContextProvider","DragLayer_1","DragLayer","DragSource_1","DragSource","DropTarget_1","DropTarget","functionName","signature","newRef","previousRef","cloneElement","isValidType","every","cloneWithRef_1","wrapHookToRecognizeElement","hook","elementOrNode","isValidElement","throwIfCompositeComponentElement","wrappedHooks","wrappedHook","REACT_STATICS","getDefaultProps","getDerivedStateFromProps","mixins","KNOWN_STATICS","caller","callee","arity","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","_pt","Modal","_interopDefaultLegacy","_pt__default","React__default","Modal__default","ReactSlidingPane","isOpen","title","subtitle","onRequestClose","onAfterOpen","onAfterClose","className","overlayClassName","closeIcon","_ref$from","from","shouldCloseOnEsc","_ref$hideHeader","hideHeader","directionClass","useState","wasOpen","setWasOpen","handleAfterOpen","useCallback","handleAfterClose","ariaHideApp","base","afterOpen","beforeClose","style","content","closeTimeoutMS","contentLabel","onClick","IconClose","xmlns","viewBox","fill","fillRule","bool","oneOf","string","objA","objB","compare","compareContext","ret","keysA","keysB","bHasOwnProperty","idx","valueA","valueB","root","observable"],"sourceRoot":""}