@sheinx/hooks 3.9.15-beta.3 → 3.9.15-beta.4
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/cjs/components/use-table/use-table-virtual-external.d.ts.map +1 -1
- package/cjs/components/use-table/use-table-virtual-external.js +18 -0
- package/esm/components/use-table/use-table-virtual-external.d.ts.map +1 -1
- package/esm/components/use-table/use-table-virtual-external.js +18 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-table-virtual-external.d.ts","sourceRoot":"","sources":["use-table-virtual-external.tsx"],"names":[],"mappings":";AAGA,UAAU,4BAA4B;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,sBAAsB,EAAE,MAAM,WAAW,GAAG,IAAI,CAAC;IACjD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC3C,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5C,wBAAwB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACvD;AAED,QAAA,MAAM,uBAAuB,UAAW,4BAA4B;;;;
|
|
1
|
+
{"version":3,"file":"use-table-virtual-external.d.ts","sourceRoot":"","sources":["use-table-virtual-external.tsx"],"names":[],"mappings":";AAGA,UAAU,4BAA4B;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,sBAAsB,EAAE,MAAM,WAAW,GAAG,IAAI,CAAC;IACjD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC3C,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5C,wBAAwB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACvD;AAED,QAAA,MAAM,uBAAuB,UAAW,4BAA4B;;;;CA6FnE,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
|
|
@@ -19,6 +19,7 @@ var useTableVirtualExternal = function useTableVirtualExternal(props) {
|
|
|
19
19
|
setHeaderOffset = _useState2[1];
|
|
20
20
|
var externalStickyRef = (0, _react.useRef)(null);
|
|
21
21
|
var tableOffsetRef = (0, _react.useRef)(0);
|
|
22
|
+
var stickyCompensationTimer = (0, _react.useRef)(null);
|
|
22
23
|
var handleExternalScroll = (0, _usePersistFn.usePersistFn)(function () {
|
|
23
24
|
var _props$tableRef, _externalStickyRef$cu;
|
|
24
25
|
if (props.disabled) return;
|
|
@@ -61,6 +62,23 @@ var useTableVirtualExternal = function useTableVirtualExternal(props) {
|
|
|
61
62
|
if (max > 0 && scrollTop > max) {
|
|
62
63
|
scrollTop = max;
|
|
63
64
|
}
|
|
65
|
+
|
|
66
|
+
// 补偿 sticky 失效:滚动停止后设置补偿值,避免滚动中抖动
|
|
67
|
+
if (externalStickyRef.current && props.externalStickyHeader) {
|
|
68
|
+
var stickyDivFullHeight = externalStickyRef.current.offsetHeight;
|
|
69
|
+
var stickyBreakPoint = sumHeight - stickyDivFullHeight;
|
|
70
|
+
if (stickyCompensationTimer.current) {
|
|
71
|
+
clearTimeout(stickyCompensationTimer.current);
|
|
72
|
+
}
|
|
73
|
+
externalStickyRef.current.style.setProperty('--sticky-compensation', '0px');
|
|
74
|
+
if (rawScrollTop > stickyBreakPoint && stickyBreakPoint > 0) {
|
|
75
|
+
var el = externalStickyRef.current;
|
|
76
|
+
stickyCompensationTimer.current = setTimeout(function () {
|
|
77
|
+
var compensation = rawScrollTop - stickyBreakPoint;
|
|
78
|
+
el.style.setProperty('--sticky-compensation', "".concat(compensation, "px"));
|
|
79
|
+
}, 150);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
64
82
|
props.updateIndexAndTopFromTop(scrollTop);
|
|
65
83
|
});
|
|
66
84
|
(0, _react.useEffect)(function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-table-virtual-external.d.ts","sourceRoot":"","sources":["use-table-virtual-external.tsx"],"names":[],"mappings":";AAGA,UAAU,4BAA4B;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,sBAAsB,EAAE,MAAM,WAAW,GAAG,IAAI,CAAC;IACjD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC3C,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5C,wBAAwB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACvD;AAED,QAAA,MAAM,uBAAuB,UAAW,4BAA4B;;;;
|
|
1
|
+
{"version":3,"file":"use-table-virtual-external.d.ts","sourceRoot":"","sources":["use-table-virtual-external.tsx"],"names":[],"mappings":";AAGA,UAAU,4BAA4B;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,sBAAsB,EAAE,MAAM,WAAW,GAAG,IAAI,CAAC;IACjD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC3C,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC5C,wBAAwB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACvD;AAED,QAAA,MAAM,uBAAuB,UAAW,4BAA4B;;;;CA6FnE,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
|
|
@@ -13,6 +13,7 @@ var useTableVirtualExternal = function useTableVirtualExternal(props) {
|
|
|
13
13
|
setHeaderOffset = _useState2[1];
|
|
14
14
|
var externalStickyRef = useRef(null);
|
|
15
15
|
var tableOffsetRef = useRef(0);
|
|
16
|
+
var stickyCompensationTimer = useRef(null);
|
|
16
17
|
var handleExternalScroll = usePersistFn(function () {
|
|
17
18
|
var _props$tableRef, _externalStickyRef$cu;
|
|
18
19
|
if (props.disabled) return;
|
|
@@ -55,6 +56,23 @@ var useTableVirtualExternal = function useTableVirtualExternal(props) {
|
|
|
55
56
|
if (max > 0 && scrollTop > max) {
|
|
56
57
|
scrollTop = max;
|
|
57
58
|
}
|
|
59
|
+
|
|
60
|
+
// 补偿 sticky 失效:滚动停止后设置补偿值,避免滚动中抖动
|
|
61
|
+
if (externalStickyRef.current && props.externalStickyHeader) {
|
|
62
|
+
var stickyDivFullHeight = externalStickyRef.current.offsetHeight;
|
|
63
|
+
var stickyBreakPoint = sumHeight - stickyDivFullHeight;
|
|
64
|
+
if (stickyCompensationTimer.current) {
|
|
65
|
+
clearTimeout(stickyCompensationTimer.current);
|
|
66
|
+
}
|
|
67
|
+
externalStickyRef.current.style.setProperty('--sticky-compensation', '0px');
|
|
68
|
+
if (rawScrollTop > stickyBreakPoint && stickyBreakPoint > 0) {
|
|
69
|
+
var el = externalStickyRef.current;
|
|
70
|
+
stickyCompensationTimer.current = setTimeout(function () {
|
|
71
|
+
var compensation = rawScrollTop - stickyBreakPoint;
|
|
72
|
+
el.style.setProperty('--sticky-compensation', "".concat(compensation, "px"));
|
|
73
|
+
}, 150);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
58
76
|
props.updateIndexAndTopFromTop(scrollTop);
|
|
59
77
|
});
|
|
60
78
|
useEffect(function () {
|