@sheinx/hooks 3.8.0-beta.4 → 3.8.0-beta.41

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 (195) 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-date.d.ts.map +1 -1
  11. package/cjs/components/use-datepicker/use-date.js +12 -4
  12. package/cjs/components/use-datepicker/use-date.type.d.ts +2 -1
  13. package/cjs/components/use-datepicker/use-date.type.d.ts.map +1 -1
  14. package/cjs/components/use-datepicker/use-datepicker-format.d.ts +2 -1
  15. package/cjs/components/use-datepicker/use-datepicker-format.d.ts.map +1 -1
  16. package/cjs/components/use-datepicker/use-datepicker-format.js +22 -5
  17. package/cjs/components/use-datepicker/use-datepicker-range.js +2 -2
  18. package/cjs/components/use-datepicker/use-time.d.ts +10 -8
  19. package/cjs/components/use-datepicker/use-time.d.ts.map +1 -1
  20. package/cjs/components/use-datepicker/use-time.js +19 -5
  21. package/cjs/components/use-datepicker/use-time.type.d.ts +5 -1
  22. package/cjs/components/use-datepicker/use-time.type.d.ts.map +1 -1
  23. package/cjs/components/use-datepicker/util.d.ts +7 -1
  24. package/cjs/components/use-datepicker/util.d.ts.map +1 -1
  25. package/cjs/components/use-datepicker/util.js +21 -2
  26. package/cjs/components/use-form/Provider.d.ts.map +1 -1
  27. package/cjs/components/use-form/Provider.js +7 -2
  28. package/cjs/components/use-form/form-schema-context.d.ts +6 -0
  29. package/cjs/components/use-form/form-schema-context.d.ts.map +1 -0
  30. package/cjs/components/use-form/form-schema-context.js +16 -0
  31. package/cjs/components/use-form/index.d.ts +2 -0
  32. package/cjs/components/use-form/index.d.ts.map +1 -1
  33. package/cjs/components/use-form/index.js +21 -1
  34. package/cjs/components/use-form/use-form-context.d.ts.map +1 -1
  35. package/cjs/components/use-form/use-form-context.js +11 -5
  36. package/cjs/components/use-form/use-form-context.type.d.ts +6 -0
  37. package/cjs/components/use-form/use-form-context.type.d.ts.map +1 -1
  38. package/cjs/components/use-form/use-form-control/use-form-control.d.ts.map +1 -1
  39. package/cjs/components/use-form/use-form-control/use-form-control.js +12 -3
  40. package/cjs/components/use-form/use-form-control/use-form-control.type.d.ts +8 -2
  41. package/cjs/components/use-form/use-form-control/use-form-control.type.d.ts.map +1 -1
  42. package/cjs/components/use-form/use-form-flow/use-form-datum.d.ts +8 -0
  43. package/cjs/components/use-form/use-form-flow/use-form-datum.d.ts.map +1 -1
  44. package/cjs/components/use-form/use-form-item/form-item-context.d.ts +1 -0
  45. package/cjs/components/use-form/use-form-item/form-item-context.d.ts.map +1 -1
  46. package/cjs/components/use-form/use-form-item/form-item-context.js +2 -1
  47. package/cjs/components/use-form/use-form-item/index.d.ts +1 -0
  48. package/cjs/components/use-form/use-form-item/index.d.ts.map +1 -1
  49. package/cjs/components/use-form/use-form-item/index.js +7 -0
  50. package/cjs/components/use-form/use-form-item/use-form-item.d.ts +1 -1
  51. package/cjs/components/use-form/use-form-schema/form-schema-builder.d.ts +50 -0
  52. package/cjs/components/use-form/use-form-schema/form-schema-builder.d.ts.map +1 -0
  53. package/cjs/components/use-form/use-form-schema/form-schema-builder.js +373 -0
  54. package/cjs/components/use-form/use-form-schema/index.d.ts +3 -0
  55. package/cjs/components/use-form/use-form-schema/index.d.ts.map +1 -0
  56. package/cjs/components/use-form/use-form-schema/index.js +13 -0
  57. package/cjs/components/use-form/use-form.d.ts +4 -0
  58. package/cjs/components/use-form/use-form.d.ts.map +1 -1
  59. package/cjs/components/use-form/use-form.js +22 -11
  60. package/cjs/components/use-form/use-form.type.d.ts +46 -39
  61. package/cjs/components/use-form/use-form.type.d.ts.map +1 -1
  62. package/cjs/components/use-input/use-input.d.ts.map +1 -1
  63. package/cjs/components/use-input/use-input.js +4 -1
  64. package/cjs/components/use-pagination/use-pagination.d.ts.map +1 -1
  65. package/cjs/components/use-pagination/use-pagination.js +2 -1
  66. package/cjs/components/use-popup/use-popup.d.ts.map +1 -1
  67. package/cjs/components/use-popup/use-popup.js +7 -4
  68. package/cjs/components/use-select/use-select.type.d.ts +27 -18
  69. package/cjs/components/use-select/use-select.type.d.ts.map +1 -1
  70. package/cjs/components/use-table/use-table-virtual.d.ts +6 -1
  71. package/cjs/components/use-table/use-table-virtual.d.ts.map +1 -1
  72. package/cjs/components/use-table/use-table-virtual.js +5 -4
  73. package/cjs/components/use-table/use-table.type.d.ts +70 -92
  74. package/cjs/components/use-table/use-table.type.d.ts.map +1 -1
  75. package/cjs/components/use-tree/use-tree-node.d.ts +7 -1
  76. package/cjs/components/use-tree/use-tree-node.d.ts.map +1 -1
  77. package/cjs/components/use-tree/use-tree-node.js +19 -1
  78. package/cjs/components/use-tree/use-tree.d.ts.map +1 -1
  79. package/cjs/components/use-tree/use-tree.js +26 -19
  80. package/cjs/components/use-tree/use-tree.type.d.ts +7 -1
  81. package/cjs/components/use-tree/use-tree.type.d.ts.map +1 -1
  82. package/cjs/utils/dom/document.d.ts +4 -0
  83. package/cjs/utils/dom/document.d.ts.map +1 -1
  84. package/cjs/utils/dom/document.js +19 -2
  85. package/cjs/utils/dom/element.d.ts +1 -0
  86. package/cjs/utils/dom/element.d.ts.map +1 -1
  87. package/cjs/utils/dom/element.js +5 -1
  88. package/cjs/utils/highlight.d.ts.map +1 -1
  89. package/cjs/utils/highlight.js +24 -11
  90. package/cjs/utils/lazyload.d.ts.map +1 -1
  91. package/cjs/utils/lazyload.js +33 -1
  92. package/cjs/utils/object.d.ts +6 -0
  93. package/cjs/utils/object.d.ts.map +1 -1
  94. package/cjs/utils/object.js +21 -1
  95. package/cjs/utils/shallow-equal.d.ts +1 -0
  96. package/cjs/utils/shallow-equal.d.ts.map +1 -1
  97. package/cjs/utils/shallow-equal.js +9 -0
  98. package/esm/common/use-filter/use-filter.d.ts.map +1 -1
  99. package/esm/common/use-filter/use-filter.js +4 -1
  100. package/esm/common/use-position-style/check-border.d.ts +1 -0
  101. package/esm/common/use-position-style/check-border.d.ts.map +1 -1
  102. package/esm/common/use-position-style/check-border.js +2 -2
  103. package/esm/common/use-position-style/index.d.ts.map +1 -1
  104. package/esm/common/use-position-style/index.js +11 -5
  105. package/esm/components/use-check/use-check.d.ts.map +1 -1
  106. package/esm/components/use-check/use-check.js +10 -2
  107. package/esm/components/use-datepicker/use-date.d.ts.map +1 -1
  108. package/esm/components/use-datepicker/use-date.js +12 -4
  109. package/esm/components/use-datepicker/use-date.type.d.ts +2 -1
  110. package/esm/components/use-datepicker/use-date.type.d.ts.map +1 -1
  111. package/esm/components/use-datepicker/use-datepicker-format.d.ts +2 -1
  112. package/esm/components/use-datepicker/use-datepicker-format.d.ts.map +1 -1
  113. package/esm/components/use-datepicker/use-datepicker-format.js +19 -5
  114. package/esm/components/use-datepicker/use-datepicker-range.js +2 -2
  115. package/esm/components/use-datepicker/use-time.d.ts +10 -8
  116. package/esm/components/use-datepicker/use-time.d.ts.map +1 -1
  117. package/esm/components/use-datepicker/use-time.js +19 -5
  118. package/esm/components/use-datepicker/use-time.type.d.ts +5 -1
  119. package/esm/components/use-datepicker/use-time.type.d.ts.map +1 -1
  120. package/esm/components/use-datepicker/util.d.ts +7 -1
  121. package/esm/components/use-datepicker/util.d.ts.map +1 -1
  122. package/esm/components/use-datepicker/util.js +21 -2
  123. package/esm/components/use-form/Provider.d.ts.map +1 -1
  124. package/esm/components/use-form/Provider.js +7 -2
  125. package/esm/components/use-form/form-schema-context.d.ts +6 -0
  126. package/esm/components/use-form/form-schema-context.d.ts.map +1 -0
  127. package/esm/components/use-form/form-schema-context.js +8 -0
  128. package/esm/components/use-form/index.d.ts +2 -0
  129. package/esm/components/use-form/index.d.ts.map +1 -1
  130. package/esm/components/use-form/index.js +3 -1
  131. package/esm/components/use-form/use-form-context.d.ts.map +1 -1
  132. package/esm/components/use-form/use-form-context.js +11 -5
  133. package/esm/components/use-form/use-form-context.type.d.ts +6 -0
  134. package/esm/components/use-form/use-form-context.type.d.ts.map +1 -1
  135. package/esm/components/use-form/use-form-control/use-form-control.d.ts.map +1 -1
  136. package/esm/components/use-form/use-form-control/use-form-control.js +12 -3
  137. package/esm/components/use-form/use-form-control/use-form-control.type.d.ts +8 -2
  138. package/esm/components/use-form/use-form-control/use-form-control.type.d.ts.map +1 -1
  139. package/esm/components/use-form/use-form-flow/use-form-datum.d.ts +8 -0
  140. package/esm/components/use-form/use-form-flow/use-form-datum.d.ts.map +1 -1
  141. package/esm/components/use-form/use-form-item/form-item-context.d.ts +1 -0
  142. package/esm/components/use-form/use-form-item/form-item-context.d.ts.map +1 -1
  143. package/esm/components/use-form/use-form-item/form-item-context.js +2 -1
  144. package/esm/components/use-form/use-form-item/index.d.ts +1 -0
  145. package/esm/components/use-form/use-form-item/index.d.ts.map +1 -1
  146. package/esm/components/use-form/use-form-item/index.js +2 -1
  147. package/esm/components/use-form/use-form-item/use-form-item.d.ts +1 -1
  148. package/esm/components/use-form/use-form-schema/form-schema-builder.d.ts +50 -0
  149. package/esm/components/use-form/use-form-schema/form-schema-builder.d.ts.map +1 -0
  150. package/esm/components/use-form/use-form-schema/form-schema-builder.js +367 -0
  151. package/esm/components/use-form/use-form-schema/index.d.ts +3 -0
  152. package/esm/components/use-form/use-form-schema/index.d.ts.map +1 -0
  153. package/esm/components/use-form/use-form-schema/index.js +2 -0
  154. package/esm/components/use-form/use-form.d.ts +4 -0
  155. package/esm/components/use-form/use-form.d.ts.map +1 -1
  156. package/esm/components/use-form/use-form.js +22 -11
  157. package/esm/components/use-form/use-form.type.d.ts +46 -39
  158. package/esm/components/use-form/use-form.type.d.ts.map +1 -1
  159. package/esm/components/use-input/use-input.d.ts.map +1 -1
  160. package/esm/components/use-input/use-input.js +4 -1
  161. package/esm/components/use-pagination/use-pagination.d.ts.map +1 -1
  162. package/esm/components/use-pagination/use-pagination.js +2 -1
  163. package/esm/components/use-popup/use-popup.d.ts.map +1 -1
  164. package/esm/components/use-popup/use-popup.js +7 -4
  165. package/esm/components/use-select/use-select.type.d.ts +27 -18
  166. package/esm/components/use-select/use-select.type.d.ts.map +1 -1
  167. package/esm/components/use-table/use-table-virtual.d.ts +6 -1
  168. package/esm/components/use-table/use-table-virtual.d.ts.map +1 -1
  169. package/esm/components/use-table/use-table-virtual.js +5 -4
  170. package/esm/components/use-table/use-table.type.d.ts +70 -92
  171. package/esm/components/use-table/use-table.type.d.ts.map +1 -1
  172. package/esm/components/use-tree/use-tree-node.d.ts +7 -1
  173. package/esm/components/use-tree/use-tree-node.d.ts.map +1 -1
  174. package/esm/components/use-tree/use-tree-node.js +19 -1
  175. package/esm/components/use-tree/use-tree.d.ts.map +1 -1
  176. package/esm/components/use-tree/use-tree.js +26 -19
  177. package/esm/components/use-tree/use-tree.type.d.ts +7 -1
  178. package/esm/components/use-tree/use-tree.type.d.ts.map +1 -1
  179. package/esm/utils/dom/document.d.ts +4 -0
  180. package/esm/utils/dom/document.d.ts.map +1 -1
  181. package/esm/utils/dom/document.js +18 -1
  182. package/esm/utils/dom/element.d.ts +1 -0
  183. package/esm/utils/dom/element.d.ts.map +1 -1
  184. package/esm/utils/dom/element.js +4 -0
  185. package/esm/utils/highlight.d.ts.map +1 -1
  186. package/esm/utils/highlight.js +24 -10
  187. package/esm/utils/lazyload.d.ts.map +1 -1
  188. package/esm/utils/lazyload.js +33 -1
  189. package/esm/utils/object.d.ts +6 -0
  190. package/esm/utils/object.d.ts.map +1 -1
  191. package/esm/utils/object.js +20 -0
  192. package/esm/utils/shallow-equal.d.ts +1 -0
  193. package/esm/utils/shallow-equal.d.ts.map +1 -1
  194. package/esm/utils/shallow-equal.js +8 -0
  195. package/package.json +3 -3
@@ -7,7 +7,7 @@ exports.addResizeObserver = void 0;
7
7
  exports.cssSupport = cssSupport;
8
8
  exports.getClosestPositionedContainer = getClosestPositionedContainer;
9
9
  exports.getClosestScrollContainer = getClosestScrollContainer;
10
- exports.getFieldId = void 0;
10
+ exports.getOriginField = exports.getFieldId = void 0;
11
11
  exports.getParent = getParent;
12
12
  exports.isScrollable = isScrollable;
13
13
  exports.parsePxToNumber = void 0;
@@ -197,4 +197,8 @@ var parsePxToNumber = exports.parsePxToNumber = function parsePxToNumber(str) {
197
197
  var getFieldId = exports.getFieldId = function getFieldId(name, formName) {
198
198
  if (!name) return undefined;
199
199
  return "".concat(formName ? "".concat(formName, "_") : '').concat(name);
200
+ };
201
+ var getOriginField = exports.getOriginField = function getOriginField(name, formName) {
202
+ if (!name || !formName) return '';
203
+ return name.replace("".concat(formName, "_"), '');
200
204
  };
@@ -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,6 +1,5 @@
1
1
  "use strict";
2
2
 
3
- 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); }
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
@@ -11,6 +10,12 @@ var _is = require("./is");
11
10
  var _jsxRuntime = require("react/jsx-runtime");
12
11
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
13
12
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
+ 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); }
14
+ 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; }
15
+ 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; }
16
+ 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; }
17
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
18
+ 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); }
14
19
  function getHighlightText(_ref) {
15
20
  var nodeList = _ref.nodeList,
16
21
  searchWords = _ref.searchWords,
@@ -19,22 +24,31 @@ function getHighlightText(_ref) {
19
24
  if (!enable || !searchWords) {
20
25
  return nodeList;
21
26
  }
22
- var transformNode = function transformNode(node) {
23
- var _node$props;
24
- if (node && typeof ((_node$props = node.props) === null || _node$props === void 0 ? void 0 : _node$props.children) === 'string') {
25
- return /*#__PURE__*/(0, _react.cloneElement)(node, undefined, /*#__PURE__*/(0, _jsxRuntime.jsx)(HighlightText, {
26
- textToHighlight: node.props.children,
27
+
28
+ // 递归转换节点
29
+ var transformNode = function transformNode(node, index) {
30
+ // 如果是合法的 React 元素
31
+ if ( /*#__PURE__*/_react.default.isValidElement(node) && node.props && node.props.children) {
32
+ // 对 children 递归调用 getHighlightText 进行转换
33
+ var transformedChildren = getHighlightText({
34
+ nodeList: node.props.children,
27
35
  searchWords: searchWords,
28
- highlightClassName: highlightClassName
29
- }));
36
+ highlightClassName: highlightClassName,
37
+ enable: enable
38
+ });
39
+ return /*#__PURE__*/(0, _react.cloneElement)(node, _objectSpread(_objectSpread({}, node.props), {}, {
40
+ key: index
41
+ }), transformedChildren);
30
42
  }
31
- if (node && typeof node === 'string') {
43
+ // 如果节点为字符串,则直接高亮替换
44
+ if (typeof node === 'string') {
32
45
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(HighlightText, {
33
46
  textToHighlight: node,
34
47
  searchWords: searchWords,
35
48
  highlightClassName: highlightClassName
36
49
  });
37
50
  }
51
+ // 其他情况直接返回原节点
38
52
  return node;
39
53
  };
40
54
  return (0, _is.isArray)(nodeList) ? nodeList.map(transformNode) : transformNode(nodeList);
@@ -50,8 +64,7 @@ function HighlightText(_ref2) {
50
64
  searchWords = searchWords.slice(0, 500);
51
65
  }
52
66
 
53
- // 注意这里的括号,这里使用了带capture group功能的正则,来split字符串
54
- // 从而在strArr中可以保留匹配文本
67
+ // capture group 的正则用于 split 保留匹配文本
55
68
  var re = new RegExp("(".concat((0, _string.escapeRegExp)(searchWords), ")"), 'i');
56
69
  var strArr = textToHighlight.split(re);
57
70
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.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"}
@@ -66,6 +66,34 @@ function removeStack(id, removeListener) {
66
66
  }
67
67
  delete components[id];
68
68
  }
69
+
70
+ // 检测容器是否高度受限
71
+ var isRootHeightConstrained = function isRootHeightConstrained(root, targetElement) {
72
+ if (!root || root === document.body) {
73
+ var bodyRect = document.body.getBoundingClientRect();
74
+ var _targetRect = targetElement.getBoundingClientRect();
75
+ // body的底部和targetElement的顶部永远不可能有相交,则是受限的
76
+ if (bodyRect.bottom < _targetRect.top) {
77
+ return true;
78
+ } else {
79
+ return false;
80
+ }
81
+ }
82
+
83
+ // 当root的overflow是auto或hidden,则认为不是受限的
84
+ var rootStyle = window.getComputedStyle(root);
85
+ if (rootStyle.overflow === 'auto' || rootStyle.overflow === 'hidden') {
86
+ return false;
87
+ }
88
+
89
+ // 当root的底部与targetElement的顶部永远不可能有相交,则是受限的
90
+ var rootRect = root.getBoundingClientRect();
91
+ var targetRect = targetElement.getBoundingClientRect();
92
+ if (rootRect.top > targetRect.bottom || rootRect.bottom < targetRect.top) {
93
+ return true;
94
+ }
95
+ return false;
96
+ };
69
97
  function getObserver(obj, id) {
70
98
  var _obj$container = obj.container,
71
99
  container = _obj$container === void 0 ? null : _obj$container,
@@ -75,6 +103,10 @@ function getObserver(obj, id) {
75
103
  offscreen = obj.offscreen,
76
104
  noRemove = obj.noRemove;
77
105
  var fixedContainer = (0, _element.getClosestPositionedContainer)(element, ['fixed', 'absolute']);
106
+
107
+ // 获取最优的观察器配置
108
+ var candidateRoot = fixedContainer || container;
109
+ var observerRoot = isRootHeightConstrained(candidateRoot, element) ? null : candidateRoot;
78
110
  var observer = new IntersectionObserver(function (entries) {
79
111
  entries.forEach(function (en) {
80
112
  if (en.isIntersecting || en.intersectionRatio > 0) {
@@ -86,7 +118,7 @@ function getObserver(obj, id) {
86
118
  }
87
119
  });
88
120
  }, {
89
- root: fixedContainer || container,
121
+ root: observerRoot,
90
122
  rootMargin: "".concat(offset, "px")
91
123
  });
92
124
  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"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getCompleteFieldKeys = exports.getAllKeyPaths = exports.entries = exports.deepSet = exports.deepRemove = exports.deepMerge = exports.deepHas = exports.deepGet = void 0;
6
+ exports.getCompleteFieldKeys = exports.getAllKeyPaths = exports.entries = exports.deepSet = exports.deepRemove = exports.deepMerge = exports.deepHas = exports.deepGet = exports.clearValue = void 0;
7
7
  exports.insertPoint = insertPoint;
8
8
  exports.objectValues = void 0;
9
9
  exports.pathGenerator = pathGenerator;
@@ -335,4 +335,24 @@ var getCompleteFieldKeys = exports.getCompleteFieldKeys = function getCompleteFi
335
335
 
336
336
  // 返回之前去重
337
337
  return Array.from(new Set(completeFields));
338
+ };
339
+
340
+ /**
341
+ * 将对象中的所有值设置为空, 如果值是数组,重置为空数组,如果是对象,重置为空对象,如果是基础类型,重置为undefined
342
+ * @param obj 对象
343
+ * @returns 空对象
344
+ */
345
+ var clearValue = exports.clearValue = function clearValue(obj) {
346
+ if ((0, _is.isArray)(obj)) {
347
+ return obj.map(function (item) {
348
+ return clearValue(item);
349
+ });
350
+ }
351
+ if ((0, _is.isObject)(obj)) {
352
+ return Object.keys(obj).reduce(function (acc, key) {
353
+ acc[key] = clearValue(obj[key]);
354
+ return acc;
355
+ }, {});
356
+ }
357
+ return undefined;
338
358
  };
@@ -4,5 +4,6 @@ interface Column {
4
4
  }
5
5
  export declare function compareColumns(columns1?: Column[], columns2?: Column[]): boolean;
6
6
  export declare function shallowEqual(objA: any, objB?: any, options?: {}): boolean;
7
+ export declare function shallowEqualExceptFalsely(objA: any, objB?: any, options?: {}): boolean;
7
8
  export default shallowEqual;
8
9
  //# sourceMappingURL=shallow-equal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shallow-equal.d.ts","sourceRoot":"","sources":["shallow-equal.ts"],"names":[],"mappings":"AAqBA,UAAU,MAAM;IACd,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AACD,wBAAgB,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,WActE;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,KAAK,WAyC/D;AAED,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"shallow-equal.d.ts","sourceRoot":"","sources":["shallow-equal.ts"],"names":[],"mappings":"AAqBA,UAAU,MAAM;IACd,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AACD,wBAAgB,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,WActE;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,KAAK,WAyC/D;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,KAAK,WAO5E;AAED,eAAe,YAAY,CAAC"}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.compareColumns = compareColumns;
7
7
  exports.default = void 0;
8
8
  exports.shallowEqual = shallowEqual;
9
+ exports.shallowEqualExceptFalsely = shallowEqualExceptFalsely;
9
10
  var _reactFastCompare = _interopRequireDefault(require("react-fast-compare"));
10
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
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); }
@@ -74,4 +75,12 @@ function shallowEqual(objA, objB) {
74
75
  }
75
76
  return true;
76
77
  }
78
+ function shallowEqualExceptFalsely(objA, objB) {
79
+ var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
80
+ var falselys = [false, 0, '', null, undefined, NaN];
81
+ if (falselys.includes(objA) && falselys.includes(objB)) {
82
+ return true;
83
+ }
84
+ return shallowEqual(objA, objB, options);
85
+ }
77
86
  var _default = exports.default = shallowEqual;
@@ -1 +1 @@
1
- {"version":3,"file":"use-filter.d.ts","sourceRoot":"","sources":["use-filter.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,QAAA,MAAM,SAAS;;;;;;;;;;kCAmBkD,OAAO;sBAiB1C,MAAM;sBAKN,MAAM,SAAQ,MAAM;;;CAsGjD,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"use-filter.d.ts","sourceRoot":"","sources":["use-filter.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,QAAA,MAAM,SAAS;;;;;;;;;;kCAmBkD,OAAO;sBAoB1C,MAAM;sBAKN,MAAM,SAAQ,MAAM;;;CAsGjD,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -52,7 +52,10 @@ var useFilter = function useFilter(props) {
52
52
  return getKey(keygen, item) === key;
53
53
  };
54
54
  var handleClearCreatedData = function handleClearCreatedData() {
55
- setCreatedData(undefined);
55
+ // why setTimeout: 避免回车时,新创建的数据走到了renderUnmatched逻辑中去
56
+ setTimeout(function () {
57
+ setCreatedData(undefined);
58
+ }, 0);
56
59
  };
57
60
  var handleCreate = function handleCreate(text) {
58
61
  var createFn = typeof onCreate === 'boolean' ? function (t) {
@@ -1,5 +1,6 @@
1
1
  interface UseCheckElementBorderWidthOptions {
2
2
  direction?: 'horizontal' | 'vertical';
3
+ enable?: boolean;
3
4
  }
4
5
  export declare const useCheckElementBorderWidth: (elementRef: React.RefObject<HTMLElement>, options?: UseCheckElementBorderWidthOptions) => number;
5
6
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"check-border.d.ts","sourceRoot":"","sources":["check-border.ts"],"names":[],"mappings":"AAEA,UAAU,iCAAiC;IAGzC,SAAS,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;CACvC;AAGD,eAAO,MAAM,0BAA0B,eACzB,MAAM,SAAS,CAAC,WAAW,CAAC,YAC/B,iCAAiC,KACzC,MAqBF,CAAC"}
1
+ {"version":3,"file":"check-border.d.ts","sourceRoot":"","sources":["check-border.ts"],"names":[],"mappings":"AAEA,UAAU,iCAAiC;IAGzC,SAAS,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACtC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAGD,eAAO,MAAM,0BAA0B,eACzB,MAAM,SAAS,CAAC,WAAW,CAAC,YAC/B,iCAAiC,KACzC,MAqBF,CAAC"}
@@ -14,14 +14,14 @@ export var useCheckElementBorderWidth = function useCheckElementBorderWidth(elem
14
14
 
15
15
  // 获取指定方向上的border宽度之和
16
16
  var getBorderWidth = useCallback(function () {
17
- if (elementRef.current) {
17
+ if (elementRef.current && options.enable) {
18
18
  var _options$direction = options.direction,
19
19
  direction = _options$direction === void 0 ? 'horizontal' : _options$direction;
20
20
  var style = window.getComputedStyle(elementRef.current);
21
21
  var _borderWidth = direction === 'horizontal' ? parseFloat(style.borderLeftWidth) + parseFloat(style.borderRightWidth) : parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth);
22
22
  setBorderWidth(_borderWidth);
23
23
  }
24
- }, [elementRef]);
24
+ }, [elementRef, options.enable]);
25
25
  useEffect(function () {
26
26
  getBorderWidth();
27
27
  }, [getBorderWidth]);
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AAUpE,MAAM,MAAM,kBAAkB,GAC1B,aAAa,GACb,UAAU,GACV,cAAc,GACd,WAAW,GACX,MAAM,GACN,OAAO,CAAC;AACZ,MAAM,MAAM,gBAAgB,GACxB,aAAa,GACb,cAAc,GACd,UAAU,GACV,WAAW,GACX,KAAK,GACL,QAAQ,CAAC;AAYb,KAAK,YAAY,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,OAAO,CAAC;AACpE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,YAAY,GAAG,SAAS,CAAC;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IAEd,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAE1C,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAEzC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC3C,YAAY,EAAE,MAAM,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3B;AAsBD,eAAO,MAAM,gBAAgB,WAAY,mBAAmB;;CA4S3D,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AAUpE,MAAM,MAAM,kBAAkB,GAC1B,aAAa,GACb,UAAU,GACV,cAAc,GACd,WAAW,GACX,MAAM,GACN,OAAO,CAAC;AACZ,MAAM,MAAM,gBAAgB,GACxB,aAAa,GACb,cAAc,GACd,UAAU,GACV,WAAW,GACX,KAAK,GACL,QAAQ,CAAC;AAYb,KAAK,YAAY,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,OAAO,CAAC;AACpE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,YAAY,GAAG,SAAS,CAAC;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IAEd,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAE1C,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAEzC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC3C,YAAY,EAAE,MAAM,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3B;AAsBD,eAAO,MAAM,gBAAgB,WAAY,mBAAmB;;CA+S3D,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -12,7 +12,7 @@ import { useCheckElementBorderWidth } from "./check-border";
12
12
  import { useCheckElementSize } from "./check-element-size";
13
13
  import shallowEqual from "../../utils/shallow-equal";
14
14
  import usePersistFn from "../use-persist-fn";
15
- import { getCurrentCSSZoom } from "../../utils";
15
+ import { getCurrentCSSZoom, getScrollPosition } from "../../utils";
16
16
  import { docSize } from "../../utils";
17
17
  var horizontalPosition = ['left-bottom', 'left-top', 'right-bottom', 'right-top', 'left', 'right'];
18
18
  var verticalPosition = ['bottom-left', 'bottom-right', 'top-left', 'top-right', 'bottom', 'top'];
@@ -79,7 +79,8 @@ export var usePositionStyle = function usePositionStyle(config) {
79
79
  enable: show && adjust
80
80
  });
81
81
  var parentElBorderWidth = useCheckElementBorderWidth(parentElRef, {
82
- direction: 'horizontal'
82
+ direction: 'horizontal',
83
+ enable: show
83
84
  });
84
85
  var popupElSize = useCheckElementSize(popupElRef, {
85
86
  enable: show
@@ -235,7 +236,7 @@ export var usePositionStyle = function usePositionStyle(config) {
235
236
  _v = _targetPosition$split4[1];
236
237
  if (_v === 'top') {
237
238
  style.top = rect.top - containerRect.top + containerScroll.top - (offset ? offset[1] : 0);
238
- setTransform(style, '');
239
+ setTransform(style, 'translateX(0%)');
239
240
  } else if (_v === 'bottom') {
240
241
  style.top = rect.bottom - containerRect.top + containerScroll.top + (offset ? offset[1] : 0);
241
242
  setTransform(style, 'translateY(-100%)');
@@ -264,10 +265,13 @@ export var usePositionStyle = function usePositionStyle(config) {
264
265
  };
265
266
  var rect = context.parentRect;
266
267
  var needCheck = !show || !shallowEqual(context.prevParentPosition, parentElNewPosition);
268
+ var _getScrollPosition = getScrollPosition(scrollElRef === null || scrollElRef === void 0 ? void 0 : scrollElRef.current),
269
+ scrollTop = _getScrollPosition.scrollTop,
270
+ scrollLeft = _getScrollPosition.scrollLeft;
267
271
  if (needCheck && scrollElRef !== null && scrollElRef !== void 0 && scrollElRef.current && (_scrollElRef$current = scrollElRef.current) !== null && _scrollElRef$current !== void 0 && _scrollElRef$current.contains(parentElRef.current)) {
268
272
  var _scrollElRef$current2;
269
273
  var visibleRect = ((_scrollElRef$current2 = scrollElRef.current) === null || _scrollElRef$current2 === void 0 ? void 0 : _scrollElRef$current2.getBoundingClientRect()) || {};
270
- if (rect.bottom < visibleRect.top || rect.top > visibleRect.bottom || rect.right < visibleRect.left || rect.left > visibleRect.right) {
274
+ if (rect.bottom < visibleRect.top || rect.top > visibleRect.bottom + scrollTop || rect.right < visibleRect.left || rect.left > visibleRect.right + scrollLeft) {
271
275
  return {
272
276
  style: hideStyle
273
277
  };
@@ -340,7 +344,9 @@ export var usePositionStyle = function usePositionStyle(config) {
340
344
  }
341
345
 
342
346
  // 当父元素的滚动容器滚动时,判断是否需要更新弹出层位置,包括是否隐藏弹出层(通过hideStyle隐藏,不是show状态)
343
- context.prevParentPosition = parentElNewPosition;
347
+ if (show) {
348
+ context.prevParentPosition = parentElNewPosition;
349
+ }
344
350
  });
345
351
  useEffect(updateStyle, [show, position, absolute, updateKey, fixedWidth, parentElNewPosition, popupElSize]);
346
352
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"use-check.d.ts","sourceRoot":"","sources":["use-check.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,QAAA,MAAM,QAAQ,UAAW,cAAc;;;;;qBAuDpB,gBAAgB,CAAC,gBAAgB,CAAC;0BArBT,MAAM,WAAW,CAAC,gBAAgB,CAAC;;;;;;;;;;;yBAnBa,gBAAgB;;;;CAiE3G,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"use-check.d.ts","sourceRoot":"","sources":["use-check.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,QAAA,MAAM,QAAQ,UAAW,cAAc;;;;;qBAgEpB,gBAAgB,CAAC,gBAAgB,CAAC;0BArBT,MAAM,WAAW,CAAC,gBAAgB,CAAC;;;;;;;;;;;yBA5Ba,gBAAgB;;;;CA0E3G,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -40,11 +40,19 @@ var useCheck = function useCheck(props) {
40
40
  var handleInputRef = useForkRef(inputRef, inputRefPo);
41
41
  var handleClick = function handleClick(otherHandlers, needStopPropagation) {
42
42
  return function (event) {
43
- var _inputRef$current, _otherHandlers$onClic;
43
+ var _otherHandlers$onClic;
44
44
  if (needStopPropagation) {
45
45
  event.stopPropagation();
46
46
  }
47
- (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.click();
47
+
48
+ // 检查是否被 label 元素包裹,如果是则不需要手动触发 input.click()
49
+ // 因为 label 会自动将点击事件传递给内部的 input 元素
50
+ var target = event.currentTarget;
51
+ var isInsideLabel = target.closest('label') !== null;
52
+ if (!isInsideLabel) {
53
+ var _inputRef$current;
54
+ (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.click();
55
+ }
48
56
  otherHandlers === null || otherHandlers === void 0 || (_otherHandlers$onClic = otherHandlers.onClick) === null || _otherHandlers$onClic === void 0 || _otherHandlers$onClic.call(otherHandlers, event);
49
57
  };
50
58
  };
@@ -1 +1 @@
1
- {"version":3,"file":"use-date.d.ts","sourceRoot":"","sources":["use-date.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAU/C,QAAA,MAAM,OAAO,UAAW,YAAY;;;;;;;;;;wBAmBX,IAAI;2BAkDD,IAAI;yBAkBN,IAAI;0BAkDH,IAAI;+BAxEC,IAAI;+BAiDJ,IAAI,YAAY,OAAO;0BAnB5B,IAAI;2BAIH,IAAI;;gCAIC,IAAI;;CAiFpC,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"use-date.d.ts","sourceRoot":"","sources":["use-date.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAU/C,QAAA,MAAM,OAAO,UAAW,YAAY;;;;;;;;;;wBAoBX,IAAI;2BAkDD,IAAI;yBAkBN,IAAI;0BAgEH,IAAI;+BAtFC,IAAI;+BAiDJ,IAAI,YAAY,OAAO;0BAnB5B,IAAI;2BAIH,IAAI;;gCAIC,IAAI;;CA+FpC,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -22,14 +22,16 @@ var useDate = function useDate(props) {
22
22
  cachedDays: []
23
23
  }),
24
24
  context = _useRef.current;
25
- var current = props.current === undefined ? currentState : props.current;
25
+ var current = props.current === undefined || !props.current ? currentState : props.current;
26
26
  var setCurrent = function setCurrent(date) {
27
27
  var _props$onCurrentChang2;
28
28
  if (props.current !== undefined) {
29
29
  var _props$onCurrentChang;
30
30
  (_props$onCurrentChang = props.onCurrentChange) === null || _props$onCurrentChang === void 0 || _props$onCurrentChang.call(props, date);
31
31
  } else {
32
- setCurrentState(date);
32
+ if (date) {
33
+ setCurrentState(date);
34
+ }
33
35
  }
34
36
  (_props$onCurrentChang2 = props.onCurrentChange) === null || _props$onCurrentChang2 === void 0 || _props$onCurrentChang2.call(props, date);
35
37
  };
@@ -104,9 +106,15 @@ var useDate = function useDate(props) {
104
106
  var _props$onChange;
105
107
  if (isDisabled(date)) return;
106
108
  var newDate = getDateWithTime(date);
107
- props === null || props === void 0 || props.onClearInputArr(position === 'start' ? 0 : 1);
109
+ var index = position === 'start' ? 0 : 1;
110
+ if (props.allowSingle && props.rangeDate && Array.isArray(props.rangeDate) && props.rangeDate[index] && utils.clearHMS(newDate, options).getTime() === utils.clearHMS(props.rangeDate[index], options).getTime()) {
111
+ newDate = '';
112
+ }
113
+ props === null || props === void 0 || props.onClearInputArr(index);
108
114
  (_props$onChange = props.onChange) === null || _props$onChange === void 0 || _props$onChange.call(props, newDate, noClose);
109
- setCurrent(newDate);
115
+ if (newDate) {
116
+ setCurrent(newDate);
117
+ }
110
118
  };
111
119
  var getTimeStr = function getTimeStr() {
112
120
  var format = props.format,
@@ -6,7 +6,8 @@ export interface UseDateProps {
6
6
  onCurrentChange?: (date: Date) => void;
7
7
  onClearInputArr: (index?: number | undefined) => void;
8
8
  value?: Date;
9
- onChange?: (date: Date, noClose?: boolean) => void;
9
+ allowSingle?: boolean;
10
+ onChange?: (date: Date | string, noClose?: boolean) => void;
10
11
  min?: Date;
11
12
  max?: Date;
12
13
  position?: 'start' | 'end';
@@ -1 +1 @@
1
- {"version":3,"file":"use-date.type.d.ts","sourceRoot":"","sources":["use-date.type.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACvC,eAAe,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IACtD,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACnD,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,QAAQ,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC;IAC/C,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACrC,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH"}
1
+ {"version":3,"file":"use-date.type.d.ts","sourceRoot":"","sources":["use-date.type.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACvC,eAAe,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IACtD,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5D,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,QAAQ,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC;IAC/C,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACrC,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH"}
@@ -36,7 +36,8 @@ declare const useDatePickerFormat: <Value extends DatePickerValueType>(props: Us
36
36
  setTargetArr: React.Dispatch<React.SetStateAction<(Date | undefined)[]>>;
37
37
  handleClear: (e?: React.MouseEvent) => void;
38
38
  handleClearInputArr: (index?: number) => void;
39
- handleInputChange: (str: string, index: number) => void;
39
+ handleInputChange: (str: string, index: number, isFromBlur?: boolean) => void;
40
+ handleInputBlur: (str: string, index: number) => void;
40
41
  registerModeDisabled: (position: 'start' | 'end' | undefined, mode: string, fn: (d: Date) => boolean) => void;
41
42
  setCurrentArrWithParams: (arg: React.SetStateAction<Date[]>, type: string, quick: {
42
43
  name: React.ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"use-datepicker-format.d.ts","sourceRoot":"","sources":["use-datepicker-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAE3D,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACzB,MAAM,8BAA8B,CAAC;AAKtC,eAAO,MAAM,qBAAqB,UACzB,mBAAmB,UAClB,MAAM,WACL;IACP,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,yBAOF,CAAC;AAEF,eAAO,MAAM,SAAS,WAAY,MAAM,GAAG,SAAS,QAAQ,MAAM,WAkBjE,CAAC;AA4BF,UAAU,eAAe;IACvB,OAAO,EAAE,CAAC,IAAI,GAAG,SAAS,CAAC,EAAE,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC3E,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,eAAO,MAAM,iBAAiB,SAAU,eAAe,2BAOtD,CAAC;AAEF,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;0BA6Me,gBAAgB;sCAiEJ,MAAM;iCA7BX,MAAM,SAAS,MAAM;yCA9LrD,OAAO,GAAG,KAAK,GAAG,SAAS,QAAQ,MAAM,UAAU,IAAI,KAAK,OAAO;uCAWvE,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC,QAC3B,MAAM;kBACG,MAAM,SAAS;mBAAS,GAAG;;+BA4CrC,IAAI,YAAY,OAAO,GAAG,KAAK,GAAG,SAAS,gBAAgB,MAAM;;CA8N3E,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"use-datepicker-format.d.ts","sourceRoot":"","sources":["use-datepicker-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAE3D,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACzB,MAAM,8BAA8B,CAAC;AAKtC,eAAO,MAAM,qBAAqB,UACzB,mBAAmB,UAClB,MAAM,WACL;IACP,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,yBAOF,CAAC;AAEF,eAAO,MAAM,SAAS,WAAY,MAAM,GAAG,SAAS,QAAQ,MAAM,WAkBjE,CAAC;AA4BF,UAAU,eAAe;IACvB,OAAO,EAAE,CAAC,IAAI,GAAG,SAAS,CAAC,EAAE,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC3E,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,eAAO,MAAM,iBAAiB,SAAU,eAAe,2BAOtD,CAAC;AAEF,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;0BA0Ne,gBAAgB;sCAsEJ,MAAM;iCAlCX,MAAM,SAAS,MAAM,eAAe,OAAO;+BA8B7C,MAAM,SAAS,MAAM;yCAzOnD,OAAO,GAAG,KAAK,GAAG,SAAS,QAAQ,MAAM,UAAU,IAAI,KAAK,OAAO;uCAWvE,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC,QAC3B,MAAM;kBACG,MAAM,SAAS;mBAAS,GAAG;;+BA4CrC,IAAI,YAAY,OAAO,GAAG,KAAK,GAAG,SAAS,gBAAgB,MAAM;;CAiP3E,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -10,7 +10,7 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
10
10
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
11
11
  import { useEffect, useRef, useState } from 'react';
12
12
  import dateUtil from "./util";
13
- import shallowEqual from "../../utils/shallow-equal";
13
+ import shallowEqual, { shallowEqualExceptFalsely } from "../../utils/shallow-equal";
14
14
  import { usePersistFn } from "../../common/use-persist-fn";
15
15
  import useLatestObj from "../../common/use-latest-obj";
16
16
  export var convertValueToDateArr = function convertValueToDateArr(value, format, options) {
@@ -221,6 +221,7 @@ var useDatePickerFormat = function useDatePickerFormat(props) {
221
221
  return getFormatValueArr(dateArr, props.formatResult);
222
222
  } else if (typeof props.formatResult === 'function') {
223
223
  return dateArr.map(function (item) {
224
+ if (!item) return '';
224
225
  return props.formatResult(item);
225
226
  });
226
227
  } else {
@@ -242,8 +243,15 @@ var useDatePickerFormat = function useDatePickerFormat(props) {
242
243
  }
243
244
  var formatValue = getFormatValueArr(dateArr);
244
245
  var v = range ? formatValue : formatValue[0];
245
- if (!shallowEqual(v, value)) {
246
- onChange === null || onChange === void 0 || onChange(v);
246
+ if (Array.isArray(value) && value.length && Array.isArray(v) && v.length) {
247
+ // 针对 range 的情况,['2025-01-01',''] ['2025-01-01',undefined] 无法通过 shallowEqual 出来,这边需要放行
248
+ if (!shallowEqualExceptFalsely(v[0], value[0]) || !shallowEqualExceptFalsely(v[1], value[1])) {
249
+ onChange === null || onChange === void 0 || onChange(v);
250
+ }
251
+ } else {
252
+ if (!shallowEqual(v, value)) {
253
+ onChange === null || onChange === void 0 || onChange(v);
254
+ }
247
255
  }
248
256
  };
249
257
  var getDateArr = function getDateArr() {
@@ -316,9 +324,9 @@ var useDatePickerFormat = function useDatePickerFormat(props) {
316
324
  }
317
325
  (_props$onClear = props.onClear) === null || _props$onClear === void 0 || _props$onClear.call(props);
318
326
  });
319
- var handleInputChange = usePersistFn(function (str, index) {
327
+ var handleInputChange = usePersistFn(function (str, index, isFromBlur) {
320
328
  // 比较 日期字符串是否符合format格式, 如果符合返回 true 否则返回 false
321
- var isValid = dateUtil.isValidString(str, format);
329
+ var isValid = dateUtil.isValidString(str, format, isFromBlur);
322
330
  if (!isValid) return;
323
331
  var date = dateUtil.toDateWithFormat(str, format, undefined, options);
324
332
  setInputArr(function (prev) {
@@ -342,6 +350,11 @@ var useDatePickerFormat = function useDatePickerFormat(props) {
342
350
  return arr;
343
351
  });
344
352
  });
353
+
354
+ // 失焦时,需要宽松模式校验,eg: 2025-06-16 18:00 和 2025-06-16 18 都可以校验通过
355
+ var handleInputBlur = usePersistFn(function (str, index) {
356
+ handleInputChange(str, index, true);
357
+ });
345
358
  var handleClearInputArr = usePersistFn(function (index) {
346
359
  if (index !== undefined) {
347
360
  setInputArr(function (prev) {
@@ -385,6 +398,7 @@ var useDatePickerFormat = function useDatePickerFormat(props) {
385
398
  handleClear: handleClear,
386
399
  handleClearInputArr: handleClearInputArr,
387
400
  handleInputChange: handleInputChange,
401
+ handleInputBlur: handleInputBlur,
388
402
  registerModeDisabled: registerModeDisabled,
389
403
  setCurrentArrWithParams: setCurrentArrWithParams,
390
404
  isDisabledDate: isDisabledDate
@@ -30,7 +30,7 @@ var useRangePick = function useRangePick(props) {
30
30
  setDateArr(function (arr) {
31
31
  var newArr = _toConsumableArray(arr);
32
32
  newArr[index] = date;
33
- if (range && index === 0 && newArr[1]) {
33
+ if (date && range && index === 0 && newArr[1]) {
34
34
  if (typeof range === 'number') {
35
35
  var rangeMax = utils.addSeconds(date, range, options);
36
36
  if (rangeMax.getTime() < newArr[1].getTime()) {
@@ -59,7 +59,7 @@ var useRangePick = function useRangePick(props) {
59
59
  var newArr = _toConsumableArray(arr);
60
60
  newArr[index] = date;
61
61
  var modeCache = context.modeCache;
62
- if (modeCache[0] === modeCache[1]) {
62
+ if (date && modeCache[0] === modeCache[1]) {
63
63
  var mode = modeCache[0];
64
64
  if (range && index === 0 && newArr[1]) {
65
65
  if (mode === 'year') {
@@ -1,14 +1,16 @@
1
1
  import { UseTimeProps } from './use-time.type';
2
- declare const useTime: (props: UseTimeProps) => {
2
+ type TimeType = 'H' | 'h' | 'm' | 's' | 'ampm';
3
+ type TimesType = {
4
+ mode: TimeType;
3
5
  times: {
4
- mode: string;
5
- times: {
6
- str: string;
7
- date: Date;
8
- disabled: boolean;
9
- }[];
10
- currentIndex: number;
6
+ str: string;
7
+ date: Date;
8
+ disabled: boolean;
11
9
  }[];
10
+ currentIndex: number;
11
+ };
12
+ declare const useTime: (props: UseTimeProps) => {
13
+ times: TimesType[];
12
14
  func: {
13
15
  handleChange: (date: Date) => void;
14
16
  isDisabled: (date: Date, triggerType?: string) => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"use-time.d.ts","sourceRoot":"","sources":["use-time.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAK/C,QAAA,MAAM,OAAO,UAAW,YAAY;;;;iBA4HU,MAAM;kBAAQ,IAAI;sBAAY,OAAO;;;;;6BAvBrD,IAAI;2BAjEN,IAAI,gBAAgB,MAAM;;CA6IrD,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"use-time.d.ts","sourceRoot":"","sources":["use-time.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAI/C,KAAK,QAAQ,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,MAAM,CAAC;AAC/C,KAAK,SAAS,GAAG;IACf,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE;QACL,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,IAAI,CAAC;QACX,QAAQ,EAAE,OAAO,CAAC;KACnB,EAAE,CAAC;IACJ,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAKF,QAAA,MAAM,OAAO,UAAW,YAAY;;;6BAkHN,IAAI;2BAlEN,IAAI,gBAAgB,MAAM;;CA8IrD,CAAC;AAEF,eAAe,OAAO,CAAC"}