diff --git a/dist/vue-dragscroll.js b/dist/vue-dragscroll.js index fb2e90a..029f566 100644 --- a/dist/vue-dragscroll.js +++ b/dist/vue-dragscroll.js @@ -104,7 +104,7 @@ return /******/ (function(modules) { // webpackBootstrap /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ \"./src/utils.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\nvar POINTER_START_EVENTS = ['mousedown', 'touchstart'];\nvar POINTER_MOVE_EVENTS = ['mousemove', 'touchmove'];\nvar POINTER_END_EVENTS = ['mouseup', 'touchend'];\n\nvar init = function init(el, binding, vnode) {\n // Default parameters\n var target = el; // the element to apply the dragscroll on\n\n var active = true; // enable/disable dragscroll\n\n var container = window; // config type: boolean\n // Example: v-dragscroll=\"true\" or v-dragscroll=\"false\"\n\n if (typeof binding.value === 'boolean') {\n active = binding.value;\n } else if (_typeof(binding.value) === 'object') {\n // config type: object\n // Example: v-dragscroll=\"{ active: true , target: \"child\" }\"\n // parameter: target\n if (typeof binding.value.target === 'string') {\n target = el.querySelector(binding.value.target);\n\n if (!target) {\n console.error('There is no element with the current target value.');\n }\n } else if (typeof binding.value.target !== 'undefined') {\n console.error('The parameter \"target\" should be either \\'undefined\\' or \\'string\\'.');\n } // parameter: container\n\n\n if (typeof binding.value.container === 'string') {\n container = document.querySelector(binding.value.container);\n\n if (!container) {\n console.error('There is no element with the current container value.');\n }\n } else if (typeof binding.value.container !== 'undefined') {\n console.error('The parameter \"container\" should be be either \\'undefined\\' or \\'string\\'.');\n } // parameter: active\n\n\n if (typeof binding.value.active === 'boolean') {\n active = binding.value.active;\n } else if (typeof binding.value.active !== 'undefined') {\n console.error('The parameter \"active\" value should be either \\'undefined\\', \\'true\\' or \\'false\\'.');\n }\n } else if (typeof binding.value !== 'undefined') {\n // Throw an error if invalid parameters\n console.error('The passed value should be either \\'undefined\\', \\'true\\' or \\'false\\' or \\'object\\'.');\n }\n\n var scrollBy = function scrollBy(x, y) {\n if (container === window) {\n window.scrollBy(x, y);\n } else {\n container.scrollLeft += x;\n container.scrollTop += y;\n }\n };\n\n var reset = function reset() {\n var lastClientX, lastClientY, pushed;\n var isDragging = false; // let isClick = false // workaround to handle click event from touch\n\n target.md = function (e) {\n // e.preventDefault()\n var isMouseEvent = e instanceof window.MouseEvent; // The coordinates of the mouse pointer compared to the page when the mouse button is clicked on an element\n\n var pageX = isMouseEvent ? e.pageX : e.touches[0].pageX;\n var pageY = isMouseEvent ? e.pageY : e.touches[0].pageY;\n var clickedElement = document.elementFromPoint(pageX - window.pageXOffset, pageY - window.pageYOffset);\n var hasNoChildDrag = binding.arg === 'nochilddrag';\n var ignoreLeft = binding.modifiers.noleft;\n var ignoreRight = binding.modifiers.noright;\n var ignoreMiddle = binding.modifiers.nomiddle;\n var ignoreBack = binding.modifiers.noback;\n var ignoreForward = binding.modifiers.noforward;\n var hasFirstChildDrag = binding.arg === 'firstchilddrag';\n var isEl = clickedElement === target;\n var isFirstChild = clickedElement === target.firstChild;\n var isDataDraggable = hasNoChildDrag ? typeof clickedElement.dataset.dragscroll !== 'undefined' : typeof clickedElement.dataset.noDragscroll === 'undefined';\n\n if (!isEl && (!isDataDraggable || hasFirstChildDrag && !isFirstChild)) {\n return;\n }\n\n if (e.which === 1 && ignoreLeft) {\n return;\n } else if (e.which === 2 && ignoreMiddle) {\n return;\n } else if (e.which === 3 && ignoreRight) {\n return;\n } else if (e.which === 4 && ignoreBack) {\n return;\n } else if (e.which === 5 && ignoreForward) {\n return;\n }\n\n pushed = 1; // The coordinates of the mouse pointer compared to the viewport when the mouse button is clicked on an element\n\n lastClientX = isMouseEvent ? e.clientX : e.touches[0].clientX;\n lastClientY = isMouseEvent ? e.clientY : e.touches[0].clientY; // if (e.type === 'touchstart') {\n // isClick = true\n // }\n };\n\n target.mu = function (e) {\n pushed = 0;\n\n if (isDragging) {\n _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].emitEvent(vnode, 'dragscrollend');\n }\n\n isDragging = false; // if (e.type === 'touchend' && isClick === true) {\n // // this workaround enable click will using touch\n // e.target.click()\n // isClick = false\n // } else {\n // e.target.focus()\n // }\n };\n\n target.mm = function (e) {\n var isMouseEvent = e instanceof window.MouseEvent;\n var newScrollX, newScrollY;\n var eventDetail = {};\n\n if (pushed) {\n e.preventDefault(); // pushed\n // Emit start event\n\n if (!isDragging) {\n _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].emitEvent(vnode, 'dragscrollstart');\n }\n\n isDragging = true; // when we reach the end or the begining of X or Y\n\n var isEndX = target.scrollLeft + target.clientWidth >= target.scrollWidth || target.scrollLeft === 0;\n var isEndY = target.scrollTop + target.clientHeight >= target.scrollHeight || target.scrollTop === 0; // get new scroll dimentions\n\n newScrollX = -lastClientX + (lastClientX = isMouseEvent ? e.clientX : e.touches[0].clientX);\n newScrollY = -lastClientY + (lastClientY = isMouseEvent ? e.clientY : e.touches[0].clientY);\n\n if (binding.modifiers.pass) {\n // compute and scroll\n target.scrollLeft -= binding.modifiers.y ? -0 : newScrollX;\n target.scrollTop -= binding.modifiers.x ? -0 : newScrollY;\n\n if (target === document.body) {\n target.scrollLeft -= binding.modifiers.y ? -0 : newScrollX;\n target.scrollTop -= binding.modifiers.x ? -0 : newScrollY;\n } // if one side reach the end scroll container\n\n\n if (isEndX || binding.modifiers.y) {\n scrollBy(-newScrollX, 0);\n }\n\n if (isEndY || binding.modifiers.x) {\n scrollBy(0, -newScrollY);\n }\n } else {\n // disable one scroll direction in case x or y is specified\n if (binding.modifiers.x) newScrollY = -0;\n if (binding.modifiers.y) newScrollX = -0; // compute and scroll\n\n target.scrollLeft -= newScrollX;\n target.scrollTop -= newScrollY;\n\n if (target === document.body) {\n target.scrollLeft -= newScrollX;\n target.scrollTop -= newScrollY;\n }\n } // Emit events\n\n\n eventDetail.deltaX = -newScrollX;\n eventDetail.deltaY = -newScrollY;\n _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].emitEvent(vnode, 'dragscrollmove', eventDetail);\n }\n };\n\n _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].addEventListeners(target, POINTER_START_EVENTS, target.md);\n _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].addEventListeners(window, POINTER_END_EVENTS, target.mu);\n _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].addEventListeners(window, POINTER_MOVE_EVENTS, target.mm);\n }; // if value is undefined or true we will init\n\n\n if (active) {\n if (document.readyState === 'complete') {\n reset();\n } else {\n window.addEventListener('load', reset);\n }\n } else {\n // if value is false means we disable\n // window.removeEventListener('load', reset)\n _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].removeEventListeners(target, POINTER_START_EVENTS, target.md);\n _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].removeEventListeners(window, POINTER_END_EVENTS, target.mu);\n _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].removeEventListeners(window, POINTER_MOVE_EVENTS, target.mm);\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n inserted: function inserted(el, binding, vnode) {\n init(el, binding, vnode);\n },\n update: function update(el, binding, vnode, oldVnode) {\n // update the component only if the parameters change\n if (JSON.stringify(binding.value) !== JSON.stringify(binding.oldValue)) {\n init(el, binding, vnode);\n }\n },\n unbind: function unbind(el, binding, vnode) {\n var target = el;\n _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].removeEventListeners(target, POINTER_START_EVENTS, target.md);\n _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].removeEventListeners(window, POINTER_END_EVENTS, target.mu);\n _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].removeEventListeners(window, POINTER_MOVE_EVENTS, target.mm);\n }\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvZGlyZWN0aXZlLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vVnVlRHJhZ1Njcm9sbC8uL3NyYy9kaXJlY3RpdmUuanM/OGI0NyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdSBmcm9tICcuL3V0aWxzJ1xyXG5cclxuY29uc3QgUE9JTlRFUl9TVEFSVF9FVkVOVFMgPSBbJ21vdXNlZG93bicsICd0b3VjaHN0YXJ0J11cclxuY29uc3QgUE9JTlRFUl9NT1ZFX0VWRU5UUyA9IFsnbW91c2Vtb3ZlJywgJ3RvdWNobW92ZSddXHJcbmNvbnN0IFBPSU5URVJfRU5EX0VWRU5UUyA9IFsnbW91c2V1cCcsICd0b3VjaGVuZCddXHJcblxyXG5jb25zdCBpbml0ID0gZnVuY3Rpb24gKGVsLCBiaW5kaW5nLCB2bm9kZSkge1xyXG4gIC8vIERlZmF1bHQgcGFyYW1ldGVyc1xyXG4gIGxldCB0YXJnZXQgPSBlbCAvLyB0aGUgZWxlbWVudCB0byBhcHBseSB0aGUgZHJhZ3Njcm9sbCBvblxyXG4gIGxldCBhY3RpdmUgPSB0cnVlIC8vIGVuYWJsZS9kaXNhYmxlIGRyYWdzY3JvbGxcclxuICBsZXQgY29udGFpbmVyID0gd2luZG93XHJcblxyXG4gIC8vIGNvbmZpZyB0eXBlOiBib29sZWFuXHJcbiAgLy8gRXhhbXBsZTogdi1kcmFnc2Nyb2xsPVwidHJ1ZVwiIG9yIHYtZHJhZ3Njcm9sbD1cImZhbHNlXCJcclxuICBpZiAodHlwZW9mIGJpbmRpbmcudmFsdWUgPT09ICdib29sZWFuJykge1xyXG4gICAgYWN0aXZlID0gYmluZGluZy52YWx1ZVxyXG4gIH0gZWxzZSBpZiAodHlwZW9mIGJpbmRpbmcudmFsdWUgPT09ICdvYmplY3QnKSB7XHJcbiAgICAvLyBjb25maWcgdHlwZTogb2JqZWN0XHJcbiAgICAvLyBFeGFtcGxlOiB2LWRyYWdzY3JvbGw9XCJ7IGFjdGl2ZTogdHJ1ZSAsIHRhcmdldDogXCJjaGlsZFwiIH1cIlxyXG5cclxuICAgIC8vIHBhcmFtZXRlcjogdGFyZ2V0XHJcbiAgICBpZiAodHlwZW9mIGJpbmRpbmcudmFsdWUudGFyZ2V0ID09PSAnc3RyaW5nJykge1xyXG4gICAgICB0YXJnZXQgPSBlbC5xdWVyeVNlbGVjdG9yKGJpbmRpbmcudmFsdWUudGFyZ2V0KVxyXG4gICAgICBpZiAoIXRhcmdldCkge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ1RoZXJlIGlzIG5vIGVsZW1lbnQgd2l0aCB0aGUgY3VycmVudCB0YXJnZXQgdmFsdWUuJylcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgYmluZGluZy52YWx1ZS50YXJnZXQgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1RoZSBwYXJhbWV0ZXIgXCJ0YXJnZXRcIiBzaG91bGQgYmUgZWl0aGVyIFxcJ3VuZGVmaW5lZFxcJyBvciBcXCdzdHJpbmdcXCcuJylcclxuICAgIH1cclxuICAgIC8vIHBhcmFtZXRlcjogY29udGFpbmVyXHJcbiAgICBpZiAodHlwZW9mIGJpbmRpbmcudmFsdWUuY29udGFpbmVyID09PSAnc3RyaW5nJykge1xyXG4gICAgICBjb250YWluZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGJpbmRpbmcudmFsdWUuY29udGFpbmVyKVxyXG4gICAgICBpZiAoIWNvbnRhaW5lcikge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ1RoZXJlIGlzIG5vIGVsZW1lbnQgd2l0aCB0aGUgY3VycmVudCBjb250YWluZXIgdmFsdWUuJylcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgYmluZGluZy52YWx1ZS5jb250YWluZXIgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1RoZSBwYXJhbWV0ZXIgXCJjb250YWluZXJcIiBzaG91bGQgYmUgYmUgZWl0aGVyIFxcJ3VuZGVmaW5lZFxcJyBvciBcXCdzdHJpbmdcXCcuJylcclxuICAgIH1cclxuXHJcbiAgICAvLyBwYXJhbWV0ZXI6IGFjdGl2ZVxyXG4gICAgaWYgKHR5cGVvZiBiaW5kaW5nLnZhbHVlLmFjdGl2ZSA9PT0gJ2Jvb2xlYW4nKSB7XHJcbiAgICAgIGFjdGl2ZSA9IGJpbmRpbmcudmFsdWUuYWN0aXZlXHJcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBiaW5kaW5nLnZhbHVlLmFjdGl2ZSAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgY29uc29sZS5lcnJvcignVGhlIHBhcmFtZXRlciBcImFjdGl2ZVwiIHZhbHVlIHNob3VsZCBiZSBlaXRoZXIgXFwndW5kZWZpbmVkXFwnLCBcXCd0cnVlXFwnIG9yIFxcJ2ZhbHNlXFwnLicpXHJcbiAgICB9XHJcbiAgfSBlbHNlIGlmICh0eXBlb2YgYmluZGluZy52YWx1ZSAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgIC8vIFRocm93IGFuIGVycm9yIGlmIGludmFsaWQgcGFyYW1ldGVyc1xyXG4gICAgY29uc29sZS5lcnJvcignVGhlIHBhc3NlZCB2YWx1ZSBzaG91bGQgYmUgZWl0aGVyIFxcJ3VuZGVmaW5lZFxcJywgXFwndHJ1ZVxcJyBvciBcXCdmYWxzZVxcJyBvciBcXCdvYmplY3RcXCcuJylcclxuICB9XHJcblxyXG4gIHZhciBzY3JvbGxCeSA9IGZ1bmN0aW9uICh4LCB5KSB7XHJcbiAgICBpZiAoY29udGFpbmVyID09PSB3aW5kb3cpIHtcclxuICAgICAgd2luZG93LnNjcm9sbEJ5KHgsIHkpXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb250YWluZXIuc2Nyb2xsTGVmdCArPSB4XHJcbiAgICAgIGNvbnRhaW5lci5zY3JvbGxUb3AgKz0geVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdmFyIHJlc2V0ID0gZnVuY3Rpb24gKCkge1xyXG4gICAgbGV0IGxhc3RDbGllbnRYLCBsYXN0Q2xpZW50WSwgcHVzaGVkXHJcbiAgICBsZXQgaXNEcmFnZ2luZyA9IGZhbHNlXHJcbiAgICAvLyBsZXQgaXNDbGljayA9IGZhbHNlIC8vIHdvcmthcm91bmQgdG8gaGFuZGxlIGNsaWNrIGV2ZW50IGZyb20gdG91Y2hcclxuXHJcbiAgICB0YXJnZXQubWQgPSBmdW5jdGlvbiAoZSkge1xyXG4gICAgICAvLyBlLnByZXZlbnREZWZhdWx0KClcclxuICAgICAgY29uc3QgaXNNb3VzZUV2ZW50ID0gZSBpbnN0YW5jZW9mIHdpbmRvdy5Nb3VzZUV2ZW50XHJcbiAgICAgIC8vIFRoZSBjb29yZGluYXRlcyBvZiB0aGUgbW91c2UgcG9pbnRlciBjb21wYXJlZCB0byB0aGUgcGFnZSB3aGVuIHRoZSBtb3VzZSBidXR0b24gaXMgY2xpY2tlZCBvbiBhbiBlbGVtZW50XHJcbiAgICAgIGNvbnN0IHBhZ2VYID0gaXNNb3VzZUV2ZW50ID8gZS5wYWdlWCA6IGUudG91Y2hlc1swXS5wYWdlWFxyXG4gICAgICBjb25zdCBwYWdlWSA9IGlzTW91c2VFdmVudCA/IGUucGFnZVkgOiBlLnRvdWNoZXNbMF0ucGFnZVlcclxuICAgICAgY29uc3QgY2xpY2tlZEVsZW1lbnQgPSBkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50KHBhZ2VYIC0gd2luZG93LnBhZ2VYT2Zmc2V0LCBwYWdlWSAtIHdpbmRvdy5wYWdlWU9mZnNldClcclxuXHJcbiAgICAgIGNvbnN0IGhhc05vQ2hpbGREcmFnID0gYmluZGluZy5hcmcgPT09ICdub2NoaWxkZHJhZydcclxuICAgICAgY29uc3QgaWdub3JlTGVmdCA9IGJpbmRpbmcubW9kaWZpZXJzLm5vbGVmdFxyXG4gICAgICBjb25zdCBpZ25vcmVSaWdodCA9IGJpbmRpbmcubW9kaWZpZXJzLm5vcmlnaHRcclxuICAgICAgY29uc3QgaWdub3JlTWlkZGxlID0gYmluZGluZy5tb2RpZmllcnMubm9taWRkbGVcclxuICAgICAgY29uc3QgaWdub3JlQmFjayA9IGJpbmRpbmcubW9kaWZpZXJzLm5vYmFja1xyXG4gICAgICBjb25zdCBpZ25vcmVGb3J3YXJkID0gYmluZGluZy5tb2RpZmllcnMubm9mb3J3YXJkXHJcbiAgICAgIGNvbnN0IGhhc0ZpcnN0Q2hpbGREcmFnID0gYmluZGluZy5hcmcgPT09ICdmaXJzdGNoaWxkZHJhZydcclxuICAgICAgY29uc3QgaXNFbCA9IGNsaWNrZWRFbGVtZW50ID09PSB0YXJnZXRcclxuICAgICAgY29uc3QgaXNGaXJzdENoaWxkID0gY2xpY2tlZEVsZW1lbnQgPT09IHRhcmdldC5maXJzdENoaWxkXHJcbiAgICAgIGNvbnN0IGlzRGF0YURyYWdnYWJsZSA9IGhhc05vQ2hpbGREcmFnID8gdHlwZW9mIGNsaWNrZWRFbGVtZW50LmRhdGFzZXQuZHJhZ3Njcm9sbCAhPT0gJ3VuZGVmaW5lZCcgOiB0eXBlb2YgY2xpY2tlZEVsZW1lbnQuZGF0YXNldC5ub0RyYWdzY3JvbGwgPT09ICd1bmRlZmluZWQnXHJcblxyXG4gICAgICBpZiAoIWlzRWwgJiYgKCFpc0RhdGFEcmFnZ2FibGUgfHwgKGhhc0ZpcnN0Q2hpbGREcmFnICYmICFpc0ZpcnN0Q2hpbGQpKSkge1xyXG4gICAgICAgIHJldHVyblxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoZS53aGljaCA9PT0gMSAmJiBpZ25vcmVMZWZ0KSB7XHJcbiAgICAgICAgcmV0dXJuXHJcbiAgICAgIH0gZWxzZSBpZiAoZS53aGljaCA9PT0gMiAmJiBpZ25vcmVNaWRkbGUpIHtcclxuICAgICAgICByZXR1cm5cclxuICAgICAgfSBlbHNlIGlmIChlLndoaWNoID09PSAzICYmIGlnbm9yZVJpZ2h0KSB7XHJcbiAgICAgICAgcmV0dXJuXHJcbiAgICAgIH0gZWxzZSBpZiAoZS53aGljaCA9PT0gNCAmJiBpZ25vcmVCYWNrKSB7XHJcbiAgICAgICAgcmV0dXJuXHJcbiAgICAgIH0gZWxzZSBpZiAoZS53aGljaCA9PT0gNSAmJiBpZ25vcmVGb3J3YXJkKSB7XHJcbiAgICAgICAgcmV0dXJuXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHB1c2hlZCA9IDFcclxuICAgICAgLy8gVGhlIGNvb3JkaW5hdGVzIG9mIHRoZSBtb3VzZSBwb2ludGVyIGNvbXBhcmVkIHRvIHRoZSB2aWV3cG9ydCB3aGVuIHRoZSBtb3VzZSBidXR0b24gaXMgY2xpY2tlZCBvbiBhbiBlbGVtZW50XHJcbiAgICAgIGxhc3RDbGllbnRYID0gaXNNb3VzZUV2ZW50ID8gZS5jbGllbnRYIDogZS50b3VjaGVzWzBdLmNsaWVudFhcclxuICAgICAgbGFzdENsaWVudFkgPSBpc01vdXNlRXZlbnQgPyBlLmNsaWVudFkgOiBlLnRvdWNoZXNbMF0uY2xpZW50WVxyXG4gICAgICAvLyBpZiAoZS50eXBlID09PSAndG91Y2hzdGFydCcpIHtcclxuICAgICAgLy8gICBpc0NsaWNrID0gdHJ1ZVxyXG4gICAgICAvLyB9XHJcbiAgICB9XHJcblxyXG4gICAgdGFyZ2V0Lm11ID0gZnVuY3Rpb24gKGUpIHtcclxuICAgICAgcHVzaGVkID0gMFxyXG4gICAgICBpZiAoaXNEcmFnZ2luZykge1xyXG4gICAgICAgIHUuZW1pdEV2ZW50KHZub2RlLCAnZHJhZ3Njcm9sbGVuZCcpXHJcbiAgICAgIH1cclxuICAgICAgaXNEcmFnZ2luZyA9IGZhbHNlXHJcbiAgICAgIC8vIGlmIChlLnR5cGUgPT09ICd0b3VjaGVuZCcgJiYgaXNDbGljayA9PT0gdHJ1ZSkge1xyXG4gICAgICAvLyAgIC8vIHRoaXMgd29ya2Fyb3VuZCBlbmFibGUgY2xpY2sgd2lsbCB1c2luZyB0b3VjaFxyXG4gICAgICAvLyAgIGUudGFyZ2V0LmNsaWNrKClcclxuICAgICAgLy8gICBpc0NsaWNrID0gZmFsc2VcclxuICAgICAgLy8gfSBlbHNlIHtcclxuICAgICAgLy8gICBlLnRhcmdldC5mb2N1cygpXHJcbiAgICAgIC8vIH1cclxuICAgIH1cclxuXHJcbiAgICB0YXJnZXQubW0gPSBmdW5jdGlvbiAoZSkge1xyXG4gICAgICBjb25zdCBpc01vdXNlRXZlbnQgPSBlIGluc3RhbmNlb2Ygd2luZG93Lk1vdXNlRXZlbnRcclxuICAgICAgbGV0IG5ld1Njcm9sbFgsIG5ld1Njcm9sbFlcclxuICAgICAgY29uc3QgZXZlbnREZXRhaWwgPSB7fVxyXG4gICAgICBpZiAocHVzaGVkKSB7XHJcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXHJcbiAgICAgICAgLy8gcHVzaGVkXHJcbiAgICAgICAgLy8gRW1pdCBzdGFydCBldmVudFxyXG4gICAgICAgIGlmICghaXNEcmFnZ2luZykge1xyXG4gICAgICAgICAgdS5lbWl0RXZlbnQodm5vZGUsICdkcmFnc2Nyb2xsc3RhcnQnKVxyXG4gICAgICAgIH1cclxuICAgICAgICBpc0RyYWdnaW5nID0gdHJ1ZVxyXG5cclxuICAgICAgICAvLyB3aGVuIHdlIHJlYWNoIHRoZSBlbmQgb3IgdGhlIGJlZ2luaW5nIG9mIFggb3IgWVxyXG4gICAgICAgIGNvbnN0IGlzRW5kWCA9ICgodGFyZ2V0LnNjcm9sbExlZnQgKyB0YXJnZXQuY2xpZW50V2lkdGgpID49IHRhcmdldC5zY3JvbGxXaWR0aCkgfHwgdGFyZ2V0LnNjcm9sbExlZnQgPT09IDBcclxuICAgICAgICBjb25zdCBpc0VuZFkgPSAoKHRhcmdldC5zY3JvbGxUb3AgKyB0YXJnZXQuY2xpZW50SGVpZ2h0KSA+PSB0YXJnZXQuc2Nyb2xsSGVpZ2h0KSB8fCB0YXJnZXQuc2Nyb2xsVG9wID09PSAwXHJcblxyXG4gICAgICAgIC8vIGdldCBuZXcgc2Nyb2xsIGRpbWVudGlvbnNcclxuICAgICAgICBuZXdTY3JvbGxYID0gKC1sYXN0Q2xpZW50WCArIChsYXN0Q2xpZW50WCA9IGlzTW91c2VFdmVudCA/IGUuY2xpZW50WCA6IGUudG91Y2hlc1swXS5jbGllbnRYKSlcclxuICAgICAgICBuZXdTY3JvbGxZID0gKC1sYXN0Q2xpZW50WSArIChsYXN0Q2xpZW50WSA9IGlzTW91c2VFdmVudCA/IGUuY2xpZW50WSA6IGUudG91Y2hlc1swXS5jbGllbnRZKSlcclxuXHJcbiAgICAgICAgaWYgKGJpbmRpbmcubW9kaWZpZXJzLnBhc3MpIHtcclxuICAgICAgICAgIC8vIGNvbXB1dGUgYW5kIHNjcm9sbFxyXG4gICAgICAgICAgdGFyZ2V0LnNjcm9sbExlZnQgLT0gYmluZGluZy5tb2RpZmllcnMueSA/IC0wIDogbmV3U2Nyb2xsWFxyXG4gICAgICAgICAgdGFyZ2V0LnNjcm9sbFRvcCAtPSBiaW5kaW5nLm1vZGlmaWVycy54ID8gLTAgOiBuZXdTY3JvbGxZXHJcbiAgICAgICAgICBpZiAodGFyZ2V0ID09PSBkb2N1bWVudC5ib2R5KSB7XHJcbiAgICAgICAgICAgIHRhcmdldC5zY3JvbGxMZWZ0IC09IGJpbmRpbmcubW9kaWZpZXJzLnkgPyAtMCA6IG5ld1Njcm9sbFhcclxuICAgICAgICAgICAgdGFyZ2V0LnNjcm9sbFRvcCAtPSBiaW5kaW5nLm1vZGlmaWVycy54ID8gLTAgOiBuZXdTY3JvbGxZXHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLy8gaWYgb25lIHNpZGUgcmVhY2ggdGhlIGVuZCBzY3JvbGwgY29udGFpbmVyXHJcbiAgICAgICAgICBpZiAoaXNFbmRYIHx8IGJpbmRpbmcubW9kaWZpZXJzLnkpIHtcclxuICAgICAgICAgICAgc2Nyb2xsQnkoLW5ld1Njcm9sbFgsIDApXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoaXNFbmRZIHx8IGJpbmRpbmcubW9kaWZpZXJzLngpIHtcclxuICAgICAgICAgICAgc2Nyb2xsQnkoMCwgLW5ld1Njcm9sbFkpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIC8vIGRpc2FibGUgb25lIHNjcm9sbCBkaXJlY3Rpb24gaW4gY2FzZSB4IG9yIHkgaXMgc3BlY2lmaWVkXHJcbiAgICAgICAgICBpZiAoYmluZGluZy5tb2RpZmllcnMueCkgbmV3U2Nyb2xsWSA9IC0wXHJcbiAgICAgICAgICBpZiAoYmluZGluZy5tb2RpZmllcnMueSkgbmV3U2Nyb2xsWCA9IC0wXHJcblxyXG4gICAgICAgICAgLy8gY29tcHV0ZSBhbmQgc2Nyb2xsXHJcbiAgICAgICAgICB0YXJnZXQuc2Nyb2xsTGVmdCAtPSBuZXdTY3JvbGxYXHJcbiAgICAgICAgICB0YXJnZXQuc2Nyb2xsVG9wIC09IG5ld1Njcm9sbFlcclxuICAgICAgICAgIGlmICh0YXJnZXQgPT09IGRvY3VtZW50LmJvZHkpIHtcclxuICAgICAgICAgICAgdGFyZ2V0LnNjcm9sbExlZnQgLT0gbmV3U2Nyb2xsWFxyXG4gICAgICAgICAgICB0YXJnZXQuc2Nyb2xsVG9wIC09IG5ld1Njcm9sbFlcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIEVtaXQgZXZlbnRzXHJcbiAgICAgICAgZXZlbnREZXRhaWwuZGVsdGFYID0gLW5ld1Njcm9sbFhcclxuICAgICAgICBldmVudERldGFpbC5kZWx0YVkgPSAtbmV3U2Nyb2xsWVxyXG4gICAgICAgIHUuZW1pdEV2ZW50KHZub2RlLCAnZHJhZ3Njcm9sbG1vdmUnLCBldmVudERldGFpbClcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHUuYWRkRXZlbnRMaXN0ZW5lcnModGFyZ2V0LCBQT0lOVEVSX1NUQVJUX0VWRU5UUywgdGFyZ2V0Lm1kKVxyXG5cclxuICAgIHUuYWRkRXZlbnRMaXN0ZW5lcnMod2luZG93LCBQT0lOVEVSX0VORF9FVkVOVFMsIHRhcmdldC5tdSlcclxuXHJcbiAgICB1LmFkZEV2ZW50TGlzdGVuZXJzKHdpbmRvdywgUE9JTlRFUl9NT1ZFX0VWRU5UUywgdGFyZ2V0Lm1tKVxyXG4gIH1cclxuICAvLyBpZiB2YWx1ZSBpcyB1bmRlZmluZWQgb3IgdHJ1ZSB3ZSB3aWxsIGluaXRcclxuICBpZiAoYWN0aXZlKSB7XHJcbiAgICBpZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSA9PT0gJ2NvbXBsZXRlJykge1xyXG4gICAgICByZXNldCgpXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHJlc2V0KVxyXG4gICAgfVxyXG4gIH0gZWxzZSB7XHJcbiAgICAvLyBpZiB2YWx1ZSBpcyBmYWxzZSBtZWFucyB3ZSBkaXNhYmxlXHJcbiAgICAvLyB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignbG9hZCcsIHJlc2V0KVxyXG4gICAgdS5yZW1vdmVFdmVudExpc3RlbmVycyh0YXJnZXQsIFBPSU5URVJfU1RBUlRfRVZFTlRTLCB0YXJnZXQubWQpXHJcbiAgICB1LnJlbW92ZUV2ZW50TGlzdGVuZXJzKHdpbmRvdywgUE9JTlRFUl9FTkRfRVZFTlRTLCB0YXJnZXQubXUpXHJcbiAgICB1LnJlbW92ZUV2ZW50TGlzdGVuZXJzKHdpbmRvdywgUE9JTlRFUl9NT1ZFX0VWRU5UUywgdGFyZ2V0Lm1tKVxyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gIGluc2VydGVkOiBmdW5jdGlvbiAoZWwsIGJpbmRpbmcsIHZub2RlKSB7XHJcbiAgICBpbml0KGVsLCBiaW5kaW5nLCB2bm9kZSlcclxuICB9LFxyXG4gIHVwZGF0ZTogZnVuY3Rpb24gKGVsLCBiaW5kaW5nLCB2bm9kZSwgb2xkVm5vZGUpIHtcclxuICAgIC8vIHVwZGF0ZSB0aGUgY29tcG9uZW50IG9ubHkgaWYgdGhlIHBhcmFtZXRlcnMgY2hhbmdlXHJcbiAgICBpZiAoSlNPTi5zdHJpbmdpZnkoYmluZGluZy52YWx1ZSkgIT09IEpTT04uc3RyaW5naWZ5KGJpbmRpbmcub2xkVmFsdWUpKSB7XHJcbiAgICAgIGluaXQoZWwsIGJpbmRpbmcsIHZub2RlKVxyXG4gICAgfVxyXG4gIH0sXHJcbiAgdW5iaW5kOiBmdW5jdGlvbiAoZWwsIGJpbmRpbmcsIHZub2RlKSB7XHJcbiAgICBjb25zdCB0YXJnZXQgPSBlbFxyXG4gICAgdS5yZW1vdmVFdmVudExpc3RlbmVycyh0YXJnZXQsIFBPSU5URVJfU1RBUlRfRVZFTlRTLCB0YXJnZXQubWQpXHJcbiAgICB1LnJlbW92ZUV2ZW50TGlzdGVuZXJzKHdpbmRvdywgUE9JTlRFUl9FTkRfRVZFTlRTLCB0YXJnZXQubXUpXHJcbiAgICB1LnJlbW92ZUV2ZW50TGlzdGVuZXJzKHdpbmRvdywgUE9JTlRFUl9NT1ZFX0VWRU5UUywgdGFyZ2V0Lm1tKVxyXG4gIH1cclxufVxyXG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFHQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQWZBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/directive.js\n"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ \"./src/utils.js\");\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\nvar POINTER_START_EVENTS = ['mousedown', 'touchstart'];\nvar POINTER_MOVE_EVENTS = ['mousemove', 'touchmove'];\nvar POINTER_END_EVENTS = ['mouseup', 'touchend'];\n\nvar init = function init(el, binding, vnode) {\n // Default parameters\n var target = el; // the element to apply the dragscroll on\n\n var active = true; // enable/disable dragscroll\n\n var container = window; // config type: boolean\n // Example: v-dragscroll=\"true\" or v-dragscroll=\"false\"\n\n if (typeof binding.value === 'boolean') {\n active = binding.value;\n } else if (_typeof(binding.value) === 'object') {\n // config type: object\n // Example: v-dragscroll=\"{ active: true , target: \"child\" }\"\n // parameter: target\n if (typeof binding.value.target === 'string') {\n target = el.querySelector(binding.value.target);\n\n if (!target) {\n console.error('There is no element with the current target value.');\n }\n } else if (typeof binding.value.target !== 'undefined') {\n console.error('The parameter \"target\" should be either \\'undefined\\' or \\'string\\'.');\n } // parameter: container\n\n\n if (typeof binding.value.container === 'string') {\n container = document.querySelector(binding.value.container);\n\n if (!container) {\n console.error('There is no element with the current container value.');\n }\n } else if (typeof binding.value.container !== 'undefined') {\n console.error('The parameter \"container\" should be be either \\'undefined\\' or \\'string\\'.');\n } // parameter: active\n\n\n if (typeof binding.value.active === 'boolean') {\n active = binding.value.active;\n } else if (typeof binding.value.active !== 'undefined') {\n console.error('The parameter \"active\" value should be either \\'undefined\\', \\'true\\' or \\'false\\'.');\n }\n } else if (typeof binding.value !== 'undefined') {\n // Throw an error if invalid parameters\n console.error('The passed value should be either \\'undefined\\', \\'true\\' or \\'false\\' or \\'object\\'.');\n }\n\n var scrollBy = function scrollBy(x, y) {\n if (container === window) {\n window.scrollBy(x, y);\n } else {\n container.scrollLeft += x;\n container.scrollTop += y;\n }\n };\n\n var reset = function reset() {\n var lastClientX, lastClientY, pushed;\n var isDragging = false; // let isClick = false // workaround to handle click event from touch\n\n target.md = function (e) {\n // e.preventDefault()\n var isMouseEvent = e instanceof window.MouseEvent; // The coordinates of the mouse pointer compared to the page when the mouse button is clicked on an element\n\n var pageX = isMouseEvent ? e.pageX : e.touches[0].pageX;\n var pageY = isMouseEvent ? e.pageY : e.touches[0].pageY;\n var clickedElement = document.elementFromPoint(pageX - window.pageXOffset, pageY - window.pageYOffset);\n var hasNoChildDrag = binding.arg === 'nochilddrag';\n var ignoreLeft = binding.modifiers.noleft;\n var ignoreRight = binding.modifiers.noright;\n var ignoreMiddle = binding.modifiers.nomiddle;\n var ignoreBack = binding.modifiers.noback;\n var ignoreForward = binding.modifiers.noforward;\n var hasFirstChildDrag = binding.arg === 'firstchilddrag';\n var isEl = clickedElement === target;\n var isFirstChild = clickedElement === target.firstChild;\n var isDataDraggable = false;\n\n if (isEl) {\n isDataDraggable = true;\n } else if (hasFirstChildDrag && isFirstChild) {\n isDataDraggable = true;\n } else if (typeof clickedElement.dataset.dragscroll !== 'undefined') {\n isDataDraggable = true;\n } else if (typeof clickedElement.dataset.noDragscroll !== 'undefined') {\n isDataDraggable = false;\n } else {\n isDataDraggable = !hasNoChildDrag;\n var clickedElementOrParent = clickedElement;\n\n while (clickedElementOrParent && clickedElementOrParent !== target) {\n if (typeof clickedElementOrParent.dataset.dragscrollNested !== 'undefined') {\n isDataDraggable = true;\n break;\n } else if (typeof clickedElementOrParent.dataset.noDragscrollNested !== 'undefined') {\n isDataDraggable = false;\n break;\n }\n\n clickedElementOrParent = clickedElementOrParent.parentElement;\n }\n }\n\n if (!isDataDraggable) {\n return;\n }\n\n if (e.which === 1 && ignoreLeft) {\n return;\n } else if (e.which === 2 && ignoreMiddle) {\n return;\n } else if (e.which === 3 && ignoreRight) {\n return;\n } else if (e.which === 4 && ignoreBack) {\n return;\n } else if (e.which === 5 && ignoreForward) {\n return;\n }\n\n pushed = 1; // The coordinates of the mouse pointer compared to the viewport when the mouse button is clicked on an element\n\n lastClientX = isMouseEvent ? e.clientX : e.touches[0].clientX;\n lastClientY = isMouseEvent ? e.clientY : e.touches[0].clientY; // if (e.type === 'touchstart') {\n // isClick = true\n // }\n };\n\n target.mu = function (e) {\n pushed = 0;\n\n if (isDragging) {\n _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].emitEvent(vnode, 'dragscrollend');\n }\n\n isDragging = false; // if (e.type === 'touchend' && isClick === true) {\n // // this workaround enable click will using touch\n // e.target.click()\n // isClick = false\n // } else {\n // e.target.focus()\n // }\n };\n\n target.mm = function (e) {\n var isMouseEvent = e instanceof window.MouseEvent;\n var newScrollX, newScrollY;\n var eventDetail = {};\n\n if (pushed) {\n e.preventDefault(); // pushed\n // Emit start event\n\n if (!isDragging) {\n _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].emitEvent(vnode, 'dragscrollstart');\n }\n\n isDragging = true; // when we reach the end or the begining of X or Y\n\n var isEndX = target.scrollLeft + target.clientWidth >= target.scrollWidth || target.scrollLeft === 0;\n var isEndY = target.scrollTop + target.clientHeight >= target.scrollHeight || target.scrollTop === 0; // get new scroll dimentions\n\n newScrollX = -lastClientX + (lastClientX = isMouseEvent ? e.clientX : e.touches[0].clientX);\n newScrollY = -lastClientY + (lastClientY = isMouseEvent ? e.clientY : e.touches[0].clientY);\n\n if (binding.modifiers.pass) {\n // compute and scroll\n target.scrollLeft -= binding.modifiers.y ? -0 : newScrollX;\n target.scrollTop -= binding.modifiers.x ? -0 : newScrollY;\n\n if (target === document.body) {\n target.scrollLeft -= binding.modifiers.y ? -0 : newScrollX;\n target.scrollTop -= binding.modifiers.x ? -0 : newScrollY;\n } // if one side reach the end scroll container\n\n\n if (isEndX || binding.modifiers.y) {\n scrollBy(-newScrollX, 0);\n }\n\n if (isEndY || binding.modifiers.x) {\n scrollBy(0, -newScrollY);\n }\n } else {\n // disable one scroll direction in case x or y is specified\n if (binding.modifiers.x) newScrollY = -0;\n if (binding.modifiers.y) newScrollX = -0; // compute and scroll\n\n target.scrollLeft -= newScrollX;\n target.scrollTop -= newScrollY;\n\n if (target === document.body) {\n target.scrollLeft -= newScrollX;\n target.scrollTop -= newScrollY;\n }\n } // Emit events\n\n\n eventDetail.deltaX = -newScrollX;\n eventDetail.deltaY = -newScrollY;\n _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].emitEvent(vnode, 'dragscrollmove', eventDetail);\n }\n };\n\n _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].addEventListeners(target, POINTER_START_EVENTS, target.md);\n _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].addEventListeners(window, POINTER_END_EVENTS, target.mu);\n _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].addEventListeners(window, POINTER_MOVE_EVENTS, target.mm);\n }; // if value is undefined or true we will init\n\n\n if (active) {\n if (document.readyState === 'complete') {\n reset();\n } else {\n window.addEventListener('load', reset);\n }\n } else {\n // if value is false means we disable\n // window.removeEventListener('load', reset)\n _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].removeEventListeners(target, POINTER_START_EVENTS, target.md);\n _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].removeEventListeners(window, POINTER_END_EVENTS, target.mu);\n _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].removeEventListeners(window, POINTER_MOVE_EVENTS, target.mm);\n }\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n inserted: function inserted(el, binding, vnode) {\n init(el, binding, vnode);\n },\n update: function update(el, binding, vnode, oldVnode) {\n // update the component only if the parameters change\n if (JSON.stringify(binding.value) !== JSON.stringify(binding.oldValue)) {\n init(el, binding, vnode);\n }\n },\n unbind: function unbind(el, binding, vnode) {\n var target = el;\n _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].removeEventListeners(target, POINTER_START_EVENTS, target.md);\n _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].removeEventListeners(window, POINTER_END_EVENTS, target.mu);\n _utils__WEBPACK_IMPORTED_MODULE_0__[\"default\"].removeEventListeners(window, POINTER_MOVE_EVENTS, target.mm);\n }\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvZGlyZWN0aXZlLmpzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vVnVlRHJhZ1Njcm9sbC8uL3NyYy9kaXJlY3RpdmUuanM/OGI0NyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdSBmcm9tICcuL3V0aWxzJ1xuXG5jb25zdCBQT0lOVEVSX1NUQVJUX0VWRU5UUyA9IFsnbW91c2Vkb3duJywgJ3RvdWNoc3RhcnQnXVxuY29uc3QgUE9JTlRFUl9NT1ZFX0VWRU5UUyA9IFsnbW91c2Vtb3ZlJywgJ3RvdWNobW92ZSddXG5jb25zdCBQT0lOVEVSX0VORF9FVkVOVFMgPSBbJ21vdXNldXAnLCAndG91Y2hlbmQnXVxuXG5jb25zdCBpbml0ID0gZnVuY3Rpb24gKGVsLCBiaW5kaW5nLCB2bm9kZSkge1xuICAvLyBEZWZhdWx0IHBhcmFtZXRlcnNcbiAgbGV0IHRhcmdldCA9IGVsIC8vIHRoZSBlbGVtZW50IHRvIGFwcGx5IHRoZSBkcmFnc2Nyb2xsIG9uXG4gIGxldCBhY3RpdmUgPSB0cnVlIC8vIGVuYWJsZS9kaXNhYmxlIGRyYWdzY3JvbGxcbiAgbGV0IGNvbnRhaW5lciA9IHdpbmRvd1xuXG4gIC8vIGNvbmZpZyB0eXBlOiBib29sZWFuXG4gIC8vIEV4YW1wbGU6IHYtZHJhZ3Njcm9sbD1cInRydWVcIiBvciB2LWRyYWdzY3JvbGw9XCJmYWxzZVwiXG4gIGlmICh0eXBlb2YgYmluZGluZy52YWx1ZSA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgYWN0aXZlID0gYmluZGluZy52YWx1ZVxuICB9IGVsc2UgaWYgKHR5cGVvZiBiaW5kaW5nLnZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgIC8vIGNvbmZpZyB0eXBlOiBvYmplY3RcbiAgICAvLyBFeGFtcGxlOiB2LWRyYWdzY3JvbGw9XCJ7IGFjdGl2ZTogdHJ1ZSAsIHRhcmdldDogXCJjaGlsZFwiIH1cIlxuXG4gICAgLy8gcGFyYW1ldGVyOiB0YXJnZXRcbiAgICBpZiAodHlwZW9mIGJpbmRpbmcudmFsdWUudGFyZ2V0ID09PSAnc3RyaW5nJykge1xuICAgICAgdGFyZ2V0ID0gZWwucXVlcnlTZWxlY3RvcihiaW5kaW5nLnZhbHVlLnRhcmdldClcbiAgICAgIGlmICghdGFyZ2V0KSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ1RoZXJlIGlzIG5vIGVsZW1lbnQgd2l0aCB0aGUgY3VycmVudCB0YXJnZXQgdmFsdWUuJylcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBiaW5kaW5nLnZhbHVlLnRhcmdldCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1RoZSBwYXJhbWV0ZXIgXCJ0YXJnZXRcIiBzaG91bGQgYmUgZWl0aGVyIFxcJ3VuZGVmaW5lZFxcJyBvciBcXCdzdHJpbmdcXCcuJylcbiAgICB9XG4gICAgLy8gcGFyYW1ldGVyOiBjb250YWluZXJcbiAgICBpZiAodHlwZW9mIGJpbmRpbmcudmFsdWUuY29udGFpbmVyID09PSAnc3RyaW5nJykge1xuICAgICAgY29udGFpbmVyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihiaW5kaW5nLnZhbHVlLmNvbnRhaW5lcilcbiAgICAgIGlmICghY29udGFpbmVyKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ1RoZXJlIGlzIG5vIGVsZW1lbnQgd2l0aCB0aGUgY3VycmVudCBjb250YWluZXIgdmFsdWUuJylcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBiaW5kaW5nLnZhbHVlLmNvbnRhaW5lciAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1RoZSBwYXJhbWV0ZXIgXCJjb250YWluZXJcIiBzaG91bGQgYmUgYmUgZWl0aGVyIFxcJ3VuZGVmaW5lZFxcJyBvciBcXCdzdHJpbmdcXCcuJylcbiAgICB9XG5cbiAgICAvLyBwYXJhbWV0ZXI6IGFjdGl2ZVxuICAgIGlmICh0eXBlb2YgYmluZGluZy52YWx1ZS5hY3RpdmUgPT09ICdib29sZWFuJykge1xuICAgICAgYWN0aXZlID0gYmluZGluZy52YWx1ZS5hY3RpdmVcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBiaW5kaW5nLnZhbHVlLmFjdGl2ZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ1RoZSBwYXJhbWV0ZXIgXCJhY3RpdmVcIiB2YWx1ZSBzaG91bGQgYmUgZWl0aGVyIFxcJ3VuZGVmaW5lZFxcJywgXFwndHJ1ZVxcJyBvciBcXCdmYWxzZVxcJy4nKVxuICAgIH1cbiAgfSBlbHNlIGlmICh0eXBlb2YgYmluZGluZy52YWx1ZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAvLyBUaHJvdyBhbiBlcnJvciBpZiBpbnZhbGlkIHBhcmFtZXRlcnNcbiAgICBjb25zb2xlLmVycm9yKCdUaGUgcGFzc2VkIHZhbHVlIHNob3VsZCBiZSBlaXRoZXIgXFwndW5kZWZpbmVkXFwnLCBcXCd0cnVlXFwnIG9yIFxcJ2ZhbHNlXFwnIG9yIFxcJ29iamVjdFxcJy4nKVxuICB9XG5cbiAgdmFyIHNjcm9sbEJ5ID0gZnVuY3Rpb24gKHgsIHkpIHtcbiAgICBpZiAoY29udGFpbmVyID09PSB3aW5kb3cpIHtcbiAgICAgIHdpbmRvdy5zY3JvbGxCeSh4LCB5KVxuICAgIH0gZWxzZSB7XG4gICAgICBjb250YWluZXIuc2Nyb2xsTGVmdCArPSB4XG4gICAgICBjb250YWluZXIuc2Nyb2xsVG9wICs9IHlcbiAgICB9XG4gIH1cblxuICB2YXIgcmVzZXQgPSBmdW5jdGlvbiAoKSB7XG4gICAgbGV0IGxhc3RDbGllbnRYLCBsYXN0Q2xpZW50WSwgcHVzaGVkXG4gICAgbGV0IGlzRHJhZ2dpbmcgPSBmYWxzZVxuICAgIC8vIGxldCBpc0NsaWNrID0gZmFsc2UgLy8gd29ya2Fyb3VuZCB0byBoYW5kbGUgY2xpY2sgZXZlbnQgZnJvbSB0b3VjaFxuXG4gICAgdGFyZ2V0Lm1kID0gZnVuY3Rpb24gKGUpIHtcbiAgICAgIC8vIGUucHJldmVudERlZmF1bHQoKVxuICAgICAgY29uc3QgaXNNb3VzZUV2ZW50ID0gZSBpbnN0YW5jZW9mIHdpbmRvdy5Nb3VzZUV2ZW50XG4gICAgICAvLyBUaGUgY29vcmRpbmF0ZXMgb2YgdGhlIG1vdXNlIHBvaW50ZXIgY29tcGFyZWQgdG8gdGhlIHBhZ2Ugd2hlbiB0aGUgbW91c2UgYnV0dG9uIGlzIGNsaWNrZWQgb24gYW4gZWxlbWVudFxuICAgICAgY29uc3QgcGFnZVggPSBpc01vdXNlRXZlbnQgPyBlLnBhZ2VYIDogZS50b3VjaGVzWzBdLnBhZ2VYXG4gICAgICBjb25zdCBwYWdlWSA9IGlzTW91c2VFdmVudCA/IGUucGFnZVkgOiBlLnRvdWNoZXNbMF0ucGFnZVlcbiAgICAgIGNvbnN0IGNsaWNrZWRFbGVtZW50ID0gZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludChwYWdlWCAtIHdpbmRvdy5wYWdlWE9mZnNldCwgcGFnZVkgLSB3aW5kb3cucGFnZVlPZmZzZXQpXG5cbiAgICAgIGNvbnN0IGhhc05vQ2hpbGREcmFnID0gYmluZGluZy5hcmcgPT09ICdub2NoaWxkZHJhZydcbiAgICAgIGNvbnN0IGlnbm9yZUxlZnQgPSBiaW5kaW5nLm1vZGlmaWVycy5ub2xlZnRcbiAgICAgIGNvbnN0IGlnbm9yZVJpZ2h0ID0gYmluZGluZy5tb2RpZmllcnMubm9yaWdodFxuICAgICAgY29uc3QgaWdub3JlTWlkZGxlID0gYmluZGluZy5tb2RpZmllcnMubm9taWRkbGVcbiAgICAgIGNvbnN0IGlnbm9yZUJhY2sgPSBiaW5kaW5nLm1vZGlmaWVycy5ub2JhY2tcbiAgICAgIGNvbnN0IGlnbm9yZUZvcndhcmQgPSBiaW5kaW5nLm1vZGlmaWVycy5ub2ZvcndhcmRcbiAgICAgIGNvbnN0IGhhc0ZpcnN0Q2hpbGREcmFnID0gYmluZGluZy5hcmcgPT09ICdmaXJzdGNoaWxkZHJhZydcbiAgICAgIGNvbnN0IGlzRWwgPSBjbGlja2VkRWxlbWVudCA9PT0gdGFyZ2V0XG4gICAgICBjb25zdCBpc0ZpcnN0Q2hpbGQgPSBjbGlja2VkRWxlbWVudCA9PT0gdGFyZ2V0LmZpcnN0Q2hpbGRcblxuICAgICAgbGV0IGlzRGF0YURyYWdnYWJsZSA9IGZhbHNlXG4gICAgICBpZiAoaXNFbCkge1xuICAgICAgICBpc0RhdGFEcmFnZ2FibGUgPSB0cnVlXG4gICAgICB9IGVsc2UgaWYgKGhhc0ZpcnN0Q2hpbGREcmFnICYmIGlzRmlyc3RDaGlsZCkge1xuICAgICAgICBpc0RhdGFEcmFnZ2FibGUgPSB0cnVlXG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBjbGlja2VkRWxlbWVudC5kYXRhc2V0LmRyYWdzY3JvbGwgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIGlzRGF0YURyYWdnYWJsZSA9IHRydWVcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGNsaWNrZWRFbGVtZW50LmRhdGFzZXQubm9EcmFnc2Nyb2xsICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICBpc0RhdGFEcmFnZ2FibGUgPSBmYWxzZVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaXNEYXRhRHJhZ2dhYmxlID0gIWhhc05vQ2hpbGREcmFnXG4gICAgICAgIGxldCBjbGlja2VkRWxlbWVudE9yUGFyZW50ID0gY2xpY2tlZEVsZW1lbnRcbiAgICAgICAgd2hpbGUgKGNsaWNrZWRFbGVtZW50T3JQYXJlbnQgJiYgY2xpY2tlZEVsZW1lbnRPclBhcmVudCAhPT0gdGFyZ2V0KSB7XG4gICAgICAgICAgaWYgKHR5cGVvZiBjbGlja2VkRWxlbWVudE9yUGFyZW50LmRhdGFzZXQuZHJhZ3Njcm9sbE5lc3RlZCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIGlzRGF0YURyYWdnYWJsZSA9IHRydWVcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgY2xpY2tlZEVsZW1lbnRPclBhcmVudC5kYXRhc2V0Lm5vRHJhZ3Njcm9sbE5lc3RlZCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIGlzRGF0YURyYWdnYWJsZSA9IGZhbHNlXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cbiAgICAgICAgICBjbGlja2VkRWxlbWVudE9yUGFyZW50ID0gY2xpY2tlZEVsZW1lbnRPclBhcmVudC5wYXJlbnRFbGVtZW50XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKCFpc0RhdGFEcmFnZ2FibGUpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGlmIChlLndoaWNoID09PSAxICYmIGlnbm9yZUxlZnQpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9IGVsc2UgaWYgKGUud2hpY2ggPT09IDIgJiYgaWdub3JlTWlkZGxlKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfSBlbHNlIGlmIChlLndoaWNoID09PSAzICYmIGlnbm9yZVJpZ2h0KSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfSBlbHNlIGlmIChlLndoaWNoID09PSA0ICYmIGlnbm9yZUJhY2spIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9IGVsc2UgaWYgKGUud2hpY2ggPT09IDUgJiYgaWdub3JlRm9yd2FyZCkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgcHVzaGVkID0gMVxuICAgICAgLy8gVGhlIGNvb3JkaW5hdGVzIG9mIHRoZSBtb3VzZSBwb2ludGVyIGNvbXBhcmVkIHRvIHRoZSB2aWV3cG9ydCB3aGVuIHRoZSBtb3VzZSBidXR0b24gaXMgY2xpY2tlZCBvbiBhbiBlbGVtZW50XG4gICAgICBsYXN0Q2xpZW50WCA9IGlzTW91c2VFdmVudCA/IGUuY2xpZW50WCA6IGUudG91Y2hlc1swXS5jbGllbnRYXG4gICAgICBsYXN0Q2xpZW50WSA9IGlzTW91c2VFdmVudCA/IGUuY2xpZW50WSA6IGUudG91Y2hlc1swXS5jbGllbnRZXG4gICAgICAvLyBpZiAoZS50eXBlID09PSAndG91Y2hzdGFydCcpIHtcbiAgICAgIC8vICAgaXNDbGljayA9IHRydWVcbiAgICAgIC8vIH1cbiAgICB9XG5cbiAgICB0YXJnZXQubXUgPSBmdW5jdGlvbiAoZSkge1xuICAgICAgcHVzaGVkID0gMFxuICAgICAgaWYgKGlzRHJhZ2dpbmcpIHtcbiAgICAgICAgdS5lbWl0RXZlbnQodm5vZGUsICdkcmFnc2Nyb2xsZW5kJylcbiAgICAgIH1cbiAgICAgIGlzRHJhZ2dpbmcgPSBmYWxzZVxuICAgICAgLy8gaWYgKGUudHlwZSA9PT0gJ3RvdWNoZW5kJyAmJiBpc0NsaWNrID09PSB0cnVlKSB7XG4gICAgICAvLyAgIC8vIHRoaXMgd29ya2Fyb3VuZCBlbmFibGUgY2xpY2sgd2lsbCB1c2luZyB0b3VjaFxuICAgICAgLy8gICBlLnRhcmdldC5jbGljaygpXG4gICAgICAvLyAgIGlzQ2xpY2sgPSBmYWxzZVxuICAgICAgLy8gfSBlbHNlIHtcbiAgICAgIC8vICAgZS50YXJnZXQuZm9jdXMoKVxuICAgICAgLy8gfVxuICAgIH1cblxuICAgIHRhcmdldC5tbSA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICBjb25zdCBpc01vdXNlRXZlbnQgPSBlIGluc3RhbmNlb2Ygd2luZG93Lk1vdXNlRXZlbnRcbiAgICAgIGxldCBuZXdTY3JvbGxYLCBuZXdTY3JvbGxZXG4gICAgICBjb25zdCBldmVudERldGFpbCA9IHt9XG4gICAgICBpZiAocHVzaGVkKSB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgICAgICAvLyBwdXNoZWRcbiAgICAgICAgLy8gRW1pdCBzdGFydCBldmVudFxuICAgICAgICBpZiAoIWlzRHJhZ2dpbmcpIHtcbiAgICAgICAgICB1LmVtaXRFdmVudCh2bm9kZSwgJ2RyYWdzY3JvbGxzdGFydCcpXG4gICAgICAgIH1cbiAgICAgICAgaXNEcmFnZ2luZyA9IHRydWVcblxuICAgICAgICAvLyB3aGVuIHdlIHJlYWNoIHRoZSBlbmQgb3IgdGhlIGJlZ2luaW5nIG9mIFggb3IgWVxuICAgICAgICBjb25zdCBpc0VuZFggPSAoKHRhcmdldC5zY3JvbGxMZWZ0ICsgdGFyZ2V0LmNsaWVudFdpZHRoKSA+PSB0YXJnZXQuc2Nyb2xsV2lkdGgpIHx8IHRhcmdldC5zY3JvbGxMZWZ0ID09PSAwXG4gICAgICAgIGNvbnN0IGlzRW5kWSA9ICgodGFyZ2V0LnNjcm9sbFRvcCArIHRhcmdldC5jbGllbnRIZWlnaHQpID49IHRhcmdldC5zY3JvbGxIZWlnaHQpIHx8IHRhcmdldC5zY3JvbGxUb3AgPT09IDBcblxuICAgICAgICAvLyBnZXQgbmV3IHNjcm9sbCBkaW1lbnRpb25zXG4gICAgICAgIG5ld1Njcm9sbFggPSAoLWxhc3RDbGllbnRYICsgKGxhc3RDbGllbnRYID0gaXNNb3VzZUV2ZW50ID8gZS5jbGllbnRYIDogZS50b3VjaGVzWzBdLmNsaWVudFgpKVxuICAgICAgICBuZXdTY3JvbGxZID0gKC1sYXN0Q2xpZW50WSArIChsYXN0Q2xpZW50WSA9IGlzTW91c2VFdmVudCA/IGUuY2xpZW50WSA6IGUudG91Y2hlc1swXS5jbGllbnRZKSlcblxuICAgICAgICBpZiAoYmluZGluZy5tb2RpZmllcnMucGFzcykge1xuICAgICAgICAgIC8vIGNvbXB1dGUgYW5kIHNjcm9sbFxuICAgICAgICAgIHRhcmdldC5zY3JvbGxMZWZ0IC09IGJpbmRpbmcubW9kaWZpZXJzLnkgPyAtMCA6IG5ld1Njcm9sbFhcbiAgICAgICAgICB0YXJnZXQuc2Nyb2xsVG9wIC09IGJpbmRpbmcubW9kaWZpZXJzLnggPyAtMCA6IG5ld1Njcm9sbFlcbiAgICAgICAgICBpZiAodGFyZ2V0ID09PSBkb2N1bWVudC5ib2R5KSB7XG4gICAgICAgICAgICB0YXJnZXQuc2Nyb2xsTGVmdCAtPSBiaW5kaW5nLm1vZGlmaWVycy55ID8gLTAgOiBuZXdTY3JvbGxYXG4gICAgICAgICAgICB0YXJnZXQuc2Nyb2xsVG9wIC09IGJpbmRpbmcubW9kaWZpZXJzLnggPyAtMCA6IG5ld1Njcm9sbFlcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBpZiBvbmUgc2lkZSByZWFjaCB0aGUgZW5kIHNjcm9sbCBjb250YWluZXJcbiAgICAgICAgICBpZiAoaXNFbmRYIHx8IGJpbmRpbmcubW9kaWZpZXJzLnkpIHtcbiAgICAgICAgICAgIHNjcm9sbEJ5KC1uZXdTY3JvbGxYLCAwKVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoaXNFbmRZIHx8IGJpbmRpbmcubW9kaWZpZXJzLngpIHtcbiAgICAgICAgICAgIHNjcm9sbEJ5KDAsIC1uZXdTY3JvbGxZKVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBkaXNhYmxlIG9uZSBzY3JvbGwgZGlyZWN0aW9uIGluIGNhc2UgeCBvciB5IGlzIHNwZWNpZmllZFxuICAgICAgICAgIGlmIChiaW5kaW5nLm1vZGlmaWVycy54KSBuZXdTY3JvbGxZID0gLTBcbiAgICAgICAgICBpZiAoYmluZGluZy5tb2RpZmllcnMueSkgbmV3U2Nyb2xsWCA9IC0wXG5cbiAgICAgICAgICAvLyBjb21wdXRlIGFuZCBzY3JvbGxcbiAgICAgICAgICB0YXJnZXQuc2Nyb2xsTGVmdCAtPSBuZXdTY3JvbGxYXG4gICAgICAgICAgdGFyZ2V0LnNjcm9sbFRvcCAtPSBuZXdTY3JvbGxZXG4gICAgICAgICAgaWYgKHRhcmdldCA9PT0gZG9jdW1lbnQuYm9keSkge1xuICAgICAgICAgICAgdGFyZ2V0LnNjcm9sbExlZnQgLT0gbmV3U2Nyb2xsWFxuICAgICAgICAgICAgdGFyZ2V0LnNjcm9sbFRvcCAtPSBuZXdTY3JvbGxZXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gRW1pdCBldmVudHNcbiAgICAgICAgZXZlbnREZXRhaWwuZGVsdGFYID0gLW5ld1Njcm9sbFhcbiAgICAgICAgZXZlbnREZXRhaWwuZGVsdGFZID0gLW5ld1Njcm9sbFlcbiAgICAgICAgdS5lbWl0RXZlbnQodm5vZGUsICdkcmFnc2Nyb2xsbW92ZScsIGV2ZW50RGV0YWlsKVxuICAgICAgfVxuICAgIH1cblxuICAgIHUuYWRkRXZlbnRMaXN0ZW5lcnModGFyZ2V0LCBQT0lOVEVSX1NUQVJUX0VWRU5UUywgdGFyZ2V0Lm1kKVxuXG4gICAgdS5hZGRFdmVudExpc3RlbmVycyh3aW5kb3csIFBPSU5URVJfRU5EX0VWRU5UUywgdGFyZ2V0Lm11KVxuXG4gICAgdS5hZGRFdmVudExpc3RlbmVycyh3aW5kb3csIFBPSU5URVJfTU9WRV9FVkVOVFMsIHRhcmdldC5tbSlcbiAgfVxuICAvLyBpZiB2YWx1ZSBpcyB1bmRlZmluZWQgb3IgdHJ1ZSB3ZSB3aWxsIGluaXRcbiAgaWYgKGFjdGl2ZSkge1xuICAgIGlmIChkb2N1bWVudC5yZWFkeVN0YXRlID09PSAnY29tcGxldGUnKSB7XG4gICAgICByZXNldCgpXG4gICAgfSBlbHNlIHtcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcmVzZXQpXG4gICAgfVxuICB9IGVsc2Uge1xuICAgIC8vIGlmIHZhbHVlIGlzIGZhbHNlIG1lYW5zIHdlIGRpc2FibGVcbiAgICAvLyB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignbG9hZCcsIHJlc2V0KVxuICAgIHUucmVtb3ZlRXZlbnRMaXN0ZW5lcnModGFyZ2V0LCBQT0lOVEVSX1NUQVJUX0VWRU5UUywgdGFyZ2V0Lm1kKVxuICAgIHUucmVtb3ZlRXZlbnRMaXN0ZW5lcnMod2luZG93LCBQT0lOVEVSX0VORF9FVkVOVFMsIHRhcmdldC5tdSlcbiAgICB1LnJlbW92ZUV2ZW50TGlzdGVuZXJzKHdpbmRvdywgUE9JTlRFUl9NT1ZFX0VWRU5UUywgdGFyZ2V0Lm1tKVxuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgaW5zZXJ0ZWQ6IGZ1bmN0aW9uIChlbCwgYmluZGluZywgdm5vZGUpIHtcbiAgICBpbml0KGVsLCBiaW5kaW5nLCB2bm9kZSlcbiAgfSxcbiAgdXBkYXRlOiBmdW5jdGlvbiAoZWwsIGJpbmRpbmcsIHZub2RlLCBvbGRWbm9kZSkge1xuICAgIC8vIHVwZGF0ZSB0aGUgY29tcG9uZW50IG9ubHkgaWYgdGhlIHBhcmFtZXRlcnMgY2hhbmdlXG4gICAgaWYgKEpTT04uc3RyaW5naWZ5KGJpbmRpbmcudmFsdWUpICE9PSBKU09OLnN0cmluZ2lmeShiaW5kaW5nLm9sZFZhbHVlKSkge1xuICAgICAgaW5pdChlbCwgYmluZGluZywgdm5vZGUpXG4gICAgfVxuICB9LFxuICB1bmJpbmQ6IGZ1bmN0aW9uIChlbCwgYmluZGluZywgdm5vZGUpIHtcbiAgICBjb25zdCB0YXJnZXQgPSBlbFxuICAgIHUucmVtb3ZlRXZlbnRMaXN0ZW5lcnModGFyZ2V0LCBQT0lOVEVSX1NUQVJUX0VWRU5UUywgdGFyZ2V0Lm1kKVxuICAgIHUucmVtb3ZlRXZlbnRMaXN0ZW5lcnMod2luZG93LCBQT0lOVEVSX0VORF9FVkVOVFMsIHRhcmdldC5tdSlcbiAgICB1LnJlbW92ZUV2ZW50TGlzdGVuZXJzKHdpbmRvdywgUE9JTlRFUl9NT1ZFX0VWRU5UUywgdGFyZ2V0Lm1tKVxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQUE7QUFHQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBRUE7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBZkEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/directive.js\n"); /***/ }), @@ -116,7 +116,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _uti /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _directive__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./directive */ \"./src/directive.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dragscroll\", function() { return _directive__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n\nvar VueDragscroll = {\n install: function install(Vue, options) {\n var major = Number(Vue.version.split('.')[0]);\n var minor = Number(Vue.version.split('.')[1]);\n\n if (major < 2 && minor < 1) {\n throw new Error(\"v-dragscroll supports vue version 2.1 and above. You are using Vue@\".concat(Vue.version, \". Please upgrade to the latest version of Vue.\"));\n } // registration\n\n\n Vue.directive('dragscroll', _directive__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n }\n};\n\nif (typeof window !== 'undefined' && window.Vue) {\n window.VueDragscroll = VueDragscroll;\n window.Vue.use(VueDragscroll);\n}\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (VueDragscroll);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvbWFpbi5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovL1Z1ZURyYWdTY3JvbGwvLi9zcmMvbWFpbi5qcz81NmQ3Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkaXJlY3RpdmUgZnJvbSAnLi9kaXJlY3RpdmUnXHJcblxyXG5jb25zdCBWdWVEcmFnc2Nyb2xsID0ge1xyXG4gIGluc3RhbGwgKFZ1ZSwgb3B0aW9ucykge1xyXG4gICAgY29uc3QgbWFqb3IgPSBOdW1iZXIoVnVlLnZlcnNpb24uc3BsaXQoJy4nKVswXSlcclxuICAgIGNvbnN0IG1pbm9yID0gTnVtYmVyKFZ1ZS52ZXJzaW9uLnNwbGl0KCcuJylbMV0pXHJcbiAgICBpZiAobWFqb3IgPCAyICYmIG1pbm9yIDwgMSkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYHYtZHJhZ3Njcm9sbCBzdXBwb3J0cyB2dWUgdmVyc2lvbiAyLjEgYW5kIGFib3ZlLiBZb3UgYXJlIHVzaW5nIFZ1ZUAke1Z1ZS52ZXJzaW9ufS4gUGxlYXNlIHVwZ3JhZGUgdG8gdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIFZ1ZS5gKVxyXG4gICAgfVxyXG4gICAgLy8gcmVnaXN0cmF0aW9uXHJcbiAgICBWdWUuZGlyZWN0aXZlKCdkcmFnc2Nyb2xsJywgZGlyZWN0aXZlKVxyXG4gIH1cclxufVxyXG5cclxuaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHdpbmRvdy5WdWUpIHtcclxuICB3aW5kb3cuVnVlRHJhZ3Njcm9sbCA9IFZ1ZURyYWdzY3JvbGxcclxuICB3aW5kb3cuVnVlLnVzZShWdWVEcmFnc2Nyb2xsKVxyXG59XHJcblxyXG5leHBvcnQgeyBkaXJlY3RpdmUgYXMgZHJhZ3Njcm9sbCB9XHJcbmV4cG9ydCBkZWZhdWx0IFZ1ZURyYWdzY3JvbGxcclxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBVEE7QUFDQTtBQVdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/main.js\n"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _directive__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./directive */ \"./src/directive.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"dragscroll\", function() { return _directive__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n\nvar VueDragscroll = {\n install: function install(Vue, options) {\n var major = Number(Vue.version.split('.')[0]);\n var minor = Number(Vue.version.split('.')[1]);\n\n if (major < 2 && minor < 1) {\n throw new Error(\"v-dragscroll supports vue version 2.1 and above. You are using Vue@\".concat(Vue.version, \". Please upgrade to the latest version of Vue.\"));\n } // registration\n\n\n Vue.directive('dragscroll', _directive__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n }\n};\n\nif (typeof window !== 'undefined' && window.Vue) {\n window.VueDragscroll = VueDragscroll;\n window.Vue.use(VueDragscroll);\n}\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (VueDragscroll);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvbWFpbi5qcy5qcyIsInNvdXJjZXMiOlsid2VicGFjazovL1Z1ZURyYWdTY3JvbGwvLi9zcmMvbWFpbi5qcz81NmQ3Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkaXJlY3RpdmUgZnJvbSAnLi9kaXJlY3RpdmUnXG5cbmNvbnN0IFZ1ZURyYWdzY3JvbGwgPSB7XG4gIGluc3RhbGwgKFZ1ZSwgb3B0aW9ucykge1xuICAgIGNvbnN0IG1ham9yID0gTnVtYmVyKFZ1ZS52ZXJzaW9uLnNwbGl0KCcuJylbMF0pXG4gICAgY29uc3QgbWlub3IgPSBOdW1iZXIoVnVlLnZlcnNpb24uc3BsaXQoJy4nKVsxXSlcbiAgICBpZiAobWFqb3IgPCAyICYmIG1pbm9yIDwgMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGB2LWRyYWdzY3JvbGwgc3VwcG9ydHMgdnVlIHZlcnNpb24gMi4xIGFuZCBhYm92ZS4gWW91IGFyZSB1c2luZyBWdWVAJHtWdWUudmVyc2lvbn0uIFBsZWFzZSB1cGdyYWRlIHRvIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiBWdWUuYClcbiAgICB9XG4gICAgLy8gcmVnaXN0cmF0aW9uXG4gICAgVnVlLmRpcmVjdGl2ZSgnZHJhZ3Njcm9sbCcsIGRpcmVjdGl2ZSlcbiAgfVxufVxuXG5pZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93LlZ1ZSkge1xuICB3aW5kb3cuVnVlRHJhZ3Njcm9sbCA9IFZ1ZURyYWdzY3JvbGxcbiAgd2luZG93LlZ1ZS51c2UoVnVlRHJhZ3Njcm9sbClcbn1cblxuZXhwb3J0IHsgZGlyZWN0aXZlIGFzIGRyYWdzY3JvbGwgfVxuZXhwb3J0IGRlZmF1bHQgVnVlRHJhZ3Njcm9sbFxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBVEE7QUFDQTtBQVdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./src/main.js\n"); /***/ }), @@ -128,7 +128,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _dir /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n addEventListeners: function addEventListeners(el, events, handler) {\n for (var i = 0, len = events.length; i < len; i++) {\n el.addEventListener(events[i], handler, {\n passive: false\n });\n }\n },\n removeEventListeners: function removeEventListeners(el, events, handler) {\n for (var i = 0, len = events.length; i < len; i++) {\n el.removeEventListener(events[i], handler, {\n passive: false\n });\n }\n },\n emitEvent: function emitEvent(vnode, eventName, eventDetail) {\n // If vnode is a Vue component instance, use $emit. Otherwise use a native HTML event.\n if (vnode.componentInstance) {\n vnode.componentInstance.$emit(eventName, eventDetail);\n } else {\n var event;\n\n if (typeof window.CustomEvent === 'function') {\n event = new window.CustomEvent(eventName, {\n detail: eventDetail\n });\n } else {\n // Deprecated fallback for IE\n event = document.createEvent('CustomEvent');\n event.initCustomEvent(eventName, true, true, eventDetail);\n }\n\n vnode.elm.dispatchEvent(event);\n }\n }\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvdXRpbHMuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9WdWVEcmFnU2Nyb2xsLy4vc3JjL3V0aWxzLmpzPzAyNWUiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1xyXG4gIGFkZEV2ZW50TGlzdGVuZXJzIChlbCwgZXZlbnRzLCBoYW5kbGVyKSB7XHJcbiAgICBmb3IgKHZhciBpID0gMCwgbGVuID0gZXZlbnRzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XHJcbiAgICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRzW2ldLCBoYW5kbGVyLCB7IHBhc3NpdmU6IGZhbHNlIH0pXHJcbiAgICB9XHJcbiAgfSxcclxuXHJcbiAgcmVtb3ZlRXZlbnRMaXN0ZW5lcnMgKGVsLCBldmVudHMsIGhhbmRsZXIpIHtcclxuICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSBldmVudHMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudHNbaV0sIGhhbmRsZXIsIHsgcGFzc2l2ZTogZmFsc2UgfSlcclxuICAgIH1cclxuICB9LFxyXG5cclxuICBlbWl0RXZlbnQ6IGZ1bmN0aW9uICh2bm9kZSwgZXZlbnROYW1lLCBldmVudERldGFpbCkge1xyXG4gICAgLy8gSWYgdm5vZGUgaXMgYSBWdWUgY29tcG9uZW50IGluc3RhbmNlLCB1c2UgJGVtaXQuIE90aGVyd2lzZSB1c2UgYSBuYXRpdmUgSFRNTCBldmVudC5cclxuICAgIGlmICh2bm9kZS5jb21wb25lbnRJbnN0YW5jZSkge1xyXG4gICAgICB2bm9kZS5jb21wb25lbnRJbnN0YW5jZS4kZW1pdChldmVudE5hbWUsIGV2ZW50RGV0YWlsKVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbGV0IGV2ZW50XHJcbiAgICAgIGlmICh0eXBlb2YgKHdpbmRvdy5DdXN0b21FdmVudCkgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICBldmVudCA9IG5ldyB3aW5kb3cuQ3VzdG9tRXZlbnQoZXZlbnROYW1lLCB7IGRldGFpbDogZXZlbnREZXRhaWwgfSlcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyBEZXByZWNhdGVkIGZhbGxiYWNrIGZvciBJRVxyXG4gICAgICAgIGV2ZW50ID0gZG9jdW1lbnQuY3JlYXRlRXZlbnQoJ0N1c3RvbUV2ZW50JylcclxuICAgICAgICBldmVudC5pbml0Q3VzdG9tRXZlbnQoZXZlbnROYW1lLCB0cnVlLCB0cnVlLCBldmVudERldGFpbClcclxuICAgICAgfVxyXG4gICAgICB2bm9kZS5lbG0uZGlzcGF0Y2hFdmVudChldmVudClcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUE1QkEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/utils.js\n"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n addEventListeners: function addEventListeners(el, events, handler) {\n for (var i = 0, len = events.length; i < len; i++) {\n el.addEventListener(events[i], handler, {\n passive: false\n });\n }\n },\n removeEventListeners: function removeEventListeners(el, events, handler) {\n for (var i = 0, len = events.length; i < len; i++) {\n el.removeEventListener(events[i], handler, {\n passive: false\n });\n }\n },\n emitEvent: function emitEvent(vnode, eventName, eventDetail) {\n // If vnode is a Vue component instance, use $emit. Otherwise use a native HTML event.\n if (vnode.componentInstance) {\n vnode.componentInstance.$emit(eventName, eventDetail);\n } else {\n var event;\n\n if (typeof window.CustomEvent === 'function') {\n event = new window.CustomEvent(eventName, {\n detail: eventDetail\n });\n } else {\n // Deprecated fallback for IE\n event = document.createEvent('CustomEvent');\n event.initCustomEvent(eventName, true, true, eventDetail);\n }\n\n vnode.elm.dispatchEvent(event);\n }\n }\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvdXRpbHMuanMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9WdWVEcmFnU2Nyb2xsLy4vc3JjL3V0aWxzLmpzPzAyNWUiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQge1xuICBhZGRFdmVudExpc3RlbmVycyAoZWwsIGV2ZW50cywgaGFuZGxlcikge1xuICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSBldmVudHMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgIGVsLmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRzW2ldLCBoYW5kbGVyLCB7IHBhc3NpdmU6IGZhbHNlIH0pXG4gICAgfVxuICB9LFxuXG4gIHJlbW92ZUV2ZW50TGlzdGVuZXJzIChlbCwgZXZlbnRzLCBoYW5kbGVyKSB7XG4gICAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IGV2ZW50cy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgICAgZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudHNbaV0sIGhhbmRsZXIsIHsgcGFzc2l2ZTogZmFsc2UgfSlcbiAgICB9XG4gIH0sXG5cbiAgZW1pdEV2ZW50OiBmdW5jdGlvbiAodm5vZGUsIGV2ZW50TmFtZSwgZXZlbnREZXRhaWwpIHtcbiAgICAvLyBJZiB2bm9kZSBpcyBhIFZ1ZSBjb21wb25lbnQgaW5zdGFuY2UsIHVzZSAkZW1pdC4gT3RoZXJ3aXNlIHVzZSBhIG5hdGl2ZSBIVE1MIGV2ZW50LlxuICAgIGlmICh2bm9kZS5jb21wb25lbnRJbnN0YW5jZSkge1xuICAgICAgdm5vZGUuY29tcG9uZW50SW5zdGFuY2UuJGVtaXQoZXZlbnROYW1lLCBldmVudERldGFpbClcbiAgICB9IGVsc2Uge1xuICAgICAgbGV0IGV2ZW50XG4gICAgICBpZiAodHlwZW9mICh3aW5kb3cuQ3VzdG9tRXZlbnQpID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGV2ZW50ID0gbmV3IHdpbmRvdy5DdXN0b21FdmVudChldmVudE5hbWUsIHsgZGV0YWlsOiBldmVudERldGFpbCB9KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gRGVwcmVjYXRlZCBmYWxsYmFjayBmb3IgSUVcbiAgICAgICAgZXZlbnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnQ3VzdG9tRXZlbnQnKVxuICAgICAgICBldmVudC5pbml0Q3VzdG9tRXZlbnQoZXZlbnROYW1lLCB0cnVlLCB0cnVlLCBldmVudERldGFpbClcbiAgICAgIH1cbiAgICAgIHZub2RlLmVsbS5kaXNwYXRjaEV2ZW50KGV2ZW50KVxuICAgIH1cbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQ0E7QUFDQTtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUNBO0FBQ0E7QUE1QkEiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./src/utils.js\n"); /***/ }) diff --git a/dist/vue-dragscroll.min.js b/dist/vue-dragscroll.min.js index 99c49a2..3bb8ed9 100644 --- a/dist/vue-dragscroll.min.js +++ b/dist/vue-dragscroll.min.js @@ -1,2 +1,2 @@ -!function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof exports?exports.VueDragScroll=o():e.VueDragScroll=o()}(window,(function(){return function(e){var o={};function t(n){if(o[n])return o[n].exports;var r=o[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,t),r.l=!0,r.exports}return t.m=e,t.c=o,t.d=function(e,o,n){t.o(e,o)||Object.defineProperty(e,o,{enumerable:!0,get:n})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,o){if(1&o&&(e=t(e)),8&o)return e;if(4&o&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&o&&"string"!=typeof e)for(var r in e)t.d(n,r,function(o){return e[o]}.bind(null,r));return n},t.n=function(e){var o=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(o,"a",o),o},t.o=function(e,o){return Object.prototype.hasOwnProperty.call(e,o)},t.p="/dist/",t(t.s=0)}([function(e,o,t){"use strict";t.r(o),t.d(o,"dragscroll",(function(){return d}));var n=function(e,o,t){for(var n=0,r=o.length;n=s.scrollWidth||0===s.scrollLeft,p=s.scrollTop+s.clientHeight>=s.scrollHeight||0===s.scrollTop;u=-e+(e=a?n.clientX:n.touches[0].clientX),c=-r+(r=a?n.clientY:n.touches[0].clientY),o.modifiers.pass?(s.scrollLeft-=o.modifiers.y?-0:u,s.scrollTop-=o.modifiers.x?-0:c,s===document.body&&(s.scrollLeft-=o.modifiers.y?-0:u,s.scrollTop-=o.modifiers.x?-0:c),(v||o.modifiers.y)&&m(-u,0),(p||o.modifiers.x)&&m(0,-c)):(o.modifiers.x&&(c=-0),o.modifiers.y&&(u=-0),s.scrollLeft-=u,s.scrollTop-=c,s===document.body&&(s.scrollLeft-=u,s.scrollTop-=c)),f.deltaX=-u,f.deltaY=-c,i(t,"dragscrollmove",f)}},n(s,u,s.md),n(window,a,s.mu),n(window,c,s.mm)};d?"complete"===document.readyState?v():window.addEventListener("load",v):(r(s,u,s.md),r(window,a,s.mu),r(window,c,s.mm))},d={inserted:function(e,o,t){s(e,o,t)},update:function(e,o,t,n){JSON.stringify(o.value)!==JSON.stringify(o.oldValue)&&s(e,o,t)},unbind:function(e,o,t){var n=e;r(n,u,n.md),r(window,a,n.mu),r(window,c,n.mm)}},f={install:function(e,o){var t=Number(e.version.split(".")[0]),n=Number(e.version.split(".")[1]);if(t<2&&n<1)throw new Error("v-dragscroll supports vue version 2.1 and above. You are using Vue@".concat(e.version,". Please upgrade to the latest version of Vue."));e.directive("dragscroll",d)}};"undefined"!=typeof window&&window.Vue&&(window.VueDragscroll=f,window.Vue.use(f));o.default=f}])})); +!function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof exports?exports.VueDragScroll=o():e.VueDragScroll=o()}(window,(function(){return function(e){var o={};function t(r){if(o[r])return o[r].exports;var n=o[r]={i:r,l:!1,exports:{}};return e[r].call(n.exports,n,n.exports,t),n.l=!0,n.exports}return t.m=e,t.c=o,t.d=function(e,o,r){t.o(e,o)||Object.defineProperty(e,o,{enumerable:!0,get:r})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,o){if(1&o&&(e=t(e)),8&o)return e;if(4&o&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(t.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&o&&"string"!=typeof e)for(var n in e)t.d(r,n,function(o){return e[o]}.bind(null,n));return r},t.n=function(e){var o=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(o,"a",o),o},t.o=function(e,o){return Object.prototype.hasOwnProperty.call(e,o)},t.p="/dist/",t(t.s=0)}([function(e,o,t){"use strict";t.r(o),t.d(o,"dragscroll",(function(){return d}));var r=function(e,o,t){for(var r=0,n=o.length;r=s.scrollWidth||0===s.scrollLeft,p=s.scrollTop+s.clientHeight>=s.scrollHeight||0===s.scrollTop;u=-e+(e=a?r.clientX:r.touches[0].clientX),c=-n+(n=a?r.clientY:r.touches[0].clientY),o.modifiers.pass?(s.scrollLeft-=o.modifiers.y?-0:u,s.scrollTop-=o.modifiers.x?-0:c,s===document.body&&(s.scrollLeft-=o.modifiers.y?-0:u,s.scrollTop-=o.modifiers.x?-0:c),(v||o.modifiers.y)&&m(-u,0),(p||o.modifiers.x)&&m(0,-c)):(o.modifiers.x&&(c=-0),o.modifiers.y&&(u=-0),s.scrollLeft-=u,s.scrollTop-=c,s===document.body&&(s.scrollLeft-=u,s.scrollTop-=c)),f.deltaX=-u,f.deltaY=-c,i(t,"dragscrollmove",f)}},r(s,u,s.md),r(window,a,s.mu),r(window,c,s.mm)};d?"complete"===document.readyState?v():window.addEventListener("load",v):(n(s,u,s.md),n(window,a,s.mu),n(window,c,s.mm))},d={inserted:function(e,o,t){s(e,o,t)},update:function(e,o,t,r){JSON.stringify(o.value)!==JSON.stringify(o.oldValue)&&s(e,o,t)},unbind:function(e,o,t){var r=e;n(r,u,r.md),n(window,a,r.mu),n(window,c,r.mm)}},f={install:function(e,o){var t=Number(e.version.split(".")[0]),r=Number(e.version.split(".")[1]);if(t<2&&r<1)throw new Error("v-dragscroll supports vue version 2.1 and above. You are using Vue@".concat(e.version,". Please upgrade to the latest version of Vue."));e.directive("dragscroll",d)}};"undefined"!=typeof window&&window.Vue&&(window.VueDragscroll=f,window.Vue.use(f));o.default=f}])})); //# sourceMappingURL=vue-dragscroll.min.js.map \ No newline at end of file diff --git a/dist/vue-dragscroll.min.js.map b/dist/vue-dragscroll.min.js.map index 9b92e5e..b325a8a 100644 --- a/dist/vue-dragscroll.min.js.map +++ b/dist/vue-dragscroll.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack://VueDragScroll/webpack/universalModuleDefinition","webpack://VueDragScroll/webpack/bootstrap","webpack://VueDragScroll/./src/utils.js","webpack://VueDragScroll/./src/directive.js","webpack://VueDragScroll/./src/main.js"],"names":["root","factory","exports","module","define","amd","window","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","el","events","handler","len","length","addEventListener","passive","removeEventListener","vnode","eventName","eventDetail","event","componentInstance","$emit","CustomEvent","detail","document","createEvent","initCustomEvent","elm","dispatchEvent","POINTER_START_EVENTS","POINTER_MOVE_EVENTS","POINTER_END_EVENTS","init","binding","target","active","container","querySelector","console","error","scrollBy","x","y","scrollLeft","scrollTop","reset","lastClientX","lastClientY","pushed","isDragging","md","e","isMouseEvent","MouseEvent","pageX","touches","pageY","clickedElement","elementFromPoint","pageXOffset","pageYOffset","hasNoChildDrag","arg","ignoreLeft","modifiers","noleft","ignoreRight","noright","ignoreMiddle","nomiddle","ignoreBack","noback","ignoreForward","noforward","hasFirstChildDrag","isEl","isFirstChild","firstChild","isDataDraggable","dataset","dragscroll","noDragscroll","which","clientX","clientY","mu","u","mm","newScrollX","newScrollY","preventDefault","isEndX","clientWidth","scrollWidth","isEndY","clientHeight","scrollHeight","pass","body","deltaX","deltaY","readyState","inserted","update","oldVnode","JSON","stringify","oldValue","unbind","VueDragscroll","install","Vue","options","major","Number","version","split","minor","Error","directive","use"],"mappings":"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","file":"vue-dragscroll.min.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([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"VueDragScroll\"] = factory();\n\telse\n\t\troot[\"VueDragScroll\"] = factory();\n})(window, function() {\nreturn "," \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 = \"/dist/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","export default {\r\n addEventListeners (el, events, handler) {\r\n for (var i = 0, len = events.length; i < len; i++) {\r\n el.addEventListener(events[i], handler, { passive: false })\r\n }\r\n },\r\n\r\n removeEventListeners (el, events, handler) {\r\n for (var i = 0, len = events.length; i < len; i++) {\r\n el.removeEventListener(events[i], handler, { passive: false })\r\n }\r\n },\r\n\r\n emitEvent: function (vnode, eventName, eventDetail) {\r\n // If vnode is a Vue component instance, use $emit. Otherwise use a native HTML event.\r\n if (vnode.componentInstance) {\r\n vnode.componentInstance.$emit(eventName, eventDetail)\r\n } else {\r\n let event\r\n if (typeof (window.CustomEvent) === 'function') {\r\n event = new window.CustomEvent(eventName, { detail: eventDetail })\r\n } else {\r\n // Deprecated fallback for IE\r\n event = document.createEvent('CustomEvent')\r\n event.initCustomEvent(eventName, true, true, eventDetail)\r\n }\r\n vnode.elm.dispatchEvent(event)\r\n }\r\n }\r\n}\r\n","import u from './utils'\r\n\r\nconst POINTER_START_EVENTS = ['mousedown', 'touchstart']\r\nconst POINTER_MOVE_EVENTS = ['mousemove', 'touchmove']\r\nconst POINTER_END_EVENTS = ['mouseup', 'touchend']\r\n\r\nconst init = function (el, binding, vnode) {\r\n // Default parameters\r\n let target = el // the element to apply the dragscroll on\r\n let active = true // enable/disable dragscroll\r\n let container = window\r\n\r\n // config type: boolean\r\n // Example: v-dragscroll=\"true\" or v-dragscroll=\"false\"\r\n if (typeof binding.value === 'boolean') {\r\n active = binding.value\r\n } else if (typeof binding.value === 'object') {\r\n // config type: object\r\n // Example: v-dragscroll=\"{ active: true , target: \"child\" }\"\r\n\r\n // parameter: target\r\n if (typeof binding.value.target === 'string') {\r\n target = el.querySelector(binding.value.target)\r\n if (!target) {\r\n console.error('There is no element with the current target value.')\r\n }\r\n } else if (typeof binding.value.target !== 'undefined') {\r\n console.error('The parameter \"target\" should be either \\'undefined\\' or \\'string\\'.')\r\n }\r\n // parameter: container\r\n if (typeof binding.value.container === 'string') {\r\n container = document.querySelector(binding.value.container)\r\n if (!container) {\r\n console.error('There is no element with the current container value.')\r\n }\r\n } else if (typeof binding.value.container !== 'undefined') {\r\n console.error('The parameter \"container\" should be be either \\'undefined\\' or \\'string\\'.')\r\n }\r\n\r\n // parameter: active\r\n if (typeof binding.value.active === 'boolean') {\r\n active = binding.value.active\r\n } else if (typeof binding.value.active !== 'undefined') {\r\n console.error('The parameter \"active\" value should be either \\'undefined\\', \\'true\\' or \\'false\\'.')\r\n }\r\n } else if (typeof binding.value !== 'undefined') {\r\n // Throw an error if invalid parameters\r\n console.error('The passed value should be either \\'undefined\\', \\'true\\' or \\'false\\' or \\'object\\'.')\r\n }\r\n\r\n var scrollBy = function (x, y) {\r\n if (container === window) {\r\n window.scrollBy(x, y)\r\n } else {\r\n container.scrollLeft += x\r\n container.scrollTop += y\r\n }\r\n }\r\n\r\n var reset = function () {\r\n let lastClientX, lastClientY, pushed\r\n let isDragging = false\r\n // let isClick = false // workaround to handle click event from touch\r\n\r\n target.md = function (e) {\r\n // e.preventDefault()\r\n const isMouseEvent = e instanceof window.MouseEvent\r\n // The coordinates of the mouse pointer compared to the page when the mouse button is clicked on an element\r\n const pageX = isMouseEvent ? e.pageX : e.touches[0].pageX\r\n const pageY = isMouseEvent ? e.pageY : e.touches[0].pageY\r\n const clickedElement = document.elementFromPoint(pageX - window.pageXOffset, pageY - window.pageYOffset)\r\n\r\n const hasNoChildDrag = binding.arg === 'nochilddrag'\r\n const ignoreLeft = binding.modifiers.noleft\r\n const ignoreRight = binding.modifiers.noright\r\n const ignoreMiddle = binding.modifiers.nomiddle\r\n const ignoreBack = binding.modifiers.noback\r\n const ignoreForward = binding.modifiers.noforward\r\n const hasFirstChildDrag = binding.arg === 'firstchilddrag'\r\n const isEl = clickedElement === target\r\n const isFirstChild = clickedElement === target.firstChild\r\n const isDataDraggable = hasNoChildDrag ? typeof clickedElement.dataset.dragscroll !== 'undefined' : typeof clickedElement.dataset.noDragscroll === 'undefined'\r\n\r\n if (!isEl && (!isDataDraggable || (hasFirstChildDrag && !isFirstChild))) {\r\n return\r\n }\r\n\r\n if (e.which === 1 && ignoreLeft) {\r\n return\r\n } else if (e.which === 2 && ignoreMiddle) {\r\n return\r\n } else if (e.which === 3 && ignoreRight) {\r\n return\r\n } else if (e.which === 4 && ignoreBack) {\r\n return\r\n } else if (e.which === 5 && ignoreForward) {\r\n return\r\n }\r\n\r\n pushed = 1\r\n // The coordinates of the mouse pointer compared to the viewport when the mouse button is clicked on an element\r\n lastClientX = isMouseEvent ? e.clientX : e.touches[0].clientX\r\n lastClientY = isMouseEvent ? e.clientY : e.touches[0].clientY\r\n // if (e.type === 'touchstart') {\r\n // isClick = true\r\n // }\r\n }\r\n\r\n target.mu = function (e) {\r\n pushed = 0\r\n if (isDragging) {\r\n u.emitEvent(vnode, 'dragscrollend')\r\n }\r\n isDragging = false\r\n // if (e.type === 'touchend' && isClick === true) {\r\n // // this workaround enable click will using touch\r\n // e.target.click()\r\n // isClick = false\r\n // } else {\r\n // e.target.focus()\r\n // }\r\n }\r\n\r\n target.mm = function (e) {\r\n const isMouseEvent = e instanceof window.MouseEvent\r\n let newScrollX, newScrollY\r\n const eventDetail = {}\r\n if (pushed) {\r\n e.preventDefault()\r\n // pushed\r\n // Emit start event\r\n if (!isDragging) {\r\n u.emitEvent(vnode, 'dragscrollstart')\r\n }\r\n isDragging = true\r\n\r\n // when we reach the end or the begining of X or Y\r\n const isEndX = ((target.scrollLeft + target.clientWidth) >= target.scrollWidth) || target.scrollLeft === 0\r\n const isEndY = ((target.scrollTop + target.clientHeight) >= target.scrollHeight) || target.scrollTop === 0\r\n\r\n // get new scroll dimentions\r\n newScrollX = (-lastClientX + (lastClientX = isMouseEvent ? e.clientX : e.touches[0].clientX))\r\n newScrollY = (-lastClientY + (lastClientY = isMouseEvent ? e.clientY : e.touches[0].clientY))\r\n\r\n if (binding.modifiers.pass) {\r\n // compute and scroll\r\n target.scrollLeft -= binding.modifiers.y ? -0 : newScrollX\r\n target.scrollTop -= binding.modifiers.x ? -0 : newScrollY\r\n if (target === document.body) {\r\n target.scrollLeft -= binding.modifiers.y ? -0 : newScrollX\r\n target.scrollTop -= binding.modifiers.x ? -0 : newScrollY\r\n }\r\n\r\n // if one side reach the end scroll container\r\n if (isEndX || binding.modifiers.y) {\r\n scrollBy(-newScrollX, 0)\r\n }\r\n if (isEndY || binding.modifiers.x) {\r\n scrollBy(0, -newScrollY)\r\n }\r\n } else {\r\n // disable one scroll direction in case x or y is specified\r\n if (binding.modifiers.x) newScrollY = -0\r\n if (binding.modifiers.y) newScrollX = -0\r\n\r\n // compute and scroll\r\n target.scrollLeft -= newScrollX\r\n target.scrollTop -= newScrollY\r\n if (target === document.body) {\r\n target.scrollLeft -= newScrollX\r\n target.scrollTop -= newScrollY\r\n }\r\n }\r\n\r\n // Emit events\r\n eventDetail.deltaX = -newScrollX\r\n eventDetail.deltaY = -newScrollY\r\n u.emitEvent(vnode, 'dragscrollmove', eventDetail)\r\n }\r\n }\r\n\r\n u.addEventListeners(target, POINTER_START_EVENTS, target.md)\r\n\r\n u.addEventListeners(window, POINTER_END_EVENTS, target.mu)\r\n\r\n u.addEventListeners(window, POINTER_MOVE_EVENTS, target.mm)\r\n }\r\n // if value is undefined or true we will init\r\n if (active) {\r\n if (document.readyState === 'complete') {\r\n reset()\r\n } else {\r\n window.addEventListener('load', reset)\r\n }\r\n } else {\r\n // if value is false means we disable\r\n // window.removeEventListener('load', reset)\r\n u.removeEventListeners(target, POINTER_START_EVENTS, target.md)\r\n u.removeEventListeners(window, POINTER_END_EVENTS, target.mu)\r\n u.removeEventListeners(window, POINTER_MOVE_EVENTS, target.mm)\r\n }\r\n}\r\n\r\nexport default {\r\n inserted: function (el, binding, vnode) {\r\n init(el, binding, vnode)\r\n },\r\n update: function (el, binding, vnode, oldVnode) {\r\n // update the component only if the parameters change\r\n if (JSON.stringify(binding.value) !== JSON.stringify(binding.oldValue)) {\r\n init(el, binding, vnode)\r\n }\r\n },\r\n unbind: function (el, binding, vnode) {\r\n const target = el\r\n u.removeEventListeners(target, POINTER_START_EVENTS, target.md)\r\n u.removeEventListeners(window, POINTER_END_EVENTS, target.mu)\r\n u.removeEventListeners(window, POINTER_MOVE_EVENTS, target.mm)\r\n }\r\n}\r\n","import directive from './directive'\r\n\r\nconst VueDragscroll = {\r\n install (Vue, options) {\r\n const major = Number(Vue.version.split('.')[0])\r\n const minor = Number(Vue.version.split('.')[1])\r\n if (major < 2 && minor < 1) {\r\n throw new Error(`v-dragscroll supports vue version 2.1 and above. You are using Vue@${Vue.version}. Please upgrade to the latest version of Vue.`)\r\n }\r\n // registration\r\n Vue.directive('dragscroll', directive)\r\n }\r\n}\r\n\r\nif (typeof window !== 'undefined' && window.Vue) {\r\n window.VueDragscroll = VueDragscroll\r\n window.Vue.use(VueDragscroll)\r\n}\r\n\r\nexport { directive as dragscroll }\r\nexport default VueDragscroll\r\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack://VueDragScroll/webpack/universalModuleDefinition","webpack://VueDragScroll/webpack/bootstrap","webpack://VueDragScroll/./src/utils.js","webpack://VueDragScroll/./src/directive.js","webpack://VueDragScroll/./src/main.js"],"names":["root","factory","exports","module","define","amd","window","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","el","events","handler","len","length","addEventListener","passive","removeEventListener","vnode","eventName","eventDetail","event","componentInstance","$emit","CustomEvent","detail","document","createEvent","initCustomEvent","elm","dispatchEvent","POINTER_START_EVENTS","POINTER_MOVE_EVENTS","POINTER_END_EVENTS","init","binding","target","active","container","querySelector","console","error","scrollBy","x","y","scrollLeft","scrollTop","reset","lastClientX","lastClientY","pushed","isDragging","md","e","isMouseEvent","MouseEvent","pageX","touches","pageY","clickedElement","elementFromPoint","pageXOffset","pageYOffset","hasNoChildDrag","arg","ignoreLeft","modifiers","noleft","ignoreRight","noright","ignoreMiddle","nomiddle","ignoreBack","noback","ignoreForward","noforward","hasFirstChildDrag","isEl","isFirstChild","firstChild","isDataDraggable","dataset","dragscroll","noDragscroll","clickedElementOrParent","dragscrollNested","noDragscrollNested","parentElement","which","clientX","clientY","mu","u","mm","newScrollX","newScrollY","preventDefault","isEndX","clientWidth","scrollWidth","isEndY","clientHeight","scrollHeight","pass","body","deltaX","deltaY","readyState","inserted","update","oldVnode","JSON","stringify","oldValue","unbind","VueDragscroll","install","Vue","options","major","Number","version","split","minor","Error","directive","use"],"mappings":"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","file":"vue-dragscroll.min.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([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"VueDragScroll\"] = factory();\n\telse\n\t\troot[\"VueDragScroll\"] = factory();\n})(window, function() {\nreturn "," \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 = \"/dist/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","export default {\n addEventListeners (el, events, handler) {\n for (var i = 0, len = events.length; i < len; i++) {\n el.addEventListener(events[i], handler, { passive: false })\n }\n },\n\n removeEventListeners (el, events, handler) {\n for (var i = 0, len = events.length; i < len; i++) {\n el.removeEventListener(events[i], handler, { passive: false })\n }\n },\n\n emitEvent: function (vnode, eventName, eventDetail) {\n // If vnode is a Vue component instance, use $emit. Otherwise use a native HTML event.\n if (vnode.componentInstance) {\n vnode.componentInstance.$emit(eventName, eventDetail)\n } else {\n let event\n if (typeof (window.CustomEvent) === 'function') {\n event = new window.CustomEvent(eventName, { detail: eventDetail })\n } else {\n // Deprecated fallback for IE\n event = document.createEvent('CustomEvent')\n event.initCustomEvent(eventName, true, true, eventDetail)\n }\n vnode.elm.dispatchEvent(event)\n }\n }\n}\n","import u from './utils'\n\nconst POINTER_START_EVENTS = ['mousedown', 'touchstart']\nconst POINTER_MOVE_EVENTS = ['mousemove', 'touchmove']\nconst POINTER_END_EVENTS = ['mouseup', 'touchend']\n\nconst init = function (el, binding, vnode) {\n // Default parameters\n let target = el // the element to apply the dragscroll on\n let active = true // enable/disable dragscroll\n let container = window\n\n // config type: boolean\n // Example: v-dragscroll=\"true\" or v-dragscroll=\"false\"\n if (typeof binding.value === 'boolean') {\n active = binding.value\n } else if (typeof binding.value === 'object') {\n // config type: object\n // Example: v-dragscroll=\"{ active: true , target: \"child\" }\"\n\n // parameter: target\n if (typeof binding.value.target === 'string') {\n target = el.querySelector(binding.value.target)\n if (!target) {\n console.error('There is no element with the current target value.')\n }\n } else if (typeof binding.value.target !== 'undefined') {\n console.error('The parameter \"target\" should be either \\'undefined\\' or \\'string\\'.')\n }\n // parameter: container\n if (typeof binding.value.container === 'string') {\n container = document.querySelector(binding.value.container)\n if (!container) {\n console.error('There is no element with the current container value.')\n }\n } else if (typeof binding.value.container !== 'undefined') {\n console.error('The parameter \"container\" should be be either \\'undefined\\' or \\'string\\'.')\n }\n\n // parameter: active\n if (typeof binding.value.active === 'boolean') {\n active = binding.value.active\n } else if (typeof binding.value.active !== 'undefined') {\n console.error('The parameter \"active\" value should be either \\'undefined\\', \\'true\\' or \\'false\\'.')\n }\n } else if (typeof binding.value !== 'undefined') {\n // Throw an error if invalid parameters\n console.error('The passed value should be either \\'undefined\\', \\'true\\' or \\'false\\' or \\'object\\'.')\n }\n\n var scrollBy = function (x, y) {\n if (container === window) {\n window.scrollBy(x, y)\n } else {\n container.scrollLeft += x\n container.scrollTop += y\n }\n }\n\n var reset = function () {\n let lastClientX, lastClientY, pushed\n let isDragging = false\n // let isClick = false // workaround to handle click event from touch\n\n target.md = function (e) {\n // e.preventDefault()\n const isMouseEvent = e instanceof window.MouseEvent\n // The coordinates of the mouse pointer compared to the page when the mouse button is clicked on an element\n const pageX = isMouseEvent ? e.pageX : e.touches[0].pageX\n const pageY = isMouseEvent ? e.pageY : e.touches[0].pageY\n const clickedElement = document.elementFromPoint(pageX - window.pageXOffset, pageY - window.pageYOffset)\n\n const hasNoChildDrag = binding.arg === 'nochilddrag'\n const ignoreLeft = binding.modifiers.noleft\n const ignoreRight = binding.modifiers.noright\n const ignoreMiddle = binding.modifiers.nomiddle\n const ignoreBack = binding.modifiers.noback\n const ignoreForward = binding.modifiers.noforward\n const hasFirstChildDrag = binding.arg === 'firstchilddrag'\n const isEl = clickedElement === target\n const isFirstChild = clickedElement === target.firstChild\n\n let isDataDraggable = false\n if (isEl) {\n isDataDraggable = true\n } else if (hasFirstChildDrag && isFirstChild) {\n isDataDraggable = true\n } else if (typeof clickedElement.dataset.dragscroll !== 'undefined') {\n isDataDraggable = true\n } else if (typeof clickedElement.dataset.noDragscroll !== 'undefined') {\n isDataDraggable = false\n } else {\n isDataDraggable = !hasNoChildDrag\n let clickedElementOrParent = clickedElement\n while (clickedElementOrParent && clickedElementOrParent !== target) {\n if (typeof clickedElementOrParent.dataset.dragscrollNested !== 'undefined') {\n isDataDraggable = true\n break\n } else if (typeof clickedElementOrParent.dataset.noDragscrollNested !== 'undefined') {\n isDataDraggable = false\n break\n }\n clickedElementOrParent = clickedElementOrParent.parentElement\n }\n }\n\n if (!isDataDraggable) {\n return\n }\n\n if (e.which === 1 && ignoreLeft) {\n return\n } else if (e.which === 2 && ignoreMiddle) {\n return\n } else if (e.which === 3 && ignoreRight) {\n return\n } else if (e.which === 4 && ignoreBack) {\n return\n } else if (e.which === 5 && ignoreForward) {\n return\n }\n\n pushed = 1\n // The coordinates of the mouse pointer compared to the viewport when the mouse button is clicked on an element\n lastClientX = isMouseEvent ? e.clientX : e.touches[0].clientX\n lastClientY = isMouseEvent ? e.clientY : e.touches[0].clientY\n // if (e.type === 'touchstart') {\n // isClick = true\n // }\n }\n\n target.mu = function (e) {\n pushed = 0\n if (isDragging) {\n u.emitEvent(vnode, 'dragscrollend')\n }\n isDragging = false\n // if (e.type === 'touchend' && isClick === true) {\n // // this workaround enable click will using touch\n // e.target.click()\n // isClick = false\n // } else {\n // e.target.focus()\n // }\n }\n\n target.mm = function (e) {\n const isMouseEvent = e instanceof window.MouseEvent\n let newScrollX, newScrollY\n const eventDetail = {}\n if (pushed) {\n e.preventDefault()\n // pushed\n // Emit start event\n if (!isDragging) {\n u.emitEvent(vnode, 'dragscrollstart')\n }\n isDragging = true\n\n // when we reach the end or the begining of X or Y\n const isEndX = ((target.scrollLeft + target.clientWidth) >= target.scrollWidth) || target.scrollLeft === 0\n const isEndY = ((target.scrollTop + target.clientHeight) >= target.scrollHeight) || target.scrollTop === 0\n\n // get new scroll dimentions\n newScrollX = (-lastClientX + (lastClientX = isMouseEvent ? e.clientX : e.touches[0].clientX))\n newScrollY = (-lastClientY + (lastClientY = isMouseEvent ? e.clientY : e.touches[0].clientY))\n\n if (binding.modifiers.pass) {\n // compute and scroll\n target.scrollLeft -= binding.modifiers.y ? -0 : newScrollX\n target.scrollTop -= binding.modifiers.x ? -0 : newScrollY\n if (target === document.body) {\n target.scrollLeft -= binding.modifiers.y ? -0 : newScrollX\n target.scrollTop -= binding.modifiers.x ? -0 : newScrollY\n }\n\n // if one side reach the end scroll container\n if (isEndX || binding.modifiers.y) {\n scrollBy(-newScrollX, 0)\n }\n if (isEndY || binding.modifiers.x) {\n scrollBy(0, -newScrollY)\n }\n } else {\n // disable one scroll direction in case x or y is specified\n if (binding.modifiers.x) newScrollY = -0\n if (binding.modifiers.y) newScrollX = -0\n\n // compute and scroll\n target.scrollLeft -= newScrollX\n target.scrollTop -= newScrollY\n if (target === document.body) {\n target.scrollLeft -= newScrollX\n target.scrollTop -= newScrollY\n }\n }\n\n // Emit events\n eventDetail.deltaX = -newScrollX\n eventDetail.deltaY = -newScrollY\n u.emitEvent(vnode, 'dragscrollmove', eventDetail)\n }\n }\n\n u.addEventListeners(target, POINTER_START_EVENTS, target.md)\n\n u.addEventListeners(window, POINTER_END_EVENTS, target.mu)\n\n u.addEventListeners(window, POINTER_MOVE_EVENTS, target.mm)\n }\n // if value is undefined or true we will init\n if (active) {\n if (document.readyState === 'complete') {\n reset()\n } else {\n window.addEventListener('load', reset)\n }\n } else {\n // if value is false means we disable\n // window.removeEventListener('load', reset)\n u.removeEventListeners(target, POINTER_START_EVENTS, target.md)\n u.removeEventListeners(window, POINTER_END_EVENTS, target.mu)\n u.removeEventListeners(window, POINTER_MOVE_EVENTS, target.mm)\n }\n}\n\nexport default {\n inserted: function (el, binding, vnode) {\n init(el, binding, vnode)\n },\n update: function (el, binding, vnode, oldVnode) {\n // update the component only if the parameters change\n if (JSON.stringify(binding.value) !== JSON.stringify(binding.oldValue)) {\n init(el, binding, vnode)\n }\n },\n unbind: function (el, binding, vnode) {\n const target = el\n u.removeEventListeners(target, POINTER_START_EVENTS, target.md)\n u.removeEventListeners(window, POINTER_END_EVENTS, target.mu)\n u.removeEventListeners(window, POINTER_MOVE_EVENTS, target.mm)\n }\n}\n","import directive from './directive'\n\nconst VueDragscroll = {\n install (Vue, options) {\n const major = Number(Vue.version.split('.')[0])\n const minor = Number(Vue.version.split('.')[1])\n if (major < 2 && minor < 1) {\n throw new Error(`v-dragscroll supports vue version 2.1 and above. You are using Vue@${Vue.version}. Please upgrade to the latest version of Vue.`)\n }\n // registration\n Vue.directive('dragscroll', directive)\n }\n}\n\nif (typeof window !== 'undefined' && window.Vue) {\n window.VueDragscroll = VueDragscroll\n window.Vue.use(VueDragscroll)\n}\n\nexport { directive as dragscroll }\nexport default VueDragscroll\n"],"sourceRoot":""} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index dae36dd..39ece1d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2599,9 +2599,9 @@ "dev": true }, "elliptic": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", - "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", + "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", "dev": true, "requires": { "bn.js": "^4.4.0", @@ -2614,9 +2614,9 @@ }, "dependencies": { "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", "dev": true } } @@ -3068,9 +3068,9 @@ "dev": true }, "eventemitter3": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", - "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", "dev": true }, "events": { @@ -3514,24 +3514,10 @@ } }, "follow-redirects": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.11.0.tgz", - "integrity": "sha512-KZm0V+ll8PfBrKwMzdo5D13b1bur9Iq9Zd/RMmAoQQcl2PxxFml8cxXPaaPYVbV0RjNjq1CU7zIzAOqtUPudmA==", - "dev": true, - "requires": { - "debug": "^3.0.0" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.1.tgz", + "integrity": "sha512-SSG5xmZh1mkPGyKzjZP8zLjltIfpW32Y5QpdNJyjcfGxK3qo3NDDkZOZSFiGn1A6SclQxY9GzEwAHQ3dmYRWpg==", + "dev": true }, "for-in": { "version": "1.0.2", @@ -3909,9 +3895,9 @@ } }, "http-proxy": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.0.tgz", - "integrity": "sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ==", + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", "dev": true, "requires": { "eventemitter3": "^4.0.0", @@ -4013,9 +3999,9 @@ "dev": true }, "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true }, "inquirer": { @@ -4572,9 +4558,9 @@ } }, "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", "dev": true }, "loglevel": { @@ -4927,9 +4913,9 @@ "dev": true }, "node-forge": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz", - "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", + "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", "dev": true }, "node-libs-browser": { @@ -6059,12 +6045,12 @@ "dev": true }, "selfsigned": { - "version": "1.10.7", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz", - "integrity": "sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==", + "version": "1.10.8", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.8.tgz", + "integrity": "sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w==", "dev": true, "requires": { - "node-forge": "0.9.0" + "node-forge": "^0.10.0" } }, "semver": { @@ -6120,10 +6106,13 @@ } }, "serialize-javascript": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz", - "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==", - "dev": true + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } }, "serve-index": { "version": "1.9.1", @@ -6817,9 +6806,9 @@ "dev": true }, "terser": { - "version": "4.6.13", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.13.tgz", - "integrity": "sha512-wMvqukYgVpQlymbnNbabVZbtM6PN63AzqexpwJL8tbh/mRT9LE5o+ruVduAGL7D6Fpjl+Q+06U5I9Ul82odAhw==", + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", "dev": true, "requires": { "commander": "^2.20.0", @@ -6836,16 +6825,16 @@ } }, "terser-webpack-plugin": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz", - "integrity": "sha512-QMxecFz/gHQwteWwSo5nTc6UaICqN1bMedC5sMtUc7y3Ha3Q8y6ZO0iCR8pq4RJC8Hjf0FEPEHZqcMB/+DFCrA==", + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", "dev": true, "requires": { "cacache": "^12.0.2", "find-cache-dir": "^2.1.0", "is-wsl": "^1.1.0", "schema-utils": "^1.0.0", - "serialize-javascript": "^2.1.2", + "serialize-javascript": "^4.0.0", "source-map": "^0.6.1", "terser": "^4.1.2", "webpack-sources": "^1.4.0", diff --git a/src/directive.js b/src/directive.js index 2cb1043..c8a79f0 100644 --- a/src/directive.js +++ b/src/directive.js @@ -79,9 +79,32 @@ const init = function (el, binding, vnode) { const hasFirstChildDrag = binding.arg === 'firstchilddrag' const isEl = clickedElement === target const isFirstChild = clickedElement === target.firstChild - const isDataDraggable = hasNoChildDrag ? typeof clickedElement.dataset.dragscroll !== 'undefined' : typeof clickedElement.dataset.noDragscroll === 'undefined' - if (!isEl && (!isDataDraggable || (hasFirstChildDrag && !isFirstChild))) { + let isDataDraggable = false + if (isEl) { + isDataDraggable = true + } else if (hasFirstChildDrag && isFirstChild) { + isDataDraggable = true + } else if (typeof clickedElement.dataset.dragscroll !== 'undefined') { + isDataDraggable = true + } else if (typeof clickedElement.dataset.noDragscroll !== 'undefined') { + isDataDraggable = false + } else { + isDataDraggable = !hasNoChildDrag + let clickedElementOrParent = clickedElement + while (clickedElementOrParent && clickedElementOrParent !== target) { + if (typeof clickedElementOrParent.dataset.dragscrollNested !== 'undefined') { + isDataDraggable = true + break + } else if (typeof clickedElementOrParent.dataset.noDragscrollNested !== 'undefined') { + isDataDraggable = false + break + } + clickedElementOrParent = clickedElementOrParent.parentElement + } + } + + if (!isDataDraggable) { return }