@sheinx/hooks 3.4.3 → 3.4.4-beta.10

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.
@@ -139,7 +139,7 @@ var usePositionStyle = exports.usePositionStyle = function usePositionStyle(conf
139
139
  }
140
140
  var targetPosition = position;
141
141
  var rootContainer = getContainer() || document.body;
142
- var closestScrollContainer = (0, _element.getClosestScrollContainer)(parentElRef.current);
142
+ var closestScrollContainer = absolute ? null : (0, _element.getClosestScrollContainer)(parentElRef.current);
143
143
  var containerRect = rootContainer.getBoundingClientRect();
144
144
  var bodyRect = (document.documentElement || document.body).getBoundingClientRect();
145
145
  var containerScrollBarWidth = rootContainer.offsetWidth - rootContainer.clientWidth;
@@ -1 +1 @@
1
- {"version":3,"file":"use-form-control.d.ts","sourceRoot":"","sources":["use-form-control.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAyB/D,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC;;kBAmHpC,CAAC,YAAY,GAAG,EAAE;;;;;EAiDrD"}
1
+ {"version":3,"file":"use-form-control.d.ts","sourceRoot":"","sources":["use-form-control.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAyB/D,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC;;kBA2IpC,CAAC,YAAY,GAAG,EAAE;;;;;EAiDrD"}
@@ -97,14 +97,37 @@ function useFormControl(props) {
97
97
  var errors = arguments.length > 1 ? arguments[1] : undefined;
98
98
  var severErrors = arguments.length > 2 ? arguments[2] : undefined;
99
99
  if (!name) return;
100
- var value = getValue(name, formValue);
101
- var error = getError(name, errors, severErrors);
102
- if (error !== errorState) {
103
- setErrorState(error);
104
- }
105
- if (!(0, _shallowEqual.shallowEqual)(value, latestInfo.valueState)) {
106
- setValueState(value);
107
- latestInfo.valueState = value;
100
+ if ((0, _is.isArray)(name)) {
101
+ var _value = getValue(name, formValue);
102
+ var _error = getError(name, errors, severErrors);
103
+ if (_error !== errorState) {
104
+ setErrorState(_error);
105
+ }
106
+ // format defaultValue
107
+ var dv = (0, _is.isArray)(defaultValue) ? defaultValue : [];
108
+ var nextValue = [];
109
+ name.forEach(function (n, index) {
110
+ if (_value[index] === undefined && dv[index] !== undefined) {
111
+ nextValue[index] = dv[index];
112
+ } else {
113
+ nextValue[index] = _value[index];
114
+ }
115
+ });
116
+ setValueState(nextValue);
117
+ } else {
118
+ var _value2 = getValue(name, formValue);
119
+ var _error2 = getError(name, errors, severErrors);
120
+ if (_error2 !== errorState) {
121
+ setErrorState(_error2);
122
+ }
123
+ if (!(0, _shallowEqual.shallowEqual)(_value2, latestInfo.valueState)) {
124
+ if (_value2 === undefined && defaultValue !== undefined) {
125
+ setValueState(defaultValue);
126
+ } else {
127
+ setValueState(_value2);
128
+ }
129
+ latestInfo.valueState = _value2;
130
+ }
108
131
  }
109
132
  });
110
133
  var validateFiled = (0, _usePersistFn.default)(function (name, v, formV) {
@@ -1 +1 @@
1
- {"version":3,"file":"use-form.d.ts","sourceRoot":"","sources":["use-form.ts"],"names":[],"mappings":";AAyBA,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,gBAAgB,EAGjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI5D,QAAA,MAAM,OAAO;;;;;;;;;wBAyKC;gBAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;gBAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;aAAE;8BAVd,MAAM;oCAgED,OAAO;;6BAfb,MAAM,KAAK,KAAK,GAAG,SAAS;;oCAdrB,MAAM,EAAE;sCAhFN,MAAM,GAAG,MAAM,EAAE,mBAAgB,QAAQ,IAAI,CAAC;qCA4I5D,MAAM;gCAzCE,MAAM,SAAS,MAAM,UAAU,KAAK;gCAKpC,MAAM,SAAS,MAAM;;;;;;oBAjDjD;YAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE;0BAVd,MAAM;gCAgED,OAAO;;yBAfb,MAAM,KAAK,KAAK,GAAG,SAAS;;gCAdrB,MAAM,EAAE;kCAhFN,MAAM,GAAG,MAAM,EAAE,mBAAgB,QAAQ,IAAI,CAAC;iCA4I5D,MAAM;4BAzCE,MAAM,SAAS,MAAM,UAAU,KAAK;4BAKpC,MAAM,SAAS,MAAM;;CA+P9D,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"use-form.d.ts","sourceRoot":"","sources":["use-form.ts"],"names":[],"mappings":";AA0BA,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,gBAAgB,EAGjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI5D,QAAA,MAAM,OAAO;;;;;;;;;wBAyKC;gBAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;gBAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;aAAE;8BAVd,MAAM;oCAkED,OAAO;;6BAfb,MAAM,KAAK,KAAK,GAAG,SAAS;;oCAdrB,MAAM,EAAE;sCAlFN,MAAM,GAAG,MAAM,EAAE,mBAAgB,QAAQ,IAAI,CAAC;qCAgJ5D,MAAM;gCA3CE,MAAM,SAAS,MAAM,UAAU,KAAK;gCAKpC,MAAM,SAAS,MAAM;;;;;;oBAnDjD;YAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE;0BAVd,MAAM;gCAkED,OAAO;;yBAfb,MAAM,KAAK,KAAK,GAAG,SAAS;;gCAdrB,MAAM,EAAE;kCAlFN,MAAM,GAAG,MAAM,EAAE,mBAAgB,QAAQ,IAAI,CAAC;iCAgJ5D,MAAM;4BA3CE,MAAM,SAAS,MAAM,UAAU,KAAK;4BAKpC,MAAM,SAAS,MAAM;;CAiQ9D,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -205,11 +205,13 @@ var useForm = function useForm(props) {
205
205
  }
206
206
  });
207
207
  });
208
- var keys = Object.keys(vals);
209
- keys.forEach(function (key) {
208
+
209
+ // 获取vals的所有key,包括嵌套对象的key
210
+ var fullKeyPaths = (0, _utils.getAllKeyPaths)(vals);
211
+ fullKeyPaths.forEach(function (key) {
210
212
  delete context.serverErrors[key];
211
213
  });
212
- update(keys);
214
+ update(fullKeyPaths);
213
215
  });
214
216
  var getErrors = (0, _usePersistFn.default)(function () {
215
217
  return context.errors;
@@ -291,10 +293,12 @@ var useForm = function useForm(props) {
291
293
  });
292
294
  var handleSubmit = function handleSubmit(other) {
293
295
  return function (e) {
294
- var _other$onSubmit;
295
296
  e.preventDefault();
296
- submit();
297
- other === null || other === void 0 || (_other$onSubmit = other.onSubmit) === null || _other$onSubmit === void 0 || _other$onSubmit.call(other, e);
297
+ setTimeout(function () {
298
+ var _other$onSubmit;
299
+ submit();
300
+ other === null || other === void 0 || (_other$onSubmit = other.onSubmit) === null || _other$onSubmit === void 0 || _other$onSubmit.call(other, e);
301
+ }, 10);
298
302
  };
299
303
  };
300
304
  var validateFieldset = function validateFieldset(name) {
@@ -22,5 +22,6 @@ export declare const deepRemove: (target: ObjectType, path: string) => ObjectTyp
22
22
  export declare const deepHas: (target: ObjectType, path: string) => boolean;
23
23
  export declare const entries: (obj: ObjectType) => any[][];
24
24
  export declare const removeProps: <T extends ObjectType, K extends ObjectType>(target: T, remove: K) => Omit<T, keyof K>;
25
+ export declare const getAllKeyPaths: (obj: ObjectType, parentKey?: string) => string[];
25
26
  export {};
26
27
  //# sourceMappingURL=object.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["object.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,UAGvC;AASD,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAGD,eAAO,MAAM,YAAY,QAAS,UAAU,UAG3C,CAAC;AAGF,eAAO,MAAM,SAAS,2CAEZ,UAAU,YACT,WAAW,eAwBrB,CAAC;AAEF,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,+DA4BxC;AAED,UAAU,cAAc;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,OAAO,WACV,UAAU,QACZ,MAAM,SACL,GAAG,YACD,cAAc,eAiDxB,CAAC;AAEF,eAAO,MAAM,OAAO,WAAY,UAAU,QAAQ,MAAM,YAAW,WAAW,YAyB7E,CAAC;AAEF,eAAO,MAAM,UAAU,WAAY,UAAU,QAAQ,MAAM,eA0B1D,CAAC;AAEF,eAAO,MAAM,OAAO,WAAY,UAAU,QAAQ,MAAM,YAavD,CAAC;AAEF,eAAO,MAAM,OAAO,QAAS,UAAU,YAItC,CAAC;AAEF,eAAO,MAAM,WAAW,wFAQvB,CAAC"}
1
+ {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["object.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,UAGvC;AASD,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAGD,eAAO,MAAM,YAAY,QAAS,UAAU,UAG3C,CAAC;AAGF,eAAO,MAAM,SAAS,2CAEZ,UAAU,YACT,WAAW,eAwBrB,CAAC;AAEF,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,+DA4BxC;AAED,UAAU,cAAc;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,OAAO,WACV,UAAU,QACZ,MAAM,SACL,GAAG,YACD,cAAc,eAiDxB,CAAC;AAEF,eAAO,MAAM,OAAO,WAAY,UAAU,QAAQ,MAAM,YAAW,WAAW,YAyB7E,CAAC;AAEF,eAAO,MAAM,UAAU,WAAY,UAAU,QAAQ,MAAM,eA0B1D,CAAC;AAEF,eAAO,MAAM,OAAO,WAAY,UAAU,QAAQ,MAAM,YAavD,CAAC;AAEF,eAAO,MAAM,OAAO,QAAS,UAAU,YAItC,CAAC;AAEF,eAAO,MAAM,WAAW,wFAQvB,CAAC;AAEF,eAAO,MAAM,cAAc,QAAS,UAAU,cAAa,MAAM,KAAQ,MAAM,EAU9E,CAAC"}
@@ -3,12 +3,13 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.entries = exports.deepSet = exports.deepRemove = exports.deepMerge = exports.deepHas = exports.deepGet = void 0;
6
+ exports.getAllKeyPaths = exports.entries = exports.deepSet = exports.deepRemove = exports.deepMerge = exports.deepHas = exports.deepGet = void 0;
7
7
  exports.insertPoint = insertPoint;
8
8
  exports.objectValues = void 0;
9
9
  exports.pathGenerator = pathGenerator;
10
10
  exports.removeProps = void 0;
11
11
  var _is = require("./is");
12
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
12
13
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
13
14
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
14
15
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
@@ -268,4 +269,14 @@ var removeProps = exports.removeProps = function removeProps(target, remove) {
268
269
  _iterator5.f();
269
270
  }
270
271
  return a;
272
+ };
273
+ var getAllKeyPaths = exports.getAllKeyPaths = function getAllKeyPaths(obj) {
274
+ var parentKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
275
+ return Object.keys(obj).reduce(function (keys, key) {
276
+ var newKey = parentKey ? "".concat(parentKey, ".").concat(key) : key;
277
+ if (Array.isArray(obj[key])) {
278
+ return keys.concat(newKey);
279
+ }
280
+ return keys.concat(obj[key] !== null && _typeof(obj[key]) === 'object' ? getAllKeyPaths(obj[key], newKey) : newKey);
281
+ }, []);
271
282
  };
@@ -1 +1 @@
1
- {"version":3,"file":"position.d.ts","sourceRoot":"","sources":["position.ts"],"names":[],"mappings":"AAiGA,eAAO,MAAM,WAAW,WACd,WAAW,GAAG,IAAI,2EAEpB,SAAS,GAAG,MAAM,GAAG,MAAM,UACzB,WAAW,gKAKpB,CAAC"}
1
+ {"version":3,"file":"position.d.ts","sourceRoot":"","sources":["position.ts"],"names":[],"mappings":"AAkGA,eAAO,MAAM,WAAW,WACd,WAAW,GAAG,IAAI,2EAEpB,SAAS,GAAG,MAAM,GAAG,MAAM,UACzB,WAAW,gKAKpB,CAAC"}
@@ -66,22 +66,23 @@ var getPopoverPosition = function getPopoverPosition(target) {
66
66
  var popupRect = popup === null || popup === void 0 ? void 0 : popup.getBoundingClientRect();
67
67
  if (verticalPoint > windowHeight / 2) position = 'top';else position = 'bottom';
68
68
 
69
+ // TODO: 暂时移除,另考虑方案
69
70
  // 如果渲染了弹出内容,则根据弹出内容宽度计算是否自动调整位置
70
- if (popupRect) {
71
- if ((popupRect === null || popupRect === void 0 ? void 0 : popupRect.width) / 2 > rect.left) {
72
- position += '-left';
73
- }
74
- if ((popupRect === null || popupRect === void 0 ? void 0 : popupRect.width) / 2 > windowWidth - rect.right) {
75
- position += '-right';
76
- }
77
- } else {
78
- // 兜底计算
79
- if (horizontalPoint > windowWidth * 0.6) {
80
- position += '-right';
81
- } else if (horizontalPoint < windowWidth * 0.4) {
82
- position += '-left';
83
- }
71
+ // if (popupRect && popupRect?.width) {
72
+ // if (popupRect?.width / 2 > rect.left) {
73
+ // position += '-left';
74
+ // }
75
+ // if (popupRect?.width / 2 > windowWidth - rect.right) {
76
+ // position += '-right';
77
+ // }
78
+ // } else {
79
+ // 兜底计算
80
+ if (horizontalPoint > windowWidth * 0.6) {
81
+ position += '-right';
82
+ } else if (horizontalPoint < windowWidth * 0.4) {
83
+ position += '-left';
84
84
  }
85
+ // }
85
86
  }
86
87
  return position;
87
88
  };
@@ -129,7 +129,7 @@ export var usePositionStyle = function usePositionStyle(config) {
129
129
  }
130
130
  var targetPosition = position;
131
131
  var rootContainer = getContainer() || document.body;
132
- var closestScrollContainer = getClosestScrollContainer(parentElRef.current);
132
+ var closestScrollContainer = absolute ? null : getClosestScrollContainer(parentElRef.current);
133
133
  var containerRect = rootContainer.getBoundingClientRect();
134
134
  var bodyRect = (document.documentElement || document.body).getBoundingClientRect();
135
135
  var containerScrollBarWidth = rootContainer.offsetWidth - rootContainer.clientWidth;
@@ -1 +1 @@
1
- {"version":3,"file":"use-form-control.d.ts","sourceRoot":"","sources":["use-form-control.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAyB/D,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC;;kBAmHpC,CAAC,YAAY,GAAG,EAAE;;;;;EAiDrD"}
1
+ {"version":3,"file":"use-form-control.d.ts","sourceRoot":"","sources":["use-form-control.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAyB/D,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC;;kBA2IpC,CAAC,YAAY,GAAG,EAAE;;;;;EAiDrD"}
@@ -88,14 +88,37 @@ export default function useFormControl(props) {
88
88
  var errors = arguments.length > 1 ? arguments[1] : undefined;
89
89
  var severErrors = arguments.length > 2 ? arguments[2] : undefined;
90
90
  if (!name) return;
91
- var value = getValue(name, formValue);
92
- var error = getError(name, errors, severErrors);
93
- if (error !== errorState) {
94
- setErrorState(error);
95
- }
96
- if (!shallowEqual(value, latestInfo.valueState)) {
97
- setValueState(value);
98
- latestInfo.valueState = value;
91
+ if (isArray(name)) {
92
+ var _value = getValue(name, formValue);
93
+ var _error = getError(name, errors, severErrors);
94
+ if (_error !== errorState) {
95
+ setErrorState(_error);
96
+ }
97
+ // format defaultValue
98
+ var dv = isArray(defaultValue) ? defaultValue : [];
99
+ var nextValue = [];
100
+ name.forEach(function (n, index) {
101
+ if (_value[index] === undefined && dv[index] !== undefined) {
102
+ nextValue[index] = dv[index];
103
+ } else {
104
+ nextValue[index] = _value[index];
105
+ }
106
+ });
107
+ setValueState(nextValue);
108
+ } else {
109
+ var _value2 = getValue(name, formValue);
110
+ var _error2 = getError(name, errors, severErrors);
111
+ if (_error2 !== errorState) {
112
+ setErrorState(_error2);
113
+ }
114
+ if (!shallowEqual(_value2, latestInfo.valueState)) {
115
+ if (_value2 === undefined && defaultValue !== undefined) {
116
+ setValueState(defaultValue);
117
+ } else {
118
+ setValueState(_value2);
119
+ }
120
+ latestInfo.valueState = _value2;
121
+ }
99
122
  }
100
123
  });
101
124
  var validateFiled = usePersistFn(function (name, v, formV) {
@@ -1 +1 @@
1
- {"version":3,"file":"use-form.d.ts","sourceRoot":"","sources":["use-form.ts"],"names":[],"mappings":";AAyBA,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,gBAAgB,EAGjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI5D,QAAA,MAAM,OAAO;;;;;;;;;wBAyKC;gBAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;gBAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;aAAE;8BAVd,MAAM;oCAgED,OAAO;;6BAfb,MAAM,KAAK,KAAK,GAAG,SAAS;;oCAdrB,MAAM,EAAE;sCAhFN,MAAM,GAAG,MAAM,EAAE,mBAAgB,QAAQ,IAAI,CAAC;qCA4I5D,MAAM;gCAzCE,MAAM,SAAS,MAAM,UAAU,KAAK;gCAKpC,MAAM,SAAS,MAAM;;;;;;oBAjDjD;YAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE;0BAVd,MAAM;gCAgED,OAAO;;yBAfb,MAAM,KAAK,KAAK,GAAG,SAAS;;gCAdrB,MAAM,EAAE;kCAhFN,MAAM,GAAG,MAAM,EAAE,mBAAgB,QAAQ,IAAI,CAAC;iCA4I5D,MAAM;4BAzCE,MAAM,SAAS,MAAM,UAAU,KAAK;4BAKpC,MAAM,SAAS,MAAM;;CA+P9D,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"use-form.d.ts","sourceRoot":"","sources":["use-form.ts"],"names":[],"mappings":";AA0BA,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,gBAAgB,EAGjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI5D,QAAA,MAAM,OAAO;;;;;;;;;wBAyKC;gBAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;gBAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;aAAE;8BAVd,MAAM;oCAkED,OAAO;;6BAfb,MAAM,KAAK,KAAK,GAAG,SAAS;;oCAdrB,MAAM,EAAE;sCAlFN,MAAM,GAAG,MAAM,EAAE,mBAAgB,QAAQ,IAAI,CAAC;qCAgJ5D,MAAM;gCA3CE,MAAM,SAAS,MAAM,UAAU,KAAK;gCAKpC,MAAM,SAAS,MAAM;;;;;;oBAnDjD;YAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE;0BAVd,MAAM;gCAkED,OAAO;;yBAfb,MAAM,KAAK,KAAK,GAAG,SAAS;;gCAdrB,MAAM,EAAE;kCAlFN,MAAM,GAAG,MAAM,EAAE,mBAAgB,QAAQ,IAAI,CAAC;iCAgJ5D,MAAM;4BA3CE,MAAM,SAAS,MAAM,UAAU,KAAK;4BAKpC,MAAM,SAAS,MAAM;;CAiQ9D,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -16,7 +16,7 @@ import { insertValue, spliceValue } from "../../utils/flat";
16
16
  import { usePrevious } from "../../common/use-default-value";
17
17
  var globalKey = '__global__&&@@';
18
18
  import { current, produce } from "../../utils/immer";
19
- import { deepGet, deepRemove, deepSet, docScroll, extractEventHandlers, isArray, isObject, shallowEqual, wrapFormError, deepClone } from "../../utils";
19
+ import { deepGet, deepRemove, deepSet, docScroll, extractEventHandlers, isArray, isObject, shallowEqual, wrapFormError, deepClone, getAllKeyPaths } from "../../utils";
20
20
  var emptyObj = {};
21
21
  var useForm = function useForm(props) {
22
22
  var _props$defaultValue = props.defaultValue,
@@ -196,11 +196,13 @@ var useForm = function useForm(props) {
196
196
  }
197
197
  });
198
198
  });
199
- var keys = Object.keys(vals);
200
- keys.forEach(function (key) {
199
+
200
+ // 获取vals的所有key,包括嵌套对象的key
201
+ var fullKeyPaths = getAllKeyPaths(vals);
202
+ fullKeyPaths.forEach(function (key) {
201
203
  delete context.serverErrors[key];
202
204
  });
203
- update(keys);
205
+ update(fullKeyPaths);
204
206
  });
205
207
  var getErrors = usePersistFn(function () {
206
208
  return context.errors;
@@ -282,10 +284,12 @@ var useForm = function useForm(props) {
282
284
  });
283
285
  var handleSubmit = function handleSubmit(other) {
284
286
  return function (e) {
285
- var _other$onSubmit;
286
287
  e.preventDefault();
287
- submit();
288
- other === null || other === void 0 || (_other$onSubmit = other.onSubmit) === null || _other$onSubmit === void 0 || _other$onSubmit.call(other, e);
288
+ setTimeout(function () {
289
+ var _other$onSubmit;
290
+ submit();
291
+ other === null || other === void 0 || (_other$onSubmit = other.onSubmit) === null || _other$onSubmit === void 0 || _other$onSubmit.call(other, e);
292
+ }, 10);
289
293
  };
290
294
  };
291
295
  var validateFieldset = function validateFieldset(name) {
@@ -22,5 +22,6 @@ export declare const deepRemove: (target: ObjectType, path: string) => ObjectTyp
22
22
  export declare const deepHas: (target: ObjectType, path: string) => boolean;
23
23
  export declare const entries: (obj: ObjectType) => any[][];
24
24
  export declare const removeProps: <T extends ObjectType, K extends ObjectType>(target: T, remove: K) => Omit<T, keyof K>;
25
+ export declare const getAllKeyPaths: (obj: ObjectType, parentKey?: string) => string[];
25
26
  export {};
26
27
  //# sourceMappingURL=object.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["object.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,UAGvC;AASD,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAGD,eAAO,MAAM,YAAY,QAAS,UAAU,UAG3C,CAAC;AAGF,eAAO,MAAM,SAAS,2CAEZ,UAAU,YACT,WAAW,eAwBrB,CAAC;AAEF,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,+DA4BxC;AAED,UAAU,cAAc;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,OAAO,WACV,UAAU,QACZ,MAAM,SACL,GAAG,YACD,cAAc,eAiDxB,CAAC;AAEF,eAAO,MAAM,OAAO,WAAY,UAAU,QAAQ,MAAM,YAAW,WAAW,YAyB7E,CAAC;AAEF,eAAO,MAAM,UAAU,WAAY,UAAU,QAAQ,MAAM,eA0B1D,CAAC;AAEF,eAAO,MAAM,OAAO,WAAY,UAAU,QAAQ,MAAM,YAavD,CAAC;AAEF,eAAO,MAAM,OAAO,QAAS,UAAU,YAItC,CAAC;AAEF,eAAO,MAAM,WAAW,wFAQvB,CAAC"}
1
+ {"version":3,"file":"object.d.ts","sourceRoot":"","sources":["object.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,UAGvC;AASD,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAGD,eAAO,MAAM,YAAY,QAAS,UAAU,UAG3C,CAAC;AAGF,eAAO,MAAM,SAAS,2CAEZ,UAAU,YACT,WAAW,eAwBrB,CAAC;AAEF,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,+DA4BxC;AAED,UAAU,cAAc;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,OAAO,WACV,UAAU,QACZ,MAAM,SACL,GAAG,YACD,cAAc,eAiDxB,CAAC;AAEF,eAAO,MAAM,OAAO,WAAY,UAAU,QAAQ,MAAM,YAAW,WAAW,YAyB7E,CAAC;AAEF,eAAO,MAAM,UAAU,WAAY,UAAU,QAAQ,MAAM,eA0B1D,CAAC;AAEF,eAAO,MAAM,OAAO,WAAY,UAAU,QAAQ,MAAM,YAavD,CAAC;AAEF,eAAO,MAAM,OAAO,QAAS,UAAU,YAItC,CAAC;AAEF,eAAO,MAAM,WAAW,wFAQvB,CAAC;AAEF,eAAO,MAAM,cAAc,QAAS,UAAU,cAAa,MAAM,KAAQ,MAAM,EAU9E,CAAC"}
@@ -1,3 +1,4 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
1
2
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
3
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
4
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
@@ -258,4 +259,14 @@ export var removeProps = function removeProps(target, remove) {
258
259
  _iterator5.f();
259
260
  }
260
261
  return a;
262
+ };
263
+ export var getAllKeyPaths = function getAllKeyPaths(obj) {
264
+ var parentKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
265
+ return Object.keys(obj).reduce(function (keys, key) {
266
+ var newKey = parentKey ? "".concat(parentKey, ".").concat(key) : key;
267
+ if (Array.isArray(obj[key])) {
268
+ return keys.concat(newKey);
269
+ }
270
+ return keys.concat(obj[key] !== null && _typeof(obj[key]) === 'object' ? getAllKeyPaths(obj[key], newKey) : newKey);
271
+ }, []);
261
272
  };
@@ -1 +1 @@
1
- {"version":3,"file":"position.d.ts","sourceRoot":"","sources":["position.ts"],"names":[],"mappings":"AAiGA,eAAO,MAAM,WAAW,WACd,WAAW,GAAG,IAAI,2EAEpB,SAAS,GAAG,MAAM,GAAG,MAAM,UACzB,WAAW,gKAKpB,CAAC"}
1
+ {"version":3,"file":"position.d.ts","sourceRoot":"","sources":["position.ts"],"names":[],"mappings":"AAkGA,eAAO,MAAM,WAAW,WACd,WAAW,GAAG,IAAI,2EAEpB,SAAS,GAAG,MAAM,GAAG,MAAM,UACzB,WAAW,gKAKpB,CAAC"}
@@ -60,22 +60,23 @@ var getPopoverPosition = function getPopoverPosition(target) {
60
60
  var popupRect = popup === null || popup === void 0 ? void 0 : popup.getBoundingClientRect();
61
61
  if (verticalPoint > windowHeight / 2) position = 'top';else position = 'bottom';
62
62
 
63
+ // TODO: 暂时移除,另考虑方案
63
64
  // 如果渲染了弹出内容,则根据弹出内容宽度计算是否自动调整位置
64
- if (popupRect) {
65
- if ((popupRect === null || popupRect === void 0 ? void 0 : popupRect.width) / 2 > rect.left) {
66
- position += '-left';
67
- }
68
- if ((popupRect === null || popupRect === void 0 ? void 0 : popupRect.width) / 2 > windowWidth - rect.right) {
69
- position += '-right';
70
- }
71
- } else {
72
- // 兜底计算
73
- if (horizontalPoint > windowWidth * 0.6) {
74
- position += '-right';
75
- } else if (horizontalPoint < windowWidth * 0.4) {
76
- position += '-left';
77
- }
65
+ // if (popupRect && popupRect?.width) {
66
+ // if (popupRect?.width / 2 > rect.left) {
67
+ // position += '-left';
68
+ // }
69
+ // if (popupRect?.width / 2 > windowWidth - rect.right) {
70
+ // position += '-right';
71
+ // }
72
+ // } else {
73
+ // 兜底计算
74
+ if (horizontalPoint > windowWidth * 0.6) {
75
+ position += '-right';
76
+ } else if (horizontalPoint < windowWidth * 0.4) {
77
+ position += '-left';
78
78
  }
79
+ // }
79
80
  }
80
81
  return position;
81
82
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sheinx/hooks",
3
- "version": "3.4.3",
3
+ "version": "3.4.4-beta.10",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "license": "MIT",