Socket
Socket
Sign inDemoInstall

wheel-gestures

Package Overview
Dependencies
Maintainers
1
Versions
65
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

wheel-gestures - npm Package Compare versions

Comparing version 1.3.0 to 1.4.0

dist/utils/index.d.ts

1

dist/index.d.ts

@@ -5,1 +5,2 @@ export * from './wheel-gestures/wheel-gestures';

export * from './wheel-analyzer/wheel-analyzer-types';
export * from './utils';

16

dist/wheel-analyzer/wheel-analyzer-types.d.ts

@@ -1,2 +0,3 @@

export declare type Vector3D = number[];
export declare type VectorXYZ = [number, number, number];
export declare type BooleanXYZ = [boolean, boolean, boolean];
export interface WheelAnalyzerState {

@@ -7,4 +8,4 @@ isStarted: boolean;

lastAbsDelta: number;
axisMovement: Vector3D;
axisVelocity: Vector3D;
axisMovement: VectorXYZ;
axisVelocity: VectorXYZ;
accelerationFactors: number[][];

@@ -19,5 +20,5 @@ scrollPoints: ScrollPoint[];

isEndingSoon: boolean;
axisMovement: Vector3D;
axisVelocity: Vector3D;
axisDelta: Vector3D;
axisMovement: VectorXYZ;
axisVelocity: VectorXYZ;
axisDelta: VectorXYZ;
event: WheelEvent | WheelEventData;

@@ -27,3 +28,3 @@ }

currentAbsDelta: number;
axisDeltaUnclampt: number[];
axisDeltaUnclampt: VectorXYZ;
timestamp: number;

@@ -51,1 +52,2 @@ }

export declare type PreventWheelActionType = 'all' | 'x' | 'y';
export declare type ReverseSign = BooleanXYZ | boolean;

@@ -1,4 +0,5 @@

import { PreventWheelActionType, SubscribeFn, Unobserve, Unsubscribe, WheelEventData } from './wheel-analyzer-types';
import { PreventWheelActionType, ReverseSign, SubscribeFn, Unobserve, Unsubscribe, WheelEventData } from './wheel-analyzer-types';
export interface Options {
preventWheelAction: PreventWheelActionType;
reverseSign: ReverseSign;
}

@@ -5,0 +6,0 @@ export declare function WheelAnalyzer(optionsParam?: Partial<Options>): Readonly<{

@@ -68,2 +68,5 @@ 'use strict';

function lastOf(array) {
return array[array.length - 1];
}
function average(numbers) {

@@ -74,3 +77,12 @@ return numbers.reduce(function (a, b) {

}
function addVectors(v1, v2) {
if (v1.length !== v2.length) {
throw new Error('vectors must be same length');
}
return v1.map(function (val, i) {
return val + v2[i];
});
}
var LINE_HEIGHT = 16 * 1.125;

@@ -84,10 +96,22 @@ var PAGE_HEIGHT = typeof window !== 'undefined' && window.innerHeight || 800;

return {
deltaX: deltaX,
deltaY: deltaY,
deltaZ: deltaZ,
deltaMode: 0,
timestamp: e.timeStamp
axisDelta: [deltaX, deltaY, deltaZ],
timeStamp: e.timeStamp
};
}
var reverseAll = [-1, -1, -1];
function reverseSign(wheel, reverseSign) {
if (!reverseSign) {
return wheel;
}
var multipliers = reverseSign === true ? reverseAll : reverseSign.map(function (shouldReverse) {
return shouldReverse ? -1 : 1;
});
return _extends({}, wheel, {
axisDelta: wheel.axisDelta.map(function (delta, i) {
return delta * multipliers[i];
})
});
}
/**

@@ -104,4 +128,4 @@ * the timeout is automatically adjusted during a gesture

lastAbsDelta: Infinity,
axisMovement: [0, 0],
axisVelocity: [0, 0],
axisMovement: [0, 0, 0],
axisVelocity: [0, 0, 0],
accelerationFactors: [],

@@ -134,2 +158,3 @@ scrollPoints: [],

var SOON_ENDING_WHEEL_COUNT = 3;
var reverseSignDefault = [true, true, false];
function WheelAnalyzer(optionsParam) {

@@ -177,3 +202,6 @@ if (optionsParam === void 0) {

var unsubscribe = function unsubscribe(callback) {
if (!callback) throw new Error('please pass the callback which was used to subscribe');
if (!callback) {
throw new Error('please pass the callback used to subscribe');
}
subscriptions = subscriptions.filter(function (s) {

@@ -218,6 +246,9 @@ return s !== callback;

preventWheelAction = _newOptions$preventWh === void 0 ? 'all' : _newOptions$preventWh,
otherOptions = _objectWithoutPropertiesLoose(_newOptions, ["preventWheelAction"]);
_newOptions$reverseSi = _newOptions.reverseSign,
reverseSign = _newOptions$reverseSi === void 0 ? reverseSignDefault : _newOptions$reverseSi,
otherOptions = _objectWithoutPropertiesLoose(_newOptions, ["preventWheelAction", "reverseSign"]);
options = _extends({
preventWheelAction: preventWheelAction
preventWheelAction: preventWheelAction,
reverseSign: reverseSign
}, otherOptions);

@@ -252,7 +283,8 @@ return options;

var processWheelEventData = function processWheelEventData(wheelEvent) {
var _normalizeWheel = normalizeWheel(wheelEvent),
deltaX = _normalizeWheel.deltaX,
deltaY = _normalizeWheel.deltaY,
deltaZ = _normalizeWheel.deltaZ;
var _reverseSign = reverseSign(normalizeWheel(wheelEvent), options.reverseSign),
axisDelta = _reverseSign.axisDelta;
var deltaX = axisDelta[0],
deltaY = axisDelta[1]; // TODO: deltaZ
if (wheelEvent.preventDefault && shouldPreventDefault(wheelEvent)) {

@@ -264,7 +296,7 @@ wheelEvent.preventDefault();

start();
}
} // TODO: deltaZ
var currentDelta = clampDelta(Math.abs(deltaY) > Math.abs(deltaX) ? deltaY : deltaX);
var currentAbsDelta = Math.abs(currentDelta);
var axisDelta = [deltaX, deltaY, deltaZ];

@@ -276,3 +308,4 @@ if (state.isMomentum && currentAbsDelta > state.lastAbsDelta) {

currentEvent = wheelEvent;
currentEvent = wheelEvent; // TODO: clampDelta like reverseSign
state.axisMovement = state.axisMovement.map(function (prevDelta, i) {

@@ -284,3 +317,3 @@ return prevDelta + clampDelta(axisDelta[i]);

currentAbsDelta: currentAbsDelta,
axisDeltaUnclampt: [deltaX, deltaY],
axisDeltaUnclampt: axisDelta,
timestamp: wheelEvent.timeStamp

@@ -296,10 +329,5 @@ });

})),
axisDeltaUnclampt: scrollPointsToMerge.reduce(function (_ref, _ref2) {
var sumX = _ref[0],
sumY = _ref[1];
var _ref2$axisDeltaUnclam = _ref2.axisDeltaUnclampt,
x = _ref2$axisDeltaUnclam[0],
y = _ref2$axisDeltaUnclam[1];
return [sumX + x, sumY + y];
}, [0, 0]),
axisDeltaUnclampt: scrollPointsToMerge.map(function (b) {
return b.axisDeltaUnclampt;
}).reduce(addVectors),
timestamp: average(scrollPointsToMerge.map(function (b) {

@@ -462,4 +490,4 @@ return b.timestamp;

var willEndSoon = function willEndSoon() {
var absDeltas = state.scrollPoints.slice(SOON_ENDING_WHEEL_COUNT * -1).map(function (_ref3) {
var currentAbsDelta = _ref3.currentAbsDelta;
var absDeltas = state.scrollPoints.slice(SOON_ENDING_WHEEL_COUNT * -1).map(function (_ref) {
var currentAbsDelta = _ref.currentAbsDelta;
return currentAbsDelta;

@@ -507,7 +535,2 @@ });

var dragState = {
down: false,
axisMovement: [0, 0],
axisVelocity: [0, 0]
};
var wheelAnalyzer = WheelAnalyzer({

@@ -526,10 +549,7 @@ preventWheelAction: axis

wheelAnalyzer.subscribe(function (type, data) {
dragState = {
var dragState = _extends({}, data, {
// TODO: move into analyzer
down: true,
// TODO: why * -1, should this not better be in analyzer or when used?
axisMovement: data.axisMovement.map(function (d) {
return d * -1;
}),
axisVelocity: [data.axisVelocity[0] * -1, data.axisVelocity[1] * -1]
};
start: false
});

@@ -539,3 +559,4 @@ switch (type) {

dragState = _extends({}, dragState, {
down: true
down: true,
start: true
});

@@ -574,2 +595,5 @@ dispatch('wheelstart', dragState);

exports.WheelGestures = WheelGestures;
exports.addVectors = addVectors;
exports.average = average;
exports.lastOf = lastOf;
//# sourceMappingURL=wheel-gestures.cjs.development.js.map

@@ -1,2 +0,2 @@

"use strict";function e(){return(e=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function t(e){return e.reduce((function(e,t){return e+t}))/e.length}Object.defineProperty(exports,"__esModule",{value:!0});var n,r,o,s=[1,18,"undefined"!=typeof window&&window.innerHeight||800];function a(n){var r;void 0===n&&(n={});var o,a,i={isStarted:!1,isStartPublished:!1,isMomentum:!1,lastAbsDelta:Infinity,axisMovement:[0,0],axisVelocity:[0,0],accelerationFactors:[],scrollPoints:[],scrollPointsToMerge:[],willEndTimeout:400},l=[],c=[],u=function(e){e.removeEventListener("wheel",f),c=c.filter((function(t){return t!==e}))},E=function(e){if(!e)throw new Error("please pass the callback which was used to subscribe");l=l.filter((function(t){return t!==e}))},h=function(t,n){var r=e({type:t,isEndingSoon:L(),isMomentum:i.isMomentum,axisMovement:i.axisMovement,axisVelocity:i.axisVelocity,axisDelta:[0,0,0],event:o},n);l.forEach((function(e){return e(t,r)}))},f=function(e){Array.isArray(e)?e.forEach((function(e){return p(e)})):p(e)},M=function(t){void 0===t&&(t={});var n=t.preventWheelAction,o=void 0===n?"all":n,s=function(e,t){if(null==e)return{};var n,r,o={},s=Object.keys(e);for(r=0;r<s.length;r++)t.indexOf(n=s[r])>=0||(o[n]=e[n]);return o}(t,["preventWheelAction"]);return r=e({preventWheelAction:o},s)},m=function(e){return Math.min(150,Math.max(-150,e))},p=function(e){var n,a={deltaX:(n=e).deltaX*s[n.deltaMode],deltaY:n.deltaY*s[n.deltaMode],deltaZ:(n.deltaZ||0)*s[n.deltaMode],deltaMode:0,timestamp:n.timeStamp},l=a.deltaX,c=a.deltaY,u=a.deltaZ;e.preventDefault&&function(e){var t=e.deltaX,n=e.deltaY;switch(r.preventWheelAction){case"all":return!0;case"x":return Math.abs(t)>=Math.abs(n);case"y":return Math.abs(n)>=Math.abs(t)}}(e)&&e.preventDefault(),i.isStarted||T();var E=m(Math.abs(c)>Math.abs(l)?c:l),f=Math.abs(E),M=[l,c,u];if(i.isMomentum&&f>i.lastAbsDelta&&(b(),T()),o=e,i.axisMovement=i.axisMovement.map((function(e,t){return e+m(M[t])})),i.lastAbsDelta=f,i.scrollPointsToMerge.push({currentAbsDelta:f,axisDeltaUnclampt:[l,c],timestamp:e.timeStamp}),2===i.scrollPointsToMerge.length){var p=i.scrollPointsToMerge,x={currentAbsDelta:t(p.map((function(e){return e.currentAbsDelta}))),axisDeltaUnclampt:p.reduce((function(e,t){var n=t.axisDeltaUnclampt;return[e[0]+n[0],e[1]+n[1]]}),[0,0]),timestamp:t(p.map((function(e){return e.timestamp})))};i.scrollPoints.push(x),W(),i.isMomentum||_(),i.scrollPointsToMerge=[]}i.scrollPoints.length||d(),i.isStartPublished||(h(exports.WheelPhase.ANY_WHEEL_START),h(exports.WheelPhase.WHEEL_START),i.isStartPublished=!0),h(exports.WheelPhase.ANY_WHEEL,{axisDelta:M}),h(i.isMomentum?exports.WheelPhase.MOMENTUM_WHEEL:exports.WheelPhase.WHEEL,{axisDelta:M}),A()},d=function(){i.axisVelocity=i.scrollPointsToMerge[i.scrollPointsToMerge.length-1].axisDeltaUnclampt.map((function(e){return e/i.willEndTimeout}))},W=function(){var e=i.scrollPoints.slice(-2),t=e[0],n=e[1];if(t&&n){var r=n.timestamp-t.timestamp;if(!(r<=0)){var o=n.axisDeltaUnclampt.map((function(e){return e/r})),s=o.map((function(e,t){return e/(i.axisVelocity[t]||1)}));i.axisVelocity=o,i.accelerationFactors.push(s),x(r)}}},x=function(e){var t=10*Math.ceil(e/10)*1.2;i.isMomentum||(t=Math.max(100,2*t)),i.willEndTimeout=Math.min(1e3,Math.round(t))},v=function(e){return 0===e||e<=.96&&e>=.6},_=function(){if(i.accelerationFactors.length<5)return i.isMomentum;var e=i.accelerationFactors.slice(-5),t=e.reduce((function(e,t){if(!e)return!1;var n=!!t.reduce((function(e,t){return e&&e<1&&e===t?1:0})),r=t.filter(v).length===t.length;return n||r}),!0);return i.accelerationFactors=e,t&&!i.isMomentum&&(h(exports.WheelPhase.WHEEL_END),i.isMomentum=!0,h(exports.WheelPhase.MOMENTUM_WHEEL_START)),i.isMomentum},T=function(){(i={isStarted:!1,isStartPublished:!1,isMomentum:!1,lastAbsDelta:Infinity,axisMovement:[0,0],axisVelocity:[0,0],accelerationFactors:[],scrollPoints:[],scrollPointsToMerge:[],willEndTimeout:400}).isStarted=!0},A=function(){clearTimeout(a),a=setTimeout(b,i.willEndTimeout)},b=function(){i.isStarted&&(i.isMomentum?L()?h(exports.WheelPhase.MOMENTUM_WHEEL_END):h(exports.WheelPhase.MOMENTUM_WHEEL_CANCEL):h(exports.WheelPhase.WHEEL_END),h(exports.WheelPhase.ANY_WHEEL_END),i.isMomentum=!1,i.isStarted=!1)},L=function(){var e=i.scrollPoints.slice(-3).map((function(e){return e.currentAbsDelta}));return e.reduce((function(e,t){return e+t}),0)/e.length<=1.4};return M(n),Object.freeze({observe:function(e){return e.addEventListener("wheel",f,{passive:!1}),c.push(e),function(){return u(e)}},unobserve:u,disconnect:function(){c.forEach(u)},subscribe:function(e){return l.push(e),function(){return E(e)}},unsubscribe:E,feedWheel:f,updateOptions:M})}(n=exports.WheelPhase||(exports.WheelPhase={})).ANY_WHEEL_START="ANY_WHEEL_START",n.ANY_WHEEL="ANY_WHEEL",n.ANY_WHEEL_END="ANY_WHEEL_END",n.WHEEL_START="WHEEL_START",n.WHEEL="WHEEL",n.WHEEL_END="WHEEL_END",n.MOMENTUM_WHEEL_START="MOMENTUM_WHEEL_START",n.MOMENTUM_WHEEL="MOMENTUM_WHEEL",n.MOMENTUM_WHEEL_CANCEL="MOMENTUM_WHEEL_CANCEL",n.MOMENTUM_WHEEL_END="MOMENTUM_WHEEL_END",(r=exports.WheelReason||(exports.WheelReason={})).USER="USER",r.ANY="ANY";var i=((o={})[exports.WheelReason.USER]={start:exports.WheelPhase.WHEEL_START,wheel:exports.WheelPhase.WHEEL,end:exports.WheelPhase.WHEEL_END},o[exports.WheelReason.ANY]={start:exports.WheelPhase.ANY_WHEEL_START,wheel:exports.WheelPhase.ANY_WHEEL,end:exports.WheelPhase.ANY_WHEEL_END},o);exports.WheelAnalyzer=a,exports.WheelGestures=function(t){var n=void 0===t?{}:t,r=n.axis,o=n.wheelReason,s=void 0===o?exports.WheelReason.USER:o,l={down:!1,axisMovement:[0,0],axisVelocity:[0,0]},c=a({preventWheelAction:void 0===r?"all":r}),u=c.observe,E=c.unobserve,h=c.disconnect,f=function(){var e={};function t(t,n){e[t]=(e[t]||[]).filter((function(e){return e!==n}))}return Object.freeze({on:function(n,r){return e[n]=(e[n]||[]).concat(r),function(){return t(n,r)}},off:t,dispatch:function(t,n){t in e&&e[t].forEach((function(e){return e(n)}))}})}(),M=f.on,m=f.off,p=f.dispatch;return c.subscribe((function(t,n){switch(l={down:!0,axisMovement:n.axisMovement.map((function(e){return-1*e})),axisVelocity:[-1*n.axisVelocity[0],-1*n.axisVelocity[1]]},t){case i[s].start:l=e({},l,{down:!0}),p("wheelstart",l);break;case i[s].wheel:l=e({},l,{down:!0}),p("wheelmove",l);break;case i[s].end:l=e({},l,{down:!1}),p("wheelend",l);break;default:return}})),Object.freeze({observe:u,unobserve:E,disconnect:h,on:M,off:m})};
"use strict";function e(){return(e=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function t(e){return e.reduce((function(e,t){return e+t}))/e.length}function n(e,t){if(e.length!==t.length)throw new Error("vectors must be same length");return e.map((function(e,n){return e+t[n]}))}Object.defineProperty(exports,"__esModule",{value:!0});var r,o=[1,18,"undefined"!=typeof window&&window.innerHeight||800],s=[-1,-1,-1];(r=exports.WheelPhase||(exports.WheelPhase={})).ANY_WHEEL_START="ANY_WHEEL_START",r.ANY_WHEEL="ANY_WHEEL",r.ANY_WHEEL_END="ANY_WHEEL_END",r.WHEEL_START="WHEEL_START",r.WHEEL="WHEEL",r.WHEEL_END="WHEEL_END",r.MOMENTUM_WHEEL_START="MOMENTUM_WHEEL_START",r.MOMENTUM_WHEEL="MOMENTUM_WHEEL",r.MOMENTUM_WHEEL_CANCEL="MOMENTUM_WHEEL_CANCEL",r.MOMENTUM_WHEEL_END="MOMENTUM_WHEEL_END";var a,i,l=[!0,!0,!1];function u(r){var a;void 0===r&&(r={});var i,u,c={isStarted:!1,isStartPublished:!1,isMomentum:!1,lastAbsDelta:Infinity,axisMovement:[0,0,0],axisVelocity:[0,0,0],accelerationFactors:[],scrollPoints:[],scrollPointsToMerge:[],willEndTimeout:400},E=[],h=[],f=function(e){e.removeEventListener("wheel",p),h=h.filter((function(t){return t!==e}))},m=function(e){e&&(E=E.filter((function(t){return t!==e})))},M=function(t,n){var r=e({type:t,isEndingSoon:H(),isMomentum:c.isMomentum,axisMovement:c.axisMovement,axisVelocity:c.axisVelocity,axisDelta:[0,0,0],event:i},n);E.forEach((function(e){return e(t,r)}))},p=function(e){Array.isArray(e)?e.forEach((function(e){return v(e)})):v(e)},W=function(t){void 0===t&&(t={});var n=t.preventWheelAction,r=void 0===n?"all":n,o=t.reverseSign,s=void 0===o?l:o,i=function(e,t){if(null==e)return{};var n,r,o={},s=Object.keys(e);for(r=0;r<s.length;r++)t.indexOf(n=s[r])>=0||(o[n]=e[n]);return o}(t,["preventWheelAction","reverseSign"]);return a=e({preventWheelAction:r,reverseSign:s},i)},d=function(e){return Math.min(150,Math.max(-150,e))},v=function(r){var l,u=function(t,n){if(!n)return t;var r=!0===n?s:n.map((function(e){return e?-1:1}));return e({},t,{axisDelta:t.axisDelta.map((function(e,t){return e*r[t]}))})}({axisDelta:[(l=r).deltaX*o[l.deltaMode],l.deltaY*o[l.deltaMode],(l.deltaZ||0)*o[l.deltaMode]],timeStamp:l.timeStamp},a.reverseSign).axisDelta,E=u[0],h=u[1];r.preventDefault&&function(e){var t=e.deltaX,n=e.deltaY;switch(a.preventWheelAction){case"all":return!0;case"x":return Math.abs(t)>=Math.abs(n);case"y":return Math.abs(n)>=Math.abs(t)}}(r)&&r.preventDefault(),c.isStarted||L();var f=d(Math.abs(h)>Math.abs(E)?h:E),m=Math.abs(f);if(c.isMomentum&&m>c.lastAbsDelta&&(P(),L()),i=r,c.axisMovement=c.axisMovement.map((function(e,t){return e+d(u[t])})),c.lastAbsDelta=m,c.scrollPointsToMerge.push({currentAbsDelta:m,axisDeltaUnclampt:u,timestamp:r.timeStamp}),2===c.scrollPointsToMerge.length){var p=c.scrollPointsToMerge,W={currentAbsDelta:t(p.map((function(e){return e.currentAbsDelta}))),axisDeltaUnclampt:p.map((function(e){return e.axisDeltaUnclampt})).reduce(n),timestamp:t(p.map((function(e){return e.timestamp})))};c.scrollPoints.push(W),_(),c.isMomentum||b(),c.scrollPointsToMerge=[]}c.scrollPoints.length||x(),c.isStartPublished||(M(exports.WheelPhase.ANY_WHEEL_START),M(exports.WheelPhase.WHEEL_START),c.isStartPublished=!0),M(exports.WheelPhase.ANY_WHEEL,{axisDelta:u}),M(c.isMomentum?exports.WheelPhase.MOMENTUM_WHEEL:exports.WheelPhase.WHEEL,{axisDelta:u}),N()},x=function(){c.axisVelocity=c.scrollPointsToMerge[c.scrollPointsToMerge.length-1].axisDeltaUnclampt.map((function(e){return e/c.willEndTimeout}))},_=function(){var e=c.scrollPoints.slice(-2),t=e[0],n=e[1];if(t&&n){var r=n.timestamp-t.timestamp;if(!(r<=0)){var o=n.axisDeltaUnclampt.map((function(e){return e/r})),s=o.map((function(e,t){return e/(c.axisVelocity[t]||1)}));c.axisVelocity=o,c.accelerationFactors.push(s),T(r)}}},T=function(e){var t=10*Math.ceil(e/10)*1.2;c.isMomentum||(t=Math.max(100,2*t)),c.willEndTimeout=Math.min(1e3,Math.round(t))},A=function(e){return 0===e||e<=.96&&e>=.6},b=function(){if(c.accelerationFactors.length<5)return c.isMomentum;var e=c.accelerationFactors.slice(-5),t=e.reduce((function(e,t){if(!e)return!1;var n=!!t.reduce((function(e,t){return e&&e<1&&e===t?1:0})),r=t.filter(A).length===t.length;return n||r}),!0);return c.accelerationFactors=e,t&&!c.isMomentum&&(M(exports.WheelPhase.WHEEL_END),c.isMomentum=!0,M(exports.WheelPhase.MOMENTUM_WHEEL_START)),c.isMomentum},L=function(){(c={isStarted:!1,isStartPublished:!1,isMomentum:!1,lastAbsDelta:Infinity,axisMovement:[0,0,0],axisVelocity:[0,0,0],accelerationFactors:[],scrollPoints:[],scrollPointsToMerge:[],willEndTimeout:400}).isStarted=!0},N=function(){clearTimeout(u),u=setTimeout(P,c.willEndTimeout)},P=function(){c.isStarted&&(c.isMomentum?H()?M(exports.WheelPhase.MOMENTUM_WHEEL_END):M(exports.WheelPhase.MOMENTUM_WHEEL_CANCEL):M(exports.WheelPhase.WHEEL_END),M(exports.WheelPhase.ANY_WHEEL_END),c.isMomentum=!1,c.isStarted=!1)},H=function(){var e=c.scrollPoints.slice(-3).map((function(e){return e.currentAbsDelta}));return e.reduce((function(e,t){return e+t}),0)/e.length<=1.4};return W(r),Object.freeze({observe:function(e){return e.addEventListener("wheel",p,{passive:!1}),h.push(e),function(){return f(e)}},unobserve:f,disconnect:function(){h.forEach(f)},subscribe:function(e){return E.push(e),function(){return m(e)}},unsubscribe:m,feedWheel:p,updateOptions:W})}(a=exports.WheelReason||(exports.WheelReason={})).USER="USER",a.ANY="ANY";var c=((i={})[exports.WheelReason.USER]={start:exports.WheelPhase.WHEEL_START,wheel:exports.WheelPhase.WHEEL,end:exports.WheelPhase.WHEEL_END},i[exports.WheelReason.ANY]={start:exports.WheelPhase.ANY_WHEEL_START,wheel:exports.WheelPhase.ANY_WHEEL,end:exports.WheelPhase.ANY_WHEEL_END},i);exports.WheelAnalyzer=u,exports.WheelGestures=function(t){var n=void 0===t?{}:t,r=n.axis,o=n.wheelReason,s=void 0===o?exports.WheelReason.USER:o,a=u({preventWheelAction:void 0===r?"all":r}),i=a.observe,l=a.unobserve,E=a.disconnect,h=function(){var e={};function t(t,n){e[t]=(e[t]||[]).filter((function(e){return e!==n}))}return Object.freeze({on:function(n,r){return e[n]=(e[n]||[]).concat(r),function(){return t(n,r)}},off:t,dispatch:function(t,n){t in e&&e[t].forEach((function(e){return e(n)}))}})}(),f=h.on,m=h.off,M=h.dispatch;return a.subscribe((function(t,n){var r=e({},n,{down:!0,start:!1});switch(t){case c[s].start:r=e({},r,{down:!0,start:!0}),M("wheelstart",r);break;case c[s].wheel:r=e({},r,{down:!0}),M("wheelmove",r);break;case c[s].end:r=e({},r,{down:!1}),M("wheelend",r);break;default:return}})),Object.freeze({observe:i,unobserve:l,disconnect:E,on:f,off:m})},exports.addVectors=n,exports.average=t,exports.lastOf=function(e){return e[e.length-1]};
//# sourceMappingURL=wheel-gestures.cjs.production.min.js.map

@@ -64,2 +64,5 @@ function _extends() {

function lastOf(array) {
return array[array.length - 1];
}
function average(numbers) {

@@ -70,3 +73,12 @@ return numbers.reduce(function (a, b) {

}
function addVectors(v1, v2) {
if (v1.length !== v2.length) {
throw new Error('vectors must be same length');
}
return v1.map(function (val, i) {
return val + v2[i];
});
}
var LINE_HEIGHT = 16 * 1.125;

@@ -80,10 +92,22 @@ var PAGE_HEIGHT = typeof window !== 'undefined' && window.innerHeight || 800;

return {
deltaX: deltaX,
deltaY: deltaY,
deltaZ: deltaZ,
deltaMode: 0,
timestamp: e.timeStamp
axisDelta: [deltaX, deltaY, deltaZ],
timeStamp: e.timeStamp
};
}
var reverseAll = [-1, -1, -1];
function reverseSign(wheel, reverseSign) {
if (!reverseSign) {
return wheel;
}
var multipliers = reverseSign === true ? reverseAll : reverseSign.map(function (shouldReverse) {
return shouldReverse ? -1 : 1;
});
return _extends({}, wheel, {
axisDelta: wheel.axisDelta.map(function (delta, i) {
return delta * multipliers[i];
})
});
}
/**

@@ -100,4 +124,4 @@ * the timeout is automatically adjusted during a gesture

lastAbsDelta: Infinity,
axisMovement: [0, 0],
axisVelocity: [0, 0],
axisMovement: [0, 0, 0],
axisVelocity: [0, 0, 0],
accelerationFactors: [],

@@ -133,2 +157,3 @@ scrollPoints: [],

var SOON_ENDING_WHEEL_COUNT = 3;
var reverseSignDefault = [true, true, false];
function WheelAnalyzer(optionsParam) {

@@ -176,3 +201,7 @@ if (optionsParam === void 0) {

var unsubscribe = function unsubscribe(callback) {
if (!callback) throw new Error('please pass the callback which was used to subscribe');
if (!callback) {
if (isDev) throw new Error('please pass the callback used to subscribe');
return;
}
subscriptions = subscriptions.filter(function (s) {

@@ -217,6 +246,9 @@ return s !== callback;

preventWheelAction = _newOptions$preventWh === void 0 ? 'all' : _newOptions$preventWh,
otherOptions = _objectWithoutPropertiesLoose(_newOptions, ["preventWheelAction"]);
_newOptions$reverseSi = _newOptions.reverseSign,
reverseSign = _newOptions$reverseSi === void 0 ? reverseSignDefault : _newOptions$reverseSi,
otherOptions = _objectWithoutPropertiesLoose(_newOptions, ["preventWheelAction", "reverseSign"]);
options = _extends({
preventWheelAction: preventWheelAction
preventWheelAction: preventWheelAction,
reverseSign: reverseSign
}, otherOptions);

@@ -251,7 +283,8 @@ return options;

var processWheelEventData = function processWheelEventData(wheelEvent) {
var _normalizeWheel = normalizeWheel(wheelEvent),
deltaX = _normalizeWheel.deltaX,
deltaY = _normalizeWheel.deltaY,
deltaZ = _normalizeWheel.deltaZ;
var _reverseSign = reverseSign(normalizeWheel(wheelEvent), options.reverseSign),
axisDelta = _reverseSign.axisDelta;
var deltaX = axisDelta[0],
deltaY = axisDelta[1]; // TODO: deltaZ
if (wheelEvent.preventDefault && shouldPreventDefault(wheelEvent)) {

@@ -263,7 +296,7 @@ wheelEvent.preventDefault();

start();
}
} // TODO: deltaZ
var currentDelta = clampDelta(Math.abs(deltaY) > Math.abs(deltaX) ? deltaY : deltaX);
var currentAbsDelta = Math.abs(currentDelta);
var axisDelta = [deltaX, deltaY, deltaZ];

@@ -275,3 +308,4 @@ if (state.isMomentum && currentAbsDelta > state.lastAbsDelta) {

currentEvent = wheelEvent;
currentEvent = wheelEvent; // TODO: clampDelta like reverseSign
state.axisMovement = state.axisMovement.map(function (prevDelta, i) {

@@ -283,3 +317,3 @@ return prevDelta + clampDelta(axisDelta[i]);

currentAbsDelta: currentAbsDelta,
axisDeltaUnclampt: [deltaX, deltaY],
axisDeltaUnclampt: axisDelta,
timestamp: wheelEvent.timeStamp

@@ -295,10 +329,5 @@ });

})),
axisDeltaUnclampt: scrollPointsToMerge.reduce(function (_ref, _ref2) {
var sumX = _ref[0],
sumY = _ref[1];
var _ref2$axisDeltaUnclam = _ref2.axisDeltaUnclampt,
x = _ref2$axisDeltaUnclam[0],
y = _ref2$axisDeltaUnclam[1];
return [sumX + x, sumY + y];
}, [0, 0]),
axisDeltaUnclampt: scrollPointsToMerge.map(function (b) {
return b.axisDeltaUnclampt;
}).reduce(addVectors),
timestamp: average(scrollPointsToMerge.map(function (b) {

@@ -461,4 +490,4 @@ return b.timestamp;

var willEndSoon = function willEndSoon() {
var absDeltas = state.scrollPoints.slice(SOON_ENDING_WHEEL_COUNT * -1).map(function (_ref3) {
var currentAbsDelta = _ref3.currentAbsDelta;
var absDeltas = state.scrollPoints.slice(SOON_ENDING_WHEEL_COUNT * -1).map(function (_ref) {
var currentAbsDelta = _ref.currentAbsDelta;
return currentAbsDelta;

@@ -508,7 +537,2 @@ });

var dragState = {
down: false,
axisMovement: [0, 0],
axisVelocity: [0, 0]
};
var wheelAnalyzer = WheelAnalyzer({

@@ -527,10 +551,7 @@ preventWheelAction: axis

wheelAnalyzer.subscribe(function (type, data) {
dragState = {
var dragState = _extends({}, data, {
// TODO: move into analyzer
down: true,
// TODO: why * -1, should this not better be in analyzer or when used?
axisMovement: data.axisMovement.map(function (d) {
return d * -1;
}),
axisVelocity: [data.axisVelocity[0] * -1, data.axisVelocity[1] * -1]
};
start: false
});

@@ -540,3 +561,4 @@ switch (type) {

dragState = _extends({}, dragState, {
down: true
down: true,
start: true
});

@@ -573,3 +595,3 @@ dispatch('wheelstart', dragState);

export { WheelAnalyzer, WheelGestures, WheelPhase, WheelReason };
export { WheelAnalyzer, WheelGestures, WheelPhase, WheelReason, addVectors, average, lastOf };
//# sourceMappingURL=wheel-gestures.esm.js.map

@@ -1,5 +0,5 @@

export interface WheelDragState {
import { PhaseData } from '..';
export interface WheelDragState extends PhaseData {
down: boolean;
axisMovement: number[];
axisVelocity: [number, number];
start: boolean;
}

@@ -6,0 +6,0 @@ export declare enum WheelReason {

@@ -1,8 +0,7 @@

import { WheelEventData } from '../wheel-analyzer/wheel-analyzer-types';
export declare function normalizeWheel(e: WheelEventData): {
deltaX: number;
deltaY: number;
deltaZ: number;
deltaMode: 0;
timestamp: number;
};
import { ReverseSign, VectorXYZ, WheelEventData } from '../wheel-analyzer/wheel-analyzer-types';
export interface NormalizedWheel {
axisDelta: VectorXYZ;
timeStamp: number;
}
export declare function normalizeWheel(e: WheelEventData): NormalizedWheel;
export declare function reverseSign<T extends Pick<NormalizedWheel, 'axisDelta'>>(wheel: T, reverseSign: ReverseSign): T;
{
"name": "wheel-gestures",
"version": "1.3.0",
"version": "1.4.0",
"description": "wheel gestures and momentum detection",

@@ -5,0 +5,0 @@ "main": "dist/index.js",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc