improve code

This commit is contained in:
Rene Haas
2022-08-01 12:45:56 +02:00
parent 7b7053bfd2
commit cb992fea85
9 changed files with 525 additions and 515 deletions
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+149 -146
View File
@@ -1355,6 +1355,7 @@
W(Z, J);
y(K, X.bind(0, J));
}
rr = 0;
};
return [ I, er, O.bind(0, K) ];
};
@@ -2608,158 +2609,160 @@
}
}, Q, O.bind(0, K) ];
};
var On = new Set;
var xn = new WeakMap;
var En = function addInstance(r, a) {
xn.set(r, a);
On.add(r);
var On = new WeakMap;
var xn = function addInstance(r, a) {
On.set(r, a);
};
var An = function removeInstance(r) {
xn.delete(r);
var En = function removeInstance(r) {
On.delete(r);
};
var Pn = function getInstance(r) {
return xn.get(r);
var An = function getInstance(r) {
return On.get(r);
};
var zn = function OverlayScrollbars(r, a, e) {
var n = false;
var t = me(), i = t.Y, v = t.q;
var o = ka();
var u = b(r);
var f = u ? r : r.target;
var l = Pn(f);
if (l) {
return l;
}
var c = o[re];
var d = function validateOptions(r) {
var a = r || {};
var e = c && c.P;
return e ? e(a, true) : a;
};
var g = A({}, i(), d(a));
var h = Zr(e), p = h[0], w = h[1], m = h[2];
var y = vn(r, g), S = y[0], C = y[1], O = y[2];
var x = Cn(r, g, C), z = x[0], T = x[1], L = x[2];
var H = function update(r, a) {
S(r, !!a);
};
var D = v(H.bind(0, {}, true));
var M = function destroy(r) {
An(f);
D();
L();
O();
n = true;
m("destroyed", [ R, !!r ]);
w();
};
var R = {
options: function options(r) {
if (r) {
var a = Va(g, d(r));
if (!P(a)) {
A(g, a);
H(a);
}
}
return A({}, g);
},
on: p,
off: function off(r, a) {
r && a && w(r, a);
},
state: function state() {
var r = C(), a = r.Er, e = r.Ar, t = r.Cr, i = r.Pr, v = r.ar, o = r.mr, u = r.br;
return A({}, {
overflowEdge: a,
overflowAmount: e,
overflowStyle: t,
hasOverflow: i,
padding: v,
paddingAbsolute: o,
directionRTL: u,
destroyed: n
});
},
elements: function elements() {
var r = C.Ur, a = r.J, e = r.K, n = r.ar, t = r.rr, i = r.er, v = r.tr, o = r.ir;
var u = T.Ur, f = u.$r, l = u.ra;
var c = function translateScrollbarStructure(r) {
var a = r.Nr, e = r.Yr, n = r.Wr;
return {
scrollbar: n,
track: e,
handle: a
};
};
var s = function translateScrollbarsSetupElement(r) {
var a = r.Jr, e = r.Kr;
var n = c(a[0]);
return A({}, n, {
clone: function clone() {
var r = c(e());
z({}, true, {});
return r;
var Pn = function OverlayScrollbars(r, a, e) {
var n = me(), t = n.Y, i = n.q;
var v = ka();
var o = b(r);
var u = o ? r : r.target;
var f = An(u);
if (a && !f) {
var l = false;
var c = v[re];
var d = function validateOptions(r) {
var a = r || {};
var e = c && c.P;
return e ? e(a, true) : a;
};
var g = A({}, t(), d(a));
var h = Zr(e), p = h[0], w = h[1], m = h[2];
var y = vn(r, g), S = y[0], C = y[1], O = y[2];
var x = Cn(r, g, C), z = x[0], T = x[1], L = x[2];
var H = function update(r, a) {
S(r, !!a);
};
var D = i(H.bind(0, {}, true));
var M = function destroy(r) {
En(u);
D();
L();
O();
l = true;
m("destroyed", [ R, !!r ]);
w();
};
var R = {
options: function options(r) {
if (r) {
var a = Va(g, d(r));
if (!P(a)) {
A(g, a);
H(a);
}
});
};
return A({}, {
target: a,
host: e,
padding: n || t,
viewport: t,
content: i || t,
scrollOffsetElement: v,
scrollEventElement: o,
scrollbarHorizontal: s(f),
scrollbarVertical: s(l)
});
},
update: function update(r) {
H({}, r);
return R;
},
destroy: M.bind(0)
};
C.Fr((function(r, a, e) {
z(a, e, r);
}));
each(E(o), (function(r) {
var a = o[r];
if (s(a)) {
a(OverlayScrollbars, R);
}
}));
if (Oe(!u && r.cancel, C.Ur)) {
M(true);
return R;
}
C.qr();
T.qr();
En(f, R);
m("initialized", [ R ]);
C.Fr((function(r, a, e) {
var n = r.pr, t = r.wr, i = r.hr, v = r.Tr, o = r.Lr, u = r.zr, f = r._r, l = r.Or;
m("updated", [ R, {
updateHints: {
sizeChanged: n,
directionChanged: t,
heightIntrinsicChanged: i,
overflowEdgeChanged: v,
overflowAmountChanged: o,
overflowStyleChanged: u,
contentMutation: f,
hostMutation: l
}
return A({}, g);
},
changedOptions: a,
force: e
} ]);
}));
return R.update(true);
on: p,
off: function off(r, a) {
r && a && w(r, a);
},
state: function state() {
var r = C(), a = r.Er, e = r.Ar, n = r.Cr, t = r.Pr, i = r.ar, v = r.mr, o = r.br;
return A({}, {
overflowEdge: a,
overflowAmount: e,
overflowStyle: n,
hasOverflow: t,
padding: i,
paddingAbsolute: v,
directionRTL: o,
destroyed: l
});
},
elements: function elements() {
var r = C.Ur, a = r.J, e = r.K, n = r.ar, t = r.rr, i = r.er, v = r.tr, o = r.ir;
var u = T.Ur, f = u.$r, l = u.ra;
var c = function translateScrollbarStructure(r) {
var a = r.Nr, e = r.Yr, n = r.Wr;
return {
scrollbar: n,
track: e,
handle: a
};
};
var s = function translateScrollbarsSetupElement(r) {
var a = r.Jr, e = r.Kr;
var n = c(a[0]);
return A({}, n, {
clone: function clone() {
var r = c(e());
z({}, true, {});
return r;
}
});
};
return A({}, {
target: a,
host: e,
padding: n || t,
viewport: t,
content: i || t,
scrollOffsetElement: v,
scrollEventElement: o,
scrollbarHorizontal: s(f),
scrollbarVertical: s(l)
});
},
update: function update(r) {
H({}, r);
return R;
},
destroy: M.bind(0)
};
C.Fr((function(r, a, e) {
z(a, e, r);
}));
each(E(v), (function(r) {
var a = v[r];
if (s(a)) {
a(OverlayScrollbars, R);
}
}));
if (Oe(!o && r.cancel, C.Ur)) {
M(true);
return R;
}
C.qr();
T.qr();
xn(u, R);
m("initialized", [ R ]);
C.Fr((function(r, a, e) {
var n = r.pr, t = r.wr, i = r.hr, v = r.Tr, o = r.Lr, u = r.zr, f = r._r, l = r.Or;
m("updated", [ R, {
updateHints: {
sizeChanged: n,
directionChanged: t,
heightIntrinsicChanged: i,
overflowEdgeChanged: v,
overflowAmountChanged: o,
overflowStyleChanged: u,
contentMutation: f,
hostMutation: l
},
changedOptions: a,
force: e
} ]);
}));
return R.update(true);
}
return f;
};
zn.plugin = Ba;
zn.env = function() {
Pn.plugin = Ba;
Pn.valid = function(r) {
var a = r && r.elements;
var e = s(a) && a();
return p(e) && !!An(e.target);
};
Pn.env = function() {
var r = me(), a = r.k, e = r.H, n = r.L, t = r.B, i = r.F, v = r.D, o = r.G, u = r.X, f = r.U, l = r.N, c = r.Y, s = r.W;
return A({}, {
scrollbarsSize: a,
@@ -2776,7 +2779,7 @@
setDefaultOptions: s
});
};
r.OverlayScrollbars = zn;
r.OverlayScrollbars = Pn;
r.scrollbarsHidingPlugin = de;
r.sizeObserverPlugin = ie;
Object.defineProperty(r, "v", {
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+5 -2
View File
@@ -5,9 +5,12 @@
"version": "0.0.1",
"files": [
"src",
"dist"
"dist",
"types/overlayscrollbars.d.ts"
],
"types": "types/index.d.ts",
"main": "dist/overlayscrollbars.js",
"module": "dist/overlayscrollbars.esm.js",
"types": "types/overlayscrollbars.d.ts",
"scripts": {
"test:jsdom": "jest --coverage --runInBand --detectOpenHandles --testPathPattern",
"posttest:jsdom": "full-coverage",
+6 -5
View File
@@ -192,9 +192,13 @@ type ScrollbarsHidingPluginInstance = {
declare const scrollbarsHidingPlugin: Plugin<ScrollbarsHidingPluginInstance>;
type GeneralInitialEventListeners = InitialEventListeners;
type GeneralEventListener = EventListener;
// Notes:
// Height intrinsic detection use "content: true" init strategy - or open ticket for custom height intrinsic observer
interface OverlayScrollbarsStatic {
(target: InitializationTarget, options?: DeepPartial<Options>, eventListeners?: GeneralInitialEventListeners<EventListenerMap>): OverlayScrollbars;
(target: InitializationTarget): OverlayScrollbars | undefined;
(target: InitializationTarget, options: DeepPartial<Options>, eventListeners?: GeneralInitialEventListeners<EventListenerMap>): OverlayScrollbars;
plugin(plugin: Plugin | Plugin[]): void;
valid(osInstance: any): boolean;
env(): Environment;
}
interface Environment {
@@ -292,9 +296,6 @@ interface OverlayScrollbars {
off<Name extends keyof EventListenerMap>(name: Name, listener: EventListener$0<Name>): void;
off<Name extends keyof EventListenerMap>(name: Name, listener: EventListener$0<Name>[]): void;
}
/**
* Notes:
* Height intrinsic detection use "content: true" init strategy - or open ticket for custom height intrinsic observer
*/
// eslint-disable-next-line @typescript-eslint/no-redeclare
declare const OverlayScrollbars: OverlayScrollbarsStatic;
export { OverlayScrollbars, scrollbarsHidingPlugin, sizeObserverPlugin };