{"version":3,"sources":["webpack:///./node_modules/vue-slicksort/dist/vue-slicksort.umd.js","webpack:///./node_modules/lodash-move/lib/index.js"],"names":["global","factory","exports","this","ElementMixin","inject","props","index","type","Number","required","collection","String","default","disabled","Boolean","mounted","_$props","$props","setDraggable","watch","newIndex","$el","sortableInfo","isDisabled","removeDraggable","newCollection","oldCollection","beforeDestroy","methods","node","manager","ref","add","remove","classCallCheck","instance","Constructor","TypeError","createClass","defineProperties","target","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","protoProps","staticProps","prototype","slicedToArray","sliceIterator","arr","_arr","_n","_d","_e","undefined","_s","_i","Symbol","iterator","next","done","push","value","err","Array","isArray","toConsumableArray","arr2","from","Manager","refs","getIndex","splice","active","_this","find","_ref","indexOf","arguments","sort","a","b","arrayMove","previousIndex","array","slice","k","events","start","move","end","vendorPrefix","window","document","styles","getComputedStyle","documentElement","pre","call","join","match","OLink","toUpperCase","substr","closest","el","fn","parentNode","limit","min","max","getCSSPixelValue","stringValue","parseFloat","getElementMargin","element","style","top","marginTop","right","marginRight","bottom","marginBottom","left","marginLeft","ContainerMixin","data","sorting","sortingIndex","handleStart","handleMove","handleEnd","axis","distance","pressDelay","pressThreshold","useDragHandle","useWindowAsScrollContainer","hideSortableGhost","lockToContainerEdges","lockOffset","transitionDuration","appendTo","draggedSettlingDuration","lockAxis","helperClass","contentWindow","shouldCancelStart","Function","e","disabledElements","tagName","toLowerCase","getHelperDimensions","width","offsetWidth","height","offsetHeight","provide","container","ownerDocument","_window","scrollContainer","body","_loop","hasOwnProperty","forEach","eventName","addEventListener","_this2","_loop2","removeEventListener","_this3","button","_touched","_pos","x","pageX","y","pageY","nodeIsChild","_node$sortableInfo","sortableHandle","preventDefault","handlePress","pressTimer","setTimeout","_$props2","_delta","delta","Math","abs","isActive","clearTimeout","cancelTimer","cancel","_this4","getActive","_$props3","margin","containerBoundingRect","getBoundingClientRect","dimensions","marginOffset","boundingClientRect","_axis","offsetEdge","getEdgeOffset","initialOffset","getOffset","initialScroll","scrollTop","scrollLeft","initialWindowScroll","pageYOffset","pageXOffset","_helper$classList","fields","querySelectorAll","clonedNode","cloneNode","clonedFields","concat","field","helper","querySelector","appendChild","position","boxSizing","pointerEvents","sortableGhost","visibility","opacity","translate","minTranslate","maxTranslate","innerWidth","innerHeight","classList","apply","split","listenerNode","touches","handleSortMove","handleSortEnd","$emit","event","updatePosition","animateNodes","autoscroll","_this5","nodes","onEnd","removeChild","len","edgeOffset","clearInterval","autoscrollInterval","oldIndex","transitionHelperIntoPlace","then","_this6","Promise","resolve","deltaScroll","indexNode","newIndexNode","targetX","offsetLeft","targetY","offsetTop","duration","cleanup","propertyName","cleanupTimer","offset","nodeOffset","getLockPixelOffsets","Error","_lockOffset","_lockOffset2","minLockOffset","maxLockOffset","getLockPixelOffset","offsetX","offsetY","unit","exec","isFinite","_$props4","_getLockPixelOffsets","_getLockPixelOffsets2","minOffset","maxOffset","_$props5","getOrderedRefs","sortingOffset","scrollDifference","nextNode","prevNode","_this7","direction","speed","acceleration","isAutoScrolling","setInterval","HandleDirective","bind","SlickList","name","mixins","render","h","$slots","SlickItem","_toConsumableArray","moveIndex","toIndex","item","diff"],"mappings":"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","file":"js/chunk-78aac91a.a068c75e.js","sourcesContent":["(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n\ttypeof define === 'function' && define.amd ? define(['exports'], factory) :\n\t(factory((global.VueSlicksort = {})));\n}(this, (function (exports) { 'use strict';\n\n// Export Sortable Element Component Mixin\nvar ElementMixin = {\n inject: ['manager'],\n props: {\n index: {\n type: Number,\n required: true\n },\n collection: {\n type: [String, Number],\n default: 'default'\n },\n disabled: {\n type: Boolean,\n default: false\n }\n },\n\n mounted: function mounted() {\n var _$props = this.$props,\n collection = _$props.collection,\n disabled = _$props.disabled,\n index = _$props.index;\n\n\n if (!disabled) {\n this.setDraggable(collection, index);\n }\n },\n\n\n watch: {\n index: function index(newIndex) {\n if (this.$el && this.$el.sortableInfo) {\n this.$el.sortableInfo.index = newIndex;\n }\n },\n disabled: function disabled(isDisabled) {\n if (isDisabled) {\n this.removeDraggable(this.collection);\n } else {\n this.setDraggable(this.collection, this.index);\n }\n },\n collection: function collection(newCollection, oldCollection) {\n this.removeDraggable(oldCollection);\n this.setDraggable(newCollection, this.index);\n }\n },\n\n beforeDestroy: function beforeDestroy() {\n var collection = this.collection,\n disabled = this.disabled;\n\n\n if (!disabled) this.removeDraggable(collection);\n },\n\n methods: {\n setDraggable: function setDraggable(collection, index) {\n var node = this.$el;\n\n node.sortableInfo = {\n index: index,\n collection: collection,\n manager: this.manager\n };\n\n this.ref = { node: node };\n this.manager.add(collection, this.ref);\n },\n removeDraggable: function removeDraggable(collection) {\n this.manager.remove(collection, this.ref);\n }\n }\n};\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar toConsumableArray = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n};\n\nvar Manager = function () {\n function Manager() {\n classCallCheck(this, Manager);\n\n this.refs = {};\n }\n\n createClass(Manager, [{\n key: \"add\",\n value: function add(collection, ref) {\n if (!this.refs[collection]) {\n this.refs[collection] = [];\n }\n\n this.refs[collection].push(ref);\n }\n }, {\n key: \"remove\",\n value: function remove(collection, ref) {\n var index = this.getIndex(collection, ref);\n\n if (index !== -1) {\n this.refs[collection].splice(index, 1);\n }\n }\n }, {\n key: \"isActive\",\n value: function isActive() {\n return this.active;\n }\n }, {\n key: \"getActive\",\n value: function getActive() {\n var _this = this;\n\n return this.refs[this.active.collection].find(function (_ref) {\n var node = _ref.node;\n return node.sortableInfo.index == _this.active.index;\n });\n }\n }, {\n key: \"getIndex\",\n value: function getIndex(collection, ref) {\n return this.refs[collection].indexOf(ref);\n }\n }, {\n key: \"getOrderedRefs\",\n value: function getOrderedRefs() {\n var collection = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.active.collection;\n\n return this.refs[collection].sort(function (a, b) {\n return a.node.sortableInfo.index - b.node.sortableInfo.index;\n });\n }\n }]);\n return Manager;\n}();\n\nfunction arrayMove(arr, previousIndex, newIndex) {\n var array = arr.slice(0);\n if (newIndex >= array.length) {\n var k = newIndex - array.length;\n while (k-- + 1) {\n array.push(undefined);\n }\n }\n array.splice(newIndex, 0, array.splice(previousIndex, 1)[0]);\n return array;\n}\n\nvar events = {\n start: ['touchstart', 'mousedown'],\n move: ['touchmove', 'mousemove'],\n end: ['touchend', 'touchcancel', 'mouseup']\n};\n\nvar vendorPrefix = function () {\n if (typeof window === 'undefined' || typeof document === 'undefined') return ''; // server environment\n // fix for:\n // https://bugzilla.mozilla.org/show_bug.cgi?id=548397\n // window.getComputedStyle() returns null inside an iframe with display: none\n // in this case return an array with a fake mozilla style in it.\n var styles = window.getComputedStyle(document.documentElement, '') || ['-moz-hidden-iframe'];\n var pre = (Array.prototype.slice.call(styles).join('').match(/-(moz|webkit|ms)-/) || styles.OLink === '' && ['', 'o'])[1];\n\n switch (pre) {\n case 'ms':\n return 'ms';\n default:\n return pre && pre.length ? pre[0].toUpperCase() + pre.substr(1) : '';\n }\n}();\n\nfunction closest(el, fn) {\n while (el) {\n if (fn(el)) return el;\n el = el.parentNode;\n }\n}\n\nfunction limit(min, max, value) {\n if (value < min) {\n return min;\n }\n if (value > max) {\n return max;\n }\n return value;\n}\n\nfunction getCSSPixelValue(stringValue) {\n if (stringValue.substr(-2) === 'px') {\n return parseFloat(stringValue);\n }\n return 0;\n}\n\nfunction getElementMargin(element) {\n var style = window.getComputedStyle(element);\n\n return {\n top: getCSSPixelValue(style.marginTop),\n right: getCSSPixelValue(style.marginRight),\n bottom: getCSSPixelValue(style.marginBottom),\n left: getCSSPixelValue(style.marginLeft)\n };\n}\n\n// Export Sortable Container Component Mixin\nvar ContainerMixin = {\n data: function data() {\n return {\n sorting: false,\n sortingIndex: null,\n manager: new Manager(),\n events: {\n start: this.handleStart,\n move: this.handleMove,\n end: this.handleEnd\n }\n };\n },\n\n\n props: {\n value: { type: Array, required: true },\n axis: { type: String, default: 'y' }, // 'x', 'y', 'xy'\n distance: { type: Number, default: 0 },\n pressDelay: { type: Number, default: 0 },\n pressThreshold: { type: Number, default: 5 },\n useDragHandle: { type: Boolean, default: false },\n useWindowAsScrollContainer: { type: Boolean, default: false },\n hideSortableGhost: { type: Boolean, default: true },\n lockToContainerEdges: { type: Boolean, default: false },\n lockOffset: { type: [String, Number, Array], default: '50%' },\n transitionDuration: { type: Number, default: 300 },\n appendTo: { type: String, default: 'body' },\n draggedSettlingDuration: { type: Number, default: null },\n lockAxis: String,\n helperClass: String,\n contentWindow: Object,\n shouldCancelStart: {\n type: Function,\n default: function _default(e) {\n // Cancel sorting if the event target is an `input`, `textarea`, `select` or `option`\n var disabledElements = ['input', 'textarea', 'select', 'option', 'button'];\n return disabledElements.indexOf(e.target.tagName.toLowerCase()) !== -1;\n }\n },\n getHelperDimensions: {\n type: Function,\n default: function _default(_ref) {\n var node = _ref.node;\n return {\n width: node.offsetWidth,\n height: node.offsetHeight\n };\n }\n }\n },\n\n provide: function provide() {\n return {\n manager: this.manager\n };\n },\n mounted: function mounted() {\n var _this = this;\n\n this.container = this.$el;\n this.document = this.container.ownerDocument || document;\n this._window = this.contentWindow || window;\n this.scrollContainer = this.useWindowAsScrollContainer ? this.document.body : this.container;\n\n var _loop = function _loop(key) {\n if (_this.events.hasOwnProperty(key)) {\n events[key].forEach(function (eventName) {\n return _this.container.addEventListener(eventName, _this.events[key], false);\n });\n }\n };\n\n for (var key in this.events) {\n _loop(key);\n }\n },\n beforeDestroy: function beforeDestroy() {\n var _this2 = this;\n\n var _loop2 = function _loop2(key) {\n if (_this2.events.hasOwnProperty(key)) {\n events[key].forEach(function (eventName) {\n return _this2.container.removeEventListener(eventName, _this2.events[key]);\n });\n }\n };\n\n for (var key in this.events) {\n _loop2(key);\n }\n },\n\n\n methods: {\n handleStart: function handleStart(e) {\n var _this3 = this;\n\n var _$props = this.$props,\n distance = _$props.distance,\n shouldCancelStart = _$props.shouldCancelStart;\n\n\n if (e.button === 2 || shouldCancelStart(e)) {\n return false;\n }\n\n this._touched = true;\n this._pos = {\n x: e.pageX,\n y: e.pageY\n };\n\n var node = closest(e.target, function (el) {\n return el.sortableInfo != null;\n });\n\n if (node && node.sortableInfo && this.nodeIsChild(node) && !this.sorting) {\n var useDragHandle = this.$props.useDragHandle;\n var _node$sortableInfo = node.sortableInfo,\n index = _node$sortableInfo.index,\n collection = _node$sortableInfo.collection;\n\n\n if (useDragHandle && !closest(e.target, function (el) {\n return el.sortableHandle != null;\n })) return;\n\n this.manager.active = { index: index, collection: collection };\n\n /*\n * Fixes a bug in Firefox where the :active state of anchor tags\n * prevent subsequent 'mousemove' events from being fired\n * (see https://github.com/clauderic/react-sortable-hoc/issues/118)\n */\n if (e.target.tagName.toLowerCase() === 'a') {\n e.preventDefault();\n }\n\n if (!distance) {\n if (this.$props.pressDelay === 0) {\n this.handlePress(e);\n } else {\n this.pressTimer = setTimeout(function () {\n return _this3.handlePress(e);\n }, this.$props.pressDelay);\n }\n }\n }\n },\n nodeIsChild: function nodeIsChild(node) {\n return node.sortableInfo.manager === this.manager;\n },\n handleMove: function handleMove(e) {\n var _$props2 = this.$props,\n distance = _$props2.distance,\n pressThreshold = _$props2.pressThreshold;\n\n\n if (!this.sorting && this._touched) {\n this._delta = {\n x: this._pos.x - e.pageX,\n y: this._pos.y - e.pageY\n };\n var delta = Math.abs(this._delta.x) + Math.abs(this._delta.y);\n\n if (!distance && (!pressThreshold || pressThreshold && delta >= pressThreshold)) {\n clearTimeout(this.cancelTimer);\n this.cancelTimer = setTimeout(this.cancel, 0);\n } else if (distance && delta >= distance && this.manager.isActive()) {\n this.handlePress(e);\n }\n }\n },\n handleEnd: function handleEnd() {\n var distance = this.$props.distance;\n\n\n this._touched = false;\n\n if (!distance) {\n this.cancel();\n }\n },\n cancel: function cancel() {\n if (!this.sorting) {\n clearTimeout(this.pressTimer);\n this.manager.active = null;\n }\n },\n handlePress: function handlePress(e) {\n var _this4 = this;\n\n var active = this.manager.getActive();\n\n if (active) {\n var _$props3 = this.$props,\n axis = _$props3.axis,\n getHelperDimensions = _$props3.getHelperDimensions,\n helperClass = _$props3.helperClass,\n hideSortableGhost = _$props3.hideSortableGhost,\n useWindowAsScrollContainer = _$props3.useWindowAsScrollContainer,\n appendTo = _$props3.appendTo;\n var node = active.node,\n collection = active.collection;\n var index = node.sortableInfo.index;\n\n var margin = getElementMargin(node);\n\n var containerBoundingRect = this.container.getBoundingClientRect();\n var dimensions = getHelperDimensions({ index: index, node: node, collection: collection });\n\n this.node = node;\n this.margin = margin;\n this.width = dimensions.width;\n this.height = dimensions.height;\n this.marginOffset = {\n x: this.margin.left + this.margin.right,\n y: Math.max(this.margin.top, this.margin.bottom)\n };\n this.boundingClientRect = node.getBoundingClientRect();\n this.containerBoundingRect = containerBoundingRect;\n this.index = index;\n this.newIndex = index;\n\n this._axis = {\n x: axis.indexOf('x') >= 0,\n y: axis.indexOf('y') >= 0\n };\n this.offsetEdge = this.getEdgeOffset(node);\n this.initialOffset = this.getOffset(e);\n this.initialScroll = {\n top: this.scrollContainer.scrollTop,\n left: this.scrollContainer.scrollLeft\n };\n\n this.initialWindowScroll = {\n top: window.pageYOffset,\n left: window.pageXOffset\n };\n\n var fields = node.querySelectorAll('input, textarea, select');\n var clonedNode = node.cloneNode(true);\n var clonedFields = [].concat(toConsumableArray(clonedNode.querySelectorAll('input, textarea, select'))); // Convert NodeList to Array\n\n clonedFields.forEach(function (field, index) {\n if (field.type !== 'file' && fields[index]) {\n field.value = fields[index].value;\n }\n });\n\n this.helper = this.document.querySelector(appendTo).appendChild(clonedNode);\n\n this.helper.style.position = 'fixed';\n this.helper.style.top = this.boundingClientRect.top - margin.top + 'px';\n this.helper.style.left = this.boundingClientRect.left - margin.left + 'px';\n this.helper.style.width = this.width + 'px';\n this.helper.style.height = this.height + 'px';\n this.helper.style.boxSizing = 'border-box';\n this.helper.style.pointerEvents = 'none';\n\n if (hideSortableGhost) {\n this.sortableGhost = node;\n node.style.visibility = 'hidden';\n node.style.opacity = 0;\n }\n\n this.translate = {};\n this.minTranslate = {};\n this.maxTranslate = {};\n if (this._axis.x) {\n this.minTranslate.x = (useWindowAsScrollContainer ? 0 : containerBoundingRect.left) - this.boundingClientRect.left - this.width / 2;\n this.maxTranslate.x = (useWindowAsScrollContainer ? this._window.innerWidth : containerBoundingRect.left + containerBoundingRect.width) - this.boundingClientRect.left - this.width / 2;\n }\n if (this._axis.y) {\n this.minTranslate.y = (useWindowAsScrollContainer ? 0 : containerBoundingRect.top) - this.boundingClientRect.top - this.height / 2;\n this.maxTranslate.y = (useWindowAsScrollContainer ? this._window.innerHeight : containerBoundingRect.top + containerBoundingRect.height) - this.boundingClientRect.top - this.height / 2;\n }\n\n if (helperClass) {\n var _helper$classList;\n\n (_helper$classList = this.helper.classList).add.apply(_helper$classList, toConsumableArray(helperClass.split(' ')));\n }\n\n this.listenerNode = e.touches ? node : this._window;\n events.move.forEach(function (eventName) {\n return _this4.listenerNode.addEventListener(eventName, _this4.handleSortMove, false);\n });\n events.end.forEach(function (eventName) {\n return _this4.listenerNode.addEventListener(eventName, _this4.handleSortEnd, false);\n });\n\n this.sorting = true;\n this.sortingIndex = index;\n\n this.$emit('sort-start', { event: e, node: node, index: index, collection: collection });\n }\n },\n handleSortMove: function handleSortMove(e) {\n e.preventDefault(); // Prevent scrolling on mobile\n\n this.updatePosition(e);\n this.animateNodes();\n this.autoscroll();\n\n this.$emit('sort-move', { event: e });\n },\n handleSortEnd: function handleSortEnd(e) {\n var _this5 = this;\n\n var collection = this.manager.active.collection;\n\n // Remove the event listeners if the node is still in the DOM\n\n if (this.listenerNode) {\n events.move.forEach(function (eventName) {\n return _this5.listenerNode.removeEventListener(eventName, _this5.handleSortMove);\n });\n events.end.forEach(function (eventName) {\n return _this5.listenerNode.removeEventListener(eventName, _this5.handleSortEnd);\n });\n }\n\n var nodes = this.manager.refs[collection];\n\n var onEnd = function onEnd() {\n // Remove the helper from the DOM\n _this5.helper.parentNode.removeChild(_this5.helper);\n\n if (_this5.hideSortableGhost && _this5.sortableGhost) {\n _this5.sortableGhost.style.visibility = '';\n _this5.sortableGhost.style.opacity = '';\n }\n\n for (var i = 0, len = nodes.length; i < len; i++) {\n var node = nodes[i];\n var el = node.node;\n\n // Clear the cached offsetTop / offsetLeft value\n node.edgeOffset = null;\n\n // Remove the transforms / transitions\n el.style[vendorPrefix + 'Transform'] = '';\n el.style[vendorPrefix + 'TransitionDuration'] = '';\n }\n\n // Stop autoscroll\n clearInterval(_this5.autoscrollInterval);\n _this5.autoscrollInterval = null;\n\n // Update state\n _this5.manager.active = null;\n\n _this5.sorting = false;\n _this5.sortingIndex = null;\n\n _this5.$emit('sort-end', {\n event: e,\n oldIndex: _this5.index,\n newIndex: _this5.newIndex,\n collection: collection\n });\n _this5.$emit('input', arrayMove(_this5.value, _this5.index, _this5.newIndex));\n\n _this5._touched = false;\n };\n\n if (this.$props.transitionDuration || this.$props.draggedSettlingDuration) {\n this.transitionHelperIntoPlace(nodes).then(function () {\n return onEnd();\n });\n } else {\n onEnd();\n }\n },\n transitionHelperIntoPlace: function transitionHelperIntoPlace(nodes) {\n var _this6 = this;\n\n if (this.$props.draggedSettlingDuration === 0) {\n return Promise.resolve();\n }\n\n var deltaScroll = {\n left: this.scrollContainer.scrollLeft - this.initialScroll.left,\n top: this.scrollContainer.scrollTop - this.initialScroll.top\n };\n var indexNode = nodes[this.index].node;\n var newIndexNode = nodes[this.newIndex].node;\n\n var targetX = -deltaScroll.left;\n if (this.translate && this.translate.x > 0) {\n // Diff against right edge when moving to the right\n targetX += newIndexNode.offsetLeft + newIndexNode.offsetWidth - (indexNode.offsetLeft + indexNode.offsetWidth);\n } else {\n targetX += newIndexNode.offsetLeft - indexNode.offsetLeft;\n }\n\n var targetY = -deltaScroll.top;\n if (this.translate && this.translate.y > 0) {\n // Diff against the bottom edge when moving down\n targetY += newIndexNode.offsetTop + newIndexNode.offsetHeight - (indexNode.offsetTop + indexNode.offsetHeight);\n } else {\n targetY += newIndexNode.offsetTop - indexNode.offsetTop;\n }\n\n var duration = this.$props.draggedSettlingDuration !== null ? this.$props.draggedSettlingDuration : this.$props.transitionDuration;\n\n this.helper.style[vendorPrefix + 'Transform'] = 'translate3d(' + targetX + 'px,' + targetY + 'px, 0)';\n this.helper.style[vendorPrefix + 'TransitionDuration'] = duration + 'ms';\n\n return new Promise(function (resolve) {\n // Register an event handler to clean up styles when the transition\n // finishes.\n var cleanup = function cleanup(event) {\n if (!event || event.propertyName === 'transform') {\n clearTimeout(cleanupTimer);\n _this6.helper.style[vendorPrefix + 'Transform'] = '';\n _this6.helper.style[vendorPrefix + 'TransitionDuration'] = '';\n resolve();\n }\n };\n // Force cleanup in case 'transitionend' never fires\n var cleanupTimer = setTimeout(cleanup, duration + 10);\n _this6.helper.addEventListener('transitionend', cleanup, false);\n });\n },\n getEdgeOffset: function getEdgeOffset(node) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { top: 0, left: 0 };\n\n // Get the actual offsetTop / offsetLeft value, no matter how deep the node is nested\n if (node) {\n var nodeOffset = {\n top: offset.top + node.offsetTop,\n left: offset.left + node.offsetLeft\n };\n if (node.parentNode !== this.container) {\n return this.getEdgeOffset(node.parentNode, nodeOffset);\n } else {\n return nodeOffset;\n }\n }\n },\n getOffset: function getOffset(e) {\n return {\n x: e.touches ? e.touches[0].pageX : e.pageX,\n y: e.touches ? e.touches[0].pageY : e.pageY\n };\n },\n getLockPixelOffsets: function getLockPixelOffsets() {\n var lockOffset = this.$props.lockOffset;\n\n\n if (!Array.isArray(this.lockOffset)) {\n lockOffset = [lockOffset, lockOffset];\n }\n\n if (lockOffset.length !== 2) {\n throw new Error('lockOffset prop of SortableContainer should be a single value or an array of exactly two values. Given ' + lockOffset);\n }\n\n var _lockOffset = lockOffset,\n _lockOffset2 = slicedToArray(_lockOffset, 2),\n minLockOffset = _lockOffset2[0],\n maxLockOffset = _lockOffset2[1];\n\n return [this.getLockPixelOffset(minLockOffset), this.getLockPixelOffset(maxLockOffset)];\n },\n getLockPixelOffset: function getLockPixelOffset(lockOffset) {\n var offsetX = lockOffset;\n var offsetY = lockOffset;\n var unit = 'px';\n\n if (typeof lockOffset === 'string') {\n var match = /^[+-]?\\d*(?:\\.\\d*)?(px|%)$/.exec(lockOffset);\n\n if (match === null) {\n throw new Error('lockOffset value should be a number or a string of a number followed by \"px\" or \"%\". Given ' + lockOffset);\n }\n\n offsetX = offsetY = parseFloat(lockOffset);\n unit = match[1];\n }\n\n if (!isFinite(offsetX) || !isFinite(offsetY)) {\n throw new Error('lockOffset value should be a finite. Given ' + lockOffset);\n }\n\n if (unit === '%') {\n offsetX = offsetX * this.width / 100;\n offsetY = offsetY * this.height / 100;\n }\n\n return {\n x: offsetX,\n y: offsetY\n };\n },\n updatePosition: function updatePosition(e) {\n var _$props4 = this.$props,\n lockAxis = _$props4.lockAxis,\n lockToContainerEdges = _$props4.lockToContainerEdges;\n\n\n var offset = this.getOffset(e);\n var translate = {\n x: offset.x - this.initialOffset.x,\n y: offset.y - this.initialOffset.y\n };\n // Adjust for window scroll\n translate.y -= window.pageYOffset - this.initialWindowScroll.top;\n translate.x -= window.pageXOffset - this.initialWindowScroll.left;\n\n this.translate = translate;\n\n if (lockToContainerEdges) {\n var _getLockPixelOffsets = this.getLockPixelOffsets(),\n _getLockPixelOffsets2 = slicedToArray(_getLockPixelOffsets, 2),\n minLockOffset = _getLockPixelOffsets2[0],\n maxLockOffset = _getLockPixelOffsets2[1];\n\n var minOffset = {\n x: this.width / 2 - minLockOffset.x,\n y: this.height / 2 - minLockOffset.y\n };\n var maxOffset = {\n x: this.width / 2 - maxLockOffset.x,\n y: this.height / 2 - maxLockOffset.y\n };\n\n translate.x = limit(this.minTranslate.x + minOffset.x, this.maxTranslate.x - maxOffset.x, translate.x);\n translate.y = limit(this.minTranslate.y + minOffset.y, this.maxTranslate.y - maxOffset.y, translate.y);\n }\n\n if (lockAxis === 'x') {\n translate.y = 0;\n } else if (lockAxis === 'y') {\n translate.x = 0;\n }\n\n this.helper.style[vendorPrefix + 'Transform'] = 'translate3d(' + translate.x + 'px,' + translate.y + 'px, 0)';\n },\n animateNodes: function animateNodes() {\n var _$props5 = this.$props,\n transitionDuration = _$props5.transitionDuration,\n hideSortableGhost = _$props5.hideSortableGhost;\n\n var nodes = this.manager.getOrderedRefs();\n var deltaScroll = {\n left: this.scrollContainer.scrollLeft - this.initialScroll.left,\n top: this.scrollContainer.scrollTop - this.initialScroll.top\n };\n var sortingOffset = {\n left: this.offsetEdge.left + this.translate.x + deltaScroll.left,\n top: this.offsetEdge.top + this.translate.y + deltaScroll.top\n };\n var scrollDifference = {\n top: window.pageYOffset - this.initialWindowScroll.top,\n left: window.pageXOffset - this.initialWindowScroll.left\n };\n this.newIndex = null;\n\n for (var i = 0, len = nodes.length; i < len; i++) {\n var node = nodes[i].node;\n\n var index = node.sortableInfo.index;\n var width = node.offsetWidth;\n var height = node.offsetHeight;\n var offset = {\n width: this.width > width ? width / 2 : this.width / 2,\n height: this.height > height ? height / 2 : this.height / 2\n };\n\n var translate = {\n x: 0,\n y: 0\n };\n var edgeOffset = nodes[i].edgeOffset;\n\n // If we haven't cached the node's offsetTop / offsetLeft value\n\n if (!edgeOffset) {\n nodes[i].edgeOffset = edgeOffset = this.getEdgeOffset(node);\n }\n\n // Get a reference to the next and previous node\n var nextNode = i < nodes.length - 1 && nodes[i + 1];\n var prevNode = i > 0 && nodes[i - 1];\n\n // Also cache the next node's edge offset if needed.\n // We need this for calculating the animation in a grid setup\n if (nextNode && !nextNode.edgeOffset) {\n nextNode.edgeOffset = this.getEdgeOffset(nextNode.node);\n }\n\n // If the node is the one we're currently animating, skip it\n if (index === this.index) {\n if (hideSortableGhost) {\n /*\n * With windowing libraries such as `react-virtualized`, the sortableGhost\n * node may change while scrolling down and then back up (or vice-versa),\n * so we need to update the reference to the new node just to be safe.\n */\n this.sortableGhost = node;\n node.style.visibility = 'hidden';\n node.style.opacity = 0;\n }\n continue;\n }\n\n if (transitionDuration) {\n node.style[vendorPrefix + 'TransitionDuration'] = transitionDuration + 'ms';\n }\n\n if (this._axis.x) {\n if (this._axis.y) {\n // Calculations for a grid setup\n if (index < this.index && (sortingOffset.left + scrollDifference.left - offset.width <= edgeOffset.left && sortingOffset.top + scrollDifference.top <= edgeOffset.top + offset.height || sortingOffset.top + scrollDifference.top + offset.height <= edgeOffset.top)) {\n // If the current node is to the left on the same row, or above the node that's being dragged\n // then move it to the right\n translate.x = this.width + this.marginOffset.x;\n if (edgeOffset.left + translate.x > this.containerBoundingRect.width - offset.width) {\n // If it moves passed the right bounds, then animate it to the first position of the next row.\n // We just use the offset of the next node to calculate where to move, because that node's original position\n // is exactly where we want to go\n translate.x = nextNode.edgeOffset.left - edgeOffset.left;\n translate.y = nextNode.edgeOffset.top - edgeOffset.top;\n }\n if (this.newIndex === null) {\n this.newIndex = index;\n }\n } else if (index > this.index && (sortingOffset.left + scrollDifference.left + offset.width >= edgeOffset.left && sortingOffset.top + scrollDifference.top + offset.height >= edgeOffset.top || sortingOffset.top + scrollDifference.top + offset.height >= edgeOffset.top + height)) {\n // If the current node is to the right on the same row, or below the node that's being dragged\n // then move it to the left\n translate.x = -(this.width + this.marginOffset.x);\n if (edgeOffset.left + translate.x < this.containerBoundingRect.left + offset.width) {\n // If it moves passed the left bounds, then animate it to the last position of the previous row.\n // We just use the offset of the previous node to calculate where to move, because that node's original position\n // is exactly where we want to go\n translate.x = prevNode.edgeOffset.left - edgeOffset.left;\n translate.y = prevNode.edgeOffset.top - edgeOffset.top;\n }\n this.newIndex = index;\n }\n } else {\n if (index > this.index && sortingOffset.left + scrollDifference.left + offset.width >= edgeOffset.left) {\n translate.x = -(this.width + this.marginOffset.x);\n this.newIndex = index;\n } else if (index < this.index && sortingOffset.left + scrollDifference.left <= edgeOffset.left + offset.width) {\n translate.x = this.width + this.marginOffset.x;\n if (this.newIndex == null) {\n this.newIndex = index;\n }\n }\n }\n } else if (this._axis.y) {\n if (index > this.index && sortingOffset.top + scrollDifference.top + offset.height >= edgeOffset.top) {\n translate.y = -(this.height + this.marginOffset.y);\n this.newIndex = index;\n } else if (index < this.index && sortingOffset.top + scrollDifference.top <= edgeOffset.top + offset.height) {\n translate.y = this.height + this.marginOffset.y;\n if (this.newIndex == null) {\n this.newIndex = index;\n }\n }\n }\n node.style[vendorPrefix + 'Transform'] = 'translate3d(' + translate.x + 'px,' + translate.y + 'px,0)';\n }\n\n if (this.newIndex == null) {\n this.newIndex = this.index;\n }\n },\n autoscroll: function autoscroll() {\n var _this7 = this;\n\n var translate = this.translate;\n var direction = {\n x: 0,\n y: 0\n };\n var speed = {\n x: 1,\n y: 1\n };\n var acceleration = {\n x: 10,\n y: 10\n };\n\n if (translate.y >= this.maxTranslate.y - this.height / 2) {\n direction.y = 1; // Scroll Down\n speed.y = acceleration.y * Math.abs((this.maxTranslate.y - this.height / 2 - translate.y) / this.height);\n } else if (translate.x >= this.maxTranslate.x - this.width / 2) {\n direction.x = 1; // Scroll Right\n speed.x = acceleration.x * Math.abs((this.maxTranslate.x - this.width / 2 - translate.x) / this.width);\n } else if (translate.y <= this.minTranslate.y + this.height / 2) {\n direction.y = -1; // Scroll Up\n speed.y = acceleration.y * Math.abs((translate.y - this.height / 2 - this.minTranslate.y) / this.height);\n } else if (translate.x <= this.minTranslate.x + this.width / 2) {\n direction.x = -1; // Scroll Left\n speed.x = acceleration.x * Math.abs((translate.x - this.width / 2 - this.minTranslate.x) / this.width);\n }\n\n if (this.autoscrollInterval) {\n clearInterval(this.autoscrollInterval);\n this.autoscrollInterval = null;\n this.isAutoScrolling = false;\n }\n\n if (direction.x !== 0 || direction.y !== 0) {\n this.autoscrollInterval = setInterval(function () {\n _this7.isAutoScrolling = true;\n var offset = {\n left: 1 * speed.x * direction.x,\n top: 1 * speed.y * direction.y\n };\n _this7.scrollContainer.scrollTop += offset.top;\n _this7.scrollContainer.scrollLeft += offset.left;\n _this7.translate.x += offset.left;\n _this7.translate.y += offset.top;\n _this7.animateNodes();\n }, 5);\n }\n }\n }\n};\n\n// Export Sortable Element Handle Directive\nvar HandleDirective = {\n bind: function bind(el) {\n el.sortableHandle = true;\n }\n};\n\nvar SlickList = {\n name: 'slick-list',\n mixins: [ContainerMixin],\n render: function render(h) {\n return h('div', this.$slots.default);\n }\n};\n\nvar SlickItem = {\n name: 'slick-item',\n mixins: [ElementMixin],\n render: function render(h) {\n return h('div', this.$slots.default);\n }\n};\n\nexports.ElementMixin = ElementMixin;\nexports.ContainerMixin = ContainerMixin;\nexports.HandleDirective = HandleDirective;\nexports.SlickList = SlickList;\nexports.SlickItem = SlickItem;\nexports.arrayMove = arrayMove;\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n})));\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = move;\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction move(array, moveIndex, toIndex) {\n /* #move - Moves an array item from one position in an array to another.\n Note: This is a pure function so a new array will be returned, instead\n of altering the array argument.\n Arguments:\n 1. array (String) : Array in which to move an item. (required)\n 2. moveIndex (Object) : The index of the item to move. (required)\n 3. toIndex (Object) : The index to move item at moveIndex to. (required)\n */\n var item = array[moveIndex];\n var length = array.length;\n var diff = moveIndex - toIndex;\n\n if (diff > 0) {\n // move left\n return [].concat(_toConsumableArray(array.slice(0, toIndex)), [item], _toConsumableArray(array.slice(toIndex, moveIndex)), _toConsumableArray(array.slice(moveIndex + 1, length)));\n } else if (diff < 0) {\n // move right\n return [].concat(_toConsumableArray(array.slice(0, moveIndex)), _toConsumableArray(array.slice(moveIndex + 1, toIndex + 1)), [item], _toConsumableArray(array.slice(toIndex + 1, length)));\n }\n return array;\n}"],"sourceRoot":""}