{"version":3,"file":"ui/thirdparty/npm.dom-autoscroller.910f3d50d8a589571593.js","mappings":"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","sources":["webpack://apps/./node_modules/dom-autoscroller/dist/bundle.js"],"sourcesContent":["'use strict';\n\nfunction _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }\n\nvar typeFunc = require('type-func');\nvar animationFramePolyfill = require('animation-frame-polyfill');\nvar domSet = require('dom-set');\nvar domPlane = require('dom-plane');\nvar mousemoveDispatcher = _interopDefault(require('dom-mousemove-dispatcher'));\n\nfunction AutoScroller(elements, options){\n if ( options === void 0 ) options = {};\n\n var self = this;\n var maxSpeed = 4, scrolling = false;\n\n this.margin = options.margin || -1;\n //this.scrolling = false;\n this.scrollWhenOutside = options.scrollWhenOutside || false;\n\n var point = {},\n pointCB = domPlane.createPointCB(point),\n dispatcher = mousemoveDispatcher(),\n down = false;\n\n window.addEventListener('mousemove', pointCB, false);\n window.addEventListener('touchmove', pointCB, false);\n\n if(!isNaN(options.maxSpeed)){\n maxSpeed = options.maxSpeed;\n }\n\n this.autoScroll = typeFunc.boolean(options.autoScroll);\n this.syncMove = typeFunc.boolean(options.syncMove, false);\n\n this.destroy = function(forceCleanAnimation) {\n window.removeEventListener('mousemove', pointCB, false);\n window.removeEventListener('touchmove', pointCB, false);\n window.removeEventListener('mousedown', onDown, false);\n window.removeEventListener('touchstart', onDown, false);\n window.removeEventListener('mouseup', onUp, false);\n window.removeEventListener('touchend', onUp, false);\n window.removeEventListener('pointerup', onUp, false);\n window.removeEventListener('mouseleave', onMouseOut, false);\n\n window.removeEventListener('mousemove', onMove, false);\n window.removeEventListener('touchmove', onMove, false);\n\n window.removeEventListener('scroll', setScroll, true);\n elements = [];\n if(forceCleanAnimation){\n cleanAnimation();\n }\n };\n\n this.add = function(){\n var element = [], len = arguments.length;\n while ( len-- ) element[ len ] = arguments[ len ];\n\n domSet.addElements.apply(void 0, [ elements ].concat( element ));\n return this;\n };\n\n this.remove = function(){\n var element = [], len = arguments.length;\n while ( len-- ) element[ len ] = arguments[ len ];\n\n return domSet.removeElements.apply(void 0, [ elements ].concat( element ));\n };\n\n var hasWindow = null, windowAnimationFrame;\n\n if(Object.prototype.toString.call(elements) !== '[object Array]'){\n elements = [elements];\n }\n\n (function(temp){\n elements = [];\n temp.forEach(function(element){\n if(element === window){\n hasWindow = window;\n }else{\n self.add(element);\n }\n });\n }(elements));\n\n Object.defineProperties(this, {\n down: {\n get: function(){ return down; }\n },\n maxSpeed: {\n get: function(){ return maxSpeed; }\n },\n point: {\n get: function(){ return point; }\n },\n scrolling: {\n get: function(){ return scrolling; }\n }\n });\n\n var n = 0, current = null, animationFrame;\n\n window.addEventListener('mousedown', onDown, false);\n window.addEventListener('touchstart', onDown, false);\n window.addEventListener('mouseup', onUp, false);\n window.addEventListener('touchend', onUp, false);\n\n /*\n IE does not trigger mouseup event when scrolling.\n It is a known issue that Microsoft won't fix.\n https://connect.microsoft.com/IE/feedback/details/783058/scrollbar-trigger-mousedown-but-not-mouseup\n IE supports pointer events instead\n */\n window.addEventListener('pointerup', onUp, false);\n\n window.addEventListener('mousemove', onMove, false);\n window.addEventListener('touchmove', onMove, false);\n\n window.addEventListener('mouseleave', onMouseOut, false);\n\n window.addEventListener('scroll', setScroll, true);\n\n function setScroll(e){\n\n for(var i=0; i rect.right - self.margin){\n scrollx = Math.ceil(\n Math.min(1, (point.x - rect.right) / self.margin + 1) * self.maxSpeed\n );\n }else{\n scrollx = 0;\n }\n\n if(point.y < rect.top + self.margin){\n scrolly = Math.floor(\n Math.max(-1, (point.y - rect.top) / self.margin - 1) * self.maxSpeed\n );\n }else if(point.y > rect.bottom - self.margin){\n scrolly = Math.ceil(\n Math.min(1, (point.y - rect.bottom) / self.margin + 1) * self.maxSpeed\n );\n }else{\n scrolly = 0;\n }\n\n if(self.syncMove()){\n /*\n Notes about mousemove event dispatch.\n screen(X/Y) should need to be updated.\n Some other properties might need to be set.\n Keep the syncMove option default false until all inconsistencies are taken care of.\n */\n dispatcher.dispatch(el, {\n pageX: point.pageX + scrollx,\n pageY: point.pageY + scrolly,\n clientX: point.x + scrollx,\n clientY: point.y + scrolly\n });\n }\n\n setTimeout(function (){\n\n if(scrolly){\n scrollY(el, scrolly);\n }\n\n if(scrollx){\n scrollX(el, scrollx);\n }\n\n });\n }\n\n function scrollY(el, amount){\n if(el === window){\n window.scrollTo(el.pageXOffset, el.pageYOffset + amount);\n }else{\n el.scrollTop += amount;\n }\n }\n\n function scrollX(el, amount){\n if(el === window){\n window.scrollTo(el.pageXOffset + amount, el.pageYOffset);\n }else{\n el.scrollLeft += amount;\n }\n }\n\n}\n\nfunction AutoScrollerFactory(element, options){\n return new AutoScroller(element, options);\n}\n\nfunction inside(point, el, rect){\n if(!rect){\n return domPlane.pointInside(point, el);\n }else{\n return (point.y > rect.top && point.y < rect.bottom &&\n point.x > rect.left && point.x < rect.right);\n }\n}\n\n/*\ngit remote add origin https://github.com/hollowdoor/dom_autoscroller.git\ngit push -u origin master\n*/\n\nmodule.exports = AutoScrollerFactory;\n//# sourceMappingURL=bundle.js.map\n"],"names":["ex","typeFunc","animationFramePolyfill","domSet","domPlane","mousemoveDispatcher","AutoScroller","elements","options","self","this","maxSpeed","scrolling","margin","scrollWhenOutside","point","pointCB","createPointCB","dispatcher","down","window","addEventListener","isNaN","autoScroll","boolean","syncMove","destroy","forceCleanAnimation","removeEventListener","onDown","onUp","onMouseOut","onMove","setScroll","cleanAnimation","add","element","len","arguments","length","addElements","apply","concat","remove","removeElements","windowAnimationFrame","temp","hasWindow","Object","prototype","toString","call","forEach","defineProperties","get","animationFrame","current","e","i","target","requestAnimationFrame","cancelAnimationFrame","getElementUnderPoint","underPoint","inside","event","body","document","parentNode","hasElement","getTarget","scrollWindow","scrollTick","el","scrollx","scrolly","rect","getClientRect","x","left","Math","floor","max","right","ceil","min","y","top","bottom","dispatch","pageX","pageY","clientX","clientY","setTimeout","amount","scrollTo","pageXOffset","pageYOffset","scrollTop","scrollY","scrollLeft","scrollX","pointInside","module","exports"],"sourceRoot":""}