<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">{"version":3,"sources":["/sourcemap/frontend-js-react-web/node_modules/react-is/cjs/react-is.production.min.js","/sourcemap/frontend-js-react-web/node_modules/react-is/index.js","/sourcemap/frontend-js-react-web/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","/sourcemap/frontend-js-react-web/node_modules/react-dnd/dist/esm/index.js","/sourcemap/frontend-js-react-web/generated/bridge/for/exports/react","/sourcemap/frontend-js-react-web/node_modules/dnd-core/dist/esm/interfaces.js","/sourcemap/frontend-js-react-web/node_modules/redux/es/redux.js","/sourcemap/frontend-js-react-web/node_modules/@react-dnd/invariant/src/index.ts","/sourcemap/frontend-js-react-web/node_modules/dnd-core/dist/esm/actions/dragDrop/types.js","/sourcemap/frontend-js-react-web/node_modules/dnd-core/dist/esm/actions/dragDrop/local/setClientOffset.js","/sourcemap/frontend-js-react-web/node_modules/dnd-core/dist/esm/utils/js_utils.js","/sourcemap/frontend-js-react-web/node_modules/dnd-core/dist/esm/actions/dragDrop/beginDrag.js","/sourcemap/frontend-js-react-web/node_modules/dnd-core/dist/esm/actions/dragDrop/publishDragSource.js","/sourcemap/frontend-js-react-web/node_modules/dnd-core/dist/esm/utils/matchesType.js","/sourcemap/frontend-js-react-web/node_modules/dnd-core/dist/esm/actions/dragDrop/hover.js","/sourcemap/frontend-js-react-web/node_modules/dnd-core/dist/esm/actions/dragDrop/drop.js","/sourcemap/frontend-js-react-web/node_modules/dnd-core/dist/esm/actions/dragDrop/endDrag.js","/sourcemap/frontend-js-react-web/node_modules/dnd-core/dist/esm/actions/dragDrop/index.js","/sourcemap/frontend-js-react-web/node_modules/dnd-core/dist/esm/utils/equality.js","/sourcemap/frontend-js-react-web/node_modules/dnd-core/dist/esm/reducers/dragOffset.js","/sourcemap/frontend-js-react-web/node_modules/dnd-core/dist/esm/actions/registry.js","/sourcemap/frontend-js-react-web/node_modules/dnd-core/dist/esm/reducers/dragOperation.js","/sourcemap/frontend-js-react-web/node_modules/dnd-core/dist/esm/reducers/refCount.js","/sourcemap/frontend-js-react-web/node_modules/dnd-core/dist/esm/utils/dirtiness.js","/sourcemap/frontend-js-react-web/node_modules/dnd-core/dist/esm/reducers/dirtyHandlerIds.js","/sourcemap/frontend-js-react-web/node_modules/dnd-core/dist/esm/reducers/stateId.js","/sourcemap/frontend-js-react-web/node_modules/dnd-core/dist/esm/reducers/index.js","/sourcemap/frontend-js-react-web/node_modules/dnd-core/dist/esm/utils/coords.js","/sourcemap/frontend-js-react-web/node_modules/dnd-core/dist/esm/DragDropMonitorImpl.js","/sourcemap/frontend-js-react-web/node_modules/dnd-core/dist/esm/utils/getNextUniqueId.js","/sourcemap/frontend-js-react-web/node_modules/dnd-core/dist/esm/contracts.js","/sourcemap/frontend-js-react-web/node_modules/@react-dnd/asap/dist/esm/browser/raw.js","/sourcemap/frontend-js-react-web/node_modules/@react-dnd/asap/dist/esm/browser/asap.js","/sourcemap/frontend-js-react-web/node_modules/dnd-core/dist/esm/HandlerRegistryImpl.js","/sourcemap/frontend-js-react-web/node_modules/dnd-core/dist/esm/DragDropManagerImpl.js","/sourcemap/frontend-js-react-web/node_modules/dnd-core/dist/esm/factories.js","/sourcemap/frontend-js-react-web/node_modules/react-dnd/dist/esm/common/DndContext.js","/sourcemap/frontend-js-react-web/node_modules/react-dnd/dist/esm/common/DndProvider.js","/sourcemap/frontend-js-react-web/node_modules/react-dnd/dist/esm/common/DragPreviewImage.js","/sourcemap/frontend-js-react-web/node_modules/react-dnd/dist/esm/hooks/internal/useIsomorphicLayoutEffect.js","/sourcemap/frontend-js-react-web/node_modules/@react-dnd/shallowequal/src/index.ts","/sourcemap/frontend-js-react-web/node_modules/react-dnd/dist/esm/hooks/internal/useCollector.js","/sourcemap/frontend-js-react-web/node_modules/react-dnd/dist/esm/hooks/internal/useMonitorOutput.js","/sourcemap/frontend-js-react-web/node_modules/react-dnd/dist/esm/common/registration.js","/sourcemap/frontend-js-react-web/node_modules/react-dnd/dist/esm/hooks/useDragDropManager.js","/sourcemap/frontend-js-react-web/node_modules/react-dnd/dist/esm/common/DragSourceMonitorImpl.js","/sourcemap/frontend-js-react-web/node_modules/react-dnd/dist/esm/utils/cloneWithRef.js","/sourcemap/frontend-js-react-web/node_modules/react-dnd/dist/esm/common/wrapConnectorHooks.js","/sourcemap/frontend-js-react-web/node_modules/react-dnd/dist/esm/utils/isRef.js","/sourcemap/frontend-js-react-web/node_modules/react-dnd/dist/esm/common/SourceConnector.js","/sourcemap/frontend-js-react-web/node_modules/react-dnd/dist/esm/hooks/internal/drag.js","/sourcemap/frontend-js-react-web/node_modules/react-dnd/dist/esm/hooks/useDrag.js","/sourcemap/frontend-js-react-web/node_modules/react-dnd/dist/esm/common/TargetConnector.js","/sourcemap/frontend-js-react-web/node_modules/react-dnd/dist/esm/common/DropTargetMonitorImpl.js","/sourcemap/frontend-js-react-web/node_modules/react-dnd/dist/esm/hooks/internal/drop.js","/sourcemap/frontend-js-react-web/node_modules/react-dnd/dist/esm/hooks/useDrop.js","/sourcemap/frontend-js-react-web/node_modules/react-dnd/dist/esm/hooks/useDragLayer.js","/sourcemap/frontend-js-react-web/node_modules/react-dnd/dist/esm/utils/js_utils.js","/sourcemap/frontend-js-react-web/node_modules/react-dnd/dist/esm/decorators/utils.js","/sourcemap/frontend-js-react-web/node_modules/react-dnd/dist/esm/decorators/decorateHandler.js","/sourcemap/frontend-js-react-web/node_modules/react-dnd/dist/esm/decorators/disposables.js","/sourcemap/frontend-js-react-web/node_modules/react-dnd/dist/esm/utils/isValidType.js","/sourcemap/frontend-js-react-web/node_modules/react-dnd/dist/esm/decorators/createSourceFactory.js","/sourcemap/frontend-js-react-web/node_modules/react-dnd/dist/esm/decorators/DragSource.js","/sourcemap/frontend-js-react-web/node_modules/react-dnd/dist/esm/decorators/createTargetFactory.js","/sourcemap/frontend-js-react-web/node_modules/react-dnd/dist/esm/decorators/DropTarget.js","/sourcemap/frontend-js-react-web/node_modules/react-dnd/dist/esm/decorators/DragLayer.js","/sourcemap/frontend-js-react-web/generated/export/react-dnd.js"],"sourcesContent":["/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&amp;&amp;Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&amp;&amp;null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&amp;&amp;a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&amp;&amp;null!==a&amp;&amp;a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&amp;&amp;null!==a&amp;&amp;(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports = require('./cjs/react-is.production.min.js');\n} else {\n  module.exports = require('./cjs/react-is.development.js');\n}\n","'use strict';\n\nvar reactIs = require('react-is');\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  contextType: true,\n  contextTypes: true,\n  defaultProps: true,\n  displayName: true,\n  getDefaultProps: true,\n  getDerivedStateFromError: true,\n  getDerivedStateFromProps: true,\n  mixins: true,\n  propTypes: true,\n  type: true\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};\nvar FORWARD_REF_STATICS = {\n  '$$typeof': true,\n  render: true,\n  defaultProps: true,\n  displayName: true,\n  propTypes: true\n};\nvar MEMO_STATICS = {\n  '$$typeof': true,\n  compare: true,\n  defaultProps: true,\n  displayName: true,\n  propTypes: true,\n  type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n  // React v16.11 and below\n  if (reactIs.isMemo(component)) {\n    return MEMO_STATICS;\n  } // React v16.12 and above\n\n\n  return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n  if (typeof sourceComponent !== 'string') {\n    // don't hoist over string (html) components\n    if (objectPrototype) {\n      var inheritedComponent = getPrototypeOf(sourceComponent);\n\n      if (inheritedComponent &amp;&amp; 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    var targetStatics = getStatics(targetComponent);\n    var sourceStatics = getStatics(sourceComponent);\n\n    for (var i = 0; i &lt; keys.length; ++i) {\n      var key = keys[i];\n\n      if (!KNOWN_STATICS[key] &amp;&amp; !(blacklist &amp;&amp; blacklist[key]) &amp;&amp; !(sourceStatics &amp;&amp; sourceStatics[key]) &amp;&amp; !(targetStatics &amp;&amp; targetStatics[key])) {\n        var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n        try {\n          // Avoid failures from read-only properties\n          defineProperty(targetComponent, key, descriptor);\n        } catch (e) {}\n      }\n    }\n  }\n\n  return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","export * from './common';\nexport * from './interfaces';\nexport * from './hooks';\nexport * from './decorators';","\nexport * from '../../../frontend-js-react-web/__liferay__/exports/react.js';\n\nimport __default__ from '../../../frontend-js-react-web/__liferay__/exports/react.js';\nexport default __default__;\n","export var HandlerRole;\n\n(function (HandlerRole) {\n  HandlerRole[\"SOURCE\"] = \"SOURCE\";\n  HandlerRole[\"TARGET\"] = \"TARGET\";\n})(HandlerRole || (HandlerRole = {}));","import _objectSpread from '@babel/runtime/helpers/esm/objectSpread2';\n\n/**\n * Adapted from React: https://github.com/facebook/react/blob/master/packages/shared/formatProdErrorMessage.js\n *\n * Do not require this module directly! Use normal throw error calls. These messages will be replaced with error codes\n * during build.\n * @param {number} code\n */\nfunction formatProdErrorMessage(code) {\n  return \"Minified Redux error #\" + code + \"; visit https://redux.js.org/Errors?code=\" + code + \" for the full message or \" + 'use the non-minified dev environment for full errors. ';\n}\n\n// Inlined version of the `symbol-observable` polyfill\nvar $$observable = (function () {\n  return typeof Symbol === 'function' &amp;&amp; Symbol.observable || '@@observable';\n})();\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// Inlined / shortened version of `kindOf` from https://github.com/jonschlinkert/kind-of\nfunction miniKindOf(val) {\n  if (val === void 0) return 'undefined';\n  if (val === null) return 'null';\n  var type = typeof val;\n\n  switch (type) {\n    case 'boolean':\n    case 'string':\n    case 'number':\n    case 'symbol':\n    case 'function':\n      {\n        return type;\n      }\n  }\n\n  if (Array.isArray(val)) return 'array';\n  if (isDate(val)) return 'date';\n  if (isError(val)) return 'error';\n  var constructorName = ctorName(val);\n\n  switch (constructorName) {\n    case 'Symbol':\n    case 'Promise':\n    case 'WeakMap':\n    case 'WeakSet':\n    case 'Map':\n    case 'Set':\n      return constructorName;\n  } // other\n\n\n  return type.slice(8, -1).toLowerCase().replace(/\\s/g, '');\n}\n\nfunction ctorName(val) {\n  return typeof val.constructor === 'function' ? val.constructor.name : null;\n}\n\nfunction isError(val) {\n  return val instanceof Error || typeof val.message === 'string' &amp;&amp; val.constructor &amp;&amp; typeof val.constructor.stackTraceLimit === 'number';\n}\n\nfunction isDate(val) {\n  if (val instanceof Date) return true;\n  return typeof val.toDateString === 'function' &amp;&amp; typeof val.getDate === 'function' &amp;&amp; typeof val.setDate === 'function';\n}\n\nfunction kindOf(val) {\n  var typeOfVal = typeof val;\n\n  if (process.env.NODE_ENV !== 'production') {\n    typeOfVal = miniKindOf(val);\n  }\n\n  return typeOfVal;\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' &amp;&amp; typeof enhancer === 'function' || typeof enhancer === 'function' &amp;&amp; typeof arguments[3] === 'function') {\n    throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(0) : 'It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example.');\n  }\n\n  if (typeof preloadedState === 'function' &amp;&amp; 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(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(1) : \"Expected the enhancer to be a function. Instead, received: '\" + kindOf(enhancer) + \"'\");\n    }\n\n    return enhancer(createStore)(reducer, preloadedState);\n  }\n\n  if (typeof reducer !== 'function') {\n    throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(2) : \"Expected the root reducer to be a function. Instead, received: '\" + kindOf(reducer) + \"'\");\n  }\n\n  var currentReducer = reducer;\n  var currentState = preloadedState;\n  var currentListeners = [];\n  var nextListeners = currentListeners;\n  var isDispatching = false;\n  /**\n   * This makes a shallow copy of currentListeners so we can use\n   * nextListeners as a temporary list while dispatching.\n   *\n   * This prevents any bugs around consumers calling\n   * subscribe/unsubscribe in the middle of a dispatch.\n   */\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(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(3) : '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(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(4) : \"Expected the listener to be a function. Instead, received: '\" + kindOf(listener) + \"'\");\n    }\n\n    if (isDispatching) {\n      throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(5) : '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/store#subscribelistener 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(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(6) : 'You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.');\n      }\n\n      isSubscribed = false;\n      ensureCanMutateNextListeners();\n      var index = nextListeners.indexOf(listener);\n      nextListeners.splice(index, 1);\n      currentListeners = null;\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(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(7) : \"Actions must be plain objects. Instead, the actual type was: '\" + kindOf(action) + \"'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples.\");\n    }\n\n    if (typeof action.type === 'undefined') {\n      throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(8) : 'Actions may not have an undefined \"type\" property. You may have misspelled an action type string constant.');\n    }\n\n    if (isDispatching) {\n      throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(9) : '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 &lt; 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(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(10) : \"Expected the nextReducer to be a function. Instead, received: '\" + kindOf(nextReducer));\n    }\n\n    currentReducer = nextReducer; // This action has a similiar effect to ActionTypes.INIT.\n    // Any reducers that existed in both the new and old rootReducer\n    // will receive the previous state. This effectively populates\n    // the new state tree with any relevant data from the old one.\n\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 Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(11) : \"Expected the observer to be an object. Instead, received: '\" + kindOf(observer) + \"'\");\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' &amp;&amp; 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 getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n  var reducerKeys = Object.keys(reducers);\n  var argumentName = action &amp;&amp; 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 \\\"\" + kindOf(inputState) + \"\\\". 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) &amp;&amp; !unexpectedKeyCache[key];\n  });\n  unexpectedKeys.forEach(function (key) {\n    unexpectedKeyCache[key] = true;\n  });\n  if (action &amp;&amp; action.type === ActionTypes.REPLACE) return;\n\n  if (unexpectedKeys.length &gt; 0) {\n    return \"Unexpected \" + (unexpectedKeys.length &gt; 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(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(12) : \"The slice reducer for key \\\"\" + 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(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(13) : \"The slice reducer for key \\\"\" + 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 &lt; 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); // This is used to make sure we don't warn about the same\n  // keys multiple times.\n\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 &lt; 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 actionType = action &amp;&amp; action.type;\n        throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(14) : \"When called with an action of type \" + (actionType ? \"\\\"\" + String(actionType) + \"\\\"\" : '(unknown type)') + \", the slice reducer for key \\\"\" + _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\n      nextState[_key] = nextStateForKey;\n      hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n    }\n\n    hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length;\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 an action creator as the first argument,\n * and get a dispatch wrapped 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(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(16) : \"bindActionCreators expected an object or a function, but instead received: '\" + kindOf(actionCreators) + \"'. \" + \"Did you write \\\"import ActionCreators from\\\" instead of \\\"import * as ActionCreators from\\\"?\");\n  }\n\n  var boundActionCreators = {};\n\n  for (var key in actionCreators) {\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\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) =&gt; f(g(h(...args))).\n */\nfunction compose() {\n  for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key &lt; _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 &lt; _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(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(15) : '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(_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' &amp;&amp; typeof isCrushed.name === 'string' &amp;&amp; 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 { ActionTypes as __DO_NOT_USE__ActionTypes, applyMiddleware, bindActionCreators, combineReducers, compose, createStore };\n","/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nexport function invariant(condition: any, format: string, ...args: any[]) {\n  if (process.env.NODE_ENV !== 'production') {\n    if (format === undefined) {\n      throw new Error('invariant requires an error message argument');\n    }\n  }\n\n  if (!condition) {\n    let error;\n    if (format === undefined) {\n      error = new Error(\n        'Minified exception occurred; use the non-minified dev environment ' +\n          'for the full error message and additional helpful warnings.'\n      );\n    } else {\n      let argIndex = 0;\n      error = new Error(\n        format.replace(/%s/g, function() {\n          return args[argIndex++];\n        })\n      );\n      error.name = 'Invariant Violation';\n    }\n\n    (error as any).framesToPop = 1; // we don't care about invariant's own frame\n    throw error;\n  }\n}\n","export var INIT_COORDS = 'dnd-core/INIT_COORDS';\nexport var BEGIN_DRAG = 'dnd-core/BEGIN_DRAG';\nexport var PUBLISH_DRAG_SOURCE = 'dnd-core/PUBLISH_DRAG_SOURCE';\nexport var HOVER = 'dnd-core/HOVER';\nexport var DROP = 'dnd-core/DROP';\nexport var END_DRAG = 'dnd-core/END_DRAG';","import { INIT_COORDS } from '../types';\nexport function setClientOffset(clientOffset, sourceClientOffset) {\n  return {\n    type: INIT_COORDS,\n    payload: {\n      sourceClientOffset: sourceClientOffset || null,\n      clientOffset: clientOffset || null\n    }\n  };\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" &amp;&amp; typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj &amp;&amp; typeof Symbol === \"function\" &amp;&amp; obj.constructor === Symbol &amp;&amp; obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n// cheap lodash replacements\n\n/**\n * drop-in replacement for _.get\n * @param obj\n * @param path\n * @param defaultValue\n */\nexport function get(obj, path, defaultValue) {\n  return path.split('.').reduce(function (a, c) {\n    return a &amp;&amp; a[c] ? a[c] : defaultValue || null;\n  }, obj);\n}\n/**\n * drop-in replacement for _.without\n */\n\nexport function without(items, item) {\n  return items.filter(function (i) {\n    return i !== item;\n  });\n}\n/**\n * drop-in replacement for _.isString\n * @param input\n */\n\nexport function isString(input) {\n  return typeof input === 'string';\n}\n/**\n * drop-in replacement for _.isString\n * @param input\n */\n\nexport function isObject(input) {\n  return _typeof(input) === 'object';\n}\n/**\n * repalcement for _.xor\n * @param itemsA\n * @param itemsB\n */\n\nexport function xor(itemsA, itemsB) {\n  var map = new Map();\n\n  var insertItem = function insertItem(item) {\n    map.set(item, map.has(item) ? map.get(item) + 1 : 1);\n  };\n\n  itemsA.forEach(insertItem);\n  itemsB.forEach(insertItem);\n  var result = [];\n  map.forEach(function (count, key) {\n    if (count === 1) {\n      result.push(key);\n    }\n  });\n  return result;\n}\n/**\n * replacement for _.intersection\n * @param itemsA\n * @param itemsB\n */\n\nexport function intersection(itemsA, itemsB) {\n  return itemsA.filter(function (t) {\n    return itemsB.indexOf(t) &gt; -1;\n  });\n}","import { invariant } from '@react-dnd/invariant';\nimport { setClientOffset } from './local/setClientOffset';\nimport { isObject } from '../../utils/js_utils';\nimport { BEGIN_DRAG, INIT_COORDS } from './types';\nvar ResetCoordinatesAction = {\n  type: INIT_COORDS,\n  payload: {\n    clientOffset: null,\n    sourceClientOffset: null\n  }\n};\nexport function createBeginDrag(manager) {\n  return function beginDrag() {\n    var sourceIds = arguments.length &gt; 0 &amp;&amp; arguments[0] !== undefined ? arguments[0] : [];\n    var options = arguments.length &gt; 1 &amp;&amp; arguments[1] !== undefined ? arguments[1] : {\n      publishSource: true\n    };\n    var _options$publishSourc = options.publishSource,\n        publishSource = _options$publishSourc === void 0 ? true : _options$publishSourc,\n        clientOffset = options.clientOffset,\n        getSourceClientOffset = options.getSourceClientOffset;\n    var monitor = manager.getMonitor();\n    var registry = manager.getRegistry(); // Initialize the coordinates using the client offset\n\n    manager.dispatch(setClientOffset(clientOffset));\n    verifyInvariants(sourceIds, monitor, registry); // Get the draggable source\n\n    var sourceId = getDraggableSource(sourceIds, monitor);\n\n    if (sourceId === null) {\n      manager.dispatch(ResetCoordinatesAction);\n      return;\n    } // Get the source client offset\n\n\n    var sourceClientOffset = null;\n\n    if (clientOffset) {\n      if (!getSourceClientOffset) {\n        throw new Error('getSourceClientOffset must be defined');\n      }\n\n      verifyGetSourceClientOffsetIsFunction(getSourceClientOffset);\n      sourceClientOffset = getSourceClientOffset(sourceId);\n    } // Initialize the full coordinates\n\n\n    manager.dispatch(setClientOffset(clientOffset, sourceClientOffset));\n    var source = registry.getSource(sourceId);\n    var item = source.beginDrag(monitor, sourceId);\n    verifyItemIsObject(item);\n    registry.pinSource(sourceId);\n    var itemType = registry.getSourceType(sourceId);\n    return {\n      type: 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}\n\nfunction verifyInvariants(sourceIds, monitor, registry) {\n  invariant(!monitor.isDragging(), 'Cannot call beginDrag while dragging.');\n  sourceIds.forEach(function (sourceId) {\n    invariant(registry.getSource(sourceId), 'Expected sourceIds to be registered.');\n  });\n}\n\nfunction verifyGetSourceClientOffsetIsFunction(getSourceClientOffset) {\n  invariant(typeof getSourceClientOffset === 'function', 'When clientOffset is provided, getSourceClientOffset must be a function.');\n}\n\nfunction verifyItemIsObject(item) {\n  invariant(isObject(item), 'Item must be an object.');\n}\n\nfunction getDraggableSource(sourceIds, monitor) {\n  var sourceId = null;\n\n  for (var i = sourceIds.length - 1; i &gt;= 0; i--) {\n    if (monitor.canDragSource(sourceIds[i])) {\n      sourceId = sourceIds[i];\n      break;\n    }\n  }\n\n  return sourceId;\n}","import { PUBLISH_DRAG_SOURCE } from './types';\nexport function createPublishDragSource(manager) {\n  return function publishDragSource() {\n    var monitor = manager.getMonitor();\n\n    if (monitor.isDragging()) {\n      return {\n        type: PUBLISH_DRAG_SOURCE\n      };\n    }\n  };\n}","export function matchesType(targetType, draggedItemType) {\n  if (draggedItemType === null) {\n    return targetType === null;\n  }\n\n  return Array.isArray(targetType) ? targetType.some(function (t) {\n    return t === draggedItemType;\n  }) : targetType === draggedItemType;\n}","import { invariant } from '@react-dnd/invariant';\nimport { matchesType } from '../../utils/matchesType';\nimport { HOVER } from './types';\nexport function createHover(manager) {\n  return function hover(targetIdsArg) {\n    var _ref = arguments.length &gt; 1 &amp;&amp; arguments[1] !== undefined ? arguments[1] : {},\n        clientOffset = _ref.clientOffset;\n\n    verifyTargetIdsIsArray(targetIdsArg);\n    var targetIds = targetIdsArg.slice(0);\n    var monitor = manager.getMonitor();\n    var registry = manager.getRegistry();\n    checkInvariants(targetIds, monitor, registry);\n    var draggedItemType = monitor.getItemType();\n    removeNonMatchingTargetIds(targetIds, registry, draggedItemType);\n    hoverAllTargets(targetIds, monitor, registry);\n    return {\n      type: HOVER,\n      payload: {\n        targetIds: targetIds,\n        clientOffset: clientOffset || null\n      }\n    };\n  };\n}\n\nfunction verifyTargetIdsIsArray(targetIdsArg) {\n  invariant(Array.isArray(targetIdsArg), 'Expected targetIds to be an array.');\n}\n\nfunction checkInvariants(targetIds, monitor, registry) {\n  invariant(monitor.isDragging(), 'Cannot call hover while not dragging.');\n  invariant(!monitor.didDrop(), 'Cannot call hover after drop.');\n\n  for (var i = 0; i &lt; targetIds.length; i++) {\n    var targetId = targetIds[i];\n    invariant(targetIds.lastIndexOf(targetId) === i, 'Expected targetIds to be unique in the passed array.');\n    var target = registry.getTarget(targetId);\n    invariant(target, 'Expected targetIds to be registered.');\n  }\n}\n\nfunction removeNonMatchingTargetIds(targetIds, registry, draggedItemType) {\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 &gt;= 0; i--) {\n    var targetId = targetIds[i];\n    var targetType = registry.getTargetType(targetId);\n\n    if (!matchesType(targetType, draggedItemType)) {\n      targetIds.splice(i, 1);\n    }\n  }\n}\n\nfunction hoverAllTargets(targetIds, monitor, registry) {\n  // Finally call hover on all matching targets.\n  targetIds.forEach(function (targetId) {\n    var target = registry.getTarget(targetId);\n    target.hover(monitor, targetId);\n  });\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i &lt; arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { invariant } from '@react-dnd/invariant';\nimport { DROP } from './types';\nimport { isObject } from '../../utils/js_utils';\nexport function createDrop(manager) {\n  return function drop() {\n    var options = arguments.length &gt; 0 &amp;&amp; arguments[0] !== undefined ? arguments[0] : {};\n    var monitor = manager.getMonitor();\n    var registry = manager.getRegistry();\n    verifyInvariants(monitor);\n    var targetIds = getDroppableTargets(monitor); // Multiple actions are dispatched here, which is why this doesn't return an action\n\n    targetIds.forEach(function (targetId, index) {\n      var dropResult = determineDropResult(targetId, index, registry, monitor);\n      var action = {\n        type: DROP,\n        payload: {\n          dropResult: _objectSpread(_objectSpread({}, options), dropResult)\n        }\n      };\n      manager.dispatch(action);\n    });\n  };\n}\n\nfunction verifyInvariants(monitor) {\n  invariant(monitor.isDragging(), 'Cannot call drop while not dragging.');\n  invariant(!monitor.didDrop(), 'Cannot call drop twice during one drag operation.');\n}\n\nfunction determineDropResult(targetId, index, registry, monitor) {\n  var target = registry.getTarget(targetId);\n  var dropResult = target ? target.drop(monitor, targetId) : undefined;\n  verifyDropResultType(dropResult);\n\n  if (typeof dropResult === 'undefined') {\n    dropResult = index === 0 ? {} : monitor.getDropResult();\n  }\n\n  return dropResult;\n}\n\nfunction verifyDropResultType(dropResult) {\n  invariant(typeof dropResult === 'undefined' || isObject(dropResult), 'Drop result must either be an object or undefined.');\n}\n\nfunction getDroppableTargets(monitor) {\n  var targetIds = monitor.getTargetIds().filter(monitor.canDropOnTarget, monitor);\n  targetIds.reverse();\n  return targetIds;\n}","import { invariant } from '@react-dnd/invariant';\nimport { END_DRAG } from './types';\nexport function createEndDrag(manager) {\n  return function endDrag() {\n    var monitor = manager.getMonitor();\n    var registry = manager.getRegistry();\n    verifyIsDragging(monitor);\n    var sourceId = monitor.getSourceId();\n\n    if (sourceId != null) {\n      var source = registry.getSource(sourceId, true);\n      source.endDrag(monitor, sourceId);\n      registry.unpinSource();\n    }\n\n    return {\n      type: END_DRAG\n    };\n  };\n}\n\nfunction verifyIsDragging(monitor) {\n  invariant(monitor.isDragging(), 'Cannot call endDrag while not dragging.');\n}","import { createBeginDrag } from './beginDrag';\nimport { createPublishDragSource } from './publishDragSource';\nimport { createHover } from './hover';\nimport { createDrop } from './drop';\nimport { createEndDrag } from './endDrag';\nexport * from './types';\nexport function createDragDropActions(manager) {\n  return {\n    beginDrag: createBeginDrag(manager),\n    publishDragSource: createPublishDragSource(manager),\n    hover: createHover(manager),\n    drop: createDrop(manager),\n    endDrag: createEndDrag(manager)\n  };\n}","export var strictEquality = function strictEquality(a, b) {\n  return a === b;\n};\n/**\n * Determine if two cartesian coordinate offsets are equal\n * @param offsetA\n * @param offsetB\n */\n\nexport function areCoordsEqual(offsetA, offsetB) {\n  if (!offsetA &amp;&amp; !offsetB) {\n    return true;\n  } else if (!offsetA || !offsetB) {\n    return false;\n  } else {\n    return offsetA.x === offsetB.x &amp;&amp; offsetA.y === offsetB.y;\n  }\n}\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 */\n\nexport function areArraysEqual(a, b) {\n  var isEqual = arguments.length &gt; 2 &amp;&amp; arguments[2] !== undefined ? arguments[2] : strictEquality;\n\n  if (a.length !== b.length) {\n    return false;\n  }\n\n  for (var i = 0; i &lt; a.length; ++i) {\n    if (!isEqual(a[i], b[i])) {\n      return false;\n    }\n  }\n\n  return true;\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i &lt; arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { INIT_COORDS, BEGIN_DRAG, HOVER, END_DRAG, DROP } from '../actions/dragDrop';\nimport { areCoordsEqual } from '../utils/equality';\nvar initialState = {\n  initialSourceClientOffset: null,\n  initialClientOffset: null,\n  clientOffset: null\n};\nexport function reduce() {\n  var state = arguments.length &gt; 0 &amp;&amp; arguments[0] !== undefined ? arguments[0] : initialState;\n  var action = arguments.length &gt; 1 ? arguments[1] : undefined;\n  var payload = action.payload;\n\n  switch (action.type) {\n    case INIT_COORDS:\n    case BEGIN_DRAG:\n      return {\n        initialSourceClientOffset: payload.sourceClientOffset,\n        initialClientOffset: payload.clientOffset,\n        clientOffset: payload.clientOffset\n      };\n\n    case HOVER:\n      if (areCoordsEqual(state.clientOffset, payload.clientOffset)) {\n        return state;\n      }\n\n      return _objectSpread(_objectSpread({}, state), {}, {\n        clientOffset: payload.clientOffset\n      });\n\n    case END_DRAG:\n    case DROP:\n      return initialState;\n\n    default:\n      return state;\n  }\n}","export var ADD_SOURCE = 'dnd-core/ADD_SOURCE';\nexport var ADD_TARGET = 'dnd-core/ADD_TARGET';\nexport var REMOVE_SOURCE = 'dnd-core/REMOVE_SOURCE';\nexport var REMOVE_TARGET = 'dnd-core/REMOVE_TARGET';\nexport function addSource(sourceId) {\n  return {\n    type: ADD_SOURCE,\n    payload: {\n      sourceId: sourceId\n    }\n  };\n}\nexport function addTarget(targetId) {\n  return {\n    type: ADD_TARGET,\n    payload: {\n      targetId: targetId\n    }\n  };\n}\nexport function removeSource(sourceId) {\n  return {\n    type: REMOVE_SOURCE,\n    payload: {\n      sourceId: sourceId\n    }\n  };\n}\nexport function removeTarget(targetId) {\n  return {\n    type: REMOVE_TARGET,\n    payload: {\n      targetId: targetId\n    }\n  };\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i &lt; arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { BEGIN_DRAG, PUBLISH_DRAG_SOURCE, HOVER, END_DRAG, DROP } from '../actions/dragDrop';\nimport { REMOVE_TARGET } from '../actions/registry';\nimport { without } from '../utils/js_utils';\nvar initialState = {\n  itemType: null,\n  item: null,\n  sourceId: null,\n  targetIds: [],\n  dropResult: null,\n  didDrop: false,\n  isSourcePublic: null\n};\nexport function reduce() {\n  var state = arguments.length &gt; 0 &amp;&amp; arguments[0] !== undefined ? arguments[0] : initialState;\n  var action = arguments.length &gt; 1 ? arguments[1] : undefined;\n  var payload = action.payload;\n\n  switch (action.type) {\n    case BEGIN_DRAG:\n      return _objectSpread(_objectSpread({}, state), {}, {\n        itemType: payload.itemType,\n        item: payload.item,\n        sourceId: payload.sourceId,\n        isSourcePublic: payload.isSourcePublic,\n        dropResult: null,\n        didDrop: false\n      });\n\n    case PUBLISH_DRAG_SOURCE:\n      return _objectSpread(_objectSpread({}, state), {}, {\n        isSourcePublic: true\n      });\n\n    case HOVER:\n      return _objectSpread(_objectSpread({}, state), {}, {\n        targetIds: payload.targetIds\n      });\n\n    case REMOVE_TARGET:\n      if (state.targetIds.indexOf(payload.targetId) === -1) {\n        return state;\n      }\n\n      return _objectSpread(_objectSpread({}, state), {}, {\n        targetIds: without(state.targetIds, payload.targetId)\n      });\n\n    case DROP:\n      return _objectSpread(_objectSpread({}, state), {}, {\n        dropResult: payload.dropResult,\n        didDrop: true,\n        targetIds: []\n      });\n\n    case END_DRAG:\n      return _objectSpread(_objectSpread({}, state), {}, {\n        itemType: null,\n        item: null,\n        sourceId: null,\n        dropResult: null,\n        didDrop: false,\n        isSourcePublic: null,\n        targetIds: []\n      });\n\n    default:\n      return state;\n  }\n}","import { ADD_SOURCE, ADD_TARGET, REMOVE_SOURCE, REMOVE_TARGET } from '../actions/registry';\nexport function reduce() {\n  var state = arguments.length &gt; 0 &amp;&amp; arguments[0] !== undefined ? arguments[0] : 0;\n  var action = arguments.length &gt; 1 ? arguments[1] : undefined;\n\n  switch (action.type) {\n    case ADD_SOURCE:\n    case ADD_TARGET:\n      return state + 1;\n\n    case REMOVE_SOURCE:\n    case REMOVE_TARGET:\n      return state - 1;\n\n    default:\n      return state;\n  }\n}","import { intersection } from './js_utils';\nexport var NONE = [];\nexport var ALL = [];\nNONE.__IS_NONE__ = true;\nALL.__IS_ALL__ = true;\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 */\n\nexport function areDirty(dirtyIds, handlerIds) {\n  if (dirtyIds === NONE) {\n    return false;\n  }\n\n  if (dirtyIds === ALL || typeof handlerIds === 'undefined') {\n    return true;\n  }\n\n  var commonIds = intersection(handlerIds, dirtyIds);\n  return commonIds.length &gt; 0;\n}","import { BEGIN_DRAG, PUBLISH_DRAG_SOURCE, HOVER, END_DRAG, DROP } from '../actions/dragDrop';\nimport { ADD_SOURCE, ADD_TARGET, REMOVE_SOURCE, REMOVE_TARGET } from '../actions/registry';\nimport { areArraysEqual } from '../utils/equality';\nimport { NONE, ALL } from '../utils/dirtiness';\nimport { xor } from '../utils/js_utils';\nexport function reduce() {\n  var _state = arguments.length &gt; 0 &amp;&amp; arguments[0] !== undefined ? arguments[0] : NONE;\n\n  var action = arguments.length &gt; 1 ? arguments[1] : undefined;\n\n  switch (action.type) {\n    case HOVER:\n      break;\n\n    case ADD_SOURCE:\n    case ADD_TARGET:\n    case REMOVE_TARGET:\n    case REMOVE_SOURCE:\n      return NONE;\n\n    case BEGIN_DRAG:\n    case PUBLISH_DRAG_SOURCE:\n    case END_DRAG:\n    case DROP:\n    default:\n      return ALL;\n  }\n\n  var _action$payload = action.payload,\n      _action$payload$targe = _action$payload.targetIds,\n      targetIds = _action$payload$targe === void 0 ? [] : _action$payload$targe,\n      _action$payload$prevT = _action$payload.prevTargetIds,\n      prevTargetIds = _action$payload$prevT === void 0 ? [] : _action$payload$prevT;\n  var result = xor(targetIds, prevTargetIds);\n  var didChange = result.length &gt; 0 || !areArraysEqual(targetIds, prevTargetIds);\n\n  if (!didChange) {\n    return NONE;\n  } // Check the target ids at the innermost position. If they are valid, add them\n  // to the result\n\n\n  var prevInnermostTargetId = prevTargetIds[prevTargetIds.length - 1];\n  var innermostTargetId = targetIds[targetIds.length - 1];\n\n  if (prevInnermostTargetId !== innermostTargetId) {\n    if (prevInnermostTargetId) {\n      result.push(prevInnermostTargetId);\n    }\n\n    if (innermostTargetId) {\n      result.push(innermostTargetId);\n    }\n  }\n\n  return result;\n}","export function reduce() {\n  var state = arguments.length &gt; 0 &amp;&amp; arguments[0] !== undefined ? arguments[0] : 0;\n  return state + 1;\n}","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i &lt; arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { reduce as dragOffset } from './dragOffset';\nimport { reduce as dragOperation } from './dragOperation';\nimport { reduce as refCount } from './refCount';\nimport { reduce as dirtyHandlerIds } from './dirtyHandlerIds';\nimport { reduce as stateId } from './stateId';\nimport { get } from '../utils/js_utils';\nexport function reduce() {\n  var state = arguments.length &gt; 0 &amp;&amp; arguments[0] !== undefined ? arguments[0] : {};\n  var action = arguments.length &gt; 1 ? arguments[1] : undefined;\n  return {\n    dirtyHandlerIds: dirtyHandlerIds(state.dirtyHandlerIds, {\n      type: action.type,\n      payload: _objectSpread(_objectSpread({}, action.payload), {}, {\n        prevTargetIds: get(state, 'dragOperation.targetIds', [])\n      })\n    }),\n    dragOffset: dragOffset(state.dragOffset, action),\n    refCount: refCount(state.refCount, action),\n    dragOperation: dragOperation(state.dragOperation, action),\n    stateId: stateId(state.stateId)\n  };\n}","/**\n * Coordinate addition\n * @param a The first coordinate\n * @param b The second coordinate\n */\nexport function add(a, b) {\n  return {\n    x: a.x + b.x,\n    y: a.y + b.y\n  };\n}\n/**\n * Coordinate subtraction\n * @param a The first coordinate\n * @param b The second coordinate\n */\n\nexport function subtract(a, b) {\n  return {\n    x: a.x - b.x,\n    y: a.y - b.y\n  };\n}\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 */\n\nexport function getSourceClientOffset(state) {\n  var clientOffset = state.clientOffset,\n      initialClientOffset = state.initialClientOffset,\n      initialSourceClientOffset = state.initialSourceClientOffset;\n\n  if (!clientOffset || !initialClientOffset || !initialSourceClientOffset) {\n    return null;\n  }\n\n  return subtract(add(clientOffset, initialSourceClientOffset), initialClientOffset);\n}\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 */\n\nexport function getDifferenceFromInitialOffset(state) {\n  var clientOffset = state.clientOffset,\n      initialClientOffset = state.initialClientOffset;\n\n  if (!clientOffset || !initialClientOffset) {\n    return null;\n  }\n\n  return subtract(clientOffset, initialClientOffset);\n}","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i &lt; 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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport { invariant } from '@react-dnd/invariant';\nimport { matchesType } from './utils/matchesType';\nimport { getSourceClientOffset as _getSourceClientOffset, getDifferenceFromInitialOffset as _getDifferenceFromInitialOffset } from './utils/coords';\nimport { areDirty } from './utils/dirtiness';\nexport var DragDropMonitorImpl = /*#__PURE__*/function () {\n  function DragDropMonitorImpl(store, registry) {\n    _classCallCheck(this, DragDropMonitorImpl);\n\n    this.store = store;\n    this.registry = registry;\n  }\n\n  _createClass(DragDropMonitorImpl, [{\n    key: \"subscribeToStateChange\",\n    value: function subscribeToStateChange(listener) {\n      var _this = this;\n\n      var options = arguments.length &gt; 1 &amp;&amp; arguments[1] !== undefined ? arguments[1] : {\n        handlerIds: undefined\n      };\n      var handlerIds = options.handlerIds;\n      invariant(typeof listener === 'function', 'listener must be a function.');\n      invariant(typeof handlerIds === 'undefined' || Array.isArray(handlerIds), 'handlerIds, when specified, must be an array of strings.');\n      var prevStateId = this.store.getState().stateId;\n\n      var handleChange = function handleChange() {\n        var state = _this.store.getState();\n\n        var currentStateId = state.stateId;\n\n        try {\n          var canSkipListener = currentStateId === prevStateId || currentStateId === prevStateId + 1 &amp;&amp; !areDirty(state.dirtyHandlerIds, handlerIds);\n\n          if (!canSkipListener) {\n            listener();\n          }\n        } finally {\n          prevStateId = currentStateId;\n        }\n      };\n\n      return this.store.subscribe(handleChange);\n    }\n  }, {\n    key: \"subscribeToOffsetChange\",\n    value: function subscribeToOffsetChange(listener) {\n      var _this2 = this;\n\n      invariant(typeof listener === 'function', 'listener must be a function.');\n      var previousState = this.store.getState().dragOffset;\n\n      var handleChange = function handleChange() {\n        var nextState = _this2.store.getState().dragOffset;\n\n        if (nextState === previousState) {\n          return;\n        }\n\n        previousState = nextState;\n        listener();\n      };\n\n      return this.store.subscribe(handleChange);\n    }\n  }, {\n    key: \"canDragSource\",\n    value: function canDragSource(sourceId) {\n      if (!sourceId) {\n        return false;\n      }\n\n      var source = this.registry.getSource(sourceId);\n      invariant(source, 'Expected to find a valid source.');\n\n      if (this.isDragging()) {\n        return false;\n      }\n\n      return source.canDrag(this, sourceId);\n    }\n  }, {\n    key: \"canDropOnTarget\",\n    value: function canDropOnTarget(targetId) {\n      // undefined on initial render\n      if (!targetId) {\n        return false;\n      }\n\n      var target = this.registry.getTarget(targetId);\n      invariant(target, 'Expected to find a valid target.');\n\n      if (!this.isDragging() || this.didDrop()) {\n        return false;\n      }\n\n      var targetType = this.registry.getTargetType(targetId);\n      var draggedItemType = this.getItemType();\n      return matchesType(targetType, draggedItemType) &amp;&amp; target.canDrop(this, targetId);\n    }\n  }, {\n    key: \"isDragging\",\n    value: function isDragging() {\n      return Boolean(this.getItemType());\n    }\n  }, {\n    key: \"isDraggingSource\",\n    value: function isDraggingSource(sourceId) {\n      // undefined on initial render\n      if (!sourceId) {\n        return false;\n      }\n\n      var source = this.registry.getSource(sourceId, true);\n      invariant(source, 'Expected to find a valid source.');\n\n      if (!this.isDragging() || !this.isSourcePublic()) {\n        return false;\n      }\n\n      var sourceType = this.registry.getSourceType(sourceId);\n      var draggedItemType = this.getItemType();\n\n      if (sourceType !== draggedItemType) {\n        return false;\n      }\n\n      return source.isDragging(this, sourceId);\n    }\n  }, {\n    key: \"isOverTarget\",\n    value: function isOverTarget(targetId) {\n      var options = arguments.length &gt; 1 &amp;&amp; arguments[1] !== undefined ? arguments[1] : {\n        shallow: false\n      };\n\n      // undefined on initial render\n      if (!targetId) {\n        return false;\n      }\n\n      var shallow = options.shallow;\n\n      if (!this.isDragging()) {\n        return false;\n      }\n\n      var targetType = this.registry.getTargetType(targetId);\n      var draggedItemType = this.getItemType();\n\n      if (draggedItemType &amp;&amp; !matchesType(targetType, draggedItemType)) {\n        return false;\n      }\n\n      var targetIds = this.getTargetIds();\n\n      if (!targetIds.length) {\n        return false;\n      }\n\n      var index = targetIds.indexOf(targetId);\n\n      if (shallow) {\n        return index === targetIds.length - 1;\n      } else {\n        return index &gt; -1;\n      }\n    }\n  }, {\n    key: \"getItemType\",\n    value: function getItemType() {\n      return this.store.getState().dragOperation.itemType;\n    }\n  }, {\n    key: \"getItem\",\n    value: function getItem() {\n      return this.store.getState().dragOperation.item;\n    }\n  }, {\n    key: \"getSourceId\",\n    value: function getSourceId() {\n      return this.store.getState().dragOperation.sourceId;\n    }\n  }, {\n    key: \"getTargetIds\",\n    value: function getTargetIds() {\n      return this.store.getState().dragOperation.targetIds;\n    }\n  }, {\n    key: \"getDropResult\",\n    value: function getDropResult() {\n      return this.store.getState().dragOperation.dropResult;\n    }\n  }, {\n    key: \"didDrop\",\n    value: function didDrop() {\n      return this.store.getState().dragOperation.didDrop;\n    }\n  }, {\n    key: \"isSourcePublic\",\n    value: function isSourcePublic() {\n      return Boolean(this.store.getState().dragOperation.isSourcePublic);\n    }\n  }, {\n    key: \"getInitialClientOffset\",\n    value: function getInitialClientOffset() {\n      return this.store.getState().dragOffset.initialClientOffset;\n    }\n  }, {\n    key: \"getInitialSourceClientOffset\",\n    value: function getInitialSourceClientOffset() {\n      return this.store.getState().dragOffset.initialSourceClientOffset;\n    }\n  }, {\n    key: \"getClientOffset\",\n    value: function getClientOffset() {\n      return this.store.getState().dragOffset.clientOffset;\n    }\n  }, {\n    key: \"getSourceClientOffset\",\n    value: function getSourceClientOffset() {\n      return _getSourceClientOffset(this.store.getState().dragOffset);\n    }\n  }, {\n    key: \"getDifferenceFromInitialOffset\",\n    value: function getDifferenceFromInitialOffset() {\n      return _getDifferenceFromInitialOffset(this.store.getState().dragOffset);\n    }\n  }]);\n\n  return DragDropMonitorImpl;\n}();","var nextUniqueId = 0;\nexport function getNextUniqueId() {\n  return nextUniqueId++;\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" &amp;&amp; typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj &amp;&amp; typeof Symbol === \"function\" &amp;&amp; obj.constructor === Symbol &amp;&amp; obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport { invariant } from '@react-dnd/invariant';\nexport function validateSourceContract(source) {\n  invariant(typeof source.canDrag === 'function', 'Expected canDrag to be a function.');\n  invariant(typeof source.beginDrag === 'function', 'Expected beginDrag to be a function.');\n  invariant(typeof source.endDrag === 'function', 'Expected endDrag to be a function.');\n}\nexport function validateTargetContract(target) {\n  invariant(typeof target.canDrop === 'function', 'Expected canDrop to be a function.');\n  invariant(typeof target.hover === 'function', 'Expected hover to be a function.');\n  invariant(typeof target.drop === 'function', 'Expected beginDrag to be a function.');\n}\nexport function validateType(type, allowArray) {\n  if (allowArray &amp;&amp; Array.isArray(type)) {\n    type.forEach(function (t) {\n      return validateType(t, false);\n    });\n    return;\n  }\n\n  invariant(typeof type === 'string' || _typeof(type) === 'symbol', allowArray ? 'Type can only be a string, a symbol, or an array of either.' : 'Type can only be a string or a symbol.');\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.\nexport function rawAsap(task) {\n  if (!queue.length) {\n    requestFlush();\n    flushing = true;\n  } // Equivalent to push, but avoids a function call.\n\n\n  queue[queue.length] = task;\n}\nvar queue = []; // Once a flush has been requested, no further calls to `requestFlush` are\n// necessary until the next `flush` completes.\n// @ts-ignore\n\nvar flushing = false; // `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.\n\nvar requestFlush; // 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.\n\nvar index = 0; // 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.\n\nvar capacity = 1024; // 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.\n\nfunction flush() {\n  while (index &lt; queue.length) {\n    var currentIndex = index; // 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\n    index = index + 1;\n    queue[currentIndex].call(); // 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\n    if (index &gt; 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 &lt; newLength; scan++) {\n        queue[scan] = queue[scan + index];\n      }\n\n      queue.length -= index;\n      index = 0;\n    }\n  }\n\n  queue.length = 0;\n  index = 0;\n  flushing = false;\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// 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 */\n\n\nvar scope = typeof global !== 'undefined' ? global : self;\nvar BrowserMutationObserver = scope.MutationObserver || scope.WebKitMutationObserver; // 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\n\nif (typeof BrowserMutationObserver === 'function') {\n  requestFlush = makeRequestCallFromMutationObserver(flush); // 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  // 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  // 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} // `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.\n\n\nrawAsap.requestFlush = requestFlush; // To request a high priority event, we induce a mutation observer by toggling\n// the text of a text node between \"1\" and \"-1\".\n\nfunction makeRequestCallFromMutationObserver(callback) {\n  var toggle = 1;\n  var observer = new BrowserMutationObserver(callback);\n  var node = document.createTextNode('');\n  observer.observe(node, {\n    characterData: true\n  });\n  return function requestCall() {\n    toggle = -toggle;\n    node.data = toggle;\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// 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// 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// 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// function makeRequestCallFromSetImmediate(callback) {\n//     return function requestCall() {\n//         setImmediate(callback);\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// `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\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); // 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\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} // This is for `asap.js` only.\n// Its name will be periodically randomized to break any code that depends on\n// its existence.\n\n\nrawAsap.makeRequestCallFromTimer = makeRequestCallFromTimer; // 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","import { rawAsap } from './raw'; // rawAsap provides everything we need except exception management.\n// RawTasks are recycled to reduce GC churn.\n\nvar freeTasks = []; // 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.\n\nvar pendingErrors = [];\nvar requestErrorThrow = rawAsap.makeRequestCallFromTimer(throwFirstError);\n\nfunction throwFirstError() {\n  if (pendingErrors.length) {\n    throw pendingErrors.shift();\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 */\n\n\nexport function asap(task) {\n  var rawTask;\n\n  if (freeTasks.length) {\n    rawTask = freeTasks.pop();\n  } else {\n    rawTask = new RawTask();\n  }\n\n  rawTask.task = task;\n  rawAsap(rawTask);\n} // We wrap tasks with recyclable task objects.  A task object implements\n// `call`, just like a function.\n\nvar RawTask =\n/** @class */\nfunction () {\n  function RawTask() {}\n\n  RawTask.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\n  return RawTask;\n}();","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i &lt; 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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" &amp;&amp; o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len &gt; arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i &lt; len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i &amp;&amp; _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n &amp;&amp; _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport { invariant } from '@react-dnd/invariant';\nimport { addSource as _addSource, addTarget as _addTarget, removeSource as _removeSource, removeTarget as _removeTarget } from './actions/registry';\nimport { getNextUniqueId } from './utils/getNextUniqueId';\nimport { HandlerRole } from './interfaces';\nimport { validateSourceContract, validateTargetContract, validateType } from './contracts';\nimport { asap } from '@react-dnd/asap';\n\nfunction getNextHandlerId(role) {\n  var id = getNextUniqueId().toString();\n\n  switch (role) {\n    case HandlerRole.SOURCE:\n      return \"S\".concat(id);\n\n    case HandlerRole.TARGET:\n      return \"T\".concat(id);\n\n    default:\n      throw new Error(\"Unknown Handler Role: \".concat(role));\n  }\n}\n\nfunction parseRoleFromHandlerId(handlerId) {\n  switch (handlerId[0]) {\n    case 'S':\n      return HandlerRole.SOURCE;\n\n    case 'T':\n      return HandlerRole.TARGET;\n\n    default:\n      invariant(false, \"Cannot parse handler ID: \".concat(handlerId));\n  }\n}\n\nfunction mapContainsValue(map, searchValue) {\n  var entries = map.entries();\n  var isDone = false;\n\n  do {\n    var _entries$next = entries.next(),\n        done = _entries$next.done,\n        _entries$next$value = _slicedToArray(_entries$next.value, 2),\n        value = _entries$next$value[1];\n\n    if (value === searchValue) {\n      return true;\n    }\n\n    isDone = !!done;\n  } while (!isDone);\n\n  return false;\n}\n\nexport var HandlerRegistryImpl = /*#__PURE__*/function () {\n  function HandlerRegistryImpl(store) {\n    _classCallCheck(this, HandlerRegistryImpl);\n\n    this.types = new Map();\n    this.dragSources = new Map();\n    this.dropTargets = new Map();\n    this.pinnedSourceId = null;\n    this.pinnedSource = null;\n    this.store = store;\n  }\n\n  _createClass(HandlerRegistryImpl, [{\n    key: \"addSource\",\n    value: function addSource(type, source) {\n      validateType(type);\n      validateSourceContract(source);\n      var sourceId = this.addHandler(HandlerRole.SOURCE, type, source);\n      this.store.dispatch(_addSource(sourceId));\n      return sourceId;\n    }\n  }, {\n    key: \"addTarget\",\n    value: function addTarget(type, target) {\n      validateType(type, true);\n      validateTargetContract(target);\n      var targetId = this.addHandler(HandlerRole.TARGET, type, target);\n      this.store.dispatch(_addTarget(targetId));\n      return targetId;\n    }\n  }, {\n    key: \"containsHandler\",\n    value: function containsHandler(handler) {\n      return mapContainsValue(this.dragSources, handler) || mapContainsValue(this.dropTargets, handler);\n    }\n  }, {\n    key: \"getSource\",\n    value: function getSource(sourceId) {\n      var includePinned = arguments.length &gt; 1 &amp;&amp; arguments[1] !== undefined ? arguments[1] : false;\n      invariant(this.isSourceId(sourceId), 'Expected a valid source ID.');\n      var isPinned = includePinned &amp;&amp; sourceId === this.pinnedSourceId;\n      var source = isPinned ? this.pinnedSource : this.dragSources.get(sourceId);\n      return source;\n    }\n  }, {\n    key: \"getTarget\",\n    value: function getTarget(targetId) {\n      invariant(this.isTargetId(targetId), 'Expected a valid target ID.');\n      return this.dropTargets.get(targetId);\n    }\n  }, {\n    key: \"getSourceType\",\n    value: function getSourceType(sourceId) {\n      invariant(this.isSourceId(sourceId), 'Expected a valid source ID.');\n      return this.types.get(sourceId);\n    }\n  }, {\n    key: \"getTargetType\",\n    value: function getTargetType(targetId) {\n      invariant(this.isTargetId(targetId), 'Expected a valid target ID.');\n      return this.types.get(targetId);\n    }\n  }, {\n    key: \"isSourceId\",\n    value: function isSourceId(handlerId) {\n      var role = parseRoleFromHandlerId(handlerId);\n      return role === HandlerRole.SOURCE;\n    }\n  }, {\n    key: \"isTargetId\",\n    value: function isTargetId(handlerId) {\n      var role = parseRoleFromHandlerId(handlerId);\n      return role === HandlerRole.TARGET;\n    }\n  }, {\n    key: \"removeSource\",\n    value: function removeSource(sourceId) {\n      var _this = this;\n\n      invariant(this.getSource(sourceId), 'Expected an existing source.');\n      this.store.dispatch(_removeSource(sourceId));\n      asap(function () {\n        _this.dragSources.delete(sourceId);\n\n        _this.types.delete(sourceId);\n      });\n    }\n  }, {\n    key: \"removeTarget\",\n    value: function removeTarget(targetId) {\n      invariant(this.getTarget(targetId), 'Expected an existing target.');\n      this.store.dispatch(_removeTarget(targetId));\n      this.dropTargets.delete(targetId);\n      this.types.delete(targetId);\n    }\n  }, {\n    key: \"pinSource\",\n    value: function pinSource(sourceId) {\n      var source = this.getSource(sourceId);\n      invariant(source, 'Expected an existing source.');\n      this.pinnedSourceId = sourceId;\n      this.pinnedSource = source;\n    }\n  }, {\n    key: \"unpinSource\",\n    value: function unpinSource() {\n      invariant(this.pinnedSource, 'No source is pinned at the time.');\n      this.pinnedSourceId = null;\n      this.pinnedSource = null;\n    }\n  }, {\n    key: \"addHandler\",\n    value: function addHandler(role, type, handler) {\n      var id = getNextHandlerId(role);\n      this.types.set(id, type);\n\n      if (role === HandlerRole.SOURCE) {\n        this.dragSources.set(id, handler);\n      } else if (role === HandlerRole.TARGET) {\n        this.dropTargets.set(id, handler);\n      }\n\n      return id;\n    }\n  }]);\n\n  return HandlerRegistryImpl;\n}();","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i &lt; 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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport { createStore } from 'redux';\nimport { reduce } from './reducers';\nimport { createDragDropActions } from './actions/dragDrop';\nimport { DragDropMonitorImpl } from './DragDropMonitorImpl';\nimport { HandlerRegistryImpl } from './HandlerRegistryImpl';\n\nfunction makeStoreInstance(debugMode) {\n  // TODO: if we ever make a react-native version of this,\n  // we'll need to consider how to pull off dev-tooling\n  var reduxDevTools = typeof window !== 'undefined' &amp;&amp; window.__REDUX_DEVTOOLS_EXTENSION__;\n  return createStore(reduce, debugMode &amp;&amp; reduxDevTools &amp;&amp; reduxDevTools({\n    name: 'dnd-core',\n    instanceId: 'dnd-core'\n  }));\n}\n\nexport var DragDropManagerImpl = /*#__PURE__*/function () {\n  function DragDropManagerImpl() {\n    var _this = this;\n\n    var debugMode = arguments.length &gt; 0 &amp;&amp; arguments[0] !== undefined ? arguments[0] : false;\n\n    _classCallCheck(this, DragDropManagerImpl);\n\n    this.isSetUp = false;\n\n    this.handleRefCountChange = function () {\n      var shouldSetUp = _this.store.getState().refCount &gt; 0;\n\n      if (_this.backend) {\n        if (shouldSetUp &amp;&amp; !_this.isSetUp) {\n          _this.backend.setup();\n\n          _this.isSetUp = true;\n        } else if (!shouldSetUp &amp;&amp; _this.isSetUp) {\n          _this.backend.teardown();\n\n          _this.isSetUp = false;\n        }\n      }\n    };\n\n    var store = makeStoreInstance(debugMode);\n    this.store = store;\n    this.monitor = new DragDropMonitorImpl(store, new HandlerRegistryImpl(store));\n    store.subscribe(this.handleRefCountChange);\n  }\n\n  _createClass(DragDropManagerImpl, [{\n    key: \"receiveBackend\",\n    value: function receiveBackend(backend) {\n      this.backend = backend;\n    }\n  }, {\n    key: \"getMonitor\",\n    value: function getMonitor() {\n      return this.monitor;\n    }\n  }, {\n    key: \"getBackend\",\n    value: function getBackend() {\n      return this.backend;\n    }\n  }, {\n    key: \"getRegistry\",\n    value: function getRegistry() {\n      return this.monitor.registry;\n    }\n  }, {\n    key: \"getActions\",\n    value: function getActions() {\n      /* eslint-disable-next-line @typescript-eslint/no-this-alias */\n      var manager = this;\n      var dispatch = this.store.dispatch;\n\n      function bindActionCreator(actionCreator) {\n        return function () {\n          for (var _len = arguments.length, args = new Array(_len), _key = 0; _key &lt; _len; _key++) {\n            args[_key] = arguments[_key];\n          }\n\n          var action = actionCreator.apply(manager, args);\n\n          if (typeof action !== 'undefined') {\n            dispatch(action);\n          }\n        };\n      }\n\n      var actions = createDragDropActions(this);\n      return Object.keys(actions).reduce(function (boundActions, key) {\n        var action = actions[key];\n        boundActions[key] = bindActionCreator(action);\n        return boundActions;\n      }, {});\n    }\n  }, {\n    key: \"dispatch\",\n    value: function dispatch(action) {\n      this.store.dispatch(action);\n    }\n  }]);\n\n  return DragDropManagerImpl;\n}();","import { DragDropManagerImpl } from './DragDropManagerImpl';\nexport function createDragDropManager(backendFactory, globalContext, backendOptions, debugMode) {\n  var manager = new DragDropManagerImpl(debugMode);\n  var backend = backendFactory(manager, globalContext, backendOptions);\n  manager.receiveBackend(backend);\n  return manager;\n}","import * as React from 'react';\nimport { createDragDropManager } from 'dnd-core';\n/**\n * Create the React Context\n */\n\nexport var DndContext = React.createContext({\n  dragDropManager: undefined\n});\n/**\n * Creates the context object we're providing\n * @param backend\n * @param context\n */\n\nexport function createDndContext(backend, context, options, debugMode) {\n  return {\n    dragDropManager: createDragDropManager(backend, context, options, debugMode)\n  };\n}","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" &amp;&amp; o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len &gt; arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i &lt; len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i &amp;&amp; _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n &amp;&amp; _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i &lt; sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) &gt;= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i &lt; sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) &gt;= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from 'react';\nimport { memo } from 'react';\nimport { DndContext, createDndContext } from './DndContext';\nvar refCount = 0;\n/**\n * A React component that provides the React-DnD context\n */\n\nexport var DndProvider = memo(function (_ref) {\n  var children = _ref.children,\n      props = _objectWithoutProperties(_ref, [\"children\"]);\n\n  var _getDndContextValue = getDndContextValue(props),\n      _getDndContextValue2 = _slicedToArray(_getDndContextValue, 2),\n      manager = _getDndContextValue2[0],\n      isGlobalInstance = _getDndContextValue2[1]; // memoized from props\n\n  /**\n   * If the global context was used to store the DND context\n   * then where theres no more references to it we should\n   * clean it up to avoid memory leaks\n   */\n\n\n  React.useEffect(function () {\n    if (isGlobalInstance) {\n      refCount++;\n    }\n\n    return function () {\n      if (isGlobalInstance) {\n        refCount--;\n\n        if (refCount === 0) {\n          var context = getGlobalContext();\n          context[instanceSymbol] = null;\n        }\n      }\n    };\n  }, []);\n  return React.createElement(DndContext.Provider, {\n    value: manager\n  }, children);\n});\nDndProvider.displayName = 'DndProvider';\n\nfunction getDndContextValue(props) {\n  if ('manager' in props) {\n    var _manager = {\n      dragDropManager: props.manager\n    };\n    return [_manager, false];\n  }\n\n  var manager = createSingletonDndContext(props.backend, props.context, props.options, props.debugMode);\n  var isGlobalInstance = !props.context;\n  return [manager, isGlobalInstance];\n}\n\nvar instanceSymbol = Symbol.for('__REACT_DND_CONTEXT_INSTANCE__');\n\nfunction createSingletonDndContext(backend) {\n  var context = arguments.length &gt; 1 &amp;&amp; arguments[1] !== undefined ? arguments[1] : getGlobalContext();\n  var options = arguments.length &gt; 2 ? arguments[2] : undefined;\n  var debugMode = arguments.length &gt; 3 ? arguments[3] : undefined;\n  var ctx = context;\n\n  if (!ctx[instanceSymbol]) {\n    ctx[instanceSymbol] = createDndContext(backend, context, options, debugMode);\n  }\n\n  return ctx[instanceSymbol];\n}\n\nfunction getGlobalContext() {\n  return typeof global !== 'undefined' ? global : window;\n}","import * as React from 'react';\n/*\n * A utility for rendering a drag preview image\n */\n\nexport var DragPreviewImage = React.memo(function (_ref) {\n  var connect = _ref.connect,\n      src = _ref.src;\n  React.useEffect(function () {\n    if (typeof Image === 'undefined') return;\n    var connected = false;\n    var img = new Image();\n    img.src = src;\n\n    img.onload = function () {\n      connect(img);\n      connected = true;\n    };\n\n    return function () {\n      if (connected) {\n        connect(null);\n      }\n    };\n  });\n  return null;\n});\nDragPreviewImage.displayName = 'DragPreviewImage';","import { useLayoutEffect, useEffect } from 'react'; // suppress the useLayoutEffect warning on server side.\n\nexport var useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;","export function shallowEqual&lt;T&gt;(\n  objA: T,\n  objB: T,\n  compare?: (a: T, b: T, key?: string) =&gt; boolean | void,\n  compareContext?: any\n) {\n  var compareResult = compare\n    ? compare.call(compareContext, objA, objB)\n    : void 0;\n  if (compareResult !== void 0) {\n    return !!compareResult;\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 &lt; keysA.length; idx++) {\n    var key = keysA[idx];\n\n    if (!bHasOwnProperty(key)) {\n      return false;\n    }\n\n    var valueA = (objA as any)[key];\n    var valueB = (objB as any)[key];\n\n    compareResult = compare\n      ? compare.call(compareContext, valueA, valueB, key)\n      : void 0;\n\n    if (\n      compareResult === false ||\n      (compareResult === void 0 &amp;&amp; valueA !== valueB)\n    ) {\n      return false;\n    }\n  }\n\n  return true;\n}\n","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" &amp;&amp; o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len &gt; arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i &lt; len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i &amp;&amp; _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n &amp;&amp; _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport { shallowEqual } from '@react-dnd/shallowequal';\nimport { useState, useCallback } from 'react';\nimport { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect';\n/**\n *\n * @param monitor The monitor to collect state from\n * @param collect The collecting function\n * @param onUpdate A method to invoke when updates occur\n */\n\nexport function useCollector(monitor, collect, onUpdate) {\n  var _useState = useState(function () {\n    return collect(monitor);\n  }),\n      _useState2 = _slicedToArray(_useState, 2),\n      collected = _useState2[0],\n      setCollected = _useState2[1];\n\n  var updateCollected = useCallback(function () {\n    var nextValue = collect(monitor);\n\n    if (!shallowEqual(collected, nextValue)) {\n      setCollected(nextValue);\n\n      if (onUpdate) {\n        onUpdate();\n      }\n    }\n  }, [collected, monitor, onUpdate]); // update the collected properties after the first render\n  // and the components are attached to dnd-core\n\n  useIsomorphicLayoutEffect(updateCollected, []);\n  return [collected, updateCollected];\n}","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" &amp;&amp; o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len &gt; arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i &lt; len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i &amp;&amp; _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n &amp;&amp; _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect';\nimport { useCollector } from './useCollector';\nexport function useMonitorOutput(monitor, collect, onCollect) {\n  var _useCollector = useCollector(monitor, collect, onCollect),\n      _useCollector2 = _slicedToArray(_useCollector, 2),\n      collected = _useCollector2[0],\n      updateCollected = _useCollector2[1];\n\n  useIsomorphicLayoutEffect(function subscribeToMonitorStateChange() {\n    var handlerId = monitor.getHandlerId();\n\n    if (handlerId == null) {\n      return undefined;\n    }\n\n    return monitor.subscribeToStateChange(updateCollected, {\n      handlerIds: [handlerId]\n    });\n  }, [monitor, updateCollected]);\n  return collected;\n}","export function registerTarget(type, target, manager) {\n  var registry = manager.getRegistry();\n  var targetId = registry.addTarget(type, target);\n  return [targetId, function () {\n    return registry.removeTarget(targetId);\n  }];\n}\nexport function registerSource(type, source, manager) {\n  var registry = manager.getRegistry();\n  var sourceId = registry.addSource(type, source);\n  return [sourceId, function () {\n    return registry.removeSource(sourceId);\n  }];\n}","import { useContext } from 'react';\nimport { invariant } from '@react-dnd/invariant';\nimport { DndContext } from '../common/DndContext';\n/**\n * A hook to retrieve the DragDropManager from Context\n */\n\nexport function useDragDropManager() {\n  var _useContext = useContext(DndContext),\n      dragDropManager = _useContext.dragDropManager;\n\n  invariant(dragDropManager != null, 'Expected drag drop context');\n  return dragDropManager;\n}","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i &lt; 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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport { invariant } from '@react-dnd/invariant';\nvar isCallingCanDrag = false;\nvar isCallingIsDragging = false;\nexport var DragSourceMonitorImpl = /*#__PURE__*/function () {\n  function DragSourceMonitorImpl(manager) {\n    _classCallCheck(this, DragSourceMonitorImpl);\n\n    this.sourceId = null;\n    this.internalMonitor = manager.getMonitor();\n  }\n\n  _createClass(DragSourceMonitorImpl, [{\n    key: \"receiveHandlerId\",\n    value: function receiveHandlerId(sourceId) {\n      this.sourceId = sourceId;\n    }\n  }, {\n    key: \"getHandlerId\",\n    value: function getHandlerId() {\n      return this.sourceId;\n    }\n  }, {\n    key: \"canDrag\",\n    value: function canDrag() {\n      invariant(!isCallingCanDrag, 'You may not call monitor.canDrag() inside your canDrag() implementation. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor');\n\n      try {\n        isCallingCanDrag = true;\n        return this.internalMonitor.canDragSource(this.sourceId);\n      } finally {\n        isCallingCanDrag = false;\n      }\n    }\n  }, {\n    key: \"isDragging\",\n    value: function isDragging() {\n      if (!this.sourceId) {\n        return false;\n      }\n\n      invariant(!isCallingIsDragging, 'You may not call monitor.isDragging() inside your isDragging() implementation. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor');\n\n      try {\n        isCallingIsDragging = true;\n        return this.internalMonitor.isDraggingSource(this.sourceId);\n      } finally {\n        isCallingIsDragging = false;\n      }\n    }\n  }, {\n    key: \"subscribeToStateChange\",\n    value: function subscribeToStateChange(listener, options) {\n      return this.internalMonitor.subscribeToStateChange(listener, options);\n    }\n  }, {\n    key: \"isDraggingSource\",\n    value: function isDraggingSource(sourceId) {\n      return this.internalMonitor.isDraggingSource(sourceId);\n    }\n  }, {\n    key: \"isOverTarget\",\n    value: function isOverTarget(targetId, options) {\n      return this.internalMonitor.isOverTarget(targetId, options);\n    }\n  }, {\n    key: \"getTargetIds\",\n    value: function getTargetIds() {\n      return this.internalMonitor.getTargetIds();\n    }\n  }, {\n    key: \"isSourcePublic\",\n    value: function isSourcePublic() {\n      return this.internalMonitor.isSourcePublic();\n    }\n  }, {\n    key: \"getSourceId\",\n    value: function getSourceId() {\n      return this.internalMonitor.getSourceId();\n    }\n  }, {\n    key: \"subscribeToOffsetChange\",\n    value: function subscribeToOffsetChange(listener) {\n      return this.internalMonitor.subscribeToOffsetChange(listener);\n    }\n  }, {\n    key: \"canDragSource\",\n    value: function canDragSource(sourceId) {\n      return this.internalMonitor.canDragSource(sourceId);\n    }\n  }, {\n    key: \"canDropOnTarget\",\n    value: function canDropOnTarget(targetId) {\n      return this.internalMonitor.canDropOnTarget(targetId);\n    }\n  }, {\n    key: \"getItemType\",\n    value: function getItemType() {\n      return this.internalMonitor.getItemType();\n    }\n  }, {\n    key: \"getItem\",\n    value: function getItem() {\n      return this.internalMonitor.getItem();\n    }\n  }, {\n    key: \"getDropResult\",\n    value: function getDropResult() {\n      return this.internalMonitor.getDropResult();\n    }\n  }, {\n    key: \"didDrop\",\n    value: function didDrop() {\n      return this.internalMonitor.didDrop();\n    }\n  }, {\n    key: \"getInitialClientOffset\",\n    value: function getInitialClientOffset() {\n      return this.internalMonitor.getInitialClientOffset();\n    }\n  }, {\n    key: \"getInitialSourceClientOffset\",\n    value: function getInitialSourceClientOffset() {\n      return this.internalMonitor.getInitialSourceClientOffset();\n    }\n  }, {\n    key: \"getSourceClientOffset\",\n    value: function getSourceClientOffset() {\n      return this.internalMonitor.getSourceClientOffset();\n    }\n  }, {\n    key: \"getClientOffset\",\n    value: function getClientOffset() {\n      return this.internalMonitor.getClientOffset();\n    }\n  }, {\n    key: \"getDifferenceFromInitialOffset\",\n    value: function getDifferenceFromInitialOffset() {\n      return this.internalMonitor.getDifferenceFromInitialOffset();\n    }\n  }]);\n\n  return DragSourceMonitorImpl;\n}();","import { cloneElement } from 'react';\nimport { invariant } from '@react-dnd/invariant';\n\nfunction setRef(ref, node) {\n  if (typeof ref === 'function') {\n    ref(node);\n  } else {\n    ref.current = node;\n  }\n}\n\nexport function cloneWithRef(element, newRef) {\n  var previousRef = element.ref;\n  invariant(typeof previousRef !== 'string', 'Cannot connect React DnD to an element with an existing string ref. ' + 'Please convert it to use a callback ref instead, or wrap it into a &lt;span&gt; or &lt;div&gt;. ' + 'Read more: https://facebook.github.io/react/docs/more-about-refs.html#the-ref-callback-attribute');\n\n  if (!previousRef) {\n    // When there is no ref on the element, use the new ref directly\n    return cloneElement(element, {\n      ref: newRef\n    });\n  } else {\n    return cloneElement(element, {\n      ref: function ref(node) {\n        setRef(previousRef, node);\n        setRef(newRef, node);\n      }\n    });\n  }\n}","import { isValidElement } from 'react';\nimport { cloneWithRef } from '../utils/cloneWithRef';\n\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\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.' + \"You can either wrap \".concat(displayName, \" into a &lt;div&gt;, or turn it into a \") + 'drag source or a drop target itself.');\n}\n\nfunction wrapHookToRecognizeElement(hook) {\n  return function () {\n    var elementOrNode = arguments.length &gt; 0 &amp;&amp; arguments[0] !== undefined ? arguments[0] : null;\n    var options = arguments.length &gt; 1 &amp;&amp; arguments[1] !== undefined ? arguments[1] : null;\n\n    // When passed a node, call the hook straight away.\n    if (!isValidElement(elementOrNode)) {\n      var node = elementOrNode;\n      hook(node, options); // return the node so it can be chained (e.g. when within callback refs\n      // &lt;div ref={node =&gt; connectDragSource(connectDropTarget(node))}/&gt;\n\n      return node;\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\n\n    var element = elementOrNode;\n    throwIfCompositeComponentElement(element); // When no options are passed, use the hook directly\n\n    var ref = options ? function (node) {\n      return hook(node, options);\n    } : hook;\n    return cloneWithRef(element, ref);\n  };\n}\n\nexport function wrapConnectorHooks(hooks) {\n  var wrappedHooks = {};\n  Object.keys(hooks).forEach(function (key) {\n    var hook = hooks[key]; // ref objects should be passed straight through without wrapping\n\n    if (key.endsWith('Ref')) {\n      wrappedHooks[key] = hooks[key];\n    } else {\n      var wrappedHook = wrapHookToRecognizeElement(hook);\n\n      wrappedHooks[key] = function () {\n        return wrappedHook;\n      };\n    }\n  });\n  return wrappedHooks;\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" &amp;&amp; typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj &amp;&amp; typeof Symbol === \"function\" &amp;&amp; obj.constructor === Symbol &amp;&amp; obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nexport function isRef(obj) {\n  return (// eslint-disable-next-line no-prototype-builtins\n    obj !== null &amp;&amp; _typeof(obj) === 'object' &amp;&amp; Object.prototype.hasOwnProperty.call(obj, 'current')\n  );\n}","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i &lt; 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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport { wrapConnectorHooks } from './wrapConnectorHooks';\nimport { isRef } from '../utils/isRef';\nimport { shallowEqual } from '@react-dnd/shallowequal';\nexport var SourceConnector = /*#__PURE__*/function () {\n  function SourceConnector(backend) {\n    var _this = this;\n\n    _classCallCheck(this, SourceConnector);\n\n    this.hooks = wrapConnectorHooks({\n      dragSource: function dragSource(node, options) {\n        _this.clearDragSource();\n\n        _this.dragSourceOptions = options || null;\n\n        if (isRef(node)) {\n          _this.dragSourceRef = node;\n        } else {\n          _this.dragSourceNode = node;\n        }\n\n        _this.reconnectDragSource();\n      },\n      dragPreview: function dragPreview(node, options) {\n        _this.clearDragPreview();\n\n        _this.dragPreviewOptions = options || null;\n\n        if (isRef(node)) {\n          _this.dragPreviewRef = node;\n        } else {\n          _this.dragPreviewNode = node;\n        }\n\n        _this.reconnectDragPreview();\n      }\n    });\n    this.handlerId = null; // The drop target may either be attached via ref or connect function\n\n    this.dragSourceRef = null;\n    this.dragSourceOptionsInternal = null; // The drag preview may either be attached via ref or connect function\n\n    this.dragPreviewRef = null;\n    this.dragPreviewOptionsInternal = null;\n    this.lastConnectedHandlerId = null;\n    this.lastConnectedDragSource = null;\n    this.lastConnectedDragSourceOptions = null;\n    this.lastConnectedDragPreview = null;\n    this.lastConnectedDragPreviewOptions = null;\n    this.backend = backend;\n  }\n\n  _createClass(SourceConnector, [{\n    key: \"receiveHandlerId\",\n    value: function receiveHandlerId(newHandlerId) {\n      if (this.handlerId === newHandlerId) {\n        return;\n      }\n\n      this.handlerId = newHandlerId;\n      this.reconnect();\n    }\n  }, {\n    key: \"reconnect\",\n    value: function reconnect() {\n      this.reconnectDragSource();\n      this.reconnectDragPreview();\n    }\n  }, {\n    key: \"reconnectDragSource\",\n    value: function reconnectDragSource() {\n      var dragSource = this.dragSource; // if nothing has changed then don't resubscribe\n\n      var didChange = this.didHandlerIdChange() || this.didConnectedDragSourceChange() || this.didDragSourceOptionsChange();\n\n      if (didChange) {\n        this.disconnectDragSource();\n      }\n\n      if (!this.handlerId) {\n        return;\n      }\n\n      if (!dragSource) {\n        this.lastConnectedDragSource = dragSource;\n        return;\n      }\n\n      if (didChange) {\n        this.lastConnectedHandlerId = this.handlerId;\n        this.lastConnectedDragSource = dragSource;\n        this.lastConnectedDragSourceOptions = this.dragSourceOptions;\n        this.dragSourceUnsubscribe = this.backend.connectDragSource(this.handlerId, dragSource, this.dragSourceOptions);\n      }\n    }\n  }, {\n    key: \"reconnectDragPreview\",\n    value: function reconnectDragPreview() {\n      var dragPreview = this.dragPreview; // if nothing has changed then don't resubscribe\n\n      var didChange = this.didHandlerIdChange() || this.didConnectedDragPreviewChange() || this.didDragPreviewOptionsChange();\n\n      if (didChange) {\n        this.disconnectDragPreview();\n      }\n\n      if (!this.handlerId) {\n        return;\n      }\n\n      if (!dragPreview) {\n        this.lastConnectedDragPreview = dragPreview;\n        return;\n      }\n\n      if (didChange) {\n        this.lastConnectedHandlerId = this.handlerId;\n        this.lastConnectedDragPreview = dragPreview;\n        this.lastConnectedDragPreviewOptions = this.dragPreviewOptions;\n        this.dragPreviewUnsubscribe = this.backend.connectDragPreview(this.handlerId, dragPreview, this.dragPreviewOptions);\n      }\n    }\n  }, {\n    key: \"didHandlerIdChange\",\n    value: function didHandlerIdChange() {\n      return this.lastConnectedHandlerId !== this.handlerId;\n    }\n  }, {\n    key: \"didConnectedDragSourceChange\",\n    value: function didConnectedDragSourceChange() {\n      return this.lastConnectedDragSource !== this.dragSource;\n    }\n  }, {\n    key: \"didConnectedDragPreviewChange\",\n    value: function didConnectedDragPreviewChange() {\n      return this.lastConnectedDragPreview !== this.dragPreview;\n    }\n  }, {\n    key: \"didDragSourceOptionsChange\",\n    value: function didDragSourceOptionsChange() {\n      return !shallowEqual(this.lastConnectedDragSourceOptions, this.dragSourceOptions);\n    }\n  }, {\n    key: \"didDragPreviewOptionsChange\",\n    value: function didDragPreviewOptionsChange() {\n      return !shallowEqual(this.lastConnectedDragPreviewOptions, this.dragPreviewOptions);\n    }\n  }, {\n    key: \"disconnectDragSource\",\n    value: function disconnectDragSource() {\n      if (this.dragSourceUnsubscribe) {\n        this.dragSourceUnsubscribe();\n        this.dragSourceUnsubscribe = undefined;\n      }\n    }\n  }, {\n    key: \"disconnectDragPreview\",\n    value: function disconnectDragPreview() {\n      if (this.dragPreviewUnsubscribe) {\n        this.dragPreviewUnsubscribe();\n        this.dragPreviewUnsubscribe = undefined;\n        this.dragPreviewNode = null;\n        this.dragPreviewRef = null;\n      }\n    }\n  }, {\n    key: \"clearDragSource\",\n    value: function clearDragSource() {\n      this.dragSourceNode = null;\n      this.dragSourceRef = null;\n    }\n  }, {\n    key: \"clearDragPreview\",\n    value: function clearDragPreview() {\n      this.dragPreviewNode = null;\n      this.dragPreviewRef = null;\n    }\n  }, {\n    key: \"connectTarget\",\n    get: function get() {\n      return this.dragSource;\n    }\n  }, {\n    key: \"dragSourceOptions\",\n    get: function get() {\n      return this.dragSourceOptionsInternal;\n    },\n    set: function set(options) {\n      this.dragSourceOptionsInternal = options;\n    }\n  }, {\n    key: \"dragPreviewOptions\",\n    get: function get() {\n      return this.dragPreviewOptionsInternal;\n    },\n    set: function set(options) {\n      this.dragPreviewOptionsInternal = options;\n    }\n  }, {\n    key: \"dragSource\",\n    get: function get() {\n      return this.dragSourceNode || this.dragSourceRef &amp;&amp; this.dragSourceRef.current;\n    }\n  }, {\n    key: \"dragPreview\",\n    get: function get() {\n      return this.dragPreviewNode || this.dragPreviewRef &amp;&amp; this.dragPreviewRef.current;\n    }\n  }]);\n\n  return SourceConnector;\n}();","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" &amp;&amp; o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len &gt; arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i &lt; len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i &amp;&amp; _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n &amp;&amp; _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" &amp;&amp; typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj &amp;&amp; typeof Symbol === \"function\" &amp;&amp; obj.constructor === Symbol &amp;&amp; obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport { useMemo } from 'react';\nimport { invariant } from '@react-dnd/invariant';\nimport { registerSource } from '../../common/registration';\nimport { useDragDropManager } from '../useDragDropManager';\nimport { DragSourceMonitorImpl } from '../../common/DragSourceMonitorImpl';\nimport { SourceConnector } from '../../common/SourceConnector';\nimport { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect';\nexport function useDragSourceMonitor() {\n  var manager = useDragDropManager();\n  var monitor = useMemo(function () {\n    return new DragSourceMonitorImpl(manager);\n  }, [manager]);\n  var connector = useMemo(function () {\n    return new SourceConnector(manager.getBackend());\n  }, [manager]);\n  return [monitor, connector];\n}\nexport function useDragHandler(spec, monitor, connector) {\n  var manager = useDragDropManager();\n  var handler = useMemo(function () {\n    return {\n      beginDrag: function beginDrag() {\n        var _spec$current = spec.current,\n            begin = _spec$current.begin,\n            item = _spec$current.item;\n\n        if (begin) {\n          var beginResult = begin(monitor);\n          invariant(beginResult == null || _typeof(beginResult) === 'object', 'dragSpec.begin() must either return an object, undefined, or null');\n          return beginResult || item || {};\n        }\n\n        return item || {};\n      },\n      canDrag: function canDrag() {\n        if (typeof spec.current.canDrag === 'boolean') {\n          return spec.current.canDrag;\n        } else if (typeof spec.current.canDrag === 'function') {\n          return spec.current.canDrag(monitor);\n        } else {\n          return true;\n        }\n      },\n      isDragging: function isDragging(globalMonitor, target) {\n        var isDragging = spec.current.isDragging;\n        return isDragging ? isDragging(monitor) : target === globalMonitor.getSourceId();\n      },\n      endDrag: function endDrag() {\n        var end = spec.current.end;\n\n        if (end) {\n          end(monitor.getItem(), monitor);\n        }\n\n        connector.reconnect();\n      }\n    };\n  }, []);\n  useIsomorphicLayoutEffect(function registerHandler() {\n    var _registerSource = registerSource(spec.current.item.type, handler, manager),\n        _registerSource2 = _slicedToArray(_registerSource, 2),\n        handlerId = _registerSource2[0],\n        unregister = _registerSource2[1];\n\n    monitor.receiveHandlerId(handlerId);\n    connector.receiveHandlerId(handlerId);\n    return unregister;\n  }, []);\n}","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" &amp;&amp; o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len &gt; arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i &lt; len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i &amp;&amp; _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n &amp;&amp; _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport { useRef, useMemo } from 'react';\nimport { invariant } from '@react-dnd/invariant';\nimport { useMonitorOutput } from './internal/useMonitorOutput';\nimport { useIsomorphicLayoutEffect } from './internal/useIsomorphicLayoutEffect';\nimport { useDragSourceMonitor, useDragHandler } from './internal/drag';\n/**\n * useDragSource hook\n * @param sourceSpec The drag source specification *\n */\n\nexport function useDrag(spec) {\n  var specRef = useRef(spec);\n  specRef.current = spec; // TODO: wire options into createSourceConnector\n\n  invariant(spec.item != null, 'item must be defined');\n  invariant(spec.item.type != null, 'item type must be defined');\n\n  var _useDragSourceMonitor = useDragSourceMonitor(),\n      _useDragSourceMonitor2 = _slicedToArray(_useDragSourceMonitor, 2),\n      monitor = _useDragSourceMonitor2[0],\n      connector = _useDragSourceMonitor2[1];\n\n  useDragHandler(specRef, monitor, connector);\n  var result = useMonitorOutput(monitor, specRef.current.collect || function () {\n    return {};\n  }, function () {\n    return connector.reconnect();\n  });\n  var connectDragSource = useMemo(function () {\n    return connector.hooks.dragSource();\n  }, [connector]);\n  var connectDragPreview = useMemo(function () {\n    return connector.hooks.dragPreview();\n  }, [connector]);\n  useIsomorphicLayoutEffect(function () {\n    connector.dragSourceOptions = specRef.current.options || null;\n    connector.reconnect();\n  }, [connector]);\n  useIsomorphicLayoutEffect(function () {\n    connector.dragPreviewOptions = specRef.current.previewOptions || null;\n    connector.reconnect();\n  }, [connector]);\n  return [result, connectDragSource, connectDragPreview];\n}","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i &lt; 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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport { shallowEqual } from '@react-dnd/shallowequal';\nimport { wrapConnectorHooks } from './wrapConnectorHooks';\nimport { isRef } from '../utils/isRef';\nexport var TargetConnector = /*#__PURE__*/function () {\n  function TargetConnector(backend) {\n    var _this = this;\n\n    _classCallCheck(this, TargetConnector);\n\n    this.hooks = wrapConnectorHooks({\n      dropTarget: function dropTarget(node, options) {\n        _this.clearDropTarget();\n\n        _this.dropTargetOptions = options;\n\n        if (isRef(node)) {\n          _this.dropTargetRef = node;\n        } else {\n          _this.dropTargetNode = node;\n        }\n\n        _this.reconnect();\n      }\n    });\n    this.handlerId = null; // The drop target may either be attached via ref or connect function\n\n    this.dropTargetRef = null;\n    this.dropTargetOptionsInternal = null;\n    this.lastConnectedHandlerId = null;\n    this.lastConnectedDropTarget = null;\n    this.lastConnectedDropTargetOptions = null;\n    this.backend = backend;\n  }\n\n  _createClass(TargetConnector, [{\n    key: \"reconnect\",\n    value: function reconnect() {\n      // if nothing has changed then don't resubscribe\n      var didChange = this.didHandlerIdChange() || this.didDropTargetChange() || this.didOptionsChange();\n\n      if (didChange) {\n        this.disconnectDropTarget();\n      }\n\n      var dropTarget = this.dropTarget;\n\n      if (!this.handlerId) {\n        return;\n      }\n\n      if (!dropTarget) {\n        this.lastConnectedDropTarget = dropTarget;\n        return;\n      }\n\n      if (didChange) {\n        this.lastConnectedHandlerId = this.handlerId;\n        this.lastConnectedDropTarget = dropTarget;\n        this.lastConnectedDropTargetOptions = this.dropTargetOptions;\n        this.unsubscribeDropTarget = this.backend.connectDropTarget(this.handlerId, dropTarget, this.dropTargetOptions);\n      }\n    }\n  }, {\n    key: \"receiveHandlerId\",\n    value: function receiveHandlerId(newHandlerId) {\n      if (newHandlerId === this.handlerId) {\n        return;\n      }\n\n      this.handlerId = newHandlerId;\n      this.reconnect();\n    }\n  }, {\n    key: \"didHandlerIdChange\",\n    value: function didHandlerIdChange() {\n      return this.lastConnectedHandlerId !== this.handlerId;\n    }\n  }, {\n    key: \"didDropTargetChange\",\n    value: function didDropTargetChange() {\n      return this.lastConnectedDropTarget !== this.dropTarget;\n    }\n  }, {\n    key: \"didOptionsChange\",\n    value: function didOptionsChange() {\n      return !shallowEqual(this.lastConnectedDropTargetOptions, this.dropTargetOptions);\n    }\n  }, {\n    key: \"disconnectDropTarget\",\n    value: function disconnectDropTarget() {\n      if (this.unsubscribeDropTarget) {\n        this.unsubscribeDropTarget();\n        this.unsubscribeDropTarget = undefined;\n      }\n    }\n  }, {\n    key: \"clearDropTarget\",\n    value: function clearDropTarget() {\n      this.dropTargetRef = null;\n      this.dropTargetNode = null;\n    }\n  }, {\n    key: \"connectTarget\",\n    get: function get() {\n      return this.dropTarget;\n    }\n  }, {\n    key: \"dropTargetOptions\",\n    get: function get() {\n      return this.dropTargetOptionsInternal;\n    },\n    set: function set(options) {\n      this.dropTargetOptionsInternal = options;\n    }\n  }, {\n    key: \"dropTarget\",\n    get: function get() {\n      return this.dropTargetNode || this.dropTargetRef &amp;&amp; this.dropTargetRef.current;\n    }\n  }]);\n\n  return TargetConnector;\n}();","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i &lt; 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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport { invariant } from '@react-dnd/invariant';\nvar isCallingCanDrop = false;\nexport var DropTargetMonitorImpl = /*#__PURE__*/function () {\n  function DropTargetMonitorImpl(manager) {\n    _classCallCheck(this, DropTargetMonitorImpl);\n\n    this.targetId = null;\n    this.internalMonitor = manager.getMonitor();\n  }\n\n  _createClass(DropTargetMonitorImpl, [{\n    key: \"receiveHandlerId\",\n    value: function receiveHandlerId(targetId) {\n      this.targetId = targetId;\n    }\n  }, {\n    key: \"getHandlerId\",\n    value: function getHandlerId() {\n      return this.targetId;\n    }\n  }, {\n    key: \"subscribeToStateChange\",\n    value: function subscribeToStateChange(listener, options) {\n      return this.internalMonitor.subscribeToStateChange(listener, options);\n    }\n  }, {\n    key: \"canDrop\",\n    value: function canDrop() {\n      // Cut out early if the target id has not been set. This should prevent errors\n      // where the user has an older version of dnd-core like in\n      // https://github.com/react-dnd/react-dnd/issues/1310\n      if (!this.targetId) {\n        return false;\n      }\n\n      invariant(!isCallingCanDrop, 'You may not call monitor.canDrop() inside your canDrop() implementation. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target-monitor');\n\n      try {\n        isCallingCanDrop = true;\n        return this.internalMonitor.canDropOnTarget(this.targetId);\n      } finally {\n        isCallingCanDrop = false;\n      }\n    }\n  }, {\n    key: \"isOver\",\n    value: function isOver(options) {\n      if (!this.targetId) {\n        return false;\n      }\n\n      return this.internalMonitor.isOverTarget(this.targetId, options);\n    }\n  }, {\n    key: \"getItemType\",\n    value: function getItemType() {\n      return this.internalMonitor.getItemType();\n    }\n  }, {\n    key: \"getItem\",\n    value: function getItem() {\n      return this.internalMonitor.getItem();\n    }\n  }, {\n    key: \"getDropResult\",\n    value: function getDropResult() {\n      return this.internalMonitor.getDropResult();\n    }\n  }, {\n    key: \"didDrop\",\n    value: function didDrop() {\n      return this.internalMonitor.didDrop();\n    }\n  }, {\n    key: \"getInitialClientOffset\",\n    value: function getInitialClientOffset() {\n      return this.internalMonitor.getInitialClientOffset();\n    }\n  }, {\n    key: \"getInitialSourceClientOffset\",\n    value: function getInitialSourceClientOffset() {\n      return this.internalMonitor.getInitialSourceClientOffset();\n    }\n  }, {\n    key: \"getSourceClientOffset\",\n    value: function getSourceClientOffset() {\n      return this.internalMonitor.getSourceClientOffset();\n    }\n  }, {\n    key: \"getClientOffset\",\n    value: function getClientOffset() {\n      return this.internalMonitor.getClientOffset();\n    }\n  }, {\n    key: \"getDifferenceFromInitialOffset\",\n    value: function getDifferenceFromInitialOffset() {\n      return this.internalMonitor.getDifferenceFromInitialOffset();\n    }\n  }]);\n\n  return DropTargetMonitorImpl;\n}();","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" &amp;&amp; o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len &gt; arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i &lt; len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i &amp;&amp; _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n &amp;&amp; _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport { useMemo } from 'react';\nimport { registerTarget } from '../../common/registration';\nimport { useDragDropManager } from '../useDragDropManager';\nimport { TargetConnector } from '../../common/TargetConnector';\nimport { DropTargetMonitorImpl } from '../../common/DropTargetMonitorImpl';\nimport { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect';\nexport function useDropTargetMonitor() {\n  var manager = useDragDropManager();\n  var monitor = useMemo(function () {\n    return new DropTargetMonitorImpl(manager);\n  }, [manager]);\n  var connector = useMemo(function () {\n    return new TargetConnector(manager.getBackend());\n  }, [manager]);\n  return [monitor, connector];\n}\nexport function useDropHandler(spec, monitor, connector) {\n  var manager = useDragDropManager();\n  var handler = useMemo(function () {\n    return {\n      canDrop: function canDrop() {\n        var canDrop = spec.current.canDrop;\n        return canDrop ? canDrop(monitor.getItem(), monitor) : true;\n      },\n      hover: function hover() {\n        var hover = spec.current.hover;\n\n        if (hover) {\n          hover(monitor.getItem(), monitor);\n        }\n      },\n      drop: function drop() {\n        var drop = spec.current.drop;\n\n        if (drop) {\n          return drop(monitor.getItem(), monitor);\n        }\n      }\n    };\n  }, [monitor]);\n  useIsomorphicLayoutEffect(function registerHandler() {\n    var _registerTarget = registerTarget(spec.current.accept, handler, manager),\n        _registerTarget2 = _slicedToArray(_registerTarget, 2),\n        handlerId = _registerTarget2[0],\n        unregister = _registerTarget2[1];\n\n    monitor.receiveHandlerId(handlerId);\n    connector.receiveHandlerId(handlerId);\n    return unregister;\n  }, [monitor, connector]);\n}","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" &amp;&amp; o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len &gt; arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i &lt; len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i &amp;&amp; _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n &amp;&amp; _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport { useRef, useMemo } from 'react';\nimport { invariant } from '@react-dnd/invariant';\nimport { useMonitorOutput } from './internal/useMonitorOutput';\nimport { useIsomorphicLayoutEffect } from './internal/useIsomorphicLayoutEffect';\nimport { useDropHandler, useDropTargetMonitor } from './internal/drop';\n/**\n * useDropTarget Hook\n * @param spec The drop target specification\n */\n\nexport function useDrop(spec) {\n  var specRef = useRef(spec);\n  specRef.current = spec;\n  invariant(spec.accept != null, 'accept must be defined');\n\n  var _useDropTargetMonitor = useDropTargetMonitor(),\n      _useDropTargetMonitor2 = _slicedToArray(_useDropTargetMonitor, 2),\n      monitor = _useDropTargetMonitor2[0],\n      connector = _useDropTargetMonitor2[1];\n\n  useDropHandler(specRef, monitor, connector);\n  var result = useMonitorOutput(monitor, specRef.current.collect || function () {\n    return {};\n  }, function () {\n    return connector.reconnect();\n  });\n  var connectDropTarget = useMemo(function () {\n    return connector.hooks.dropTarget();\n  }, [connector]);\n  useIsomorphicLayoutEffect(function () {\n    connector.dropTargetOptions = spec.options || null;\n    connector.reconnect();\n  }, [spec.options]);\n  return [result, connectDropTarget];\n}","function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" &amp;&amp; o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len &gt; arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i &lt; len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i &amp;&amp; _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n &amp;&amp; _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nimport { useEffect } from 'react';\nimport { useDragDropManager } from './useDragDropManager';\nimport { useCollector } from './internal/useCollector';\n/**\n * useDragLayer Hook\n * @param collector The property collector\n */\n\nexport function useDragLayer(collect) {\n  var dragDropManager = useDragDropManager();\n  var monitor = dragDropManager.getMonitor();\n\n  var _useCollector = useCollector(monitor, collect),\n      _useCollector2 = _slicedToArray(_useCollector, 2),\n      collected = _useCollector2[0],\n      updateCollected = _useCollector2[1];\n\n  useEffect(function () {\n    return monitor.subscribeToOffsetChange(updateCollected);\n  });\n  useEffect(function () {\n    return monitor.subscribeToStateChange(updateCollected);\n  });\n  return collected;\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" &amp;&amp; typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj &amp;&amp; typeof Symbol === \"function\" &amp;&amp; obj.constructor === Symbol &amp;&amp; obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n// cheap lodash replacements\nexport function isFunction(input) {\n  return typeof input === 'function';\n}\nexport function noop() {// noop\n}\n\nfunction isObjectLike(input) {\n  return _typeof(input) === 'object' &amp;&amp; input !== null;\n}\n\nexport function isPlainObject(input) {\n  if (!isObjectLike(input)) {\n    return false;\n  }\n\n  if (Object.getPrototypeOf(input) === null) {\n    return true;\n  }\n\n  var proto = input;\n\n  while (Object.getPrototypeOf(proto) !== null) {\n    proto = Object.getPrototypeOf(proto);\n  }\n\n  return Object.getPrototypeOf(input) === proto;\n}","export function getDecoratedComponent(instanceRef) {\n  var currentRef = instanceRef.current;\n\n  if (currentRef == null) {\n    return null;\n  } else if (currentRef.decoratedRef) {\n    // go through the private field in decorateHandler to avoid the invariant hit\n    return currentRef.decoratedRef.current;\n  } else {\n    return currentRef;\n  }\n}\nexport function isClassComponent(Component) {\n  return Component &amp;&amp; Component.prototype &amp;&amp; typeof Component.prototype.render === 'function';\n}\nexport function isRefForwardingComponent(C) {\n  var _item$$$typeof;\n\n  var item = C;\n  return (item === null || item === void 0 ? void 0 : (_item$$$typeof = item.$$typeof) === null || _item$$$typeof === void 0 ? void 0 : _item$$$typeof.toString()) === 'Symbol(react.forward_ref)';\n}\nexport function isRefable(C) {\n  return isClassComponent(C) || isRefForwardingComponent(C);\n}\nexport function checkDecoratorArguments(functionName, signature) {\n  if (process.env.NODE_ENV !== 'production') {\n    for (var i = 0; i &lt; (arguments.length &lt;= 2 ? 0 : arguments.length - 2); i++) {\n      var arg = i + 2 &lt; 2 || arguments.length &lt;= i + 2 ? undefined : arguments[i + 2];\n\n      if (arg &amp;&amp; arg.prototype &amp;&amp; arg.prototype.render) {\n        // eslint-disable-next-line no-console\n        console.error('You seem to be applying the arguments in the wrong order. ' + \"It should be \".concat(functionName, \"(\").concat(signature, \")(Component), not the other way around. \") + 'Read more: http://react-dnd.github.io/react-dnd/docs/troubleshooting#you-seem-to-be-applying-the-arguments-in-the-wrong-order');\n        return;\n      }\n    }\n  }\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" &amp;&amp; typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj &amp;&amp; typeof Symbol === \"function\" &amp;&amp; obj.constructor === Symbol &amp;&amp; obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" &amp;&amp; o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len &gt; arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i &lt; len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i &amp;&amp; _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n &amp;&amp; _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i &lt; 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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" &amp;&amp; superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass &amp;&amp; superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function () { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call &amp;&amp; (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport * as React from 'react';\nimport { shallowEqual } from '@react-dnd/shallowequal';\nimport { invariant } from '@react-dnd/invariant';\nimport hoistStatics from 'hoist-non-react-statics';\nimport { DndContext } from '../common/DndContext';\nimport { isPlainObject } from '../utils/js_utils';\nimport { Disposable, CompositeDisposable, SerialDisposable } from './disposables';\nimport { isRefable } from './utils';\nexport function decorateHandler(_ref) {\n  var DecoratedComponent = _ref.DecoratedComponent,\n      createHandler = _ref.createHandler,\n      createMonitor = _ref.createMonitor,\n      createConnector = _ref.createConnector,\n      registerHandler = _ref.registerHandler,\n      containerDisplayName = _ref.containerDisplayName,\n      getType = _ref.getType,\n      collect = _ref.collect,\n      options = _ref.options;\n  var _options$arePropsEqua = options.arePropsEqual,\n      arePropsEqual = _options$arePropsEqua === void 0 ? shallowEqual : _options$arePropsEqua;\n  var Decorated = DecoratedComponent;\n  var displayName = DecoratedComponent.displayName || DecoratedComponent.name || 'Component';\n\n  var DragDropContainer =\n  /** @class */\n  function () {\n    var DragDropContainer = /*#__PURE__*/function (_React$Component) {\n      _inherits(DragDropContainer, _React$Component);\n\n      var _super = _createSuper(DragDropContainer);\n\n      function DragDropContainer(props) {\n        var _this;\n\n        _classCallCheck(this, DragDropContainer);\n\n        _this = _super.call(this, props);\n        _this.decoratedRef = React.createRef();\n\n        _this.handleChange = function () {\n          var nextState = _this.getCurrentState();\n\n          if (!shallowEqual(nextState, _this.state)) {\n            _this.setState(nextState);\n          }\n        };\n\n        _this.disposable = new SerialDisposable();\n\n        _this.receiveProps(props);\n\n        _this.dispose();\n\n        return _this;\n      }\n\n      _createClass(DragDropContainer, [{\n        key: \"getHandlerId\",\n        value: function getHandlerId() {\n          return this.handlerId;\n        }\n      }, {\n        key: \"getDecoratedComponentInstance\",\n        value: function getDecoratedComponentInstance() {\n          invariant(this.decoratedRef.current, 'In order to access an instance of the decorated component, it must either be a class component or use React.forwardRef()');\n          return this.decoratedRef.current;\n        }\n      }, {\n        key: \"shouldComponentUpdate\",\n        value: function shouldComponentUpdate(nextProps, nextState) {\n          return !arePropsEqual(nextProps, this.props) || !shallowEqual(nextState, this.state);\n        }\n      }, {\n        key: \"componentDidMount\",\n        value: function componentDidMount() {\n          this.disposable = new SerialDisposable();\n          this.currentType = undefined;\n          this.receiveProps(this.props);\n          this.handleChange();\n        }\n      }, {\n        key: \"componentDidUpdate\",\n        value: function componentDidUpdate(prevProps) {\n          if (!arePropsEqual(this.props, prevProps)) {\n            this.receiveProps(this.props);\n            this.handleChange();\n          }\n        }\n      }, {\n        key: \"componentWillUnmount\",\n        value: function componentWillUnmount() {\n          this.dispose();\n        }\n      }, {\n        key: \"receiveProps\",\n        value: function receiveProps(props) {\n          if (!this.handler) {\n            return;\n          }\n\n          this.handler.receiveProps(props);\n          this.receiveType(getType(props));\n        }\n      }, {\n        key: \"receiveType\",\n        value: function receiveType(type) {\n          if (!this.handlerMonitor || !this.manager || !this.handlerConnector) {\n            return;\n          }\n\n          if (type === this.currentType) {\n            return;\n          }\n\n          this.currentType = type;\n\n          var _registerHandler = registerHandler(type, this.handler, this.manager),\n              _registerHandler2 = _slicedToArray(_registerHandler, 2),\n              handlerId = _registerHandler2[0],\n              unregister = _registerHandler2[1];\n\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, {\n            handlerIds: [handlerId]\n          });\n          this.disposable.setDisposable(new CompositeDisposable(new Disposable(unsubscribe), new Disposable(unregister)));\n        }\n      }, {\n        key: \"dispose\",\n        value: function dispose() {\n          this.disposable.dispose();\n\n          if (this.handlerConnector) {\n            this.handlerConnector.receiveHandlerId(null);\n          }\n        }\n      }, {\n        key: \"getCurrentState\",\n        value: function getCurrentState() {\n          if (!this.handlerConnector) {\n            return {};\n          }\n\n          var nextState = collect(this.handlerConnector.hooks, this.handlerMonitor, this.props);\n\n          if (process.env.NODE_ENV !== 'production') {\n            invariant(isPlainObject(nextState), 'Expected `collect` specified as the second argument to ' + '%s for %s to return a plain object of props to inject. ' + 'Instead, received %s.', containerDisplayName, displayName, nextState);\n          }\n\n          return nextState;\n        }\n      }, {\n        key: \"render\",\n        value: function render() {\n          var _this2 = this;\n\n          return React.createElement(DndContext.Consumer, null, function (_ref2) {\n            var dragDropManager = _ref2.dragDropManager;\n\n            _this2.receiveDragDropManager(dragDropManager);\n\n            if (typeof requestAnimationFrame !== 'undefined') {\n              requestAnimationFrame(function () {\n                var _this2$handlerConnect;\n\n                return (_this2$handlerConnect = _this2.handlerConnector) === null || _this2$handlerConnect === void 0 ? void 0 : _this2$handlerConnect.reconnect();\n              });\n            }\n\n            return React.createElement(Decorated, Object.assign({}, _this2.props, _this2.getCurrentState(), {\n              // NOTE: if Decorated is a Function Component, decoratedRef will not be populated unless it's a refforwarding component.\n              ref: isRefable(Decorated) ? _this2.decoratedRef : null\n            }));\n          });\n        }\n      }, {\n        key: \"receiveDragDropManager\",\n        value: function receiveDragDropManager(dragDropManager) {\n          if (this.manager !== undefined) {\n            return;\n          }\n\n          invariant(dragDropManager !== undefined, 'Could not find the drag and drop manager in the context of %s. ' + 'Make sure to render a DndProvider component in your top-level component. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/troubleshooting#could-not-find-the-drag-and-drop-manager-in-the-context', displayName, displayName);\n\n          if (dragDropManager === undefined) {\n            return;\n          }\n\n          this.manager = dragDropManager;\n          this.handlerMonitor = createMonitor(dragDropManager);\n          this.handlerConnector = createConnector(dragDropManager.getBackend());\n          this.handler = createHandler(this.handlerMonitor, this.decoratedRef);\n        }\n      }]);\n\n      return DragDropContainer;\n    }(React.Component);\n\n    DragDropContainer.DecoratedComponent = DecoratedComponent;\n    DragDropContainer.displayName = \"\".concat(containerDisplayName, \"(\").concat(displayName, \")\");\n    return DragDropContainer;\n  }();\n\n  return hoistStatics(DragDropContainer, DecoratedComponent);\n}","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i &lt; 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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport { isFunction, noop } from '../utils/js_utils';\n/**\n * Provides a set of static methods for creating Disposables.\n * @param {Function} action Action to run during the first call to dispose.\n * The action is guaranteed to be run at most once.\n */\n\nvar Disposable =\n/** @class */\nfunction () {\n  var Disposable = /*#__PURE__*/function () {\n    function Disposable(action) {\n      _classCallCheck(this, Disposable);\n\n      this.isDisposed = false;\n      this.action = isFunction(action) ? action : noop;\n    }\n    /**\n     * Validates whether the given object is a disposable\n     * @param {Object} Object to test whether it has a dispose method\n     * @returns {Boolean} true if a disposable object, else false.\n     */\n\n\n    _createClass(Disposable, [{\n      key: \"dispose\",\n\n      /** Performs the task of cleaning up resources. */\n      value: function dispose() {\n        if (!this.isDisposed) {\n          this.action();\n          this.isDisposed = true;\n        }\n      }\n    }], [{\n      key: \"isDisposable\",\n      value: function isDisposable(d) {\n        return Boolean(d &amp;&amp; isFunction(d.dispose));\n      }\n    }, {\n      key: \"_fixup\",\n      value: function _fixup(result) {\n        return Disposable.isDisposable(result) ? result : Disposable.empty;\n      }\n      /**\n       * Creates a disposable object that invokes the specified action when disposed.\n       * @param {Function} dispose Action to run during the first call to dispose.\n       * The action is guaranteed to be run at most once.\n       * @return {Disposable} The disposable object that runs the given action upon disposal.\n       */\n\n    }, {\n      key: \"create\",\n      value: function create(action) {\n        return new Disposable(action);\n      }\n    }]);\n\n    return Disposable;\n  }();\n  /**\n   * Gets the disposable that does nothing when disposed.\n   */\n\n\n  Disposable.empty = {\n    dispose: noop\n  };\n  return Disposable;\n}();\n\nexport { Disposable };\n/**\n * Represents a group of disposable resources that are disposed together.\n * @constructor\n */\n\nexport var CompositeDisposable = /*#__PURE__*/function () {\n  function CompositeDisposable() {\n    _classCallCheck(this, CompositeDisposable);\n\n    this.isDisposed = false;\n\n    for (var _len = arguments.length, disposables = new Array(_len), _key = 0; _key &lt; _len; _key++) {\n      disposables[_key] = arguments[_key];\n    }\n\n    this.disposables = disposables;\n  }\n  /**\n   * Adds a disposable to the CompositeDisposable or disposes the disposable if the CompositeDisposable is disposed.\n   * @param {Any} item Disposable to add.\n   */\n\n\n  _createClass(CompositeDisposable, [{\n    key: \"add\",\n    value: function add(item) {\n      if (this.isDisposed) {\n        item.dispose();\n      } else {\n        this.disposables.push(item);\n      }\n    }\n    /**\n     * Removes and disposes the first occurrence of a disposable from the CompositeDisposable.\n     * @param {Any} item Disposable to remove.\n     * @returns {Boolean} true if found; false otherwise.\n     */\n\n  }, {\n    key: \"remove\",\n    value: function remove(item) {\n      var shouldDispose = false;\n\n      if (!this.isDisposed) {\n        var idx = this.disposables.indexOf(item);\n\n        if (idx !== -1) {\n          shouldDispose = true;\n          this.disposables.splice(idx, 1);\n          item.dispose();\n        }\n      }\n\n      return shouldDispose;\n    }\n    /**\n     *  Disposes all disposables in the group and removes them from the group but\n     *  does not dispose the CompositeDisposable.\n     */\n\n  }, {\n    key: \"clear\",\n    value: function clear() {\n      if (!this.isDisposed) {\n        var len = this.disposables.length;\n        var currentDisposables = new Array(len);\n\n        for (var i = 0; i &lt; len; i++) {\n          currentDisposables[i] = this.disposables[i];\n        }\n\n        this.disposables = [];\n\n        for (var _i = 0; _i &lt; len; _i++) {\n          currentDisposables[_i].dispose();\n        }\n      }\n    }\n    /**\n     *  Disposes all disposables in the group and removes them from the group.\n     */\n\n  }, {\n    key: \"dispose\",\n    value: function dispose() {\n      if (!this.isDisposed) {\n        this.isDisposed = true;\n        var len = this.disposables.length;\n        var currentDisposables = new Array(len);\n\n        for (var i = 0; i &lt; len; i++) {\n          currentDisposables[i] = this.disposables[i];\n        }\n\n        this.disposables = [];\n\n        for (var _i2 = 0; _i2 &lt; len; _i2++) {\n          currentDisposables[_i2].dispose();\n        }\n      }\n    }\n  }]);\n\n  return CompositeDisposable;\n}();\n/**\n * Represents a disposable resource whose underlying disposable resource can\n * be replaced by another disposable resource, causing automatic disposal of\n * the previous underlying disposable resource.\n */\n\nexport var SerialDisposable = /*#__PURE__*/function () {\n  function SerialDisposable() {\n    _classCallCheck(this, SerialDisposable);\n\n    this.isDisposed = false;\n  }\n  /**\n   * Gets the underlying disposable.\n   * @returns {Any} the underlying disposable.\n   */\n\n\n  _createClass(SerialDisposable, [{\n    key: \"getDisposable\",\n    value: function getDisposable() {\n      return this.current;\n    }\n  }, {\n    key: \"setDisposable\",\n    value: function setDisposable(value) {\n      var shouldDispose = this.isDisposed;\n\n      if (!shouldDispose) {\n        var old = this.current;\n        this.current = value;\n\n        if (old) {\n          old.dispose();\n        }\n      }\n\n      if (shouldDispose &amp;&amp; value) {\n        value.dispose();\n      }\n    }\n    /** Performs the task of cleaning up resources. */\n\n  }, {\n    key: \"dispose\",\n    value: function dispose() {\n      if (!this.isDisposed) {\n        this.isDisposed = true;\n        var old = this.current;\n        this.current = undefined;\n\n        if (old) {\n          old.dispose();\n        }\n      }\n    }\n  }]);\n\n  return SerialDisposable;\n}();","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" &amp;&amp; typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj &amp;&amp; typeof Symbol === \"function\" &amp;&amp; obj.constructor === Symbol &amp;&amp; obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nexport function isValidType(type, allowArray) {\n  return typeof type === 'string' || _typeof(type) === 'symbol' || !!allowArray &amp;&amp; Array.isArray(type) &amp;&amp; type.every(function (t) {\n    return isValidType(t, false);\n  });\n}","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i &lt; 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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport { invariant } from '@react-dnd/invariant';\nimport { isPlainObject } from '../utils/js_utils';\nimport { getDecoratedComponent } from './utils';\nvar ALLOWED_SPEC_METHODS = ['canDrag', 'beginDrag', 'isDragging', 'endDrag'];\nvar REQUIRED_SPEC_METHODS = ['beginDrag'];\n\nvar SourceImpl = /*#__PURE__*/function () {\n  function SourceImpl(spec, monitor, ref) {\n    var _this = this;\n\n    _classCallCheck(this, SourceImpl);\n\n    this.props = null;\n\n    this.beginDrag = function () {\n      if (!_this.props) {\n        return;\n      }\n\n      var item = _this.spec.beginDrag(_this.props, _this.monitor, _this.ref.current);\n\n      if (process.env.NODE_ENV !== 'production') {\n        invariant(isPlainObject(item), 'beginDrag() must return a plain object that represents the dragged item. ' + 'Instead received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', item);\n      }\n\n      return item;\n    };\n\n    this.spec = spec;\n    this.monitor = monitor;\n    this.ref = ref;\n  }\n\n  _createClass(SourceImpl, [{\n    key: \"receiveProps\",\n    value: function receiveProps(props) {\n      this.props = props;\n    }\n  }, {\n    key: \"canDrag\",\n    value: function canDrag() {\n      if (!this.props) {\n        return false;\n      }\n\n      if (!this.spec.canDrag) {\n        return true;\n      }\n\n      return this.spec.canDrag(this.props, this.monitor);\n    }\n  }, {\n    key: \"isDragging\",\n    value: function isDragging(globalMonitor, sourceId) {\n      if (!this.props) {\n        return false;\n      }\n\n      if (!this.spec.isDragging) {\n        return sourceId === globalMonitor.getSourceId();\n      }\n\n      return this.spec.isDragging(this.props, this.monitor);\n    }\n  }, {\n    key: \"endDrag\",\n    value: function endDrag() {\n      if (!this.props) {\n        return;\n      }\n\n      if (!this.spec.endDrag) {\n        return;\n      }\n\n      this.spec.endDrag(this.props, this.monitor, getDecoratedComponent(this.ref));\n    }\n  }]);\n\n  return SourceImpl;\n}();\n\nexport function createSourceFactory(spec) {\n  Object.keys(spec).forEach(function (key) {\n    invariant(ALLOWED_SPEC_METHODS.indexOf(key) &gt; -1, 'Expected the drag source specification to only have ' + 'some of the following keys: %s. ' + 'Instead received a specification with an unexpected \"%s\" key. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', ALLOWED_SPEC_METHODS.join(', '), key);\n    invariant(typeof spec[key] === 'function', 'Expected %s in the drag source specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', key, key, spec[key]);\n  });\n  REQUIRED_SPEC_METHODS.forEach(function (key) {\n    invariant(typeof spec[key] === 'function', 'Expected %s in the drag source specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', key, key, spec[key]);\n  });\n  return function createSource(monitor, ref) {\n    return new SourceImpl(spec, monitor, ref);\n  };\n}","import { invariant } from '@react-dnd/invariant';\nimport { isPlainObject } from '../utils/js_utils';\nimport { checkDecoratorArguments } from './utils';\nimport { decorateHandler } from './decorateHandler';\nimport { registerSource } from '../common/registration';\nimport { DragSourceMonitorImpl } from '../common/DragSourceMonitorImpl';\nimport { SourceConnector } from '../common/SourceConnector';\nimport { isValidType } from '../utils/isValidType';\nimport { createSourceFactory } from './createSourceFactory';\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 options\n */\n\nexport function DragSource(type, spec, collect) {\n  var options = arguments.length &gt; 3 &amp;&amp; arguments[3] !== undefined ? arguments[3] : {};\n  checkDecoratorArguments('DragSource', 'type, spec, collect[, options]', type, spec, collect, options);\n  var getType = type;\n\n  if (typeof type !== 'function') {\n    invariant(isValidType(type), 'Expected \"type\" provided as the first argument to DragSource to be ' + 'a string, or a function that returns a string given the current props. ' + 'Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', type);\n\n    getType = function getType() {\n      return type;\n    };\n  }\n\n  invariant(isPlainObject(spec), 'Expected \"spec\" provided as the second argument to DragSource to be ' + 'a plain object. Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', spec);\n  var createSource = createSourceFactory(spec);\n  invariant(typeof collect === 'function', 'Expected \"collect\" provided as the third argument to DragSource to be ' + 'a function that returns a plain object of props to inject. ' + 'Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', collect);\n  invariant(isPlainObject(options), 'Expected \"options\" provided as the fourth argument to DragSource to be ' + 'a plain object when specified. ' + 'Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source', collect);\n  return function decorateSource(DecoratedComponent) {\n    return decorateHandler({\n      containerDisplayName: 'DragSource',\n      createHandler: createSource,\n      registerHandler: registerSource,\n      createConnector: function createConnector(backend) {\n        return new SourceConnector(backend);\n      },\n      createMonitor: function createMonitor(manager) {\n        return new DragSourceMonitorImpl(manager);\n      },\n      DecoratedComponent: DecoratedComponent,\n      getType: getType,\n      collect: collect,\n      options: options\n    });\n  };\n}","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i &lt; 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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport { invariant } from '@react-dnd/invariant';\nimport { isPlainObject } from '../utils/js_utils';\nimport { getDecoratedComponent } from './utils';\nvar ALLOWED_SPEC_METHODS = ['canDrop', 'hover', 'drop'];\n\nvar TargetImpl = /*#__PURE__*/function () {\n  function TargetImpl(spec, monitor, ref) {\n    _classCallCheck(this, TargetImpl);\n\n    this.props = null;\n    this.spec = spec;\n    this.monitor = monitor;\n    this.ref = ref;\n  }\n\n  _createClass(TargetImpl, [{\n    key: \"receiveProps\",\n    value: function receiveProps(props) {\n      this.props = props;\n    }\n  }, {\n    key: \"receiveMonitor\",\n    value: function receiveMonitor(monitor) {\n      this.monitor = monitor;\n    }\n  }, {\n    key: \"canDrop\",\n    value: function canDrop() {\n      if (!this.spec.canDrop) {\n        return true;\n      }\n\n      return this.spec.canDrop(this.props, this.monitor);\n    }\n  }, {\n    key: \"hover\",\n    value: function hover() {\n      if (!this.spec.hover || !this.props) {\n        return;\n      }\n\n      this.spec.hover(this.props, this.monitor, getDecoratedComponent(this.ref));\n    }\n  }, {\n    key: \"drop\",\n    value: function drop() {\n      if (!this.spec.drop) {\n        return undefined;\n      }\n\n      var dropResult = this.spec.drop(this.props, this.monitor, this.ref.current);\n\n      if (process.env.NODE_ENV !== 'production') {\n        invariant(typeof dropResult === 'undefined' || isPlainObject(dropResult), 'drop() must either return undefined, or an object that represents the drop result. ' + 'Instead received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', dropResult);\n      }\n\n      return dropResult;\n    }\n  }]);\n\n  return TargetImpl;\n}();\n\nexport function createTargetFactory(spec) {\n  Object.keys(spec).forEach(function (key) {\n    invariant(ALLOWED_SPEC_METHODS.indexOf(key) &gt; -1, 'Expected the drop target specification to only have ' + 'some of the following keys: %s. ' + 'Instead received a specification with an unexpected \"%s\" key. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', ALLOWED_SPEC_METHODS.join(', '), key);\n    invariant(typeof spec[key] === 'function', 'Expected %s in the drop target specification to be a function. ' + 'Instead received a specification with %s: %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', key, key, spec[key]);\n  });\n  return function createTarget(monitor, ref) {\n    return new TargetImpl(spec, monitor, ref);\n  };\n}","import { invariant } from '@react-dnd/invariant';\nimport { isPlainObject } from '../utils/js_utils';\nimport { registerTarget } from '../common/registration';\nimport { isValidType } from '../utils/isValidType';\nimport { TargetConnector } from '../common/TargetConnector';\nimport { DropTargetMonitorImpl } from '../common/DropTargetMonitorImpl';\nimport { checkDecoratorArguments } from './utils';\nimport { decorateHandler } from './decorateHandler';\nimport { createTargetFactory } from './createTargetFactory';\nexport function DropTarget(type, spec, collect) {\n  var options = arguments.length &gt; 3 &amp;&amp; arguments[3] !== undefined ? arguments[3] : {};\n  checkDecoratorArguments('DropTarget', 'type, spec, collect[, options]', type, spec, collect, options);\n  var getType = type;\n\n  if (typeof type !== 'function') {\n    invariant(isValidType(type, true), 'Expected \"type\" provided as the first argument to DropTarget to be ' + 'a string, an array of strings, or a function that returns either given ' + 'the current props. Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', type);\n\n    getType = function getType() {\n      return type;\n    };\n  }\n\n  invariant(isPlainObject(spec), 'Expected \"spec\" provided as the second argument to DropTarget to be ' + 'a plain object. Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', spec);\n  var createTarget = createTargetFactory(spec);\n  invariant(typeof collect === 'function', 'Expected \"collect\" provided as the third argument to DropTarget to be ' + 'a function that returns a plain object of props to inject. ' + 'Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', collect);\n  invariant(isPlainObject(options), 'Expected \"options\" provided as the fourth argument to DropTarget to be ' + 'a plain object when specified. ' + 'Instead, received %s. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target', collect);\n  return function decorateTarget(DecoratedComponent) {\n    return decorateHandler({\n      containerDisplayName: 'DropTarget',\n      createHandler: createTarget,\n      registerHandler: registerTarget,\n      createMonitor: function createMonitor(manager) {\n        return new DropTargetMonitorImpl(manager);\n      },\n      createConnector: function createConnector(backend) {\n        return new TargetConnector(backend);\n      },\n      DecoratedComponent: DecoratedComponent,\n      getType: getType,\n      collect: collect,\n      options: options\n    });\n  };\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" &amp;&amp; typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj &amp;&amp; typeof Symbol === \"function\" &amp;&amp; obj.constructor === Symbol &amp;&amp; obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i &lt; 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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" &amp;&amp; superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass &amp;&amp; superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function () { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call &amp;&amp; (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport * as React from 'react';\nimport { shallowEqual } from '@react-dnd/shallowequal';\nimport hoistStatics from 'hoist-non-react-statics';\nimport { invariant } from '@react-dnd/invariant';\nimport { DndContext } from '../common/DndContext';\nimport { isPlainObject } from '../utils/js_utils';\nimport { isRefable, checkDecoratorArguments } from './utils';\nexport function DragLayer(collect) {\n  var options = arguments.length &gt; 1 &amp;&amp; arguments[1] !== undefined ? arguments[1] : {};\n  checkDecoratorArguments('DragLayer', 'collect[, options]', collect, options);\n  invariant(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/api/drag-layer', collect);\n  invariant(isPlainObject(options), 'Expected \"options\" provided as the second argument to DragLayer to be a plain object when specified. ' + 'Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-layer', options);\n  return function decorateLayer(DecoratedComponent) {\n    var Decorated = DecoratedComponent;\n    var _options$arePropsEqua = options.arePropsEqual,\n        arePropsEqual = _options$arePropsEqua === void 0 ? shallowEqual : _options$arePropsEqua;\n    var displayName = Decorated.displayName || Decorated.name || 'Component';\n\n    var DragLayerContainer =\n    /** @class */\n    function () {\n      var DragLayerContainer = /*#__PURE__*/function (_React$Component) {\n        _inherits(DragLayerContainer, _React$Component);\n\n        var _super = _createSuper(DragLayerContainer);\n\n        function DragLayerContainer() {\n          var _this;\n\n          _classCallCheck(this, DragLayerContainer);\n\n          _this = _super.apply(this, arguments);\n          _this.isCurrentlyMounted = false;\n          _this.ref = React.createRef();\n\n          _this.handleChange = function () {\n            if (!_this.isCurrentlyMounted) {\n              return;\n            }\n\n            var nextState = _this.getCurrentState();\n\n            if (!shallowEqual(nextState, _this.state)) {\n              _this.setState(nextState);\n            }\n          };\n\n          return _this;\n        }\n\n        _createClass(DragLayerContainer, [{\n          key: \"getDecoratedComponentInstance\",\n          value: function getDecoratedComponentInstance() {\n            invariant(this.ref.current, 'In order to access an instance of the decorated component, it must either be a class component or use React.forwardRef()');\n            return this.ref.current;\n          }\n        }, {\n          key: \"shouldComponentUpdate\",\n          value: function shouldComponentUpdate(nextProps, nextState) {\n            return !arePropsEqual(nextProps, this.props) || !shallowEqual(nextState, this.state);\n          }\n        }, {\n          key: \"componentDidMount\",\n          value: function componentDidMount() {\n            this.isCurrentlyMounted = true;\n            this.handleChange();\n          }\n        }, {\n          key: \"componentWillUnmount\",\n          value: function componentWillUnmount() {\n            this.isCurrentlyMounted = false;\n\n            if (this.unsubscribeFromOffsetChange) {\n              this.unsubscribeFromOffsetChange();\n              this.unsubscribeFromOffsetChange = undefined;\n            }\n\n            if (this.unsubscribeFromStateChange) {\n              this.unsubscribeFromStateChange();\n              this.unsubscribeFromStateChange = undefined;\n            }\n          }\n        }, {\n          key: \"render\",\n          value: function render() {\n            var _this2 = this;\n\n            return React.createElement(DndContext.Consumer, null, function (_ref) {\n              var dragDropManager = _ref.dragDropManager;\n\n              if (dragDropManager === undefined) {\n                return null;\n              }\n\n              _this2.receiveDragDropManager(dragDropManager); // Let componentDidMount fire to initialize the collected state\n\n\n              if (!_this2.isCurrentlyMounted) {\n                return null;\n              }\n\n              return React.createElement(Decorated, Object.assign({}, _this2.props, _this2.state, {\n                ref: isRefable(Decorated) ? _this2.ref : null\n              }));\n            });\n          }\n        }, {\n          key: \"receiveDragDropManager\",\n          value: function receiveDragDropManager(dragDropManager) {\n            if (this.manager !== undefined) {\n              return;\n            }\n\n            this.manager = dragDropManager;\n            invariant(_typeof(dragDropManager) === 'object', 'Could not find the drag and drop manager in the context of %s. ' + 'Make sure to render a DndProvider component in your top-level component. ' + 'Read more: http://react-dnd.github.io/react-dnd/docs/troubleshooting#could-not-find-the-drag-and-drop-manager-in-the-context', displayName, displayName);\n            var monitor = this.manager.getMonitor();\n            this.unsubscribeFromOffsetChange = monitor.subscribeToOffsetChange(this.handleChange);\n            this.unsubscribeFromStateChange = monitor.subscribeToStateChange(this.handleChange);\n          }\n        }, {\n          key: \"getCurrentState\",\n          value: function getCurrentState() {\n            if (!this.manager) {\n              return {};\n            }\n\n            var monitor = this.manager.getMonitor();\n            return collect(monitor, this.props);\n          }\n        }]);\n\n        return DragLayerContainer;\n      }(React.Component);\n\n      DragLayerContainer.displayName = \"DragLayer(\".concat(displayName, \")\");\n      DragLayerContainer.DecoratedComponent = DecoratedComponent;\n      return DragLayerContainer;\n    }();\n\n    return hoistStatics(DragLayerContainer, DecoratedComponent);\n  };\n}","\nimport * as __star__ from 'react-dnd';\n\nconst {\ndefault: __default__,\ncreateDndContext,\nDndContext,\nDndProvider,\nDragPreviewImage,\nuseDrag,\nuseDrop,\nuseDragLayer,\nuseDragDropManager,\nDragSource,\nDropTarget,\nDragLayer,\n__esModule\n} = __star__;\n\nexport {\ncreateDndContext,\nDndContext,\nDndProvider,\nDragPreviewImage,\nuseDrag,\nuseDrop,\nuseDragLayer,\nuseDragDropManager,\nDragSource,\nDropTarget,\nDragLayer,\n__esModule\n};\nexport default __default__;\n"],"mappings":"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","names":["require_react_is_production_min","__commonJSMin","exports","b","c","d","e","f","g","h","k","l","m","n","p","q","r","t","v","w","x","y","z","a","u","A","require_react_is","__commonJSMin","exports","module","require_hoist_non_react_statics_cjs","__commonJSMin","exports","module","reactIs","REACT_STATICS","KNOWN_STATICS","FORWARD_REF_STATICS","MEMO_STATICS","TYPE_STATICS","getStatics","component","defineProperty","getOwnPropertyNames","getOwnPropertySymbols","getOwnPropertyDescriptor","getPrototypeOf","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","keys","targetStatics","sourceStatics","i","key","descriptor","esm_exports","__export","DndContext","DndProvider","DragLayer","DragPreviewImage","DragSource","DropTarget","createDndContext","useDrag","useDragDropManager","useDragLayer","useDrop","react_exports","__export","react_default","__reExport","react_star","__default__","HandlerRole","formatProdErrorMessage","code","$$observable","randomString","ActionTypes","isPlainObject","obj","proto","createStore","reducer","preloadedState","enhancer","_ref2","formatProdErrorMessage","currentReducer","currentState","currentListeners","nextListeners","isDispatching","ensureCanMutateNextListeners","getState","subscribe","listener","isSubscribed","index","dispatch","action","isPlainObject","listeners","i","replaceReducer","nextReducer","ActionTypes","observable","_ref","outerSubscribe","observer","observeState","unsubscribe","$$observable","invariant","condition","format","args","error","undefined","Error","argIndex","replace","name","framesToPop","INIT_COORDS","BEGIN_DRAG","PUBLISH_DRAG_SOURCE","HOVER","DROP","END_DRAG","setClientOffset","clientOffset","sourceClientOffset","INIT_COORDS","_typeof","obj","get","path","defaultValue","a","c","without","items","item","i","isObject","input","_typeof","xor","itemsA","itemsB","map","insertItem","item","result","count","key","intersection","t","ResetCoordinatesAction","INIT_COORDS","createBeginDrag","manager","sourceIds","options","_options$publishSourc","publishSource","clientOffset","getSourceClientOffset","monitor","registry","setClientOffset","verifyInvariants","sourceId","getDraggableSource","sourceClientOffset","verifyGetSourceClientOffsetIsFunction","source","item","verifyItemIsObject","itemType","BEGIN_DRAG","invariant","isObject","i","createPublishDragSource","manager","monitor","PUBLISH_DRAG_SOURCE","matchesType","targetType","draggedItemType","t","createHover","manager","targetIdsArg","_ref","clientOffset","verifyTargetIdsIsArray","targetIds","monitor","registry","checkInvariants","draggedItemType","removeNonMatchingTargetIds","hoverAllTargets","HOVER","invariant","i","targetId","target","targetType","matchesType","ownKeys","object","enumerableOnly","keys","symbols","sym","_objectSpread","target","i","source","key","_defineProperty","obj","value","createDrop","manager","options","monitor","registry","verifyInvariants","targetIds","getDroppableTargets","targetId","index","dropResult","determineDropResult","action","DROP","invariant","verifyDropResultType","isObject","createEndDrag","manager","monitor","registry","verifyIsDragging","sourceId","source","END_DRAG","invariant","createDragDropActions","manager","createBeginDrag","createPublishDragSource","createHover","createDrop","createEndDrag","strictEquality","a","b","areCoordsEqual","offsetA","offsetB","areArraysEqual","isEqual","i","ownKeys","object","enumerableOnly","keys","symbols","sym","_objectSpread","target","i","source","key","_defineProperty","obj","value","initialState","reduce","state","action","payload","INIT_COORDS","BEGIN_DRAG","HOVER","areCoordsEqual","END_DRAG","DROP","ADD_SOURCE","ADD_TARGET","REMOVE_SOURCE","REMOVE_TARGET","addSource","sourceId","addTarget","targetId","removeSource","removeTarget","ownKeys","object","enumerableOnly","keys","symbols","sym","_objectSpread","target","i","source","key","_defineProperty","obj","value","initialState","reduce","state","action","payload","BEGIN_DRAG","PUBLISH_DRAG_SOURCE","HOVER","REMOVE_TARGET","without","DROP","END_DRAG","reduce","state","action","ADD_SOURCE","ADD_TARGET","REMOVE_SOURCE","REMOVE_TARGET","NONE","ALL","areDirty","dirtyIds","handlerIds","commonIds","intersection","reduce","_state","NONE","action","HOVER","ADD_SOURCE","ADD_TARGET","REMOVE_TARGET","REMOVE_SOURCE","BEGIN_DRAG","PUBLISH_DRAG_SOURCE","END_DRAG","DROP","ALL","_action$payload","_action$payload$targe","targetIds","_action$payload$prevT","prevTargetIds","result","xor","didChange","areArraysEqual","prevInnermostTargetId","innermostTargetId","reduce","state","ownKeys","object","enumerableOnly","keys","symbols","sym","_objectSpread","target","i","source","key","_defineProperty","obj","value","reduce","state","action","get","add","a","b","subtract","getSourceClientOffset","state","clientOffset","initialClientOffset","initialSourceClientOffset","getDifferenceFromInitialOffset","_classCallCheck","instance","Constructor","_defineProperties","target","props","i","descriptor","_createClass","protoProps","staticProps","DragDropMonitorImpl","store","registry","listener","_this","options","handlerIds","invariant","prevStateId","handleChange","state","currentStateId","canSkipListener","areDirty","_this2","previousState","nextState","sourceId","source","targetId","targetType","draggedItemType","matchesType","sourceType","shallow","targetIds","index","getSourceClientOffset","getDifferenceFromInitialOffset","nextUniqueId","getNextUniqueId","_typeof","obj","validateSourceContract","source","invariant","validateTargetContract","target","validateType","type","allowArray","t","rawAsap","task","queue","requestFlush","flushing","index","capacity","flush","currentIndex","scan","newLength","scope","BrowserMutationObserver","makeRequestCallFromMutationObserver","makeRequestCallFromTimer","callback","toggle","observer","node","timeoutHandle","handleTimer","intervalHandle","freeTasks","pendingErrors","requestErrorThrow","rawAsap","throwFirstError","asap","task","rawTask","RawTask","error","_classCallCheck","instance","Constructor","_defineProperties","target","props","i","descriptor","_createClass","protoProps","staticProps","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","o","minLen","_arrayLikeToArray","n","len","arr2","_arr","_n","_d","_e","_i","_s","err","getNextHandlerId","role","id","getNextUniqueId","HandlerRole","parseRoleFromHandlerId","handlerId","invariant","mapContainsValue","map","searchValue","entries","isDone","_entries$next","done","_entries$next$value","value","HandlerRegistryImpl","store","type","source","validateType","validateSourceContract","sourceId","addSource","validateTargetContract","targetId","addTarget","handler","includePinned","isPinned","_this","removeSource","asap","removeTarget","_classCallCheck","instance","Constructor","_defineProperties","target","props","i","descriptor","_createClass","protoProps","staticProps","makeStoreInstance","debugMode","reduxDevTools","createStore","reduce","DragDropManagerImpl","_this","shouldSetUp","store","DragDropMonitorImpl","HandlerRegistryImpl","backend","manager","dispatch","bindActionCreator","actionCreator","_len","args","_key","action","actions","createDragDropActions","boundActions","key","createDragDropManager","backendFactory","globalContext","backendOptions","debugMode","manager","DragDropManagerImpl","backend","DndContext","createDndContext","backend","context","options","debugMode","createDragDropManager","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","o","minLen","_arrayLikeToArray","n","len","arr2","_arr","_n","_d","_e","_i","_s","err","_objectWithoutProperties","source","excluded","target","_objectWithoutPropertiesLoose","key","sourceSymbolKeys","sourceKeys","refCount","DndProvider","_ref","children","props","_getDndContextValue","getDndContextValue","_getDndContextValue2","manager","isGlobalInstance","context","getGlobalContext","instanceSymbol","DndContext","_manager","createSingletonDndContext","backend","options","debugMode","ctx","createDndContext","DragPreviewImage","_ref","connect","src","connected","img","useIsomorphicLayoutEffect","shallowEqual","objA","objB","compare","compareContext","compareResult","call","keysA","Object","keys","keysB","length","bHasOwnProperty","prototype","hasOwnProperty","bind","idx","key","valueA","valueB","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","o","minLen","_arrayLikeToArray","n","len","arr2","_arr","_n","_d","_e","_i","_s","err","useCollector","monitor","collect","onUpdate","_useState","_useState2","collected","setCollected","updateCollected","nextValue","shallowEqual","useIsomorphicLayoutEffect","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","o","minLen","_arrayLikeToArray","n","len","arr2","_arr","_n","_d","_e","_i","_s","err","useMonitorOutput","monitor","collect","onCollect","_useCollector","useCollector","_useCollector2","collected","updateCollected","useIsomorphicLayoutEffect","handlerId","registerTarget","type","target","manager","registry","targetId","registerSource","source","sourceId","useDragDropManager","_useContext","DndContext","dragDropManager","invariant","_classCallCheck","instance","Constructor","_defineProperties","target","props","i","descriptor","_createClass","protoProps","staticProps","isCallingCanDrag","isCallingIsDragging","DragSourceMonitorImpl","manager","sourceId","invariant","listener","options","targetId","setRef","ref","node","cloneWithRef","element","newRef","previousRef","invariant","throwIfCompositeComponentElement","element","displayName","wrapHookToRecognizeElement","hook","elementOrNode","options","node","ref","cloneWithRef","wrapConnectorHooks","hooks","wrappedHooks","key","wrappedHook","_typeof","obj","isRef","_classCallCheck","instance","Constructor","_defineProperties","target","props","i","descriptor","_createClass","protoProps","staticProps","SourceConnector","backend","_this","wrapConnectorHooks","node","options","isRef","newHandlerId","dragSource","didChange","dragPreview","shallowEqual","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","o","minLen","_arrayLikeToArray","n","len","arr2","_arr","_n","_d","_e","_i","_s","err","_typeof","obj","useDragSourceMonitor","manager","useDragDropManager","monitor","DragSourceMonitorImpl","connector","SourceConnector","useDragHandler","spec","handler","_spec$current","begin","item","beginResult","invariant","globalMonitor","target","isDragging","end","useIsomorphicLayoutEffect","_registerSource","registerSource","_registerSource2","handlerId","unregister","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","o","minLen","_arrayLikeToArray","n","len","arr2","_arr","_n","_d","_e","_i","_s","err","useDrag","spec","specRef","invariant","_useDragSourceMonitor","useDragSourceMonitor","_useDragSourceMonitor2","monitor","connector","useDragHandler","result","useMonitorOutput","connectDragSource","connectDragPreview","useIsomorphicLayoutEffect","_classCallCheck","instance","Constructor","_defineProperties","target","props","i","descriptor","_createClass","protoProps","staticProps","TargetConnector","backend","_this","wrapConnectorHooks","node","options","isRef","didChange","dropTarget","newHandlerId","shallowEqual","_classCallCheck","instance","Constructor","_defineProperties","target","props","i","descriptor","_createClass","protoProps","staticProps","isCallingCanDrop","DropTargetMonitorImpl","manager","targetId","listener","options","invariant","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","o","minLen","_arrayLikeToArray","n","len","arr2","_arr","_n","_d","_e","_i","_s","err","useDropTargetMonitor","manager","useDragDropManager","monitor","DropTargetMonitorImpl","connector","TargetConnector","useDropHandler","spec","handler","canDrop","hover","drop","useIsomorphicLayoutEffect","_registerTarget","registerTarget","_registerTarget2","handlerId","unregister","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","o","minLen","_arrayLikeToArray","n","len","arr2","_arr","_n","_d","_e","_i","_s","err","useDrop","spec","specRef","invariant","_useDropTargetMonitor","useDropTargetMonitor","_useDropTargetMonitor2","monitor","connector","useDropHandler","result","useMonitorOutput","connectDropTarget","useIsomorphicLayoutEffect","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","o","minLen","_arrayLikeToArray","n","len","arr2","_arr","_n","_d","_e","_i","_s","err","useDragLayer","collect","dragDropManager","useDragDropManager","monitor","_useCollector","useCollector","_useCollector2","collected","updateCollected","_typeof","obj","isFunction","input","noop","isObjectLike","isPlainObject","proto","getDecoratedComponent","instanceRef","currentRef","isClassComponent","Component","isRefForwardingComponent","C","_item$$$typeof","item","isRefable","checkDecoratorArguments","functionName","signature","i","arg","import_hoist_non_react_statics","_classCallCheck","instance","Constructor","_defineProperties","target","props","i","descriptor","_createClass","protoProps","staticProps","Disposable","action","isFunction","noop","d","result","CompositeDisposable","_classCallCheck","_len","disposables","_key","_createClass","item","shouldDispose","idx","len","currentDisposables","i","_i","_i2","SerialDisposable","value","old","_typeof","obj","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","o","minLen","_arrayLikeToArray","n","len","arr2","_arr","_n","_d","_e","_i","_s","err","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_createClass","protoProps","staticProps","_inherits","subClass","superClass","_setPrototypeOf","p","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","Super","_getPrototypeOf","result","NewTarget","_possibleConstructorReturn","self","call","_assertThisInitialized","decorateHandler","_ref","DecoratedComponent","createHandler","createMonitor","createConnector","registerHandler","containerDisplayName","getType","collect","options","_options$arePropsEqua","arePropsEqual","shallowEqual","Decorated","displayName","DragDropContainer","_React$Component","_super","_this","nextState","SerialDisposable","invariant","nextProps","prevProps","type","_registerHandler","_registerHandler2","handlerId","unregister","globalMonitor","unsubscribe","CompositeDisposable","Disposable","_this2","DndContext","_ref2","dragDropManager","_this2$handlerConnect","isRefable","hoistStatics","_typeof","obj","isValidType","type","allowArray","t","_classCallCheck","instance","Constructor","_defineProperties","target","props","i","descriptor","_createClass","protoProps","staticProps","ALLOWED_SPEC_METHODS","REQUIRED_SPEC_METHODS","SourceImpl","spec","monitor","ref","_this","item","globalMonitor","sourceId","getDecoratedComponent","createSourceFactory","key","invariant","DragSource","type","spec","collect","options","checkDecoratorArguments","getType","invariant","isValidType","isPlainObject","createSource","createSourceFactory","DecoratedComponent","decorateHandler","registerSource","backend","SourceConnector","manager","DragSourceMonitorImpl","_classCallCheck","instance","Constructor","_defineProperties","target","props","i","descriptor","_createClass","protoProps","staticProps","ALLOWED_SPEC_METHODS","TargetImpl","spec","monitor","ref","getDecoratedComponent","dropResult","createTargetFactory","key","invariant","DropTarget","type","spec","collect","options","checkDecoratorArguments","getType","invariant","isValidType","isPlainObject","createTarget","createTargetFactory","DecoratedComponent","decorateHandler","registerTarget","manager","DropTargetMonitorImpl","backend","TargetConnector","import_hoist_non_react_statics","_typeof","obj","_classCallCheck","instance","Constructor","_defineProperties","target","props","i","descriptor","_createClass","protoProps","staticProps","_inherits","subClass","superClass","_setPrototypeOf","o","p","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","Super","_getPrototypeOf","result","NewTarget","_possibleConstructorReturn","self","call","_assertThisInitialized","DragLayer","collect","options","checkDecoratorArguments","invariant","isPlainObject","DecoratedComponent","Decorated","_options$arePropsEqua","arePropsEqual","shallowEqual","displayName","DragLayerContainer","_React$Component","_super","_this","nextState","nextProps","_this2","DndContext","_ref","dragDropManager","isRefable","monitor","hoistStatics","__default__","createDndContext","DndContext","DndProvider","DragPreviewImage","useDrag","useDrop","useDragLayer","useDragDropManager","DragSource","DropTarget","DragLayer","__esModule","esm_exports","react_dnd_default","__default__"]}</pre></body></html>