vevet 3.11.0 → 3.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/components/DraggerMove/index.js +17 -1
- package/lib/cjs/components/DraggerMove/index.js.map +1 -1
- package/lib/cjs/components/SlideProgress/index.js +37 -11
- package/lib/cjs/components/SlideProgress/index.js.map +1 -1
- package/lib/cjs/utils/scroll/index.js +1 -0
- package/lib/cjs/utils/scroll/index.js.map +1 -1
- package/lib/cjs/utils/scroll/isPageScrolling.js +21 -0
- package/lib/cjs/utils/scroll/isPageScrolling.js.map +1 -0
- package/lib/cjs/version.js +1 -1
- package/lib/esm/components/DraggerMove/index.js +14 -0
- package/lib/esm/components/DraggerMove/index.js.map +1 -1
- package/lib/esm/components/SlideProgress/index.js +37 -11
- package/lib/esm/components/SlideProgress/index.js.map +1 -1
- package/lib/esm/utils/scroll/index.js +1 -0
- package/lib/esm/utils/scroll/index.js.map +1 -1
- package/lib/esm/utils/scroll/isPageScrolling.js +17 -0
- package/lib/esm/utils/scroll/isPageScrolling.js.map +1 -0
- package/lib/esm/version.js +1 -1
- package/lib/types/components/DraggerMove/index.d.ts +3 -0
- package/lib/types/components/DraggerMove/index.d.ts.map +1 -1
- package/lib/types/components/DraggerMove/types.d.ts +1 -0
- package/lib/types/components/DraggerMove/types.d.ts.map +1 -1
- package/lib/types/components/SlideProgress/index.d.ts +9 -1
- package/lib/types/components/SlideProgress/index.d.ts.map +1 -1
- package/lib/types/components/SlideProgress/types.d.ts +5 -0
- package/lib/types/components/SlideProgress/types.d.ts.map +1 -1
- package/lib/types/utils/scroll/index.d.ts +1 -0
- package/lib/types/utils/scroll/index.d.ts.map +1 -1
- package/lib/types/utils/scroll/isPageScrolling.d.ts +2 -0
- package/lib/types/utils/scroll/isPageScrolling.d.ts.map +1 -0
- package/lib/types/version.d.ts +1 -1
- package/package.json +1 -1
- package/src/components/DraggerMove/index.ts +15 -0
- package/src/components/DraggerMove/types.ts +1 -0
- package/src/components/SlideProgress/index.ts +48 -12
- package/src/components/SlideProgress/stories/index.tsx +29 -3
- package/src/components/SlideProgress/types.ts +5 -0
- package/src/utils/scroll/index.ts +1 -0
- package/src/utils/scroll/isPageScrolling.ts +21 -0
- package/src/version.ts +1 -1
|
@@ -35,7 +35,9 @@ var DraggerBase_1 = require("../DraggerBase");
|
|
|
35
35
|
var DraggerMove = /** @class */ (function (_super) {
|
|
36
36
|
__extends(DraggerMove, _super);
|
|
37
37
|
function DraggerMove() {
|
|
38
|
-
|
|
38
|
+
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
39
|
+
_this._absDiff = { x: 0, y: 0 };
|
|
40
|
+
return _this;
|
|
39
41
|
}
|
|
40
42
|
DraggerMove.prototype._getDefaultProps = function () {
|
|
41
43
|
return __assign(__assign({}, _super.prototype._getDefaultProps.call(this)), { disablePointerEventsAt: false });
|
|
@@ -62,6 +64,14 @@ var DraggerMove = /** @class */ (function (_super) {
|
|
|
62
64
|
enumerable: false,
|
|
63
65
|
configurable: true
|
|
64
66
|
});
|
|
67
|
+
Object.defineProperty(DraggerMove.prototype, "absDiff", {
|
|
68
|
+
/** Absolute difference between start and current coords */
|
|
69
|
+
get: function () {
|
|
70
|
+
return this._absDiff;
|
|
71
|
+
},
|
|
72
|
+
enumerable: false,
|
|
73
|
+
configurable: true
|
|
74
|
+
});
|
|
65
75
|
/** Add runtime events */
|
|
66
76
|
DraggerMove.prototype._addRuntimeEvents = function () {
|
|
67
77
|
var _this = this;
|
|
@@ -91,6 +101,9 @@ var DraggerMove = /** @class */ (function (_super) {
|
|
|
91
101
|
// update coordinates
|
|
92
102
|
this.prevCoords = { x: this.coords.x, y: this.coords.y };
|
|
93
103
|
this.coords = { x: x, y: y };
|
|
104
|
+
// update absolute difference
|
|
105
|
+
this._absDiff.x += Math.abs(this.stepCoords.x);
|
|
106
|
+
this._absDiff.y += Math.abs(this.stepCoords.y);
|
|
94
107
|
// disable pointer events
|
|
95
108
|
this._togglePointerEvents(false);
|
|
96
109
|
// launch callbacks
|
|
@@ -100,12 +113,15 @@ var DraggerMove = /** @class */ (function (_super) {
|
|
|
100
113
|
coords: this.coords,
|
|
101
114
|
step: this.stepCoords,
|
|
102
115
|
diff: this.diffCoords,
|
|
116
|
+
absDiff: this.absDiff,
|
|
103
117
|
});
|
|
104
118
|
return true;
|
|
105
119
|
};
|
|
106
120
|
/** Event on drag end */
|
|
107
121
|
DraggerMove.prototype._handleEnd = function (event) {
|
|
108
122
|
_super.prototype._handleEnd.call(this, event);
|
|
123
|
+
// reset absolute difference
|
|
124
|
+
this._absDiff = { x: 0, y: 0 };
|
|
109
125
|
this._togglePointerEvents(true);
|
|
110
126
|
};
|
|
111
127
|
DraggerMove.prototype._togglePointerEvents = function (isEnabledProp) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/DraggerMove/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAA6C;AAC7C,8CAA2D;AAK3D;;GAEG;AACH;IAMU,+BAAyD;IANnE;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/DraggerMove/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,6 +30,7 @@ exports.SlideProgress = void 0;
|
|
|
30
30
|
var Component_1 = require("../../base/Component");
|
|
31
31
|
var math_1 = require("../../utils/math");
|
|
32
32
|
var normalizeWheel_1 = require("../../utils/scroll/normalizeWheel");
|
|
33
|
+
var isPageScrolling_1 = require("../../utils/scroll/isPageScrolling");
|
|
33
34
|
var AnimationFrame_1 = require("../AnimationFrame");
|
|
34
35
|
var DraggerMove_1 = require("../DraggerMove");
|
|
35
36
|
var Timeline_1 = require("../Timeline");
|
|
@@ -43,6 +44,8 @@ var SlideProgress = /** @class */ (function (_super) {
|
|
|
43
44
|
var _this = _super.call(this, initialProps, false) || this;
|
|
44
45
|
/** Progress (current and target) */
|
|
45
46
|
_this._progressLerp = { current: 0, target: 0 };
|
|
47
|
+
/** Can drag */
|
|
48
|
+
_this._canDragMove = false;
|
|
46
49
|
var container = _this.props.container;
|
|
47
50
|
// create animation frame
|
|
48
51
|
_this._animationFrame = new AnimationFrame_1.AnimationFrame();
|
|
@@ -56,7 +59,7 @@ var SlideProgress = /** @class */ (function (_super) {
|
|
|
56
59
|
var event = _a.event;
|
|
57
60
|
return event.stopPropagation();
|
|
58
61
|
});
|
|
59
|
-
_this._dragger.addCallback('end', function () { return _this.
|
|
62
|
+
_this._dragger.addCallback('end', function () { return _this._handleDragEnd(); });
|
|
60
63
|
// add wheel event
|
|
61
64
|
_this.addEventListener(container, 'wheel', function (event) {
|
|
62
65
|
return _this._handleWheel(event);
|
|
@@ -68,7 +71,7 @@ var SlideProgress = /** @class */ (function (_super) {
|
|
|
68
71
|
return _this;
|
|
69
72
|
}
|
|
70
73
|
SlideProgress.prototype._getDefaultProps = function () {
|
|
71
|
-
return __assign(__assign({}, _super.prototype._getDefaultProps.call(this)), { min: 0, max: 3, step: 1, ease: 0.1, friction: 0.5, hasDrag: true, dragSpeed: 1, dragDirection: 'y', hasWheel: true, wheelSpeed: 1, stickyEndDuration: 500 });
|
|
74
|
+
return __assign(__assign({}, _super.prototype._getDefaultProps.call(this)), { min: 0, max: 3, step: 1, ease: 0.1, friction: 0.5, hasDrag: true, dragSpeed: 1, dragDirection: 'y', hasWheel: true, wheelSpeed: 1, stickyEndDuration: 500, dragThreshold: 3 });
|
|
72
75
|
};
|
|
73
76
|
Object.defineProperty(SlideProgress.prototype, "progress", {
|
|
74
77
|
/** Progress */
|
|
@@ -115,28 +118,51 @@ var SlideProgress = /** @class */ (function (_super) {
|
|
|
115
118
|
// callbacks
|
|
116
119
|
this.callbacks.tbt('wheel', wheel);
|
|
117
120
|
};
|
|
118
|
-
/**
|
|
121
|
+
/** Check if can move */
|
|
122
|
+
SlideProgress.prototype._checkCanDragMove = function (absDiff) {
|
|
123
|
+
var _a = this.props, dragDirection = _a.dragDirection, dragThreshold = _a.dragThreshold;
|
|
124
|
+
if (this._canDragMove) {
|
|
125
|
+
return true;
|
|
126
|
+
}
|
|
127
|
+
if (absDiff.x < dragThreshold && absDiff.y < dragThreshold) {
|
|
128
|
+
return false;
|
|
129
|
+
}
|
|
130
|
+
if (dragDirection === 'x' && absDiff.x > absDiff.y) {
|
|
131
|
+
this._canDragMove = true;
|
|
132
|
+
}
|
|
133
|
+
if (dragDirection === 'y' && absDiff.y > absDiff.x) {
|
|
134
|
+
this._canDragMove = true;
|
|
135
|
+
}
|
|
136
|
+
return false;
|
|
137
|
+
};
|
|
138
|
+
/** Handle drag move event */
|
|
119
139
|
SlideProgress.prototype._handleDrag = function (data) {
|
|
120
|
-
if (this._timelineTo) {
|
|
140
|
+
if (this._timelineTo || !this.props.hasDrag || (0, isPageScrolling_1.isPageScrolling)()) {
|
|
121
141
|
return;
|
|
122
142
|
}
|
|
123
|
-
|
|
124
|
-
var progress = this._progressLerp;
|
|
125
|
-
var _a = this.props, container = _a.container, dragSpeed = _a.dragSpeed, hasDrag = _a.hasDrag, dragDirection = _a.dragDirection, min = _a.min, max = _a.max;
|
|
126
|
-
if (!hasDrag) {
|
|
143
|
+
if (!this._checkCanDragMove(data.absDiff)) {
|
|
127
144
|
return;
|
|
128
145
|
}
|
|
129
|
-
var
|
|
130
|
-
var
|
|
131
|
-
|
|
146
|
+
var _a = this, progress = _a._progressLerp, props = _a.props;
|
|
147
|
+
var container = props.container, dragSpeed = props.dragSpeed, dragDirection = props.dragDirection, min = props.min, max = props.max;
|
|
148
|
+
var event = data.event, step = data.step;
|
|
149
|
+
if (event.cancelable) {
|
|
132
150
|
event.preventDefault();
|
|
133
151
|
}
|
|
152
|
+
event.stopPropagation();
|
|
153
|
+
var defaultIterator = dragDirection === 'y' ? step.y : step.x;
|
|
154
|
+
var iteratorDivider = dragDirection === 'y' ? container.clientHeight : container.clientWidth;
|
|
134
155
|
var iterator = (defaultIterator * dragSpeed) / iteratorDivider;
|
|
135
156
|
progress.target = (0, math_1.clamp)(progress.target - iterator, [min, max]);
|
|
136
157
|
this._animationFrame.play();
|
|
137
158
|
// callbacks
|
|
138
159
|
this.callbacks.tbt('dragMove', data);
|
|
139
160
|
};
|
|
161
|
+
/** Handler drag end event */
|
|
162
|
+
SlideProgress.prototype._handleDragEnd = function () {
|
|
163
|
+
this._canDragMove = false;
|
|
164
|
+
this._goStickyEnd();
|
|
165
|
+
};
|
|
140
166
|
/** Get nearest stepped value to given progress */
|
|
141
167
|
SlideProgress.prototype._getNearestStep = function (value) {
|
|
142
168
|
return Math.round(value / this.props.step) * this.props.step;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/SlideProgress/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAA+D;AAE/D,qCAA2C;AAC3C,gEAA+D;AAC/D,oDAAmD;AACnD,8CAA2D;AAC3D,wCAAuC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/SlideProgress/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./getScrollValues"), exports);
|
|
18
|
+
__exportStar(require("./isPageScrolling"), exports);
|
|
18
19
|
__exportStar(require("./normalizeWheel"), exports);
|
|
19
20
|
__exportStar(require("./onScroll"), exports);
|
|
20
21
|
__exportStar(require("./scrollTo"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/scroll/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,mDAAiC;AACjC,6CAA2B;AAC3B,6CAA2B;AAC3B,oDAAkC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/scroll/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,oDAAkC;AAClC,mDAAiC;AACjC,6CAA2B;AAC3B,6CAA2B;AAC3B,oDAAkC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isPageScrolling = void 0;
|
|
4
|
+
var isScrolling = false;
|
|
5
|
+
if (typeof window !== 'undefined') {
|
|
6
|
+
var timeout_1 = null;
|
|
7
|
+
window.addEventListener('scroll', function () {
|
|
8
|
+
if (timeout_1) {
|
|
9
|
+
clearTimeout(timeout_1);
|
|
10
|
+
}
|
|
11
|
+
isScrolling = true;
|
|
12
|
+
timeout_1 = setTimeout(function () {
|
|
13
|
+
isScrolling = false;
|
|
14
|
+
}, 150);
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
function isPageScrolling() {
|
|
18
|
+
return isScrolling;
|
|
19
|
+
}
|
|
20
|
+
exports.isPageScrolling = isPageScrolling;
|
|
21
|
+
//# sourceMappingURL=isPageScrolling.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isPageScrolling.js","sourceRoot":"","sources":["../../../../src/utils/scroll/isPageScrolling.ts"],"names":[],"mappings":";;;AAAA,IAAI,WAAW,GAAG,KAAK,CAAC;AAExB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;IACjC,IAAI,SAAO,GAA0B,IAAI,CAAC;IAE1C,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE;QAChC,IAAI,SAAO,EAAE;YACX,YAAY,CAAC,SAAO,CAAC,CAAC;SACvB;QAED,WAAW,GAAG,IAAI,CAAC;QAEnB,SAAO,GAAG,UAAU,CAAC;YACnB,WAAW,GAAG,KAAK,CAAC;QACtB,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC,CAAC,CAAC;CACJ;AAED,SAAgB,eAAe;IAC7B,OAAO,WAAW,CAAC;AACrB,CAAC;AAFD,0CAEC"}
|
package/lib/cjs/version.js
CHANGED
|
@@ -4,6 +4,10 @@ import { DraggerBase } from '../DraggerBase';
|
|
|
4
4
|
* `Dragger` with 'move' callbacks
|
|
5
5
|
*/
|
|
6
6
|
export class DraggerMove extends DraggerBase {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
this._absDiff = { x: 0, y: 0 };
|
|
10
|
+
}
|
|
7
11
|
_getDefaultProps() {
|
|
8
12
|
return Object.assign(Object.assign({}, super._getDefaultProps()), { disablePointerEventsAt: false });
|
|
9
13
|
}
|
|
@@ -21,6 +25,10 @@ export class DraggerMove extends DraggerBase {
|
|
|
21
25
|
y: this.coords.y - this.startCoords.y,
|
|
22
26
|
};
|
|
23
27
|
}
|
|
28
|
+
/** Absolute difference between start and current coords */
|
|
29
|
+
get absDiff() {
|
|
30
|
+
return this._absDiff;
|
|
31
|
+
}
|
|
24
32
|
/** Add runtime events */
|
|
25
33
|
_addRuntimeEvents() {
|
|
26
34
|
super._addRuntimeEvents();
|
|
@@ -49,6 +57,9 @@ export class DraggerMove extends DraggerBase {
|
|
|
49
57
|
// update coordinates
|
|
50
58
|
this.prevCoords = { x: this.coords.x, y: this.coords.y };
|
|
51
59
|
this.coords = { x, y };
|
|
60
|
+
// update absolute difference
|
|
61
|
+
this._absDiff.x += Math.abs(this.stepCoords.x);
|
|
62
|
+
this._absDiff.y += Math.abs(this.stepCoords.y);
|
|
52
63
|
// disable pointer events
|
|
53
64
|
this._togglePointerEvents(false);
|
|
54
65
|
// launch callbacks
|
|
@@ -58,12 +69,15 @@ export class DraggerMove extends DraggerBase {
|
|
|
58
69
|
coords: this.coords,
|
|
59
70
|
step: this.stepCoords,
|
|
60
71
|
diff: this.diffCoords,
|
|
72
|
+
absDiff: this.absDiff,
|
|
61
73
|
});
|
|
62
74
|
return true;
|
|
63
75
|
}
|
|
64
76
|
/** Event on drag end */
|
|
65
77
|
_handleEnd(event) {
|
|
66
78
|
super._handleEnd(event);
|
|
79
|
+
// reset absolute difference
|
|
80
|
+
this._absDiff = { x: 0, y: 0 };
|
|
67
81
|
this._togglePointerEvents(true);
|
|
68
82
|
}
|
|
69
83
|
_togglePointerEvents(isEnabledProp) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/DraggerMove/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAgB,MAAM,gBAAgB,CAAC;AAK3D;;GAEG;AACH,MAAM,OAAO,WAMX,SAAQ,WAAyD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/DraggerMove/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Component as ComponentClass } from '../../base/Component';
|
|
2
2
|
import { clamp, lerp } from '../../utils/math';
|
|
3
3
|
import { normalizeWheel } from '../../utils/scroll/normalizeWheel';
|
|
4
|
+
import { isPageScrolling } from '../../utils/scroll/isPageScrolling';
|
|
4
5
|
import { AnimationFrame } from '../AnimationFrame';
|
|
5
6
|
import { DraggerMove } from '../DraggerMove';
|
|
6
7
|
import { Timeline } from '../Timeline';
|
|
@@ -9,7 +10,7 @@ import { Timeline } from '../Timeline';
|
|
|
9
10
|
*/
|
|
10
11
|
export class SlideProgress extends ComponentClass {
|
|
11
12
|
_getDefaultProps() {
|
|
12
|
-
return Object.assign(Object.assign({}, super._getDefaultProps()), { min: 0, max: 3, step: 1, ease: 0.1, friction: 0.5, hasDrag: true, dragSpeed: 1, dragDirection: 'y', hasWheel: true, wheelSpeed: 1, stickyEndDuration: 500 });
|
|
13
|
+
return Object.assign(Object.assign({}, super._getDefaultProps()), { min: 0, max: 3, step: 1, ease: 0.1, friction: 0.5, hasDrag: true, dragSpeed: 1, dragDirection: 'y', hasWheel: true, wheelSpeed: 1, stickyEndDuration: 500, dragThreshold: 3 });
|
|
13
14
|
}
|
|
14
15
|
/** Progress */
|
|
15
16
|
get progress() {
|
|
@@ -23,6 +24,8 @@ export class SlideProgress extends ComponentClass {
|
|
|
23
24
|
super(initialProps, false);
|
|
24
25
|
/** Progress (current and target) */
|
|
25
26
|
this._progressLerp = { current: 0, target: 0 };
|
|
27
|
+
/** Can drag */
|
|
28
|
+
this._canDragMove = false;
|
|
26
29
|
const { container } = this.props;
|
|
27
30
|
// create animation frame
|
|
28
31
|
this._animationFrame = new AnimationFrame();
|
|
@@ -31,7 +34,7 @@ export class SlideProgress extends ComponentClass {
|
|
|
31
34
|
this._dragger = new DraggerMove({ container });
|
|
32
35
|
this._dragger.addCallback('move', (event) => this._handleDrag(event));
|
|
33
36
|
this._dragger.addCallback('start', ({ event }) => event.stopPropagation());
|
|
34
|
-
this._dragger.addCallback('end', () => this.
|
|
37
|
+
this._dragger.addCallback('end', () => this._handleDragEnd());
|
|
35
38
|
// add wheel event
|
|
36
39
|
this.addEventListener(container, 'wheel', (event) => this._handleWheel(event));
|
|
37
40
|
// initialize the class
|
|
@@ -67,28 +70,51 @@ export class SlideProgress extends ComponentClass {
|
|
|
67
70
|
// callbacks
|
|
68
71
|
this.callbacks.tbt('wheel', wheel);
|
|
69
72
|
}
|
|
70
|
-
/**
|
|
73
|
+
/** Check if can move */
|
|
74
|
+
_checkCanDragMove(absDiff) {
|
|
75
|
+
const { dragDirection, dragThreshold } = this.props;
|
|
76
|
+
if (this._canDragMove) {
|
|
77
|
+
return true;
|
|
78
|
+
}
|
|
79
|
+
if (absDiff.x < dragThreshold && absDiff.y < dragThreshold) {
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
if (dragDirection === 'x' && absDiff.x > absDiff.y) {
|
|
83
|
+
this._canDragMove = true;
|
|
84
|
+
}
|
|
85
|
+
if (dragDirection === 'y' && absDiff.y > absDiff.x) {
|
|
86
|
+
this._canDragMove = true;
|
|
87
|
+
}
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
/** Handle drag move event */
|
|
71
91
|
_handleDrag(data) {
|
|
72
|
-
if (this._timelineTo) {
|
|
92
|
+
if (this._timelineTo || !this.props.hasDrag || isPageScrolling()) {
|
|
73
93
|
return;
|
|
74
94
|
}
|
|
75
|
-
|
|
76
|
-
const { _progressLerp: progress } = this;
|
|
77
|
-
const { container, dragSpeed, hasDrag, dragDirection, min, max } = this.props;
|
|
78
|
-
if (!hasDrag) {
|
|
95
|
+
if (!this._checkCanDragMove(data.absDiff)) {
|
|
79
96
|
return;
|
|
80
97
|
}
|
|
81
|
-
const
|
|
82
|
-
const
|
|
83
|
-
|
|
98
|
+
const { _progressLerp: progress, props } = this;
|
|
99
|
+
const { container, dragSpeed, dragDirection, min, max } = props;
|
|
100
|
+
const { event, step } = data;
|
|
101
|
+
if (event.cancelable) {
|
|
84
102
|
event.preventDefault();
|
|
85
103
|
}
|
|
104
|
+
event.stopPropagation();
|
|
105
|
+
const defaultIterator = dragDirection === 'y' ? step.y : step.x;
|
|
106
|
+
const iteratorDivider = dragDirection === 'y' ? container.clientHeight : container.clientWidth;
|
|
86
107
|
const iterator = (defaultIterator * dragSpeed) / iteratorDivider;
|
|
87
108
|
progress.target = clamp(progress.target - iterator, [min, max]);
|
|
88
109
|
this._animationFrame.play();
|
|
89
110
|
// callbacks
|
|
90
111
|
this.callbacks.tbt('dragMove', data);
|
|
91
112
|
}
|
|
113
|
+
/** Handler drag end event */
|
|
114
|
+
_handleDragEnd() {
|
|
115
|
+
this._canDragMove = false;
|
|
116
|
+
this._goStickyEnd();
|
|
117
|
+
}
|
|
92
118
|
/** Get nearest stepped value to given progress */
|
|
93
119
|
_getNearestStep(value) {
|
|
94
120
|
return Math.round(value / this.props.step) * this.props.step;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/SlideProgress/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE/D,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAgB,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/SlideProgress/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/scroll/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/scroll/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
let isScrolling = false;
|
|
2
|
+
if (typeof window !== 'undefined') {
|
|
3
|
+
let timeout = null;
|
|
4
|
+
window.addEventListener('scroll', () => {
|
|
5
|
+
if (timeout) {
|
|
6
|
+
clearTimeout(timeout);
|
|
7
|
+
}
|
|
8
|
+
isScrolling = true;
|
|
9
|
+
timeout = setTimeout(() => {
|
|
10
|
+
isScrolling = false;
|
|
11
|
+
}, 150);
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
export function isPageScrolling() {
|
|
15
|
+
return isScrolling;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=isPageScrolling.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isPageScrolling.js","sourceRoot":"","sources":["../../../../src/utils/scroll/isPageScrolling.ts"],"names":[],"mappings":"AAAA,IAAI,WAAW,GAAG,KAAK,CAAC;AAExB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;IACjC,IAAI,OAAO,GAA0B,IAAI,CAAC;IAE1C,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE;QACrC,IAAI,OAAO,EAAE;YACX,YAAY,CAAC,OAAO,CAAC,CAAC;SACvB;QAED,WAAW,GAAG,IAAI,CAAC;QAEnB,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YACxB,WAAW,GAAG,KAAK,CAAC;QACtB,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC,CAAC,CAAC;CACJ;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,WAAW,CAAC;AACrB,CAAC"}
|
package/lib/esm/version.js
CHANGED
|
@@ -21,6 +21,9 @@ export declare class DraggerMove<StaticProps extends NDraggerMove.IStaticProps =
|
|
|
21
21
|
x: number;
|
|
22
22
|
y: number;
|
|
23
23
|
};
|
|
24
|
+
protected _absDiff: NDraggerBase.IVector2;
|
|
25
|
+
/** Absolute difference between start and current coords */
|
|
26
|
+
get absDiff(): NDraggerBase.IVector2;
|
|
24
27
|
/** Add runtime events */
|
|
25
28
|
protected _addRuntimeEvents(): void;
|
|
26
29
|
/** Event on move */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/DraggerMove/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,YAAY,EAAE,YAAY,EAAE,CAAC;AAE7B;;GAEG;AACH,qBAAa,WAAW,CACtB,WAAW,SAAS,YAAY,CAAC,YAAY,GAAG,YAAY,CAAC,YAAY,EACzE,eAAe,SACb,YAAY,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,EAC/D,cAAc,SACZ,YAAY,CAAC,eAAe,GAAG,YAAY,CAAC,eAAe,CAC7D,SAAQ,WAAW,CAAC,WAAW,EAAE,eAAe,EAAE,cAAc,CAAC;IACjE,SAAS,CAAC,gBAAgB;;;;;;IAO1B,gBAAgB;IAChB,IAAI,UAAU;;;MAKb;IAED,kDAAkD;IAClD,IAAI,UAAU;;;MAKb;IAED,yBAAyB;IACzB,SAAS,CAAC,iBAAiB;IAoC3B,oBAAoB;IACpB,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,YAAY,CAAC,MAAM;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/DraggerMove/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,YAAY,EAAE,YAAY,EAAE,CAAC;AAE7B;;GAEG;AACH,qBAAa,WAAW,CACtB,WAAW,SAAS,YAAY,CAAC,YAAY,GAAG,YAAY,CAAC,YAAY,EACzE,eAAe,SACb,YAAY,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,EAC/D,cAAc,SACZ,YAAY,CAAC,eAAe,GAAG,YAAY,CAAC,eAAe,CAC7D,SAAQ,WAAW,CAAC,WAAW,EAAE,eAAe,EAAE,cAAc,CAAC;IACjE,SAAS,CAAC,gBAAgB;;;;;;IAO1B,gBAAgB;IAChB,IAAI,UAAU;;;MAKb;IAED,kDAAkD;IAClD,IAAI,UAAU;;;MAKb;IAED,SAAS,CAAC,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAkB;IAE3D,2DAA2D;IAC3D,IAAI,OAAO,0BAEV;IAED,yBAAyB;IACzB,SAAS,CAAC,iBAAiB;IAoC3B,oBAAoB;IACpB,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,YAAY,CAAC,MAAM;IA+BhD,wBAAwB;IACxB,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC,MAAM;IAS/C,SAAS,CAAC,oBAAoB,CAAC,aAAa,EAAE,OAAO;IAiBrD,yBAAyB;IACzB,SAAS,CAAC,QAAQ;CAGnB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/DraggerMove/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,yBAAiB,YAAY,CAAC;IAC5B,UAAiB,YAAa,SAAQ,YAAY,CAAC,YAAY;QAC7D;;;;;WAKG;QACH,sBAAsB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;KACzC;IAED,UAAiB,gBAAiB,SAAQ,YAAY,CAAC,gBAAgB;KAAG;IAE1E,UAAiB,eAAgB,SAAQ,YAAY,CAAC,eAAe;QACnE,IAAI,EAAE,cAAc,CAAC;KACtB;IAED,UAAiB,cAAe,SAAQ,YAAY,CAAC,eAAe;QAClE,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC;QAC5B,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/DraggerMove/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,yBAAiB,YAAY,CAAC;IAC5B,UAAiB,YAAa,SAAQ,YAAY,CAAC,YAAY;QAC7D;;;;;WAKG;QACH,sBAAsB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;KACzC;IAED,UAAiB,gBAAiB,SAAQ,YAAY,CAAC,gBAAgB;KAAG;IAE1E,UAAiB,eAAgB,SAAQ,YAAY,CAAC,eAAe;QACnE,IAAI,EAAE,cAAc,CAAC;KACtB;IAED,UAAiB,cAAe,SAAQ,YAAY,CAAC,eAAe;QAClE,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC;QAC5B,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC;QAC5B,OAAO,EAAE,YAAY,CAAC,QAAQ,CAAC;KAChC;CACF"}
|
|
@@ -4,6 +4,7 @@ import { NSlideProgress } from './types';
|
|
|
4
4
|
import { AnimationFrame } from '../AnimationFrame';
|
|
5
5
|
import { DraggerMove, NDraggerMove } from '../DraggerMove';
|
|
6
6
|
import { Timeline } from '../Timeline';
|
|
7
|
+
import { NDraggerBase } from '../DraggerBase';
|
|
7
8
|
export type { NSlideProgress };
|
|
8
9
|
/**
|
|
9
10
|
* Slide progress handler
|
|
@@ -21,6 +22,7 @@ export declare class SlideProgress<StaticProps extends NSlideProgress.IStaticPro
|
|
|
21
22
|
hasWheel: boolean;
|
|
22
23
|
wheelSpeed: number;
|
|
23
24
|
stickyEndDuration: number;
|
|
25
|
+
dragThreshold: number;
|
|
24
26
|
};
|
|
25
27
|
/** Animation frame */
|
|
26
28
|
protected _animationFrame: AnimationFrame;
|
|
@@ -36,12 +38,18 @@ export declare class SlideProgress<StaticProps extends NSlideProgress.IStaticPro
|
|
|
36
38
|
protected _timelineTo?: Timeline;
|
|
37
39
|
/** Sticky timeout */
|
|
38
40
|
protected _stickyEndTimeout?: NodeJS.Timeout;
|
|
41
|
+
/** Can drag */
|
|
42
|
+
protected _canDragMove: boolean;
|
|
39
43
|
constructor(initialProps?: StaticProps & ChangeableProps, canInit?: boolean);
|
|
40
44
|
protected _onPropsMutate(): void;
|
|
41
45
|
/** Handle wheel event */
|
|
42
46
|
protected _handleWheel(event: WheelEvent): void;
|
|
43
|
-
/**
|
|
47
|
+
/** Check if can move */
|
|
48
|
+
protected _checkCanDragMove(absDiff: NDraggerBase.IVector2): boolean;
|
|
49
|
+
/** Handle drag move event */
|
|
44
50
|
protected _handleDrag(data: NDraggerMove.IMoveParameter): void;
|
|
51
|
+
/** Handler drag end event */
|
|
52
|
+
private _handleDragEnd;
|
|
45
53
|
/** Get nearest stepped value to given progress */
|
|
46
54
|
protected _getNearestStep(value: number): number;
|
|
47
55
|
/** Callback on animation frame */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/SlideProgress/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/SlideProgress/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAIzC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,YAAY,EAAE,cAAc,EAAE,CAAC;AAE/B;;GAEG;AACH,qBAAa,aAAa,CACxB,WAAW,SAAS,cAAc,CAAC,YAAY,GAAG,cAAc,CAAC,YAAY,EAC7E,eAAe,SACb,cAAc,CAAC,gBAAgB,GAAG,cAAc,CAAC,gBAAgB,EACnE,cAAc,SACZ,cAAc,CAAC,eAAe,GAAG,cAAc,CAAC,eAAe,CACjE,SAAQ,cAAc,CAAC,WAAW,EAAE,eAAe,EAAE,cAAc,CAAC;IACpE,SAAS,CAAC,gBAAgB;;;;;;;;;;;;;;IAkB1B,sBAAsB;IACtB,SAAS,CAAC,eAAe,EAAE,cAAc,CAAC;IAE1C,qBAAqB;IACrB,SAAS,CAAC,QAAQ,EAAE,WAAW,CAAC;IAEhC,oCAAoC;IACpC,SAAS,CAAC,aAAa,EAAE,cAAc,CAAC,SAAS,CAA6B;IAE9E,eAAe;IACf,IAAI,QAAQ,WAEX;IAED,uBAAuB;IACvB,IAAI,eAAe,WAElB;IAED,wBAAwB;IACxB,SAAS,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC;IAEjC,qBAAqB;IACrB,SAAS,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;IAE7C,eAAe;IACf,SAAS,CAAC,YAAY,UAAS;gBAEnB,YAAY,CAAC,EAAE,WAAW,GAAG,eAAe,EAAE,OAAO,UAAO;IA4BxE,SAAS,CAAC,cAAc;IAMxB,yBAAyB;IACzB,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,UAAU;IA8BxC,wBAAwB;IACxB,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,YAAY,CAAC,QAAQ;IAsB1D,6BAA6B;IAC7B,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,YAAY,CAAC,cAAc;IA+BvD,6BAA6B;IAC7B,OAAO,CAAC,cAAc;IAMtB,kDAAkD;IAClD,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM;IAIvC,kCAAkC;IAClC,SAAS,CAAC,qBAAqB;IA4B/B,mBAAmB;IACZ,MAAM;IAIb,gEAAgE;IAChE,SAAS,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM;IAc7C,iCAAiC;IACjC,SAAS,CAAC,YAAY;IAiBtB,0CAA0C;IACnC,EAAE,CAAC,EACR,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,YAAkB,EAC5B,UAAU,EACV,KAAK,GACN,EAAE,cAAc,CAAC,QAAQ;IAkC1B,yBAAyB;IACzB,SAAS,CAAC,QAAQ;CAanB"}
|
|
@@ -54,6 +54,11 @@ export declare namespace NSlideProgress {
|
|
|
54
54
|
* @default 500
|
|
55
55
|
*/
|
|
56
56
|
stickyEndDuration?: TDuration | null;
|
|
57
|
+
/**
|
|
58
|
+
* Drag threshold
|
|
59
|
+
* @default 3
|
|
60
|
+
*/
|
|
61
|
+
dragThreshold?: number;
|
|
57
62
|
}
|
|
58
63
|
interface ICallbacksTypes extends NComponent.ICallbacksTypes {
|
|
59
64
|
render: undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/SlideProgress/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,yBAAiB,cAAc,CAAC;IAC9B,UAAiB,YAAa,SAAQ,UAAU,CAAC,YAAY;QAC3D,qBAAqB;QACrB,SAAS,EAAE,WAAW,CAAC;KACxB;IAED,UAAiB,gBAAiB,SAAQ,UAAU,CAAC,gBAAgB;QACnE,6BAA6B;QAC7B,GAAG,EAAE,MAAM,CAAC;QACZ,6BAA6B;QAC7B,GAAG,EAAE,MAAM,CAAC;QACZ,oBAAoB;QACpB,IAAI,EAAE,MAAM,CAAC;QACb;;;WAGG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;QACd;;;WAGG;QACH,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB;;;WAGG;QACH,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB;;;WAGG;QACH,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB;;;WAGG;QACH,aAAa,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;QAC1B;;;WAGG;QACH,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB;;;WAGG;QACH,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB;;;WAGG;QACH,iBAAiB,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/SlideProgress/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,yBAAiB,cAAc,CAAC;IAC9B,UAAiB,YAAa,SAAQ,UAAU,CAAC,YAAY;QAC3D,qBAAqB;QACrB,SAAS,EAAE,WAAW,CAAC;KACxB;IAED,UAAiB,gBAAiB,SAAQ,UAAU,CAAC,gBAAgB;QACnE,6BAA6B;QAC7B,GAAG,EAAE,MAAM,CAAC;QACZ,6BAA6B;QAC7B,GAAG,EAAE,MAAM,CAAC;QACZ,oBAAoB;QACpB,IAAI,EAAE,MAAM,CAAC;QACb;;;WAGG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;QACd;;;WAGG;QACH,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB;;;WAGG;QACH,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB;;;WAGG;QACH,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB;;;WAGG;QACH,aAAa,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;QAC1B;;;WAGG;QACH,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB;;;WAGG;QACH,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB;;;WAGG;QACH,iBAAiB,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;QACrC;;;WAGG;QACH,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB;IAED,UAAiB,eAAgB,SAAQ,UAAU,CAAC,eAAe;QACjE,MAAM,EAAE,SAAS,CAAC;QAClB,IAAI,EAAE,SAAS,CAAC;QAChB,KAAK,EAAE,eAAe,CAAC;QACvB,QAAQ,EAAE,YAAY,CAAC,cAAc,CAAC;KACvC;IAED,UAAiB,SAAS;QACxB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;KAChB;IAED,KAAY,SAAS,GAAG,MAAM,GAAG,CAAC,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;IAElE,UAAiB,QAAQ;QACvB,KAAK,EAAE,MAAM,CAAC;QACd,mBAAmB;QACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;QACrB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,CAAC,eAAe,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;QACpE,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;KACpB;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/scroll/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/scroll/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isPageScrolling.d.ts","sourceRoot":"","sources":["../../../../src/utils/scroll/isPageScrolling.ts"],"names":[],"mappings":"AAkBA,wBAAgB,eAAe,YAE9B"}
|
package/lib/types/version.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -37,6 +37,13 @@ export class DraggerMove<
|
|
|
37
37
|
};
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
+
protected _absDiff: NDraggerBase.IVector2 = { x: 0, y: 0 };
|
|
41
|
+
|
|
42
|
+
/** Absolute difference between start and current coords */
|
|
43
|
+
get absDiff() {
|
|
44
|
+
return this._absDiff;
|
|
45
|
+
}
|
|
46
|
+
|
|
40
47
|
/** Add runtime events */
|
|
41
48
|
protected _addRuntimeEvents() {
|
|
42
49
|
super._addRuntimeEvents();
|
|
@@ -86,6 +93,10 @@ export class DraggerMove<
|
|
|
86
93
|
this.prevCoords = { x: this.coords.x, y: this.coords.y };
|
|
87
94
|
this.coords = { x, y };
|
|
88
95
|
|
|
96
|
+
// update absolute difference
|
|
97
|
+
this._absDiff.x += Math.abs(this.stepCoords.x);
|
|
98
|
+
this._absDiff.y += Math.abs(this.stepCoords.y);
|
|
99
|
+
|
|
89
100
|
// disable pointer events
|
|
90
101
|
this._togglePointerEvents(false);
|
|
91
102
|
|
|
@@ -96,6 +107,7 @@ export class DraggerMove<
|
|
|
96
107
|
coords: this.coords,
|
|
97
108
|
step: this.stepCoords,
|
|
98
109
|
diff: this.diffCoords,
|
|
110
|
+
absDiff: this.absDiff,
|
|
99
111
|
});
|
|
100
112
|
|
|
101
113
|
return true;
|
|
@@ -105,6 +117,9 @@ export class DraggerMove<
|
|
|
105
117
|
protected _handleEnd(event: NDraggerBase.TEvent) {
|
|
106
118
|
super._handleEnd(event);
|
|
107
119
|
|
|
120
|
+
// reset absolute difference
|
|
121
|
+
this._absDiff = { x: 0, y: 0 };
|
|
122
|
+
|
|
108
123
|
this._togglePointerEvents(true);
|
|
109
124
|
}
|
|
110
125
|
|
|
@@ -2,9 +2,11 @@ import { Component as ComponentClass } from '@/base/Component';
|
|
|
2
2
|
import { NSlideProgress } from './types';
|
|
3
3
|
import { clamp, lerp } from '@/utils/math';
|
|
4
4
|
import { normalizeWheel } from '@/utils/scroll/normalizeWheel';
|
|
5
|
+
import { isPageScrolling } from '@/utils/scroll/isPageScrolling';
|
|
5
6
|
import { AnimationFrame } from '../AnimationFrame';
|
|
6
7
|
import { DraggerMove, NDraggerMove } from '../DraggerMove';
|
|
7
8
|
import { Timeline } from '../Timeline';
|
|
9
|
+
import { NDraggerBase } from '../DraggerBase';
|
|
8
10
|
|
|
9
11
|
export type { NSlideProgress };
|
|
10
12
|
|
|
@@ -32,6 +34,7 @@ export class SlideProgress<
|
|
|
32
34
|
hasWheel: true,
|
|
33
35
|
wheelSpeed: 1,
|
|
34
36
|
stickyEndDuration: 500,
|
|
37
|
+
dragThreshold: 3,
|
|
35
38
|
};
|
|
36
39
|
}
|
|
37
40
|
|
|
@@ -60,6 +63,9 @@ export class SlideProgress<
|
|
|
60
63
|
/** Sticky timeout */
|
|
61
64
|
protected _stickyEndTimeout?: NodeJS.Timeout;
|
|
62
65
|
|
|
66
|
+
/** Can drag */
|
|
67
|
+
protected _canDragMove = false;
|
|
68
|
+
|
|
63
69
|
constructor(initialProps?: StaticProps & ChangeableProps, canInit = true) {
|
|
64
70
|
super(initialProps, false);
|
|
65
71
|
|
|
@@ -75,7 +81,7 @@ export class SlideProgress<
|
|
|
75
81
|
this._dragger = new DraggerMove({ container });
|
|
76
82
|
this._dragger.addCallback('move', (event) => this._handleDrag(event));
|
|
77
83
|
this._dragger.addCallback('start', ({ event }) => event.stopPropagation());
|
|
78
|
-
this._dragger.addCallback('end', () => this.
|
|
84
|
+
this._dragger.addCallback('end', () => this._handleDragEnd());
|
|
79
85
|
|
|
80
86
|
// add wheel event
|
|
81
87
|
this.addEventListener(container, 'wheel', (event) =>
|
|
@@ -125,29 +131,52 @@ export class SlideProgress<
|
|
|
125
131
|
this.callbacks.tbt('wheel', wheel);
|
|
126
132
|
}
|
|
127
133
|
|
|
128
|
-
/**
|
|
134
|
+
/** Check if can move */
|
|
135
|
+
protected _checkCanDragMove(absDiff: NDraggerBase.IVector2) {
|
|
136
|
+
const { dragDirection, dragThreshold } = this.props;
|
|
137
|
+
|
|
138
|
+
if (this._canDragMove) {
|
|
139
|
+
return true;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
if (absDiff.x < dragThreshold && absDiff.y < dragThreshold) {
|
|
143
|
+
return false;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
if (dragDirection === 'x' && absDiff.x > absDiff.y) {
|
|
147
|
+
this._canDragMove = true;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
if (dragDirection === 'y' && absDiff.y > absDiff.x) {
|
|
151
|
+
this._canDragMove = true;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
return false;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/** Handle drag move event */
|
|
129
158
|
protected _handleDrag(data: NDraggerMove.IMoveParameter) {
|
|
130
|
-
if (this._timelineTo) {
|
|
159
|
+
if (this._timelineTo || !this.props.hasDrag || isPageScrolling()) {
|
|
131
160
|
return;
|
|
132
161
|
}
|
|
133
162
|
|
|
163
|
+
if (!this._checkCanDragMove(data.absDiff)) {
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
const { _progressLerp: progress, props } = this;
|
|
168
|
+
const { container, dragSpeed, dragDirection, min, max } = props;
|
|
134
169
|
const { event, step } = data;
|
|
135
|
-
const { _progressLerp: progress } = this;
|
|
136
|
-
const { container, dragSpeed, hasDrag, dragDirection, min, max } =
|
|
137
|
-
this.props;
|
|
138
170
|
|
|
139
|
-
if (
|
|
140
|
-
|
|
171
|
+
if (event.cancelable) {
|
|
172
|
+
event.preventDefault();
|
|
141
173
|
}
|
|
174
|
+
event.stopPropagation();
|
|
142
175
|
|
|
143
176
|
const defaultIterator = dragDirection === 'y' ? step.y : step.x;
|
|
144
177
|
const iteratorDivider =
|
|
145
178
|
dragDirection === 'y' ? container.clientHeight : container.clientWidth;
|
|
146
179
|
|
|
147
|
-
if (Math.abs(defaultIterator) > 3) {
|
|
148
|
-
event.preventDefault();
|
|
149
|
-
}
|
|
150
|
-
|
|
151
180
|
const iterator = (defaultIterator * dragSpeed) / iteratorDivider;
|
|
152
181
|
progress.target = clamp(progress.target - iterator, [min, max]);
|
|
153
182
|
|
|
@@ -157,6 +186,13 @@ export class SlideProgress<
|
|
|
157
186
|
this.callbacks.tbt('dragMove', data);
|
|
158
187
|
}
|
|
159
188
|
|
|
189
|
+
/** Handler drag end event */
|
|
190
|
+
private _handleDragEnd() {
|
|
191
|
+
this._canDragMove = false;
|
|
192
|
+
|
|
193
|
+
this._goStickyEnd();
|
|
194
|
+
}
|
|
195
|
+
|
|
160
196
|
/** Get nearest stepped value to given progress */
|
|
161
197
|
protected _getNearestStep(value: number) {
|
|
162
198
|
return Math.round(value / this.props.step) * this.props.step;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/* eslint-disable no-param-reassign */
|
|
2
2
|
import React, { FC, useEffect, useRef } from 'react';
|
|
3
3
|
import { SlideProgress } from '..';
|
|
4
|
+
import { times } from '@/utils/common';
|
|
4
5
|
|
|
5
6
|
export const Component: FC = () => {
|
|
6
7
|
const containerRef = useRef<HTMLDivElement>(null);
|
|
@@ -18,14 +19,18 @@ export const Component: FC = () => {
|
|
|
18
19
|
min: 0,
|
|
19
20
|
max: length - 1,
|
|
20
21
|
step: 0.5,
|
|
22
|
+
dragDirection: 'x',
|
|
23
|
+
friction: 0,
|
|
24
|
+
stickyEndDuration: 250,
|
|
25
|
+
ease: 0.5,
|
|
21
26
|
});
|
|
22
27
|
|
|
23
28
|
const elements = Array.from(containerRef.current.children) as HTMLElement[];
|
|
24
29
|
|
|
25
30
|
instance.addCallback('render', () => {
|
|
26
31
|
elements.forEach((element, index) => {
|
|
27
|
-
const
|
|
28
|
-
element.style.transform = `translate(
|
|
32
|
+
const x = instance.progress * -100 + index * 100;
|
|
33
|
+
element.style.transform = `translate(${x}%, 0)`;
|
|
29
34
|
});
|
|
30
35
|
});
|
|
31
36
|
|
|
@@ -38,6 +43,13 @@ export const Component: FC = () => {
|
|
|
38
43
|
<>
|
|
39
44
|
<p>Scroll the block below</p>
|
|
40
45
|
|
|
46
|
+
{times(
|
|
47
|
+
(index) => (
|
|
48
|
+
<br key={index} />
|
|
49
|
+
),
|
|
50
|
+
15,
|
|
51
|
+
)}
|
|
52
|
+
|
|
41
53
|
<div
|
|
42
54
|
ref={containerRef}
|
|
43
55
|
style={{
|
|
@@ -45,6 +57,7 @@ export const Component: FC = () => {
|
|
|
45
57
|
width: 300,
|
|
46
58
|
height: 300,
|
|
47
59
|
overflow: 'hidden',
|
|
60
|
+
userSelect: 'none',
|
|
48
61
|
}}
|
|
49
62
|
>
|
|
50
63
|
{colors.map((color) => (
|
|
@@ -57,10 +70,23 @@ export const Component: FC = () => {
|
|
|
57
70
|
width: '100%',
|
|
58
71
|
height: '100%',
|
|
59
72
|
backgroundColor: color,
|
|
73
|
+
display: 'flex',
|
|
74
|
+
flexDirection: 'column',
|
|
75
|
+
alignItems: 'center',
|
|
76
|
+
justifyContent: 'center',
|
|
60
77
|
}}
|
|
61
|
-
|
|
78
|
+
>
|
|
79
|
+
Drag me horizontally
|
|
80
|
+
</div>
|
|
62
81
|
))}
|
|
63
82
|
</div>
|
|
83
|
+
|
|
84
|
+
{times(
|
|
85
|
+
(index) => (
|
|
86
|
+
<br key={index} />
|
|
87
|
+
),
|
|
88
|
+
50,
|
|
89
|
+
)}
|
|
64
90
|
</>
|
|
65
91
|
);
|
|
66
92
|
};
|
|
@@ -56,6 +56,11 @@ export namespace NSlideProgress {
|
|
|
56
56
|
* @default 500
|
|
57
57
|
*/
|
|
58
58
|
stickyEndDuration?: TDuration | null;
|
|
59
|
+
/**
|
|
60
|
+
* Drag threshold
|
|
61
|
+
* @default 3
|
|
62
|
+
*/
|
|
63
|
+
dragThreshold?: number;
|
|
59
64
|
}
|
|
60
65
|
|
|
61
66
|
export interface ICallbacksTypes extends NComponent.ICallbacksTypes {
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
let isScrolling = false;
|
|
2
|
+
|
|
3
|
+
if (typeof window !== 'undefined') {
|
|
4
|
+
let timeout: NodeJS.Timeout | null = null;
|
|
5
|
+
|
|
6
|
+
window.addEventListener('scroll', () => {
|
|
7
|
+
if (timeout) {
|
|
8
|
+
clearTimeout(timeout);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
isScrolling = true;
|
|
12
|
+
|
|
13
|
+
timeout = setTimeout(() => {
|
|
14
|
+
isScrolling = false;
|
|
15
|
+
}, 150);
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export function isPageScrolling() {
|
|
20
|
+
return isScrolling;
|
|
21
|
+
}
|
package/src/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const version = '3.
|
|
1
|
+
const version = '3.12.0';
|
|
2
2
|
export default version;
|