{"version":3,"file":"vue-draggable-CtjNx6cF.js","sources":["../../../node_modules/vue-draggable/lib/vue-draggable.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"VueDraggable\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"VueDraggable\"] = factory();\n\telse\n\t\troot[\"VueDraggable\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = \"./src/index.js\");\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./src/components/vue-draggable-group.component.js\":\n/*!*********************************************************!*\\\n !*** ./src/components/vue-draggable-group.component.js ***!\n \\*********************************************************/\n/*! exports provided: VueDraggableGroup */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VueDraggableGroup\", function() { return VueDraggableGroup; });\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nvar CUSTOM_EVENTS = ['added', 'removed', 'reordered'];\nvar VueDraggableGroup = {\n name: 'VueDraggableGroup',\n props: {\n groups: {\n required: true,\n type: Array\n },\n value: {\n required: true,\n type: Array\n },\n itemsKey: {\n type: String,\n \"default\": 'items'\n }\n },\n render: function render() {\n return this.$scopedSlots[\"default\"]({});\n },\n methods: {\n added: function added(event) {\n var _this = this,\n _this$value;\n\n var newItems = this.groups.map(function (group) {\n return group[_this.itemsKey];\n }).reduce(function (prev, curr) {\n return [].concat(_toConsumableArray(prev), _toConsumableArray(curr));\n }, []).filter(function (item) {\n return event.detail.ids.map(Number).indexOf(item.id) >= 0;\n });\n\n (_this$value = this.value).splice.apply(_this$value, [event.detail.index, 0].concat(_toConsumableArray(newItems)));\n\n this.$emit('change', this.groups);\n },\n removed: function removed(event) {\n var newArray = this.value.filter(function (item) {\n return event.detail.ids.map(Number).indexOf(item.id) < 0;\n });\n this.$emit('input', newArray);\n },\n reordered: function reordered(event, group) {\n var reorderedItems = this.value.filter(function (item) {\n return event.detail.ids.map(Number).indexOf(item.id) >= 0;\n });\n var notReorderedItems = this.value.filter(function (item) {\n return event.detail.ids.map(Number).indexOf(item.id) < 0;\n });\n notReorderedItems.splice.apply(notReorderedItems, [event.detail.index, 0].concat(_toConsumableArray(reorderedItems)));\n this.$emit('input', notReorderedItems);\n this.$emit('change', this.groups);\n },\n addListeners: function addListeners() {\n var _this2 = this;\n\n CUSTOM_EVENTS.forEach(function (event) {\n return _this2.$el.addEventListener(event, _this2[event]);\n });\n },\n removeListeners: function removeListeners() {\n var _this3 = this;\n\n CUSTOM_EVENTS.forEach(function (event) {\n return _this3.$el.removeEventListener(event, _this3[event]);\n });\n }\n },\n mounted: function mounted() {\n this.addListeners();\n },\n beforeDestroy: function beforeDestroy() {\n this.removeListeners();\n }\n};\n\n/***/ }),\n\n/***/ \"./src/core/helpers/dom.helper.js\":\n/*!****************************************!*\\\n !*** ./src/core/helpers/dom.helper.js ***!\n \\****************************************/\n/*! exports provided: getDroptargets, getDraggables, updateInitialAttributes, setInitialAtributes, removeOldDropzoneAreaElements, getContainer, addDropeffects, clearDropeffects, hasModifier */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getDroptargets\", function() { return getDroptargets; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getDraggables\", function() { return getDraggables; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"updateInitialAttributes\", function() { return updateInitialAttributes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setInitialAtributes\", function() { return setInitialAtributes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"removeOldDropzoneAreaElements\", function() { return removeOldDropzoneAreaElements; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getContainer\", function() { return getContainer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addDropeffects\", function() { return addDropeffects; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"clearDropeffects\", function() { return clearDropeffects; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hasModifier\", function() { return hasModifier; });\nvar getDroptargets = function getDroptargets(el, dropzoneSelector) {\n return el.querySelectorAll(dropzoneSelector);\n};\nvar getDraggables = function getDraggables(el, draggableSelector) {\n return el.querySelectorAll(draggableSelector);\n};\nvar updateInitialAttributes = function updateInitialAttributes(el) {\n this.targets = getDroptargets(el, this.defaultOptions.dropzoneSelector);\n this.items = getDraggables(el, this.defaultOptions.draggableSelector);\n\n for (var i = 0; i < this.targets.length; i++) {\n this.targets[i].setAttribute('aria-dropeffect', 'none');\n }\n\n for (var _i = 0; _i < this.items.length; _i++) {\n this.items[_i].setAttribute('draggable', 'true');\n\n if (this.items[_i].getAttribute('aria-grabbed') !== 'true') {\n this.items[_i].setAttribute('aria-grabbed', 'false');\n }\n\n this.items[_i].setAttribute('tabindex', '0');\n }\n};\nvar setInitialAtributes = function setInitialAtributes(el) {\n this.targets = getDroptargets(el, this.defaultOptions.dropzoneSelector);\n this.items = getDraggables(el, this.defaultOptions.draggableSelector);\n\n for (var i = 0; i < this.targets.length; i++) {\n this.targets[i].setAttribute('aria-dropeffect', 'none');\n }\n\n for (var _i2 = 0; _i2 < this.items.length; _i2++) {\n this.items[_i2].setAttribute('draggable', 'true');\n\n this.items[_i2].setAttribute('aria-grabbed', 'false');\n\n this.items[_i2].setAttribute('tabindex', '0');\n }\n};\nvar removeOldDropzoneAreaElements = function removeOldDropzoneAreaElements() {\n var oldItemDropzoneElements = document.querySelectorAll('.item-dropzone-area');\n\n for (var i = 0; i < oldItemDropzoneElements.length; i++) {\n oldItemDropzoneElements[i].remove();\n }\n};\nvar getContainer = function getContainer(element) {\n var containerElement = element;\n\n do {\n if (containerElement && containerElement.nodeType === 1 && containerElement.getAttribute('aria-dropeffect')) {\n return containerElement;\n }\n } while (containerElement = containerElement ? containerElement.parentNode : null);\n\n return null;\n};\nvar addDropeffects = function addDropeffects(items, selections, targets) {\n // apply aria-dropeffect and tabindex to all targets apart from the owner\n for (var len = targets.length, i = 0; i < len; i++) {\n if (targets[i] !== selections.owner && targets[i].getAttribute('aria-dropeffect') === 'none') {\n targets[i].setAttribute('aria-dropeffect', 'move');\n targets[i].setAttribute('tabindex', '0');\n }\n } // remove aria-grabbed and tabindex from all items inside those containers\n\n\n for (var _len = items.length, _i3 = 0; _i3 < _len; _i3++) {\n if (items[_i3].parentNode !== selections.owner && items[_i3].getAttribute('aria-grabbed')) {\n items[_i3].removeAttribute('aria-grabbed');\n\n items[_i3].removeAttribute('tabindex');\n }\n }\n};\nvar clearDropeffects = function clearDropeffects(items, selections, targets) {\n // if we dont't have any selected items just skip\n if (!selections.items.length) {\n return;\n } // reset aria-dropeffect and remove tabindex from all targets\n\n\n for (var i = 0; i < targets.length; i++) {\n if (targets[i].getAttribute('aria-dropeffect') !== 'none') {\n targets[i].setAttribute('aria-dropeffect', 'none');\n targets[i].removeAttribute('tabindex');\n }\n } // restore aria-grabbed and tabindex to all selectable items\n // without changing the grabbed value of any existing selected items\n\n\n for (var _i4 = 0; _i4 < items.length; _i4++) {\n if (!items[_i4].getAttribute('aria-grabbed')) {\n items[_i4].setAttribute('aria-grabbed', 'false');\n\n items[_i4].setAttribute('tabindex', '0');\n } else if (items[_i4].getAttribute('aria-grabbed') === 'true') {\n items[_i4].setAttribute('tabindex', '0');\n }\n }\n};\nvar hasModifier = function hasModifier(e) {\n return e.ctrlKey || e.metaKey || e.shiftKey;\n};\n\n/***/ }),\n\n/***/ \"./src/core/helpers/events.helper.js\":\n/*!*******************************************!*\\\n !*** ./src/core/helpers/events.helper.js ***!\n \\*******************************************/\n/*! exports provided: dispatchCustomEvent, dispatchReorderEvents */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"dispatchCustomEvent\", function() { return dispatchCustomEvent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"dispatchReorderEvents\", function() { return dispatchReorderEvents; });\nfunction 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 < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(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\nvar createCustomEvent = function createCustomEvent(name, data) {\n return new CustomEvent(name, {\n detail: data\n });\n};\n\nvar dispatchCustomEvent = function dispatchCustomEvent(name, data, element) {\n var customEvent = createCustomEvent(name, data);\n element.dispatchEvent(customEvent);\n};\nvar dispatchReorderEvents = function dispatchReorderEvents(e) {\n var oldItems = this.selections.droptarget.querySelectorAll(this.defaultOptions.draggableSelector);\n var index = this.nextItemElement ? Array.prototype.indexOf.call(oldItems, this.nextItemElement) : oldItems.length;\n\n var eventData = _objectSpread({\n ids: this.selections.items.map(function (item) {\n return item.dataset.id;\n }),\n index: index,\n nativeEvent: e\n }, this.selections);\n\n if (this.selections.droptarget === this.selections.owner) {\n dispatchCustomEvent('reordered', eventData, this.selections.droptarget);\n return;\n }\n\n dispatchCustomEvent('added', eventData, this.selections.droptarget);\n dispatchCustomEvent('removed', eventData, this.selections.owner);\n};\n\n/***/ }),\n\n/***/ \"./src/core/helpers/index.js\":\n/*!***********************************!*\\\n !*** ./src/core/helpers/index.js ***!\n \\***********************************/\n/*! exports provided: getDroptargets, getDraggables, updateInitialAttributes, setInitialAtributes, removeOldDropzoneAreaElements, getContainer, addDropeffects, clearDropeffects, hasModifier, addSelection, removeSelection, clearSelections, stopDragAndDrop, dispatchCustomEvent, dispatchReorderEvents */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _dom_helper__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dom.helper */ \"./src/core/helpers/dom.helper.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getDroptargets\", function() { return _dom_helper__WEBPACK_IMPORTED_MODULE_0__[\"getDroptargets\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getDraggables\", function() { return _dom_helper__WEBPACK_IMPORTED_MODULE_0__[\"getDraggables\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"updateInitialAttributes\", function() { return _dom_helper__WEBPACK_IMPORTED_MODULE_0__[\"updateInitialAttributes\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setInitialAtributes\", function() { return _dom_helper__WEBPACK_IMPORTED_MODULE_0__[\"setInitialAtributes\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"removeOldDropzoneAreaElements\", function() { return _dom_helper__WEBPACK_IMPORTED_MODULE_0__[\"removeOldDropzoneAreaElements\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getContainer\", function() { return _dom_helper__WEBPACK_IMPORTED_MODULE_0__[\"getContainer\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"addDropeffects\", function() { return _dom_helper__WEBPACK_IMPORTED_MODULE_0__[\"addDropeffects\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"clearDropeffects\", function() { return _dom_helper__WEBPACK_IMPORTED_MODULE_0__[\"clearDropeffects\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hasModifier\", function() { return _dom_helper__WEBPACK_IMPORTED_MODULE_0__[\"hasModifier\"]; });\n\n/* harmony import */ var _state_helper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./state.helper */ \"./src/core/helpers/state.helper.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"addSelection\", function() { return _state_helper__WEBPACK_IMPORTED_MODULE_1__[\"addSelection\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"removeSelection\", function() { return _state_helper__WEBPACK_IMPORTED_MODULE_1__[\"removeSelection\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"clearSelections\", function() { return _state_helper__WEBPACK_IMPORTED_MODULE_1__[\"clearSelections\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"stopDragAndDrop\", function() { return _state_helper__WEBPACK_IMPORTED_MODULE_1__[\"stopDragAndDrop\"]; });\n\n/* harmony import */ var _events_helper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./events.helper */ \"./src/core/helpers/events.helper.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dispatchCustomEvent\", function() { return _events_helper__WEBPACK_IMPORTED_MODULE_2__[\"dispatchCustomEvent\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dispatchReorderEvents\", function() { return _events_helper__WEBPACK_IMPORTED_MODULE_2__[\"dispatchReorderEvents\"]; });\n\n\n\n\n\n/***/ }),\n\n/***/ \"./src/core/helpers/state.helper.js\":\n/*!******************************************!*\\\n !*** ./src/core/helpers/state.helper.js ***!\n \\******************************************/\n/*! exports provided: addSelection, removeSelection, clearSelections, stopDragAndDrop */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addSelection\", function() { return addSelection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"removeSelection\", function() { return removeSelection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"clearSelections\", function() { return clearSelections; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"stopDragAndDrop\", function() { return stopDragAndDrop; });\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance\"); }\n\nfunction _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } }\n\nvar addSelection = function addSelection(item) {\n // if the owner reference is still null, set it to this item's parent\n // so that further selection is only allowed within the same container\n if (!this.selections.owner) {\n this.selections.owner = item.parentNode;\n } // or if that's already happened then compare it with this item's parent\n // and if they're not the same container, return to prevent selection\n\n\n if (!this.defaultOptions.multipleDropzonesItemsDraggingEnabled && this.selections.owner !== item.parentNode) {\n return;\n } // set this item's grabbed state\n\n\n item.setAttribute('aria-grabbed', 'true'); // add it to the items array\n\n this.selections.items = this.selections.items.indexOf(item) >= 0 ? this.selections.items : [].concat(_toConsumableArray(this.selections.items), [item]);\n};\nvar removeSelection = function removeSelection(item) {\n // reset this item's grabbed state\n item.setAttribute('aria-grabbed', 'false'); // then find and remove this item from the existing items array\n\n for (var i = 0; i < this.selections.items.length; i++) {\n if (this.selections.items[i] === item) {\n this.selections.items.splice(i, 1);\n break;\n }\n }\n};\nvar clearSelections = function clearSelections() {\n // if we have any selected items\n if (this.selections.items.length) {\n // reset the owner reference\n this.selections.owner = null; // reset the grabbed state on every selected item\n\n for (var i = 0; i < this.selections.items.length; i++) {\n this.selections.items[i].setAttribute('aria-grabbed', 'false');\n } // then reset the items array\n\n\n this.selections.items = [];\n }\n};\nvar stopDragAndDrop = function stopDragAndDrop() {\n // throw exception and catch this to stop further d&d\n throw new Error('Requested D&D stop...');\n};\n\n/***/ }),\n\n/***/ \"./src/core/index.js\":\n/*!***************************!*\\\n !*** ./src/core/index.js ***!\n \\***************************/\n/*! exports provided: VueDraggable */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VueDraggable\", function() { return VueDraggable; });\n/* harmony import */ var _listeners__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./listeners */ \"./src/core/listeners/index.js\");\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./helpers */ \"./src/core/helpers/index.js\");\n/* harmony import */ var _options__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./options */ \"./src/core/options.js\");\n/* harmony import */ var _state__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./state */ \"./src/core/state.js\");\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 < 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\n\n\n\n\nvar VueDraggable =\n/*#__PURE__*/\nfunction () {\n function VueDraggable(el, componentInstance, options) {\n _classCallCheck(this, VueDraggable);\n\n Object.assign(this, Object(_state__WEBPACK_IMPORTED_MODULE_3__[\"getState\"])(), {\n defaultOptions: Object(_options__WEBPACK_IMPORTED_MODULE_2__[\"getOptions\"])(componentInstance, options)\n }, {\n el: el\n });\n this.registerListeners(el);\n this.initiate(el);\n }\n\n _createClass(VueDraggable, [{\n key: \"registerListeners\",\n value: function registerListeners(el) {\n _listeners__WEBPACK_IMPORTED_MODULE_0__[\"attachListeners\"].bind(this)(el);\n }\n }, {\n key: \"initiate\",\n value: function initiate(el) {\n _helpers__WEBPACK_IMPORTED_MODULE_1__[\"setInitialAtributes\"].bind(this)(el);\n }\n }, {\n key: \"update\",\n value: function update(el) {\n _helpers__WEBPACK_IMPORTED_MODULE_1__[\"updateInitialAttributes\"].bind(this)(el);\n }\n }]);\n\n return VueDraggable;\n}();\n;\n\n/***/ }),\n\n/***/ \"./src/core/listeners/handlers/dragend.handler.js\":\n/*!********************************************************!*\\\n !*** ./src/core/listeners/handlers/dragend.handler.js ***!\n \\********************************************************/\n/*! exports provided: dragendHandler */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"dragendHandler\", function() { return dragendHandler; });\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../../helpers */ \"./src/core/helpers/index.js\");\nfunction 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 < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(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\n\n\nvar reorderDomElements = function reorderDomElements(droptarget, items, nextItemElement) {\n for (var i = 0; i < items.length; i++) {\n if (nextItemElement) {\n droptarget.insertBefore(items[i], nextItemElement);\n continue;\n }\n\n droptarget.appendChild(items[i]);\n }\n};\n\nvar dragendHandler = function dragendHandler(e) {\n if (typeof this.defaultOptions.onDragend === 'function') {\n try {\n this.defaultOptions.onDragend(_objectSpread({\n nativeEvent: e,\n stop: _helpers__WEBPACK_IMPORTED_MODULE_0__[\"stopDragAndDrop\"]\n }, this.selections));\n } catch (error) {\n Object(_helpers__WEBPACK_IMPORTED_MODULE_0__[\"removeOldDropzoneAreaElements\"])();\n return;\n }\n } // if we have a valid drop target reference\n // (which implies that we have some selected items)\n\n\n if (this.selections.droptarget) {\n if (this.defaultOptions.reactivityEnabled) {\n _helpers__WEBPACK_IMPORTED_MODULE_0__[\"dispatchReorderEvents\"].bind(this)(e);\n } else {\n // make dom manipulation only if reactivity is disabled\n reorderDomElements(this.selections.droptarget, this.selections.items, this.nextItemElement);\n }\n\n if (typeof this.defaultOptions.onDrop === 'function') {\n this.defaultOptions.onDrop(_objectSpread({\n nativeEvent: e,\n stop: function stop() {\n throw new Error(\"Stop method is available only for callbacks\\n 'onDragstart' and 'onDragend'. For more info look at\\n https://github.com/Vivify-Ideas/vue-draggable/blob/master/README.md\\n \");\n }\n }, this.selections));\n } // prevent default to allow the action\n\n\n e.preventDefault();\n } // if we have any selected items\n\n\n if (this.selections.items.length) {\n // clear dropeffect from the target containers\n Object(_helpers__WEBPACK_IMPORTED_MODULE_0__[\"clearDropeffects\"])(this.items, this.selections, this.targets); // if we have a valid drop target reference\n\n if (this.selections.droptarget) {\n // reset the selections array\n _helpers__WEBPACK_IMPORTED_MODULE_0__[\"clearSelections\"].bind(this)(); // reset the target's dragover class\n\n this.selections.droptarget.className = this.selections.droptarget.className.replace(/ dragover/g, ''); // reset the target reference\n\n this.selections.droptarget = null;\n }\n } // dropzone area elements\n\n\n Object(_helpers__WEBPACK_IMPORTED_MODULE_0__[\"removeOldDropzoneAreaElements\"])();\n};\n\n/***/ }),\n\n/***/ \"./src/core/listeners/handlers/dragenter.handler.js\":\n/*!**********************************************************!*\\\n !*** ./src/core/listeners/handlers/dragenter.handler.js ***!\n \\**********************************************************/\n/*! exports provided: dragenterHandler */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"dragenterHandler\", function() { return dragenterHandler; });\nfunction 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 < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(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\nvar dragenterHandler = function dragenterHandler(e) {\n this.related = e.target;\n\n if (typeof this.defaultOptions.onDragenter === 'function') {\n try {\n this.defaultOptions.onDragenter(_objectSpread({\n nativeEvent: e,\n stop: function stop() {\n throw new Error(\"Stop method is available only for callbacks\\n 'onDragstart' and 'onDragend'. For more info look at\\n https://github.com/Vivify-Ideas/vue-draggable/blob/master/README.md\\n \");\n }\n }, this.selections));\n } catch (error) {\n e.preventDefault();\n return;\n }\n }\n};\n\n/***/ }),\n\n/***/ \"./src/core/listeners/handlers/dragleave.handler.js\":\n/*!**********************************************************!*\\\n !*** ./src/core/listeners/handlers/dragleave.handler.js ***!\n \\**********************************************************/\n/*! exports provided: dragleaveHandler */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"dragleaveHandler\", function() { return dragleaveHandler; });\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../../helpers */ \"./src/core/helpers/index.js\");\n\nvar dragleaveHandler = function dragleaveHandler() {\n // get a drop target reference from the relatedTarget\n var droptarget = Object(_helpers__WEBPACK_IMPORTED_MODULE_0__[\"getContainer\"])(this.related); // if the drop target is different from the last stored reference\n // (or we have one of those references but not the other one)\n\n if (droptarget !== this.selections.droptarget) {\n // if we have a saved reference, clear its existing dragover class\n if (this.selections.droptarget) {\n this.selections.droptarget.className = this.selections.droptarget.className.replace(/ dragover/g, '');\n } // apply the dragover class to the new drop target reference\n\n\n if (droptarget) {\n droptarget.className += ' dragover';\n } // then save that reference for next time\n\n\n this.selections.droptarget = droptarget;\n }\n};\n\n/***/ }),\n\n/***/ \"./src/core/listeners/handlers/dragover.handler.js\":\n/*!*********************************************************!*\\\n !*** ./src/core/listeners/handlers/dragover.handler.js ***!\n \\*********************************************************/\n/*! exports provided: dragoverHandler */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"dragoverHandler\", function() { return dragoverHandler; });\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../../helpers */ \"./src/core/helpers/index.js\");\nfunction 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 < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(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\n\nvar state = {\n previousTarget: null,\n dragoverCalls: 0\n};\n\nvar displayDropzones = function displayDropzones(e) {\n if (state.dragoverCalls % 100 !== 0 && (e.target === state.previousTarget || !e.target || e.target.className === 'item-dropzone-area')) return;\n state.dragoverCalls++;\n state.previousTarget = e.target;\n this.nextItemElement = e.target.closest(this.defaultOptions.draggableSelector);\n this.selections.droptarget = e.target.closest(this.defaultOptions.dropzoneSelector);\n var itemDropzoneElement = document.createElement('div');\n itemDropzoneElement.className = 'item-dropzone-area';\n Object(_helpers__WEBPACK_IMPORTED_MODULE_0__[\"removeOldDropzoneAreaElements\"])();\n\n if (this.selections.droptarget && this.nextItemElement) {\n this.selections.droptarget.insertBefore(itemDropzoneElement, state.previousTarget.closest(this.defaultOptions.draggableSelector));\n }\n\n if (this.selections.droptarget && !this.nextItemElement) {\n this.selections.droptarget.appendChild(itemDropzoneElement);\n }\n};\n\nvar dragoverHandler = function dragoverHandler(e) {\n // if we have any selected items,\n // allow them to be dragged\n if (this.selections.items.length) {\n e.preventDefault();\n }\n\n if (!this.defaultOptions.showDropzoneAreas) {\n return;\n }\n\n displayDropzones.bind(this)(e);\n\n if (typeof this.defaultOptions.onDragover === 'function') {\n try {\n this.defaultOptions.onDragover(_objectSpread({\n nativeEvent: e,\n stop: function stop() {\n throw new Error(\"Stop method is available only for callbacks\\n 'onDragstart' and 'onDragend'. For more info look at\\n https://github.com/Vivify-Ideas/vue-draggable/blob/master/README.md\\n \");\n }\n }, this.selections));\n } catch (error) {\n e.preventDefault();\n return;\n }\n }\n};\n\n/***/ }),\n\n/***/ \"./src/core/listeners/handlers/dragstart.handler.js\":\n/*!**********************************************************!*\\\n !*** ./src/core/listeners/handlers/dragstart.handler.js ***!\n \\**********************************************************/\n/*! exports provided: dragstartHandler */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"dragstartHandler\", function() { return dragstartHandler; });\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../../helpers */ \"./src/core/helpers/index.js\");\nfunction 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 < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(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\n\nvar dragstartHandler = function dragstartHandler(e) {\n var elem = e.target.closest(this.defaultOptions.draggableSelector); // if the element's parent is not the owner, then block this event\n\n if (!this.defaultOptions.multipleDropzonesItemsDraggingEnabled && elem && this.selections.owner !== elem.parentNode) {\n e.preventDefault();\n return;\n }\n\n if (typeof this.defaultOptions.onDragstart === 'function') {\n try {\n this.defaultOptions.onDragstart(_objectSpread({\n nativeEvent: e,\n stop: _helpers__WEBPACK_IMPORTED_MODULE_0__[\"stopDragAndDrop\"]\n }, this.selections));\n } catch (error) {\n e.preventDefault();\n Object(_helpers__WEBPACK_IMPORTED_MODULE_0__[\"removeOldDropzoneAreaElements\"])();\n return;\n }\n } // [else] if the multiple selection modifier is pressed\n // and the item's grabbed state is currently false\n\n\n if (Object(_helpers__WEBPACK_IMPORTED_MODULE_0__[\"hasModifier\"])(e) && elem.getAttribute('aria-grabbed') === 'false') {\n // add this additional selection\n _helpers__WEBPACK_IMPORTED_MODULE_0__[\"addSelection\"].bind(this)(elem);\n } // we don't need the transfer data, but we have to define something\n // otherwise the drop action won't work at all in firefox\n // most browsers support the proper mime-type syntax, eg. \"text/plain\"\n // but we have to use this incorrect syntax for the benefit of IE10+\n\n\n e.dataTransfer.setData('text', ''); // apply dropeffect to the target containers\n\n Object(_helpers__WEBPACK_IMPORTED_MODULE_0__[\"addDropeffects\"])(this.items, this.selections, this.targets);\n};\n\n/***/ }),\n\n/***/ \"./src/core/listeners/handlers/index.js\":\n/*!**********************************************!*\\\n !*** ./src/core/listeners/handlers/index.js ***!\n \\**********************************************/\n/*! exports provided: mousedownHandler, mouseupHandler, dragoverHandler, dragstartHandler, dragenterHandler, dragleaveHandler, dragendHandler, keydownHandler */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _mousedown_handler__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./mousedown.handler */ \"./src/core/listeners/handlers/mousedown.handler.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mousedownHandler\", function() { return _mousedown_handler__WEBPACK_IMPORTED_MODULE_0__[\"mousedownHandler\"]; });\n\n/* harmony import */ var _mouseup_handler__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mouseup.handler */ \"./src/core/listeners/handlers/mouseup.handler.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mouseupHandler\", function() { return _mouseup_handler__WEBPACK_IMPORTED_MODULE_1__[\"mouseupHandler\"]; });\n\n/* harmony import */ var _dragover_handler__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./dragover.handler */ \"./src/core/listeners/handlers/dragover.handler.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dragoverHandler\", function() { return _dragover_handler__WEBPACK_IMPORTED_MODULE_2__[\"dragoverHandler\"]; });\n\n/* harmony import */ var _dragstart_handler__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./dragstart.handler */ \"./src/core/listeners/handlers/dragstart.handler.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dragstartHandler\", function() { return _dragstart_handler__WEBPACK_IMPORTED_MODULE_3__[\"dragstartHandler\"]; });\n\n/* harmony import */ var _dragenter_handler__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./dragenter.handler */ \"./src/core/listeners/handlers/dragenter.handler.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dragenterHandler\", function() { return _dragenter_handler__WEBPACK_IMPORTED_MODULE_4__[\"dragenterHandler\"]; });\n\n/* harmony import */ var _dragleave_handler__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./dragleave.handler */ \"./src/core/listeners/handlers/dragleave.handler.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dragleaveHandler\", function() { return _dragleave_handler__WEBPACK_IMPORTED_MODULE_5__[\"dragleaveHandler\"]; });\n\n/* harmony import */ var _dragend_handler__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./dragend.handler */ \"./src/core/listeners/handlers/dragend.handler.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dragendHandler\", function() { return _dragend_handler__WEBPACK_IMPORTED_MODULE_6__[\"dragendHandler\"]; });\n\n/* harmony import */ var _keydown_handler__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./keydown.handler */ \"./src/core/listeners/handlers/keydown.handler.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"keydownHandler\", function() { return _keydown_handler__WEBPACK_IMPORTED_MODULE_7__[\"keydownHandler\"]; });\n\n\n\n\n\n\n\n\n\n\n/***/ }),\n\n/***/ \"./src/core/listeners/handlers/keydown.handler.js\":\n/*!********************************************************!*\\\n !*** ./src/core/listeners/handlers/keydown.handler.js ***!\n \\********************************************************/\n/*! exports provided: keydownHandler */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"keydownHandler\", function() { return keydownHandler; });\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../../helpers */ \"./src/core/helpers/index.js\");\n\n\nvar isItemAroundSelectionArea = function isItemAroundSelectionArea(item, lastItem) {\n return item.parentNode === lastItem.parentNode;\n};\n\nvar keydownHandler = function keydownHandler(e) {\n // if the element is a grabbable item\n if (e.target.getAttribute('aria-grabbed')) {\n // Space is the selection or unselection keystroke\n if (e.keyCode === 32) {\n // if the multiple selection modifier is pressed\n if (Object(_helpers__WEBPACK_IMPORTED_MODULE_0__[\"hasModifier\"])(e)) {\n // if the item's grabbed state is currently true\n if (e.target.getAttribute('aria-grabbed') === 'true') {\n // if this is the only selected item, clear dropeffect\n // from the target containers, which we must do first\n // in case subsequent unselection sets owner to null\n if (this.selections.items.length === 1) {\n Object(_helpers__WEBPACK_IMPORTED_MODULE_0__[\"clearDropeffects\"])(this.items, this.selections, this.targets);\n } // unselect this item\n\n\n _helpers__WEBPACK_IMPORTED_MODULE_0__[\"removeSelection\"].bind(this)(e.target); // if we have any selections\n // apply dropeffect to the target containers,\n // in case earlier selections were made by mouse\n\n if (this.selections.items.length) {\n Object(_helpers__WEBPACK_IMPORTED_MODULE_0__[\"addDropeffects\"])(this.items, this.selections, this.targets);\n } // if that was the only selected item\n // then reset the owner container reference\n\n\n if (!this.selections.items.length) {\n this.selections.owner = null;\n }\n } else {\n // else [if its grabbed state is currently false]\n // add this additional selection\n _helpers__WEBPACK_IMPORTED_MODULE_0__[\"addSelection\"].bind(this)(e.target); // apply dropeffect to the target containers\n\n Object(_helpers__WEBPACK_IMPORTED_MODULE_0__[\"addDropeffects\"])(this.items, this.selections, this.targets);\n }\n } else if (e.target.getAttribute('aria-grabbed') === 'false') {\n // else [if the multiple selection modifier is not pressed]\n // and the item's grabbed state is currently false\n // clear dropeffect from the target containers\n Object(_helpers__WEBPACK_IMPORTED_MODULE_0__[\"clearDropeffects\"])(this.items, this.selections, this.targets); // clear all existing selections\n\n _helpers__WEBPACK_IMPORTED_MODULE_0__[\"clearSelections\"].bind(this)(); // add this new selection\n\n _helpers__WEBPACK_IMPORTED_MODULE_0__[\"addSelection\"].bind(this)(e.target); // apply dropeffect to the target containers\n\n Object(_helpers__WEBPACK_IMPORTED_MODULE_0__[\"addDropeffects\"])(this.items, this.selections, this.targets);\n } else {\n // else [if modifier is not pressed and grabbed is already true]\n // apply dropeffect to the target containers\n Object(_helpers__WEBPACK_IMPORTED_MODULE_0__[\"addDropeffects\"])(this.items, this.selections, this.targets);\n } // then prevent default to avoid any conflict with native actions\n\n\n e.preventDefault();\n } // (CMD or Ctrl) + A - select all the items around the selected one\n\n\n if (e.keyCode === 65 && (e.ctrlKey || e.metaKey)) {\n var lastItem = this.selections.items.slice(-1).pop();\n\n if (this.items && this.items.length > 0) {\n for (var i = 0; i < this.items.length; i++) {\n var item = this.items[i];\n var shouldSelectItem = isItemAroundSelectionArea(item, lastItem);\n shouldSelectItem && _helpers__WEBPACK_IMPORTED_MODULE_0__[\"addSelection\"].bind(this)(item);\n }\n }\n\n e.preventDefault(); // prevent entire page selection.\n } // Modifier + M is the end-of-selection keystroke\n\n\n if (e.keyCode === 77 && Object(_helpers__WEBPACK_IMPORTED_MODULE_0__[\"hasModifier\"])(e)) {\n // if we have any selected items\n if (this.selections.items.length) {\n // apply dropeffect to the target containers\n // in case earlier selections were made by mouse\n Object(_helpers__WEBPACK_IMPORTED_MODULE_0__[\"addDropeffects\"])(this.items, this.selections, this.targets); // if the owner container is the last one, focus the first one\n\n if (this.selections.owner === this.targets[this.targets.length - 1]) {\n this.targets[0].focus();\n } else {\n // else [if it's not the last one], find and focus the next one\n for (var _i = 0; _i < this.targets.length; _i++) {\n if (this.selections.owner === this.targets[_i]) {\n this.targets[_i + 1].focus();\n\n break;\n }\n }\n }\n } // then prevent default to avoid any conflict with native actions\n\n\n e.preventDefault();\n }\n } // Escape is the abort keystroke (for any target element)\n\n\n if (e.keyCode === 27) {\n // if we have any selected items\n if (this.selections.items.length) {\n // clear dropeffect from the target containers\n Object(_helpers__WEBPACK_IMPORTED_MODULE_0__[\"clearDropeffects\"])(this.items, this.selections, this.targets); // then set focus back on the last item that was selected, which is\n // necessary because we've removed tabindex from the current focus\n\n this.selections.items[this.selections.items.length - 1].focus(); // clear all existing selections\n\n _helpers__WEBPACK_IMPORTED_MODULE_0__[\"clearSelections\"].bind(this)(); // but don't prevent default so that native actions can still occur\n }\n } // if the element is a drop target container\n\n\n if (e.target.getAttribute('aria-dropeffect')) {\n // Enter or Modifier + M is the drop keystroke\n if (e.keyCode === 13 || e.keyCode === 77 && Object(_helpers__WEBPACK_IMPORTED_MODULE_0__[\"hasModifier\"])(e)) {\n // append the selected items to the end of the target container\n if (this.defaultOptions.reactivityEnabled) {\n this.selections.droptarget = e.target;\n _helpers__WEBPACK_IMPORTED_MODULE_0__[\"dispatchReorderEvents\"].bind(this)(e);\n } else {\n for (var _i2 = 0; _i2 < this.selections.items.length; _i2++) {\n e.target.appendChild(this.selections.items[_i2]);\n }\n } // clear dropeffect from the target containers\n\n\n Object(_helpers__WEBPACK_IMPORTED_MODULE_0__[\"clearDropeffects\"])(this.items, this.selections, this.targets); // then set focus back on the last item that was selected, which is\n // necessary because we've removed tabindex from the current focus\n\n this.selections.items[this.selections.items.length - 1].focus(); // reset the selections array\n\n _helpers__WEBPACK_IMPORTED_MODULE_0__[\"clearSelections\"].bind(this)(); // prevent default to to avoid any conflict with native actions\n\n e.preventDefault();\n }\n }\n};\n\n/***/ }),\n\n/***/ \"./src/core/listeners/handlers/mousedown.handler.js\":\n/*!**********************************************************!*\\\n !*** ./src/core/listeners/handlers/mousedown.handler.js ***!\n \\**********************************************************/\n/*! exports provided: mousedownHandler */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mousedownHandler\", function() { return mousedownHandler; });\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../../helpers */ \"./src/core/helpers/index.js\");\n\nvar mousedownHandler = function mousedownHandler(e) {\n if (this.defaultOptions.handlerSelector) {\n var handler = e.target.closest(this.defaultOptions.handlerSelector);\n\n if (!handler) {\n return;\n }\n }\n\n var elem = e.target.closest(this.defaultOptions.draggableSelector); // if the element is a draggable item\n\n if (elem && elem.getAttribute('draggable')) {\n // clear dropeffect from the target containers\n Object(_helpers__WEBPACK_IMPORTED_MODULE_0__[\"clearDropeffects\"])(this.items, this.selections, this.targets); // if the multiple selection modifier is not pressed\n // and the item's grabbed state is currently false\n\n if (!Object(_helpers__WEBPACK_IMPORTED_MODULE_0__[\"hasModifier\"])(e) && elem.getAttribute('aria-grabbed') === 'false') {\n // clear all existing selections\n _helpers__WEBPACK_IMPORTED_MODULE_0__[\"clearSelections\"].bind(this)(); // then add this new selection\n\n _helpers__WEBPACK_IMPORTED_MODULE_0__[\"addSelection\"].bind(this)(elem);\n }\n } else if (!Object(_helpers__WEBPACK_IMPORTED_MODULE_0__[\"hasModifier\"])(e)) {\n // else [if the element is anything else]\n // and the selection modifier is not pressed\n // clear dropeffect from the target containers\n Object(_helpers__WEBPACK_IMPORTED_MODULE_0__[\"clearDropeffects\"])(this.items, this.selections, this.targets); // clear all existing selections\n\n _helpers__WEBPACK_IMPORTED_MODULE_0__[\"clearSelections\"].bind(this)();\n } else {\n // else [if the element is anything else and the modifier is pressed]\n // clear dropeffect from the target containers\n Object(_helpers__WEBPACK_IMPORTED_MODULE_0__[\"clearDropeffects\"])(this.items, this.selections, this.targets);\n }\n};\n\n/***/ }),\n\n/***/ \"./src/core/listeners/handlers/mouseup.handler.js\":\n/*!********************************************************!*\\\n !*** ./src/core/listeners/handlers/mouseup.handler.js ***!\n \\********************************************************/\n/*! exports provided: mouseupHandler */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mouseupHandler\", function() { return mouseupHandler; });\n/* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./../../helpers */ \"./src/core/helpers/index.js\");\n\n\nvar isItemInSelectionArea = function isItemInSelectionArea(item, element, lastItem) {\n return item.parentNode === element.parentNode && (element.offsetTop > lastItem.offsetTop && item.offsetTop <= element.offsetTop && item.offsetTop >= lastItem.offsetTop || item.offsetTop >= element.offsetTop && item.offsetTop <= lastItem.offsetTop);\n};\n\nvar mouseupHandler = function mouseupHandler(e) {\n var elem = e.target.closest(this.defaultOptions.draggableSelector); // if the element is a draggable item\n\n if (elem && elem.getAttribute('draggable')) {\n // if shift key is pressed select multiple items\n if (Object(_helpers__WEBPACK_IMPORTED_MODULE_0__[\"hasModifier\"])(e)) {\n if (this.selections.items.length && e.shiftKey) {\n // last selected item\n var lastItem = this.selections.items.slice(-1).pop();\n\n if (this.items && this.items.length > 0) {\n for (var i = 0; i < this.items.length; i++) {\n var item = this.items[i];\n var shouldSelectItem = isItemInSelectionArea(item, elem, lastItem);\n shouldSelectItem && _helpers__WEBPACK_IMPORTED_MODULE_0__[\"addSelection\"].bind(this)(item);\n } // if the item's grabbed state is currently true\n\n }\n } else if (elem.getAttribute('aria-grabbed') === 'true') {\n // unselect this item\n _helpers__WEBPACK_IMPORTED_MODULE_0__[\"removeSelection\"].bind(this)(elem); // if that was the only selected item\n // then reset the owner container reference\n\n if (!this.selections.items.length) {\n this.selections.owner = null;\n }\n } else {\n // else [if the item's grabbed state is false]\n // add this additional selection\n _helpers__WEBPACK_IMPORTED_MODULE_0__[\"addSelection\"].bind(this)(elem);\n }\n } else {\n // if no modifier, clear all selections and add current item.\n _helpers__WEBPACK_IMPORTED_MODULE_0__[\"clearSelections\"].bind(this)();\n _helpers__WEBPACK_IMPORTED_MODULE_0__[\"addSelection\"].bind(this)(elem);\n }\n }\n};\n\n/***/ }),\n\n/***/ \"./src/core/listeners/index.js\":\n/*!*************************************!*\\\n !*** ./src/core/listeners/index.js ***!\n \\*************************************/\n/*! exports provided: attachListeners */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"attachListeners\", function() { return attachListeners; });\n/* harmony import */ var _handlers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./handlers */ \"./src/core/listeners/handlers/index.js\");\n\nvar attachListeners = function attachListeners(el) {\n // mousedown event to clear previous selections\n el.addEventListener('mousedown', _handlers__WEBPACK_IMPORTED_MODULE_0__[\"mousedownHandler\"].bind(this), false); // mouseup event to implement multiple selection\n\n el.addEventListener('mouseup', _handlers__WEBPACK_IMPORTED_MODULE_0__[\"mouseupHandler\"].bind(this), false); // dragstart event to initiate mouse dragging\n\n el.addEventListener('dragstart', _handlers__WEBPACK_IMPORTED_MODULE_0__[\"dragstartHandler\"].bind(this), false); // keydown event to implement selection and abort\n\n el.addEventListener('keydown', _handlers__WEBPACK_IMPORTED_MODULE_0__[\"keydownHandler\"].bind(this), false); // dragenter event to set related variable\n\n el.addEventListener('dragenter', _handlers__WEBPACK_IMPORTED_MODULE_0__[\"dragenterHandler\"].bind(this), false); // dragleave event to maintain target highlighting using that variable\n\n el.addEventListener('dragleave', _handlers__WEBPACK_IMPORTED_MODULE_0__[\"dragleaveHandler\"].bind(this), false); // dragover event to allow the drag by preventing its default\n\n el.addEventListener('dragover', _handlers__WEBPACK_IMPORTED_MODULE_0__[\"dragoverHandler\"].bind(this), false); // dragend event to implement items being validly dropped into targets,\n // or invalidly dropped elsewhere, and to clean-up the interface either way\n\n el.addEventListener('dragend', _handlers__WEBPACK_IMPORTED_MODULE_0__[\"dragendHandler\"].bind(this), false);\n};\n\n/***/ }),\n\n/***/ \"./src/core/options.js\":\n/*!*****************************!*\\\n !*** ./src/core/options.js ***!\n \\*****************************/\n/*! exports provided: getOptions */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getOptions\", function() { return getOptions; });\nfunction 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 < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(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\nvar getOptions = function getOptions(componentInstance, options) {\n return _objectSpread({\n dropzoneSelector: 'ul',\n draggableSelector: 'li',\n handlerSelector: null,\n reactivityEnabled: true,\n multipleDropzonesItemsDraggingEnabled: false,\n showDropzoneAreas: true\n }, options, {\n onDragstart: (options.onDragstart || function () {}).bind(componentInstance),\n onDragenter: (options.onDragenter || function () {}).bind(componentInstance),\n onDragover: (options.onDragover || function () {}).bind(componentInstance),\n onDragend: (options.onDragend || function () {}).bind(componentInstance),\n onDrop: (options.onDrop || function () {}).bind(componentInstance)\n });\n};\n\n/***/ }),\n\n/***/ \"./src/core/state.js\":\n/*!***************************!*\\\n !*** ./src/core/state.js ***!\n \\***************************/\n/*! exports provided: getState */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getState\", function() { return getState; });\nvar getState = function getState() {\n return {\n targets: null,\n items: null,\n nextItemElement: null,\n // related variable is needed to maintain a reference to the\n // dragleave's relatedTarget, since it doesn't have e.relatedTarget\n related: null,\n selections: {\n items: [],\n owner: null,\n droptarget: null\n }\n };\n};\n\n/***/ }),\n\n/***/ \"./src/index.js\":\n/*!**********************!*\\\n !*** ./src/index.js ***!\n \\**********************/\n/*! exports provided: VueDraggableDirective, default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"VueDraggableDirective\", function() { return VueDraggableDirective; });\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./core */ \"./src/core/index.js\");\n/* harmony import */ var _components_vue_draggable_group_component__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components/vue-draggable-group.component */ \"./src/components/vue-draggable-group.component.js\");\n\n\nvar instances = [];\nvar VueDraggableDirective = {\n bind: function bind(el, options, vnode) {\n var instance = new _core__WEBPACK_IMPORTED_MODULE_0__[\"VueDraggable\"](el, vnode.context, options.value);\n instances.push(instance);\n },\n componentUpdated: function componentUpdated(el) {\n setTimeout(function () {\n instances.forEach(function (instance) {\n if (instance.el !== el) return;\n instance.update(el);\n });\n });\n },\n unbind: function unbind(el) {\n instances = instances.filter(function (instance) {\n return instance.el !== el;\n });\n }\n};\n\n_core__WEBPACK_IMPORTED_MODULE_0__[\"VueDraggable\"].install = function (Vue) {\n Vue.directive('drag-and-drop', VueDraggableDirective);\n Vue.component('vue-draggable-group', _components_vue_draggable_group_component__WEBPACK_IMPORTED_MODULE_1__[\"VueDraggableGroup\"]);\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (_core__WEBPACK_IMPORTED_MODULE_0__[\"VueDraggable\"]);\n\n/***/ })\n\n/******/ });\n});\n//# sourceMappingURL=vue-draggable.js.map"],"names":["root","factory","module","this","modules","installedModules","__webpack_require__","moduleId","exports","name","getter","value","mode","ns","key","object","property","__webpack_exports__","VueDraggableGroup","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","iter","i","arr2","CUSTOM_EVENTS","event","_this","_this$value","newItems","group","prev","curr","item","newArray","reorderedItems","notReorderedItems","_this2","_this3","getDroptargets","getDraggables","updateInitialAttributes","setInitialAtributes","removeOldDropzoneAreaElements","getContainer","addDropeffects","clearDropeffects","hasModifier","el","dropzoneSelector","draggableSelector","_i","_i2","oldItemDropzoneElements","element","containerElement","items","selections","targets","len","_len","_i3","_i4","e","dispatchCustomEvent","dispatchReorderEvents","ownKeys","enumerableOnly","keys","symbols","sym","_objectSpread","target","source","_defineProperty","obj","createCustomEvent","data","customEvent","oldItems","index","eventData","_dom_helper__WEBPACK_IMPORTED_MODULE_0__","_state_helper__WEBPACK_IMPORTED_MODULE_1__","_events_helper__WEBPACK_IMPORTED_MODULE_2__","addSelection","removeSelection","clearSelections","stopDragAndDrop","VueDraggable","_listeners__WEBPACK_IMPORTED_MODULE_0__","_helpers__WEBPACK_IMPORTED_MODULE_1__","_options__WEBPACK_IMPORTED_MODULE_2__","_state__WEBPACK_IMPORTED_MODULE_3__","_classCallCheck","instance","Constructor","_defineProperties","props","descriptor","_createClass","protoProps","staticProps","componentInstance","options","dragendHandler","_helpers__WEBPACK_IMPORTED_MODULE_0__","reorderDomElements","droptarget","nextItemElement","dragenterHandler","dragleaveHandler","dragoverHandler","state","displayDropzones","itemDropzoneElement","dragstartHandler","elem","_mousedown_handler__WEBPACK_IMPORTED_MODULE_0__","_mouseup_handler__WEBPACK_IMPORTED_MODULE_1__","_dragover_handler__WEBPACK_IMPORTED_MODULE_2__","_dragstart_handler__WEBPACK_IMPORTED_MODULE_3__","_dragenter_handler__WEBPACK_IMPORTED_MODULE_4__","_dragleave_handler__WEBPACK_IMPORTED_MODULE_5__","_dragend_handler__WEBPACK_IMPORTED_MODULE_6__","_keydown_handler__WEBPACK_IMPORTED_MODULE_7__","keydownHandler","isItemAroundSelectionArea","lastItem","shouldSelectItem","mousedownHandler","handler","mouseupHandler","isItemInSelectionArea","attachListeners","_handlers__WEBPACK_IMPORTED_MODULE_0__","getOptions","getState","VueDraggableDirective","_core__WEBPACK_IMPORTED_MODULE_0__","_components_vue_draggable_group_component__WEBPACK_IMPORTED_MODULE_1__","instances","vnode","Vue"],"mappings":"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","x_google_ignoreList":[0]}