UNPKG

@livelybone/mouse-events

Version:

Some complex mouse events, such as dragMove event with deltaX/deltaY relative to mousedown/touchstart, mouse wheel with good compatibility ...

10 lines (8 loc) 4.25 kB
/** * Bundle of @livelybone/mouse-events * Generated: 2020-05-16 * Version: 1.0.0 * License: MIT * Author: 2631541504@qq.com */ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).DragMoveMouseEvents={})}(this,function(e){"use strict";function t(t,e){var n,r=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)),r}function d(o){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?t(Object(i),!0).forEach(function(e){var t,n,r;t=o,r=i[n=e],n in t?Object.defineProperty(t,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[n]=r}):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(i)):t(Object(i)).forEach(function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(i,e))})}return o}function n(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,o=!1,i=void 0;try{for(var a,c=e[Symbol.iterator]();!(r=(a=c.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==c.return||c.return()}finally{if(o)throw i}}return n}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var o=l,i=l,a=l,c=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,u=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino|android|ipad|playbook|silk/i;function l(e){var t=(e=e||{}).ua;if(t||"undefined"==typeof navigator||(t=navigator.userAgent),t&&t.headers&&"string"==typeof t.headers["user-agent"]&&(t=t.headers["user-agent"]),"string"!=typeof t)return!1;var n=e.tablet?u.test(t):c.test(t);return!n&&e.tablet&&e.featureDetect&&navigator&&1<navigator.maxTouchPoints&&-1!==t.indexOf("Macintosh")&&-1!==t.indexOf("Safari")&&(n=!0),n}o.isMobile=i,o.default=a;var p=i(),f="",s="addEventListener",b="removeEventListener";function m(e,t,n,r){var o=f+t;return e[s].bind(e)(o,n,r),function(){e[b].bind(e)(o,n,r)}}"undefined"!=typeof window&&"undefined"!=typeof document&&("addEventListener"in window?(s="addEventListener",b="removeEventListener"):(s="attachEvent",b="detachEvent",f="on"));var v=p?"mobile":"pc",y={start:{pc:"mousedown",mobile:"touchstart"}[v],move:{pc:"mousemove",mobile:"touchmove"}[v],end:{pc:"mouseup",mobile:"touchend"}[v]};function g(e){var t=null;return p&&(t=0<e.changedTouches.length||0<e.targetTouched.length?n(e.changedTouches,1)[0]:n(e.touches,1)[0]),t||e}function h(e,t){return{deltaX:g(e).clientX-g(t).clientX,deltaY:g(e).clientY-g(t).clientY,originalEvent:e}}e.bind=function(e,i,a){var c,u;return"function"==typeof e&&(a=i,i=e,e=window),m(e,y.start,function e(t){var n,r,o={deltaX:0,deltaY:0,originalEvent:t,type:"dragMoveStart"};t.type===y.start?(c=t,n=m(window,y.move,e,a),r=m(window,y.end,e,a),u=function(){n(),r()}):t.type===y.move?o=d(d({},h(t,c)),{},{type:"dragMove"}):t.type===y.end&&(o=d(d({},h(t,c)),{},{type:"dragMoveEnd"}),u&&u()),i(o)},a)},Object.defineProperty(e,"__esModule",{value:!0})});