forked from eleweek/code-explained
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsmooth-scrollbar+8.3.1.patch
56 lines (56 loc) · 3.69 KB
/
smooth-scrollbar+8.3.1.patch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
patch-package
--- a/node_modules/smooth-scrollbar/events/touch.js
+++ b/node_modules/smooth-scrollbar/events/touch.js
@@ -1,7 +1,7 @@
import { eventScope, TouchRecord, } from '../utils/';
var activeScrollbar;
export function touchHandler(scrollbar) {
- var MIN_EAING_MOMENTUM = 50;
+ var MIN_EAING_MOMENTUM = 3;
var EASING_MULTIPLIER = /Android/.test(navigator.userAgent) ? 3 : 2;
var target = scrollbar.options.delegateTo || scrollbar.containerEl;
var touchRecord = new TouchRecord();
--- a/node_modules/smooth-scrollbar/geometry/update.js
+++ b/node_modules/smooth-scrollbar/geometry/update.js
@@ -4,6 +4,9 @@ export function update(scrollbar) {
x: Math.max(newSize.content.width - newSize.container.width, 0),
y: Math.max(newSize.content.height - newSize.container.height, 0),
};
+ // hack for a weird chrome on windows bug
+ if (limit.x <= 2) limit.x = 0;
+ if (limit.y <= 2) limit.y = 0;
// metrics
var containerBounding = scrollbar.containerEl.getBoundingClientRect();
var bounding = {
--- a/node_modules/smooth-scrollbar/scrollbar.js
+++ b/node_modules/smooth-scrollbar/scrollbar.js
@@ -322,6 +322,10 @@ var Scrollbar = /** @class */ (function () {
if (limit.x === 0 && limit.y === 0) {
this._updateDebounced();
}
+ if (Math.abs(deltaY) > Math.abs(deltaX)) {
+ if (deltaY > 0 && offset.y === limit.y) return true;
+ if (deltaY < 0 && offset.y === 0) return true;
+ }
var destX = clamp(deltaX + offset.x, 0, limit.x);
var destY = clamp(deltaY + offset.y, 0, limit.y);
var res = true;
--- a/node_modules/smooth-scrollbar/track/track.js
+++ b/node_modules/smooth-scrollbar/track/track.js
@@ -41,8 +41,9 @@ var ScrollbarTrack = /** @class */ (function () {
this.element.classList.remove('show');
};
ScrollbarTrack.prototype.update = function (scrollOffset, containerSize, pageSize) {
+ // -2 is a hack for a weird chrome on windows bug
setStyle(this.element, {
- display: pageSize <= containerSize ? 'none' : 'block',
+ display: pageSize - 2 <= containerSize ? 'none' : 'block',
});
this.thumb.update(scrollOffset, containerSize, pageSize);
};
deleted file mode 100644
--- a/node_modules/smooth-scrollbar/track/track.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"track.js","sourceRoot":"","sources":["../src/track/track.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,EACL,QAAQ,GACT,MAAM,WAAW,CAAC;AAEnB;IAUE,wBACE,SAAyB,EACzB,YAAwB;QAAxB,6BAAA,EAAA,gBAAwB;QAT1B;;WAEG;QACM,YAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAEzC,aAAQ,GAAG,KAAK,CAAC;QAMvB,IAAI,CAAC,OAAO,CAAC,SAAS,GAAG,qCAAmC,SAAW,CAAC;QAExE,IAAI,CAAC,KAAK,GAAG,IAAI,cAAc,CAC7B,SAAS,EACT,YAAY,CACb,CAAC;QAEF,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACH,iCAAQ,GAAR,UAAS,kBAA+B;QACtC,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,6BAAI,GAAJ;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClB,MAAM,CAAC;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,6BAAI,GAAJ;QACE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YACnB,MAAM,CAAC;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,+BAAM,GAAN,UACE,YAAoB,EACpB,aAAqB,EACrB,QAAgB;QAEhB,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE;YACrB,OAAO,EAAE,QAAQ,IAAI,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;SACtD,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC;IACH,qBAAC;AAAD,CAAC,AApED,IAoEC"}
\ No newline at end of file