@sheinx/hooks 3.10.2-beta.6 → 3.10.2-beta.8
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/common/use-list-select/use-list-select-multiple.d.ts.map +1 -1
- package/cjs/common/use-list-select/use-list-select-multiple.js +4 -0
- package/cjs/common/use-list-select/use-list-select.d.ts.map +1 -1
- package/cjs/common/use-list-select/use-list-select.js +3 -0
- package/cjs/components/use-table/use-table-filter.d.ts.map +1 -1
- package/cjs/components/use-table/use-table-filter.js +9 -3
- package/cjs/components/use-table/use-table-layout.d.ts.map +1 -1
- package/cjs/components/use-table/use-table-layout.js +10 -4
- package/esm/common/use-list-select/use-list-select-multiple.d.ts.map +1 -1
- package/esm/common/use-list-select/use-list-select-multiple.js +4 -0
- package/esm/common/use-list-select/use-list-select.d.ts.map +1 -1
- package/esm/common/use-list-select/use-list-select.js +3 -0
- package/esm/components/use-table/use-table-filter.d.ts.map +1 -1
- package/esm/components/use-table/use-table-filter.js +9 -3
- package/esm/components/use-table/use-table-layout.d.ts.map +1 -1
- package/esm/components/use-table/use-table-layout.js +10 -4
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-list-select-multiple.d.ts","sourceRoot":"","sources":["use-list-select-multiple.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAMtE,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;sDA0NK;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE;;;;4BA9NzB,GAAG;;qCAqRqB,MAAM;;
|
|
1
|
+
{"version":3,"file":"use-list-select-multiple.d.ts","sourceRoot":"","sources":["use-list-select-multiple.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAMtE,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;sDA0NK;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE;;;;4BA9NzB,GAAG;;qCAqRqB,MAAM;;CAuC5D,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
|
|
@@ -300,6 +300,10 @@ var useListSelectMultiple = function useListSelectMultiple(props) {
|
|
|
300
300
|
if (checkedNum === validateNum) return true;
|
|
301
301
|
return 'indeterminate';
|
|
302
302
|
});
|
|
303
|
+
|
|
304
|
+
// TODO: Object.values(props) 作为 deps 是反模式,value/prediction 等变化都会使 datum 引用失效。
|
|
305
|
+
// 精确依赖应为 [props.data](方法均为 usePersistFn,引用稳定)。
|
|
306
|
+
// 待 Tbody/Tr 加 React.memo 后一起改,届时 datum 引用稳定才能真正减少 re-render。
|
|
303
307
|
var func = (0, _react.useMemo)(function () {
|
|
304
308
|
return {
|
|
305
309
|
add: add,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-list-select.d.ts","sourceRoot":"","sources":["use-list-select.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAIrE,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"use-list-select.d.ts","sourceRoot":"","sources":["use-list-select.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAIrE,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDlB,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -43,6 +43,9 @@ var useListSelect = function useListSelect(props) {
|
|
|
43
43
|
overwrite: true
|
|
44
44
|
});
|
|
45
45
|
});
|
|
46
|
+
|
|
47
|
+
// TODO: Object.values(props) 作为 deps 是反模式。精确依赖应为 [datum, multiple]。
|
|
48
|
+
// 待 Tbody/Tr 加 React.memo 后一起改。
|
|
46
49
|
var result = (0, _react.useMemo)(function () {
|
|
47
50
|
if (!multiple) {
|
|
48
51
|
return _objectSpread(_objectSpread({}, datum), {}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-table-filter.d.ts","sourceRoot":"","sources":["use-table-filter.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGnE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,WAAW,mBAAmB,CAAC,IAAI,GAAG,GAAG,CAC7C,SAAQ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;IACjF,OAAO,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;CACnC;AACD,MAAM,WAAW,UAAU,CAAC,CAAC;IAE3B,KAAK,CAAC,EAAE,GAAG,CAAA;IACX,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC;CAC5C;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAE5D,QAAA,MAAM,cAAc;;;;gCA+BH,YAAY,SAAS,GAAG;
|
|
1
|
+
{"version":3,"file":"use-table-filter.d.ts","sourceRoot":"","sources":["use-table-filter.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGnE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,WAAW,mBAAmB,CAAC,IAAI,GAAG,GAAG,CAC7C,SAAQ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;IACjF,OAAO,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;CACnC;AACD,MAAM,WAAW,UAAU,CAAC,CAAC;IAE3B,KAAK,CAAC,EAAE,GAAG,CAAA;IACX,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC;CAC5C;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAE5D,QAAA,MAAM,cAAc;;;;gCA+BH,YAAY,SAAS,GAAG;CA2DxC,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -80,9 +80,14 @@ var useTableFilter = function useTableFilter(props) {
|
|
|
80
80
|
|
|
81
81
|
// 根据columns生成filterInfo
|
|
82
82
|
(0, _react.useEffect)(function () {
|
|
83
|
+
var _props$columns2;
|
|
84
|
+
// 没有任何 filter 列时跳过,避免无谓的 setFilterInfo 触发 re-render
|
|
85
|
+
if (!((_props$columns2 = props.columns) !== null && _props$columns2 !== void 0 && _props$columns2.some(function (col) {
|
|
86
|
+
return col.filter;
|
|
87
|
+
}))) return;
|
|
83
88
|
setFilterInfo(function (prev) {
|
|
84
|
-
var _props$
|
|
85
|
-
var _filterInfo = props === null || props === void 0 || (_props$
|
|
89
|
+
var _props$columns3;
|
|
90
|
+
var _filterInfo = props === null || props === void 0 || (_props$columns3 = props.columns) === null || _props$columns3 === void 0 ? void 0 : _props$columns3.reduce(function (acc, column, index) {
|
|
86
91
|
var _prev$get2, _column$filter;
|
|
87
92
|
if (!column.filter) return acc;
|
|
88
93
|
var columnKey = typeof column.render === 'string' ? column.render : String(index);
|
|
@@ -95,7 +100,8 @@ var useTableFilter = function useTableFilter(props) {
|
|
|
95
100
|
}, new Map());
|
|
96
101
|
return _filterInfo || new Map();
|
|
97
102
|
});
|
|
98
|
-
}, [props.columns]);
|
|
103
|
+
}, [props.columns]); // eslint-disable-line react-hooks/exhaustive-deps
|
|
104
|
+
|
|
99
105
|
return {
|
|
100
106
|
filterInfo: filterInfo,
|
|
101
107
|
setFilterInfo: setFilterInfo,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-table-layout.d.ts","sourceRoot":"","sources":["use-table-layout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsD,MAAM,OAAO,CAAC;AAK3E,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AA0CrE,MAAM,WAAW,mBACf,SAAQ,IAAI,CACV,cAAc,CAAC,GAAG,CAAC,EACnB,MAAM,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,OAAO,CAC7E;IACD,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACvC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACvC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACxC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,QAAA,MAAM,cAAc,UAAW,mBAAmB;;;;;;;;;yBA8DX,MAAM,UAAU,MAAM;;;;;;;;+
|
|
1
|
+
{"version":3,"file":"use-table-layout.d.ts","sourceRoot":"","sources":["use-table-layout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsD,MAAM,OAAO,CAAC;AAK3E,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AA0CrE,MAAM,WAAW,mBACf,SAAQ,IAAI,CACV,cAAc,CAAC,GAAG,CAAC,EACnB,MAAM,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,OAAO,CAC7E;IACD,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACvC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACvC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACxC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,QAAA,MAAM,cAAc,UAAW,mBAAmB;;;;;;;;;yBA8DX,MAAM,UAAU,MAAM;;;;;;;;+BAiUZ,MAAM,SAAS,MAAM;CAmBrE,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -347,6 +347,7 @@ var useTableLayout = function useTableLayout(props) {
|
|
|
347
347
|
}
|
|
348
348
|
|
|
349
349
|
// 直接操作 DOM classList,不触发 React re-render
|
|
350
|
+
// JSS 生成的 className 可能包含多个空格分隔的类名,classList.toggle 只接受单个 token
|
|
350
351
|
var classes = floatClassRef.current;
|
|
351
352
|
var el = (_props$tableElRef = props.tableElRef) === null || _props$tableElRef === void 0 ? void 0 : _props$tableElRef.current;
|
|
352
353
|
if (!classes || !el) return;
|
|
@@ -354,7 +355,9 @@ var useTableLayout = function useTableLayout(props) {
|
|
|
354
355
|
var l = left > min;
|
|
355
356
|
if (l !== floatLeftRef.current) {
|
|
356
357
|
floatLeftRef.current = l;
|
|
357
|
-
|
|
358
|
+
classes.left.forEach(function (cls) {
|
|
359
|
+
return el.classList.toggle(cls, l);
|
|
360
|
+
});
|
|
358
361
|
}
|
|
359
362
|
}
|
|
360
363
|
if (hasFixedRight) {
|
|
@@ -362,7 +365,9 @@ var useTableLayout = function useTableLayout(props) {
|
|
|
362
365
|
var r = max - left > 1;
|
|
363
366
|
if (r !== floatRightRef.current) {
|
|
364
367
|
floatRightRef.current = r;
|
|
365
|
-
|
|
368
|
+
classes.right.forEach(function (cls) {
|
|
369
|
+
return el.classList.toggle(cls, r);
|
|
370
|
+
});
|
|
366
371
|
}
|
|
367
372
|
}
|
|
368
373
|
});
|
|
@@ -488,10 +493,11 @@ var useTableLayout = function useTableLayout(props) {
|
|
|
488
493
|
}
|
|
489
494
|
|
|
490
495
|
// 注册 float class name,由 table.tsx 初始化时调用
|
|
496
|
+
// 预拆分空格分隔的类名,避免 checkFloat 高频路径重复 split
|
|
491
497
|
var registerFloatClass = (0, _usePersistFn.default)(function (left, right) {
|
|
492
498
|
floatClassRef.current = {
|
|
493
|
-
left: left,
|
|
494
|
-
right: right
|
|
499
|
+
left: left.split(/\s+/).filter(Boolean),
|
|
500
|
+
right: right.split(/\s+/).filter(Boolean)
|
|
495
501
|
};
|
|
496
502
|
});
|
|
497
503
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-list-select-multiple.d.ts","sourceRoot":"","sources":["use-list-select-multiple.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAMtE,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;sDA0NK;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE;;;;4BA9NzB,GAAG;;qCAqRqB,MAAM;;
|
|
1
|
+
{"version":3,"file":"use-list-select-multiple.d.ts","sourceRoot":"","sources":["use-list-select-multiple.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAMtE,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;sDA0NK;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE;;;;4BA9NzB,GAAG;;qCAqRqB,MAAM;;CAuC5D,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
|
|
@@ -290,6 +290,10 @@ var useListSelectMultiple = function useListSelectMultiple(props) {
|
|
|
290
290
|
if (checkedNum === validateNum) return true;
|
|
291
291
|
return 'indeterminate';
|
|
292
292
|
});
|
|
293
|
+
|
|
294
|
+
// TODO: Object.values(props) 作为 deps 是反模式,value/prediction 等变化都会使 datum 引用失效。
|
|
295
|
+
// 精确依赖应为 [props.data](方法均为 usePersistFn,引用稳定)。
|
|
296
|
+
// 待 Tbody/Tr 加 React.memo 后一起改,届时 datum 引用稳定才能真正减少 re-render。
|
|
293
297
|
var func = useMemo(function () {
|
|
294
298
|
return {
|
|
295
299
|
add: add,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-list-select.d.ts","sourceRoot":"","sources":["use-list-select.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAIrE,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"use-list-select.d.ts","sourceRoot":"","sources":["use-list-select.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAIrE,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDlB,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -36,6 +36,9 @@ var useListSelect = function useListSelect(props) {
|
|
|
36
36
|
overwrite: true
|
|
37
37
|
});
|
|
38
38
|
});
|
|
39
|
+
|
|
40
|
+
// TODO: Object.values(props) 作为 deps 是反模式。精确依赖应为 [datum, multiple]。
|
|
41
|
+
// 待 Tbody/Tr 加 React.memo 后一起改。
|
|
39
42
|
var result = useMemo(function () {
|
|
40
43
|
if (!multiple) {
|
|
41
44
|
return _objectSpread(_objectSpread({}, datum), {}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-table-filter.d.ts","sourceRoot":"","sources":["use-table-filter.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGnE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,WAAW,mBAAmB,CAAC,IAAI,GAAG,GAAG,CAC7C,SAAQ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;IACjF,OAAO,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;CACnC;AACD,MAAM,WAAW,UAAU,CAAC,CAAC;IAE3B,KAAK,CAAC,EAAE,GAAG,CAAA;IACX,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC;CAC5C;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAE5D,QAAA,MAAM,cAAc;;;;gCA+BH,YAAY,SAAS,GAAG;
|
|
1
|
+
{"version":3,"file":"use-table-filter.d.ts","sourceRoot":"","sources":["use-table-filter.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGnE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,WAAW,mBAAmB,CAAC,IAAI,GAAG,GAAG,CAC7C,SAAQ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;IACjF,OAAO,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;CACnC;AACD,MAAM,WAAW,UAAU,CAAC,CAAC;IAE3B,KAAK,CAAC,EAAE,GAAG,CAAA;IACX,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC;CAC5C;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAE5D,QAAA,MAAM,cAAc;;;;gCA+BH,YAAY,SAAS,GAAG;CA2DxC,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -73,9 +73,14 @@ var useTableFilter = function useTableFilter(props) {
|
|
|
73
73
|
|
|
74
74
|
// 根据columns生成filterInfo
|
|
75
75
|
useEffect(function () {
|
|
76
|
+
var _props$columns2;
|
|
77
|
+
// 没有任何 filter 列时跳过,避免无谓的 setFilterInfo 触发 re-render
|
|
78
|
+
if (!((_props$columns2 = props.columns) !== null && _props$columns2 !== void 0 && _props$columns2.some(function (col) {
|
|
79
|
+
return col.filter;
|
|
80
|
+
}))) return;
|
|
76
81
|
setFilterInfo(function (prev) {
|
|
77
|
-
var _props$
|
|
78
|
-
var _filterInfo = props === null || props === void 0 || (_props$
|
|
82
|
+
var _props$columns3;
|
|
83
|
+
var _filterInfo = props === null || props === void 0 || (_props$columns3 = props.columns) === null || _props$columns3 === void 0 ? void 0 : _props$columns3.reduce(function (acc, column, index) {
|
|
79
84
|
var _prev$get2, _column$filter;
|
|
80
85
|
if (!column.filter) return acc;
|
|
81
86
|
var columnKey = typeof column.render === 'string' ? column.render : String(index);
|
|
@@ -88,7 +93,8 @@ var useTableFilter = function useTableFilter(props) {
|
|
|
88
93
|
}, new Map());
|
|
89
94
|
return _filterInfo || new Map();
|
|
90
95
|
});
|
|
91
|
-
}, [props.columns]);
|
|
96
|
+
}, [props.columns]); // eslint-disable-line react-hooks/exhaustive-deps
|
|
97
|
+
|
|
92
98
|
return {
|
|
93
99
|
filterInfo: filterInfo,
|
|
94
100
|
setFilterInfo: setFilterInfo,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-table-layout.d.ts","sourceRoot":"","sources":["use-table-layout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsD,MAAM,OAAO,CAAC;AAK3E,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AA0CrE,MAAM,WAAW,mBACf,SAAQ,IAAI,CACV,cAAc,CAAC,GAAG,CAAC,EACnB,MAAM,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,OAAO,CAC7E;IACD,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACvC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACvC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACxC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,QAAA,MAAM,cAAc,UAAW,mBAAmB;;;;;;;;;yBA8DX,MAAM,UAAU,MAAM;;;;;;;;+
|
|
1
|
+
{"version":3,"file":"use-table-layout.d.ts","sourceRoot":"","sources":["use-table-layout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsD,MAAM,OAAO,CAAC;AAK3E,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AA0CrE,MAAM,WAAW,mBACf,SAAQ,IAAI,CACV,cAAc,CAAC,GAAG,CAAC,EACnB,MAAM,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,OAAO,CAC7E;IACD,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACvC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACvC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACxC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,QAAA,MAAM,cAAc,UAAW,mBAAmB;;;;;;;;;yBA8DX,MAAM,UAAU,MAAM;;;;;;;;+BAiUZ,MAAM,SAAS,MAAM;CAmBrE,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -338,6 +338,7 @@ var useTableLayout = function useTableLayout(props) {
|
|
|
338
338
|
}
|
|
339
339
|
|
|
340
340
|
// 直接操作 DOM classList,不触发 React re-render
|
|
341
|
+
// JSS 生成的 className 可能包含多个空格分隔的类名,classList.toggle 只接受单个 token
|
|
341
342
|
var classes = floatClassRef.current;
|
|
342
343
|
var el = (_props$tableElRef = props.tableElRef) === null || _props$tableElRef === void 0 ? void 0 : _props$tableElRef.current;
|
|
343
344
|
if (!classes || !el) return;
|
|
@@ -345,7 +346,9 @@ var useTableLayout = function useTableLayout(props) {
|
|
|
345
346
|
var l = left > min;
|
|
346
347
|
if (l !== floatLeftRef.current) {
|
|
347
348
|
floatLeftRef.current = l;
|
|
348
|
-
|
|
349
|
+
classes.left.forEach(function (cls) {
|
|
350
|
+
return el.classList.toggle(cls, l);
|
|
351
|
+
});
|
|
349
352
|
}
|
|
350
353
|
}
|
|
351
354
|
if (hasFixedRight) {
|
|
@@ -353,7 +356,9 @@ var useTableLayout = function useTableLayout(props) {
|
|
|
353
356
|
var r = max - left > 1;
|
|
354
357
|
if (r !== floatRightRef.current) {
|
|
355
358
|
floatRightRef.current = r;
|
|
356
|
-
|
|
359
|
+
classes.right.forEach(function (cls) {
|
|
360
|
+
return el.classList.toggle(cls, r);
|
|
361
|
+
});
|
|
357
362
|
}
|
|
358
363
|
}
|
|
359
364
|
});
|
|
@@ -479,10 +484,11 @@ var useTableLayout = function useTableLayout(props) {
|
|
|
479
484
|
}
|
|
480
485
|
|
|
481
486
|
// 注册 float class name,由 table.tsx 初始化时调用
|
|
487
|
+
// 预拆分空格分隔的类名,避免 checkFloat 高频路径重复 split
|
|
482
488
|
var registerFloatClass = usePersistFn(function (left, right) {
|
|
483
489
|
floatClassRef.current = {
|
|
484
|
-
left: left,
|
|
485
|
-
right: right
|
|
490
|
+
left: left.split(/\s+/).filter(Boolean),
|
|
491
|
+
right: right.split(/\s+/).filter(Boolean)
|
|
486
492
|
};
|
|
487
493
|
});
|
|
488
494
|
return {
|