@sheinx/hooks 3.8.0-beta.8 → 3.8.0

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.
Files changed (183) hide show
  1. package/cjs/common/use-filter/use-filter.d.ts.map +1 -1
  2. package/cjs/common/use-filter/use-filter.js +4 -1
  3. package/cjs/common/use-position-style/check-border.d.ts +1 -0
  4. package/cjs/common/use-position-style/check-border.d.ts.map +1 -1
  5. package/cjs/common/use-position-style/check-border.js +2 -2
  6. package/cjs/common/use-position-style/index.d.ts.map +1 -1
  7. package/cjs/common/use-position-style/index.js +10 -4
  8. package/cjs/components/use-check/use-check.d.ts.map +1 -1
  9. package/cjs/components/use-check/use-check.js +10 -2
  10. package/cjs/components/use-datepicker/use-datepicker-format.d.ts.map +1 -1
  11. package/cjs/components/use-datepicker/use-datepicker-format.js +1 -0
  12. package/cjs/components/use-datepicker/use-time.d.ts +10 -8
  13. package/cjs/components/use-datepicker/use-time.d.ts.map +1 -1
  14. package/cjs/components/use-datepicker/use-time.js +19 -5
  15. package/cjs/components/use-datepicker/use-time.type.d.ts +5 -1
  16. package/cjs/components/use-datepicker/use-time.type.d.ts.map +1 -1
  17. package/cjs/components/use-datepicker/util.d.ts.map +1 -1
  18. package/cjs/components/use-datepicker/util.js +10 -1
  19. package/cjs/components/use-form/Provider.d.ts.map +1 -1
  20. package/cjs/components/use-form/Provider.js +7 -2
  21. package/cjs/components/use-form/form-schema-context.d.ts +6 -0
  22. package/cjs/components/use-form/form-schema-context.d.ts.map +1 -0
  23. package/cjs/components/use-form/form-schema-context.js +16 -0
  24. package/cjs/components/use-form/index.d.ts +2 -0
  25. package/cjs/components/use-form/index.d.ts.map +1 -1
  26. package/cjs/components/use-form/index.js +21 -1
  27. package/cjs/components/use-form/use-form-context.d.ts.map +1 -1
  28. package/cjs/components/use-form/use-form-context.js +11 -5
  29. package/cjs/components/use-form/use-form-context.type.d.ts +6 -0
  30. package/cjs/components/use-form/use-form-context.type.d.ts.map +1 -1
  31. package/cjs/components/use-form/use-form-control/use-form-control.d.ts.map +1 -1
  32. package/cjs/components/use-form/use-form-control/use-form-control.js +34 -4
  33. package/cjs/components/use-form/use-form-control/use-form-control.type.d.ts +8 -2
  34. package/cjs/components/use-form/use-form-control/use-form-control.type.d.ts.map +1 -1
  35. package/cjs/components/use-form/use-form-flow/use-form-datum.d.ts +8 -0
  36. package/cjs/components/use-form/use-form-flow/use-form-datum.d.ts.map +1 -1
  37. package/cjs/components/use-form/use-form-item/form-item-context.d.ts +1 -0
  38. package/cjs/components/use-form/use-form-item/form-item-context.d.ts.map +1 -1
  39. package/cjs/components/use-form/use-form-item/form-item-context.js +2 -1
  40. package/cjs/components/use-form/use-form-item/index.d.ts +1 -0
  41. package/cjs/components/use-form/use-form-item/index.d.ts.map +1 -1
  42. package/cjs/components/use-form/use-form-item/index.js +7 -0
  43. package/cjs/components/use-form/use-form-item/use-form-item.d.ts +1 -1
  44. package/cjs/components/use-form/use-form-schema/form-schema-builder.d.ts +50 -0
  45. package/cjs/components/use-form/use-form-schema/form-schema-builder.d.ts.map +1 -0
  46. package/cjs/components/use-form/use-form-schema/form-schema-builder.js +377 -0
  47. package/cjs/components/use-form/use-form-schema/index.d.ts +3 -0
  48. package/cjs/components/use-form/use-form-schema/index.d.ts.map +1 -0
  49. package/cjs/components/use-form/use-form-schema/index.js +13 -0
  50. package/cjs/components/use-form/use-form.d.ts +4 -0
  51. package/cjs/components/use-form/use-form.d.ts.map +1 -1
  52. package/cjs/components/use-form/use-form.js +19 -9
  53. package/cjs/components/use-form/use-form.type.d.ts +46 -39
  54. package/cjs/components/use-form/use-form.type.d.ts.map +1 -1
  55. package/cjs/components/use-input/use-input-number.d.ts.map +1 -1
  56. package/cjs/components/use-input/use-input-number.js +3 -1
  57. package/cjs/components/use-input/use-input-number.type.d.ts +1 -1
  58. package/cjs/components/use-input/use-input-number.type.d.ts.map +1 -1
  59. package/cjs/components/use-input/use-input.d.ts.map +1 -1
  60. package/cjs/components/use-input/use-input.js +4 -1
  61. package/cjs/components/use-pagination/use-pagination.d.ts.map +1 -1
  62. package/cjs/components/use-pagination/use-pagination.js +2 -1
  63. package/cjs/components/use-popup/use-popup.d.ts.map +1 -1
  64. package/cjs/components/use-popup/use-popup.js +12 -24
  65. package/cjs/components/use-select/use-select.type.d.ts +27 -18
  66. package/cjs/components/use-select/use-select.type.d.ts.map +1 -1
  67. package/cjs/components/use-table/use-table-virtual.d.ts +6 -1
  68. package/cjs/components/use-table/use-table-virtual.d.ts.map +1 -1
  69. package/cjs/components/use-table/use-table-virtual.js +5 -4
  70. package/cjs/components/use-table/use-table.type.d.ts +70 -92
  71. package/cjs/components/use-table/use-table.type.d.ts.map +1 -1
  72. package/cjs/components/use-tree/use-tree-node.d.ts +7 -1
  73. package/cjs/components/use-tree/use-tree-node.d.ts.map +1 -1
  74. package/cjs/components/use-tree/use-tree-node.js +19 -1
  75. package/cjs/components/use-tree/use-tree.d.ts.map +1 -1
  76. package/cjs/components/use-tree/use-tree.js +26 -19
  77. package/cjs/components/use-tree/use-tree.type.d.ts +7 -1
  78. package/cjs/components/use-tree/use-tree.type.d.ts.map +1 -1
  79. package/cjs/utils/dom/document.d.ts +4 -0
  80. package/cjs/utils/dom/document.d.ts.map +1 -1
  81. package/cjs/utils/dom/document.js +19 -2
  82. package/cjs/utils/dom/element.d.ts +1 -0
  83. package/cjs/utils/dom/element.d.ts.map +1 -1
  84. package/cjs/utils/dom/element.js +5 -1
  85. package/cjs/utils/highlight.d.ts.map +1 -1
  86. package/cjs/utils/highlight.js +24 -11
  87. package/cjs/utils/lazyload.d.ts.map +1 -1
  88. package/cjs/utils/lazyload.js +33 -1
  89. package/cjs/utils/object.d.ts +6 -0
  90. package/cjs/utils/object.d.ts.map +1 -1
  91. package/cjs/utils/object.js +21 -1
  92. package/esm/common/use-filter/use-filter.d.ts.map +1 -1
  93. package/esm/common/use-filter/use-filter.js +4 -1
  94. package/esm/common/use-position-style/check-border.d.ts +1 -0
  95. package/esm/common/use-position-style/check-border.d.ts.map +1 -1
  96. package/esm/common/use-position-style/check-border.js +2 -2
  97. package/esm/common/use-position-style/index.d.ts.map +1 -1
  98. package/esm/common/use-position-style/index.js +11 -5
  99. package/esm/components/use-check/use-check.d.ts.map +1 -1
  100. package/esm/components/use-check/use-check.js +10 -2
  101. package/esm/components/use-datepicker/use-datepicker-format.d.ts.map +1 -1
  102. package/esm/components/use-datepicker/use-datepicker-format.js +1 -0
  103. package/esm/components/use-datepicker/use-time.d.ts +10 -8
  104. package/esm/components/use-datepicker/use-time.d.ts.map +1 -1
  105. package/esm/components/use-datepicker/use-time.js +19 -5
  106. package/esm/components/use-datepicker/use-time.type.d.ts +5 -1
  107. package/esm/components/use-datepicker/use-time.type.d.ts.map +1 -1
  108. package/esm/components/use-datepicker/util.d.ts.map +1 -1
  109. package/esm/components/use-datepicker/util.js +10 -1
  110. package/esm/components/use-form/Provider.d.ts.map +1 -1
  111. package/esm/components/use-form/Provider.js +7 -2
  112. package/esm/components/use-form/form-schema-context.d.ts +6 -0
  113. package/esm/components/use-form/form-schema-context.d.ts.map +1 -0
  114. package/esm/components/use-form/form-schema-context.js +8 -0
  115. package/esm/components/use-form/index.d.ts +2 -0
  116. package/esm/components/use-form/index.d.ts.map +1 -1
  117. package/esm/components/use-form/index.js +3 -1
  118. package/esm/components/use-form/use-form-context.d.ts.map +1 -1
  119. package/esm/components/use-form/use-form-context.js +11 -5
  120. package/esm/components/use-form/use-form-context.type.d.ts +6 -0
  121. package/esm/components/use-form/use-form-context.type.d.ts.map +1 -1
  122. package/esm/components/use-form/use-form-control/use-form-control.d.ts.map +1 -1
  123. package/esm/components/use-form/use-form-control/use-form-control.js +34 -4
  124. package/esm/components/use-form/use-form-control/use-form-control.type.d.ts +8 -2
  125. package/esm/components/use-form/use-form-control/use-form-control.type.d.ts.map +1 -1
  126. package/esm/components/use-form/use-form-flow/use-form-datum.d.ts +8 -0
  127. package/esm/components/use-form/use-form-flow/use-form-datum.d.ts.map +1 -1
  128. package/esm/components/use-form/use-form-item/form-item-context.d.ts +1 -0
  129. package/esm/components/use-form/use-form-item/form-item-context.d.ts.map +1 -1
  130. package/esm/components/use-form/use-form-item/form-item-context.js +2 -1
  131. package/esm/components/use-form/use-form-item/index.d.ts +1 -0
  132. package/esm/components/use-form/use-form-item/index.d.ts.map +1 -1
  133. package/esm/components/use-form/use-form-item/index.js +2 -1
  134. package/esm/components/use-form/use-form-item/use-form-item.d.ts +1 -1
  135. package/esm/components/use-form/use-form-schema/form-schema-builder.d.ts +50 -0
  136. package/esm/components/use-form/use-form-schema/form-schema-builder.d.ts.map +1 -0
  137. package/esm/components/use-form/use-form-schema/form-schema-builder.js +371 -0
  138. package/esm/components/use-form/use-form-schema/index.d.ts +3 -0
  139. package/esm/components/use-form/use-form-schema/index.d.ts.map +1 -0
  140. package/esm/components/use-form/use-form-schema/index.js +2 -0
  141. package/esm/components/use-form/use-form.d.ts +4 -0
  142. package/esm/components/use-form/use-form.d.ts.map +1 -1
  143. package/esm/components/use-form/use-form.js +19 -9
  144. package/esm/components/use-form/use-form.type.d.ts +46 -39
  145. package/esm/components/use-form/use-form.type.d.ts.map +1 -1
  146. package/esm/components/use-input/use-input-number.d.ts.map +1 -1
  147. package/esm/components/use-input/use-input-number.js +3 -1
  148. package/esm/components/use-input/use-input-number.type.d.ts +1 -1
  149. package/esm/components/use-input/use-input-number.type.d.ts.map +1 -1
  150. package/esm/components/use-input/use-input.d.ts.map +1 -1
  151. package/esm/components/use-input/use-input.js +4 -1
  152. package/esm/components/use-pagination/use-pagination.d.ts.map +1 -1
  153. package/esm/components/use-pagination/use-pagination.js +2 -1
  154. package/esm/components/use-popup/use-popup.d.ts.map +1 -1
  155. package/esm/components/use-popup/use-popup.js +12 -24
  156. package/esm/components/use-select/use-select.type.d.ts +27 -18
  157. package/esm/components/use-select/use-select.type.d.ts.map +1 -1
  158. package/esm/components/use-table/use-table-virtual.d.ts +6 -1
  159. package/esm/components/use-table/use-table-virtual.d.ts.map +1 -1
  160. package/esm/components/use-table/use-table-virtual.js +5 -4
  161. package/esm/components/use-table/use-table.type.d.ts +70 -92
  162. package/esm/components/use-table/use-table.type.d.ts.map +1 -1
  163. package/esm/components/use-tree/use-tree-node.d.ts +7 -1
  164. package/esm/components/use-tree/use-tree-node.d.ts.map +1 -1
  165. package/esm/components/use-tree/use-tree-node.js +19 -1
  166. package/esm/components/use-tree/use-tree.d.ts.map +1 -1
  167. package/esm/components/use-tree/use-tree.js +26 -19
  168. package/esm/components/use-tree/use-tree.type.d.ts +7 -1
  169. package/esm/components/use-tree/use-tree.type.d.ts.map +1 -1
  170. package/esm/utils/dom/document.d.ts +4 -0
  171. package/esm/utils/dom/document.d.ts.map +1 -1
  172. package/esm/utils/dom/document.js +18 -1
  173. package/esm/utils/dom/element.d.ts +1 -0
  174. package/esm/utils/dom/element.d.ts.map +1 -1
  175. package/esm/utils/dom/element.js +4 -0
  176. package/esm/utils/highlight.d.ts.map +1 -1
  177. package/esm/utils/highlight.js +24 -10
  178. package/esm/utils/lazyload.d.ts.map +1 -1
  179. package/esm/utils/lazyload.js +33 -1
  180. package/esm/utils/object.d.ts +6 -0
  181. package/esm/utils/object.d.ts.map +1 -1
  182. package/esm/utils/object.js +20 -0
  183. package/package.json +3 -3
@@ -183,4 +183,8 @@ export var parsePxToNumber = function parsePxToNumber(str) {
183
183
  export var getFieldId = function getFieldId(name, formName) {
184
184
  if (!name) return undefined;
185
185
  return "".concat(formName ? "".concat(formName, "_") : '').concat(name);
186
+ };
187
+ export var getOriginField = function getOriginField(name, formName) {
188
+ if (!name || !formName) return '';
189
+ return name.replace("".concat(formName, "_"), '');
186
190
  };
@@ -1 +1 @@
1
- {"version":3,"file":"highlight.d.ts","sourceRoot":"","sources":["highlight.tsx"],"names":[],"mappings":"AAIA,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,EAClC,QAAQ,EACR,WAAW,EACX,kBAAkB,EAClB,MAAM,GACP,EAAE;IACD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,CAAC,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,MAAM,CAAC;CAC5B,GAAG,CAAC,CA8BJ"}
1
+ {"version":3,"file":"highlight.d.ts","sourceRoot":"","sources":["highlight.tsx"],"names":[],"mappings":"AAIA,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,EAClC,QAAQ,EACR,WAAW,EACX,kBAAkB,EAClB,MAAM,GACP,EAAE;IACD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,CAAC,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,MAAM,CAAC;CAC5B,GAAG,CAAC,CAkCJ"}
@@ -1,3 +1,9 @@
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); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
+ 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); }
1
7
  import React, { cloneElement } from 'react';
2
8
  import { escapeRegExp } from "./string";
3
9
  import { isArray } from "./is";
@@ -11,22 +17,31 @@ export function getHighlightText(_ref) {
11
17
  if (!enable || !searchWords) {
12
18
  return nodeList;
13
19
  }
14
- var transformNode = function transformNode(node) {
15
- var _node$props;
16
- if (node && typeof ((_node$props = node.props) === null || _node$props === void 0 ? void 0 : _node$props.children) === 'string') {
17
- return /*#__PURE__*/cloneElement(node, undefined, /*#__PURE__*/_jsx(HighlightText, {
18
- textToHighlight: node.props.children,
20
+
21
+ // 递归转换节点
22
+ var transformNode = function transformNode(node, index) {
23
+ // 如果是合法的 React 元素
24
+ if ( /*#__PURE__*/React.isValidElement(node) && node.props && node.props.children) {
25
+ // 对 children 递归调用 getHighlightText 进行转换
26
+ var transformedChildren = getHighlightText({
27
+ nodeList: node.props.children,
19
28
  searchWords: searchWords,
20
- highlightClassName: highlightClassName
21
- }));
29
+ highlightClassName: highlightClassName,
30
+ enable: enable
31
+ });
32
+ return /*#__PURE__*/cloneElement(node, _objectSpread(_objectSpread({}, node.props), {}, {
33
+ key: index
34
+ }), transformedChildren);
22
35
  }
23
- if (node && typeof node === 'string') {
36
+ // 如果节点为字符串,则直接高亮替换
37
+ if (typeof node === 'string') {
24
38
  return /*#__PURE__*/_jsx(HighlightText, {
25
39
  textToHighlight: node,
26
40
  searchWords: searchWords,
27
41
  highlightClassName: highlightClassName
28
42
  });
29
43
  }
44
+ // 其他情况直接返回原节点
30
45
  return node;
31
46
  };
32
47
  return isArray(nodeList) ? nodeList.map(transformNode) : transformNode(nodeList);
@@ -42,8 +57,7 @@ function HighlightText(_ref2) {
42
57
  searchWords = searchWords.slice(0, 500);
43
58
  }
44
59
 
45
- // 注意这里的括号,这里使用了带capture group功能的正则,来split字符串
46
- // 从而在strArr中可以保留匹配文本
60
+ // capture group 的正则用于 split 保留匹配文本
47
61
  var re = new RegExp("(".concat(escapeRegExp(searchWords), ")"), 'i');
48
62
  var strArr = textToHighlight.split(re);
49
63
  return /*#__PURE__*/_jsx(_Fragment, {
@@ -1 +1 @@
1
- {"version":3,"file":"lazyload.d.ts","sourceRoot":"","sources":["lazyload.ts"],"names":[],"mappings":"AAKA,KAAK,UAAU,GAAG;IAChB,SAAS,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,oBAAoB,CAAC;CACjC,CAAC;AAsBF,wBAAgB,QAAQ,SAgBvB;AAWD,wBAAgB,WAAW,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,QAUvE;AA0BD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,UAAU,iBA4BvC"}
1
+ {"version":3,"file":"lazyload.d.ts","sourceRoot":"","sources":["lazyload.ts"],"names":[],"mappings":"AAKA,KAAK,UAAU,GAAG;IAChB,SAAS,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,oBAAoB,CAAC;CACjC,CAAC;AAsBF,wBAAgB,QAAQ,SAgBvB;AAWD,wBAAgB,WAAW,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,QAUvE;AA4DD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,UAAU,iBA4BvC"}
@@ -58,6 +58,34 @@ export function removeStack(id, removeListener) {
58
58
  }
59
59
  delete components[id];
60
60
  }
61
+
62
+ // 检测容器是否高度受限
63
+ var isRootHeightConstrained = function isRootHeightConstrained(root, targetElement) {
64
+ if (!root || root === document.body) {
65
+ var bodyRect = document.body.getBoundingClientRect();
66
+ var _targetRect = targetElement.getBoundingClientRect();
67
+ // body的底部和targetElement的顶部永远不可能有相交,则是受限的
68
+ if (bodyRect.bottom < _targetRect.top) {
69
+ return true;
70
+ } else {
71
+ return false;
72
+ }
73
+ }
74
+
75
+ // 当root的overflow是auto或hidden,则认为不是受限的
76
+ var rootStyle = window.getComputedStyle(root);
77
+ if (rootStyle.overflow === 'auto' || rootStyle.overflow === 'hidden') {
78
+ return false;
79
+ }
80
+
81
+ // 当root的底部与targetElement的顶部永远不可能有相交,则是受限的
82
+ var rootRect = root.getBoundingClientRect();
83
+ var targetRect = targetElement.getBoundingClientRect();
84
+ if (rootRect.top > targetRect.bottom || rootRect.bottom < targetRect.top) {
85
+ return true;
86
+ }
87
+ return false;
88
+ };
61
89
  function getObserver(obj, id) {
62
90
  var _obj$container = obj.container,
63
91
  container = _obj$container === void 0 ? null : _obj$container,
@@ -67,6 +95,10 @@ function getObserver(obj, id) {
67
95
  offscreen = obj.offscreen,
68
96
  noRemove = obj.noRemove;
69
97
  var fixedContainer = getClosestPositionedContainer(element, ['fixed', 'absolute']);
98
+
99
+ // 获取最优的观察器配置
100
+ var candidateRoot = fixedContainer || container;
101
+ var observerRoot = isRootHeightConstrained(candidateRoot, element) ? null : candidateRoot;
70
102
  var observer = new IntersectionObserver(function (entries) {
71
103
  entries.forEach(function (en) {
72
104
  if (en.isIntersecting || en.intersectionRatio > 0) {
@@ -78,7 +110,7 @@ function getObserver(obj, id) {
78
110
  }
79
111
  });
80
112
  }, {
81
- root: fixedContainer || container,
113
+ root: observerRoot,
82
114
  rootMargin: "".concat(offset, "px")
83
115
  });
84
116
  obj.observer = observer;
@@ -45,5 +45,11 @@ export declare const getAllKeyPaths: (obj: ObjectType, parentKey?: string) => st
45
45
  * console.log(completeFields) // ['user', 'user.name', 'user.age', 'user[0].name', 'user[0].age', 'user[1].name', 'user[1].age']
46
46
  */
47
47
  export declare const getCompleteFieldKeys: (fields: string | string[], allFields: string[]) => string[];
48
+ /**
49
+ * 将对象中的所有值设置为空, 如果值是数组,重置为空数组,如果是对象,重置为空对象,如果是基础类型,重置为undefined
50
+ * @param obj 对象
51
+ * @returns 空对象
52
+ */
53
+ export declare const clearValue: (obj: ObjectType) => any;
48
54
  export {};
49
55
  //# 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;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,QAAS,UAAU,cAAa,MAAM,KAAQ,MAAM,EAoB9E,CAAC;AAGF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,WAAY,MAAM,GAAG,MAAM,EAAE,aAAa,MAAM,EAAE,KAAG,MAAM,EAmB3F,CAAA"}
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;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,QAAS,UAAU,cAAa,MAAM,KAAQ,MAAM,EAoB9E,CAAC;AAGF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,WAAY,MAAM,GAAG,MAAM,EAAE,aAAa,MAAM,EAAE,KAAG,MAAM,EAmB3F,CAAA;AAGD;;;;GAIG;AACH,eAAO,MAAM,UAAU,QAAS,UAAU,KAAG,GAW5C,CAAC"}
@@ -325,4 +325,24 @@ export var getCompleteFieldKeys = function getCompleteFieldKeys(fields, allField
325
325
 
326
326
  // 返回之前去重
327
327
  return Array.from(new Set(completeFields));
328
+ };
329
+
330
+ /**
331
+ * 将对象中的所有值设置为空, 如果值是数组,重置为空数组,如果是对象,重置为空对象,如果是基础类型,重置为undefined
332
+ * @param obj 对象
333
+ * @returns 空对象
334
+ */
335
+ export var clearValue = function clearValue(obj) {
336
+ if (isArray(obj)) {
337
+ return obj.map(function (item) {
338
+ return clearValue(item);
339
+ });
340
+ }
341
+ if (isObject(obj)) {
342
+ return Object.keys(obj).reduce(function (acc, key) {
343
+ acc[key] = clearValue(obj[key]);
344
+ return acc;
345
+ }, {});
346
+ }
347
+ return undefined;
328
348
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sheinx/hooks",
3
- "version": "3.8.0-beta.8",
3
+ "version": "3.8.0",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "license": "MIT",
@@ -18,8 +18,8 @@
18
18
  "immer": "10.0.2"
19
19
  },
20
20
  "peerDependencies": {
21
- "react": ">=16.8",
22
- "react-dom": ">=16.8",
21
+ "react": ">=16.14.0",
22
+ "react-dom": ">=16.14.0",
23
23
  "core-js": ">=3"
24
24
  },
25
25
  "repository": {