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); W(Z, J);
y(K, X.bind(0, J)); y(K, X.bind(0, J));
} }
rr = 0;
}; };
return [ I, er, O.bind(0, K) ]; return [ I, er, O.bind(0, K) ];
}; };
@@ -2608,158 +2609,160 @@
} }
}, Q, O.bind(0, K) ]; }, Q, O.bind(0, K) ];
}; };
var On = new Set; var On = new WeakMap;
var xn = new WeakMap; var xn = function addInstance(r, a) {
var En = function addInstance(r, a) { On.set(r, a);
xn.set(r, a);
On.add(r);
}; };
var An = function removeInstance(r) { var En = function removeInstance(r) {
xn.delete(r);
On.delete(r); On.delete(r);
}; };
var Pn = function getInstance(r) { var An = function getInstance(r) {
return xn.get(r); return On.get(r);
}; };
var zn = function OverlayScrollbars(r, a, e) { var Pn = function OverlayScrollbars(r, a, e) {
var n = false; var n = me(), t = n.Y, i = n.q;
var t = me(), i = t.Y, v = t.q; var v = ka();
var o = ka(); var o = b(r);
var u = b(r); var u = o ? r : r.target;
var f = u ? r : r.target; var f = An(u);
var l = Pn(f); if (a && !f) {
if (l) { var l = false;
return l; var c = v[re];
} var d = function validateOptions(r) {
var c = o[re]; var a = r || {};
var d = function validateOptions(r) { var e = c && c.P;
var a = r || {}; return e ? e(a, true) : a;
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 g = A({}, i(), d(a)); var y = vn(r, g), S = y[0], C = y[1], O = y[2];
var h = Zr(e), p = h[0], w = h[1], m = h[2]; var x = Cn(r, g, C), z = x[0], T = x[1], L = x[2];
var y = vn(r, g), S = y[0], C = y[1], O = y[2]; var H = function update(r, a) {
var x = Cn(r, g, C), z = x[0], T = x[1], L = x[2]; S(r, !!a);
var H = function update(r, a) { };
S(r, !!a); var D = i(H.bind(0, {}, true));
}; var M = function destroy(r) {
var D = v(H.bind(0, {}, true)); En(u);
var M = function destroy(r) { D();
An(f); L();
D(); O();
L(); l = true;
O(); m("destroyed", [ R, !!r ]);
n = true; w();
m("destroyed", [ R, !!r ]); };
w(); var R = {
}; options: function options(r) {
var R = { if (r) {
options: function options(r) { var a = Va(g, d(r));
if (r) { if (!P(a)) {
var a = Va(g, d(r)); A(g, a);
if (!P(a)) { H(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;
} }
}); }
}; return A({}, g);
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
}, },
changedOptions: a, on: p,
force: e off: function off(r, a) {
} ]); r && a && w(r, a);
})); },
return R.update(true); 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; Pn.plugin = Ba;
zn.env = function() { 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; 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({}, { return A({}, {
scrollbarsSize: a, scrollbarsSize: a,
@@ -2776,7 +2779,7 @@
setDefaultOptions: s setDefaultOptions: s
}); });
}; };
r.OverlayScrollbars = zn; r.OverlayScrollbars = Pn;
r.scrollbarsHidingPlugin = de; r.scrollbarsHidingPlugin = de;
r.sizeObserverPlugin = ie; r.sizeObserverPlugin = ie;
Object.defineProperty(r, "v", { 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", "version": "0.0.1",
"files": [ "files": [
"src", "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": { "scripts": {
"test:jsdom": "jest --coverage --runInBand --detectOpenHandles --testPathPattern", "test:jsdom": "jest --coverage --runInBand --detectOpenHandles --testPathPattern",
"posttest:jsdom": "full-coverage", "posttest:jsdom": "full-coverage",
+6 -5
View File
@@ -192,9 +192,13 @@ type ScrollbarsHidingPluginInstance = {
declare const scrollbarsHidingPlugin: Plugin<ScrollbarsHidingPluginInstance>; declare const scrollbarsHidingPlugin: Plugin<ScrollbarsHidingPluginInstance>;
type GeneralInitialEventListeners = InitialEventListeners; type GeneralInitialEventListeners = InitialEventListeners;
type GeneralEventListener = EventListener; type GeneralEventListener = EventListener;
// Notes:
// Height intrinsic detection use "content: true" init strategy - or open ticket for custom height intrinsic observer
interface OverlayScrollbarsStatic { 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; plugin(plugin: Plugin | Plugin[]): void;
valid(osInstance: any): boolean;
env(): Environment; env(): Environment;
} }
interface 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;
off<Name extends keyof EventListenerMap>(name: Name, listener: EventListener$0<Name>[]): void; off<Name extends keyof EventListenerMap>(name: Name, listener: EventListener$0<Name>[]): void;
} }
/** // eslint-disable-next-line @typescript-eslint/no-redeclare
* Notes:
* Height intrinsic detection use "content: true" init strategy - or open ticket for custom height intrinsic observer
*/
declare const OverlayScrollbars: OverlayScrollbarsStatic; declare const OverlayScrollbars: OverlayScrollbarsStatic;
export { OverlayScrollbars, scrollbarsHidingPlugin, sizeObserverPlugin }; export { OverlayScrollbars, scrollbarsHidingPlugin, sizeObserverPlugin };