@sheinx/hooks 3.9.13 → 3.9.14-beta.2

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-form.d.ts","sourceRoot":"","sources":["use-form.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AA4BtE,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,gBAAgB,EAGhB,gBAAgB,EAEjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI5D,QAAA,MAAM,OAAO;;;;;;;;;wBAuTC;gBAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;gBAAC,WAAW,CAAC,EAAE,OAAO,CAAA;aAAE;8BArQnB,MAAM;oCAoVD,OAAO,aAAoB,MAAM,IAAI;;6BAf3C,MAAM,KAAK,KAAK,GAAG,SAAS;;oCAdrB,MAAM,EAAE;sCA/SxC,MAAM,GAAG,MAAM,EAAE,WAAU,gBAAgB;qCA+WvB,MAAM,WAAW,gBAAgB;gCA7CzB,MAAM,SAAS,MAAM,UAAU,KAAK;gCAKpC,MAAM,SAAS,MAAM;kCAzJpD,MAAM,0BAAyB,qBAAqB;;;;;;;;oBA+EjD;YAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;YAAC,WAAW,CAAC,EAAE,OAAO,CAAA;SAAE;0BArQnB,MAAM;gCAoVD,OAAO,aAAoB,MAAM,IAAI;;yBAf3C,MAAM,KAAK,KAAK,GAAG,SAAS;;gCAdrB,MAAM,EAAE;kCA/SxC,MAAM,GAAG,MAAM,EAAE,WAAU,gBAAgB;iCA+WvB,MAAM,WAAW,gBAAgB;4BA7CzB,MAAM,SAAS,MAAM,UAAU,KAAK;4BAKpC,MAAM,SAAS,MAAM;8BAzJpD,MAAM,0BAAyB,qBAAqB;;;CA+b9D,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"use-form.d.ts","sourceRoot":"","sources":["use-form.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AA6BtE,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,gBAAgB,EAGhB,gBAAgB,EAEjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI5D,QAAA,MAAM,OAAO;;;;;;;;;wBAuTC;gBAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;gBAAC,WAAW,CAAC,EAAE,OAAO,CAAA;aAAE;8BArQnB,MAAM;oCAsVD,OAAO,aAAoB,MAAM,IAAI;;6BAf3C,MAAM,KAAK,KAAK,GAAG,SAAS;;oCAdrB,MAAM,EAAE;sCAjTxC,MAAM,GAAG,MAAM,EAAE,WAAU,gBAAgB;qCAiXvB,MAAM,WAAW,gBAAgB;gCA7CzB,MAAM,SAAS,MAAM,UAAU,KAAK;gCAKpC,MAAM,SAAS,MAAM;kCA3JpD,MAAM,0BAAyB,qBAAqB;;;;;;;;oBA+EjD;YAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;YAAC,WAAW,CAAC,EAAE,OAAO,CAAA;SAAE;0BArQnB,MAAM;gCAsVD,OAAO,aAAoB,MAAM,IAAI;;yBAf3C,MAAM,KAAK,KAAK,GAAG,SAAS;;gCAdrB,MAAM,EAAE;kCAjTxC,MAAM,GAAG,MAAM,EAAE,WAAU,gBAAgB;iCAiXvB,MAAM,WAAW,gBAAgB;4BA7CzB,MAAM,SAAS,MAAM,UAAU,KAAK;4BAKpC,MAAM,SAAS,MAAM;8BA3JpD,MAAM,0BAAyB,qBAAqB;;;CAic9D,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -28,6 +28,7 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
28
28
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
29
29
  var globalKey = '__global__&&@@';
30
30
  var SUBMIT_TIMEOUT = 10;
31
+ var RESET_TIMEOUT = 500;
31
32
  var emptyObj = {};
32
33
  var useForm = function useForm(props) {
33
34
  var _props$defaultValue = props.defaultValue,
@@ -324,6 +325,8 @@ var useForm = function useForm(props) {
324
325
  var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
325
326
  validate: false
326
327
  };
328
+ // 重置保护期内(500ms),忽略子组件延迟 onChange 写回的旧值
329
+ if (context.resetTime && Date.now() - context.resetTime < RESET_TIMEOUT) return;
327
330
  onChange(function (draft) {
328
331
  var values = Object.keys(vals);
329
332
  // 针对 name 为数组模式,如 datepicker 的 name={['startTime', 'endTime']} 时,前者校验可能需要依赖后者,因此需要提前将后者数据整合至 draft 用于多字段整合校验
@@ -491,7 +494,7 @@ var useForm = function useForm(props) {
491
494
  onChange(getDefaultValue());
492
495
  clearValidate();
493
496
  update();
494
- context.resetTime = 1;
497
+ context.resetTime = Date.now();
495
498
  (_props$onReset = props.onReset) === null || _props$onReset === void 0 || _props$onReset.call(props);
496
499
  other === null || other === void 0 || (_other$onReset = other.onReset) === null || _other$onReset === void 0 || _other$onReset.call(other, e);
497
500
  };
@@ -1 +1 @@
1
- {"version":3,"file":"use-table-layout.d.ts","sourceRoot":"","sources":["use-table-layout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6C,MAAM,OAAO,CAAC;AAKlE,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,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,QAAA,MAAM,cAAc,UAAW,mBAAmB;;;;;;;;;;;yBA+CX,MAAM,UAAU,MAAM;;;;;;;CA+O5D,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"use-table-layout.d.ts","sourceRoot":"","sources":["use-table-layout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6C,MAAM,OAAO,CAAC;AAKlE,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,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,QAAA,MAAM,cAAc,UAAW,mBAAmB;;;;;;;;;;;yBA+CX,MAAM,UAAU,MAAM;;;;;;;CAwP5D,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -180,7 +180,14 @@ var useTableLayout = function useTableLayout(props) {
180
180
  if (cols && cols.every(function (v) {
181
181
  return v === 0;
182
182
  })) return;
183
- setColgroup(shiftDecimalToLastColumn(cols));
183
+ var shifted = shiftDecimalToLastColumn(cols);
184
+ // 值未变化时跳过,避免触发不必要的 useLayoutEffect
185
+ if (colgroup && shifted.length === colgroup.length && shifted.every(function (v, i) {
186
+ return v === colgroup[i];
187
+ })) {
188
+ return;
189
+ }
190
+ setColgroup(shifted);
184
191
  setAdjust(adjust);
185
192
  if (!adjust) {
186
193
  updateResizeFlag();
@@ -234,8 +241,7 @@ var useTableLayout = function useTableLayout(props) {
234
241
  var index = 0;
235
242
  var sum = 0;
236
243
  var _loop = function _loop() {
237
- var _items$i$getBoundingC = items[i].getBoundingClientRect(),
238
- width = _items$i$getBoundingC.width;
244
+ var width = items[i].offsetWidth;
239
245
  sum += width;
240
246
  var colspan = items[i].getAttribute('colspan');
241
247
  var colspanNum = parseInt(colspan || '1', 10);
@@ -1 +1 @@
1
- {"version":3,"file":"use-form.d.ts","sourceRoot":"","sources":["use-form.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AA4BtE,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,gBAAgB,EAGhB,gBAAgB,EAEjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI5D,QAAA,MAAM,OAAO;;;;;;;;;wBAuTC;gBAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;gBAAC,WAAW,CAAC,EAAE,OAAO,CAAA;aAAE;8BArQnB,MAAM;oCAoVD,OAAO,aAAoB,MAAM,IAAI;;6BAf3C,MAAM,KAAK,KAAK,GAAG,SAAS;;oCAdrB,MAAM,EAAE;sCA/SxC,MAAM,GAAG,MAAM,EAAE,WAAU,gBAAgB;qCA+WvB,MAAM,WAAW,gBAAgB;gCA7CzB,MAAM,SAAS,MAAM,UAAU,KAAK;gCAKpC,MAAM,SAAS,MAAM;kCAzJpD,MAAM,0BAAyB,qBAAqB;;;;;;;;oBA+EjD;YAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;YAAC,WAAW,CAAC,EAAE,OAAO,CAAA;SAAE;0BArQnB,MAAM;gCAoVD,OAAO,aAAoB,MAAM,IAAI;;yBAf3C,MAAM,KAAK,KAAK,GAAG,SAAS;;gCAdrB,MAAM,EAAE;kCA/SxC,MAAM,GAAG,MAAM,EAAE,WAAU,gBAAgB;iCA+WvB,MAAM,WAAW,gBAAgB;4BA7CzB,MAAM,SAAS,MAAM,UAAU,KAAK;4BAKpC,MAAM,SAAS,MAAM;8BAzJpD,MAAM,0BAAyB,qBAAqB;;;CA+b9D,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"use-form.d.ts","sourceRoot":"","sources":["use-form.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AA6BtE,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,gBAAgB,EAGhB,gBAAgB,EAEjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI5D,QAAA,MAAM,OAAO;;;;;;;;;wBAuTC;gBAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;gBAAC,WAAW,CAAC,EAAE,OAAO,CAAA;aAAE;8BArQnB,MAAM;oCAsVD,OAAO,aAAoB,MAAM,IAAI;;6BAf3C,MAAM,KAAK,KAAK,GAAG,SAAS;;oCAdrB,MAAM,EAAE;sCAjTxC,MAAM,GAAG,MAAM,EAAE,WAAU,gBAAgB;qCAiXvB,MAAM,WAAW,gBAAgB;gCA7CzB,MAAM,SAAS,MAAM,UAAU,KAAK;gCAKpC,MAAM,SAAS,MAAM;kCA3JpD,MAAM,0BAAyB,qBAAqB;;;;;;;;oBA+EjD;YAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;YAAC,WAAW,CAAC,EAAE,OAAO,CAAA;SAAE;0BArQnB,MAAM;gCAsVD,OAAO,aAAoB,MAAM,IAAI;;yBAf3C,MAAM,KAAK,KAAK,GAAG,SAAS;;gCAdrB,MAAM,EAAE;kCAjTxC,MAAM,GAAG,MAAM,EAAE,WAAU,gBAAgB;iCAiXvB,MAAM,WAAW,gBAAgB;4BA7CzB,MAAM,SAAS,MAAM,UAAU,KAAK;4BAKpC,MAAM,SAAS,MAAM;8BA3JpD,MAAM,0BAAyB,qBAAqB;;;CAic9D,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -17,6 +17,7 @@ import { usePrevious } from "../../common/use-default-value";
17
17
  import { SchemaBuilder } from "./use-form-schema/form-schema-builder";
18
18
  var globalKey = '__global__&&@@';
19
19
  var SUBMIT_TIMEOUT = 10;
20
+ var RESET_TIMEOUT = 500;
20
21
  import { current, produce } from "../../utils/immer";
21
22
  import { deepGet, deepRemove, deepSet, docScroll, extractEventHandlers, isArray, isObject, shallowEqual, wrapFormError, deepClone, getAllKeyPaths, getParentKeys, getCompleteFieldKeys, devUseWarning, getFieldId, getClosestScrollContainer } from "../../utils";
22
23
  var emptyObj = {};
@@ -315,6 +316,8 @@ var useForm = function useForm(props) {
315
316
  var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
316
317
  validate: false
317
318
  };
319
+ // 重置保护期内(500ms),忽略子组件延迟 onChange 写回的旧值
320
+ if (context.resetTime && Date.now() - context.resetTime < RESET_TIMEOUT) return;
318
321
  onChange(function (draft) {
319
322
  var values = Object.keys(vals);
320
323
  // 针对 name 为数组模式,如 datepicker 的 name={['startTime', 'endTime']} 时,前者校验可能需要依赖后者,因此需要提前将后者数据整合至 draft 用于多字段整合校验
@@ -482,7 +485,7 @@ var useForm = function useForm(props) {
482
485
  onChange(getDefaultValue());
483
486
  clearValidate();
484
487
  update();
485
- context.resetTime = 1;
488
+ context.resetTime = Date.now();
486
489
  (_props$onReset = props.onReset) === null || _props$onReset === void 0 || _props$onReset.call(props);
487
490
  other === null || other === void 0 || (_other$onReset = other.onReset) === null || _other$onReset === void 0 || _other$onReset.call(other, e);
488
491
  };
@@ -1 +1 @@
1
- {"version":3,"file":"use-table-layout.d.ts","sourceRoot":"","sources":["use-table-layout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6C,MAAM,OAAO,CAAC;AAKlE,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,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,QAAA,MAAM,cAAc,UAAW,mBAAmB;;;;;;;;;;;yBA+CX,MAAM,UAAU,MAAM;;;;;;;CA+O5D,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"use-table-layout.d.ts","sourceRoot":"","sources":["use-table-layout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6C,MAAM,OAAO,CAAC;AAKlE,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,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,QAAA,MAAM,cAAc,UAAW,mBAAmB;;;;;;;;;;;yBA+CX,MAAM,UAAU,MAAM;;;;;;;CAwP5D,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -171,7 +171,14 @@ var useTableLayout = function useTableLayout(props) {
171
171
  if (cols && cols.every(function (v) {
172
172
  return v === 0;
173
173
  })) return;
174
- setColgroup(shiftDecimalToLastColumn(cols));
174
+ var shifted = shiftDecimalToLastColumn(cols);
175
+ // 值未变化时跳过,避免触发不必要的 useLayoutEffect
176
+ if (colgroup && shifted.length === colgroup.length && shifted.every(function (v, i) {
177
+ return v === colgroup[i];
178
+ })) {
179
+ return;
180
+ }
181
+ setColgroup(shifted);
175
182
  setAdjust(adjust);
176
183
  if (!adjust) {
177
184
  updateResizeFlag();
@@ -225,8 +232,7 @@ var useTableLayout = function useTableLayout(props) {
225
232
  var index = 0;
226
233
  var sum = 0;
227
234
  var _loop = function _loop() {
228
- var _items$i$getBoundingC = items[i].getBoundingClientRect(),
229
- width = _items$i$getBoundingC.width;
235
+ var width = items[i].offsetWidth;
230
236
  sum += width;
231
237
  var colspan = items[i].getAttribute('colspan');
232
238
  var colspanNum = parseInt(colspan || '1', 10);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sheinx/hooks",
3
- "version": "3.9.13",
3
+ "version": "3.9.14-beta.2",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "license": "MIT",