@sheinx/hooks 3.10.2-beta.7 → 3.10.2-beta.9

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.
@@ -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;;CAoC5D,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8ClB,CAAC;AAEF,eAAe,aAAa,CAAC"}
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;CAyDxC,CAAC;AAEF,eAAe,cAAc,CAAC"}
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$columns2;
85
- var _filterInfo = props === null || props === void 0 || (_props$columns2 = props.columns) === null || _props$columns2 === void 0 ? void 0 : _props$columns2.reduce(function (acc, column, index) {
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-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;;CAoC5D,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8ClB,CAAC;AAEF,eAAe,aAAa,CAAC"}
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;CAyDxC,CAAC;AAEF,eAAe,cAAc,CAAC"}
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$columns2;
78
- var _filterInfo = props === null || props === void 0 || (_props$columns2 = props.columns) === null || _props$columns2 === void 0 ? void 0 : _props$columns2.reduce(function (acc, column, index) {
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,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sheinx/hooks",
3
- "version": "3.10.2-beta.7",
3
+ "version": "3.10.2-beta.9",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "license": "MIT",