@carbon/utilities
Version:
Utilities and helpers to drive consistency across software products using the Carbon Design System
2 lines (1 loc) • 1.5 kB
JavaScript
;var m=Object.defineProperty;var H=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var D=(e,n)=>{for(var o in n)m(e,o,{get:n[o],enumerable:!0})},T=(e,n,o,i)=>{if(n&&typeof n=="object"||typeof n=="function")for(let l of S(n))!p.call(e,l)&&l!==o&&m(e,l,{get:()=>n[l],enumerable:!(i=H(n,l))||i.enumerable});return e};var g=e=>T(m({},"__esModule",{value:!0}),e);var U={};D(U,{registerSwipeEvents:()=>C});module.exports=g(U);const C=(e,n,o,i)=>{let u=null,d=null,c=0;const b=400;let v=!1,r=null,a=null;const h=t=>{u=t.touches[0].clientX},E=t=>{d=t.touches[0].clientX},L=t=>{if(u!==null&&d!==null){const s=u-d;Math.abs(s)>50&&(s>0?n():o())}u=null,d=null},f=t=>{v=!0,r=t.clientX},w=t=>{v&&(a=t.clientX)},M=()=>{if(v&&r!==null&&a!==null){const t=r-a;Math.abs(t)>50&&(t>0?n():o())}v=!1,r=null,a=null},X=t=>{const s=Date.now();if(Math.abs(t.deltaX)>Math.abs(t.deltaY)&&Math.abs(t.deltaX)>20){if(t.preventDefault(),s-c<b)return;t.deltaX>0?n():o(),c=s}};i&&(e.removeEventListener("touchstart",h),e.removeEventListener("touchmove",E),e.removeEventListener("touchend",L),e.removeEventListener("mousedown",f),e.removeEventListener("mousemove",w),e.removeEventListener("mouseup",M),e.removeEventListener("wheel",X)),e.addEventListener("touchstart",h),e.addEventListener("touchmove",E),e.addEventListener("touchend",L),e.addEventListener("mousedown",f),e.addEventListener("mousemove",w),e.addEventListener("mouseup",M),e.addEventListener("wheel",X)};