@sheinx/hooks 3.7.0-beta.8 → 3.7.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 (147) hide show
  1. package/cjs/common/use-component-memo/index.d.ts +1 -1
  2. package/cjs/common/use-component-memo/index.d.ts.map +1 -1
  3. package/cjs/common/use-component-memo/index.js +2 -9
  4. package/cjs/common/use-component-memo/use-memo.d.ts +1 -1
  5. package/cjs/common/use-component-memo/use-memo.d.ts.map +1 -1
  6. package/cjs/common/use-component-memo/use-memo.js +2 -2
  7. package/cjs/common/use-filter/index.d.ts +1 -0
  8. package/cjs/common/use-filter/index.d.ts.map +1 -1
  9. package/cjs/common/use-filter/index.js +7 -0
  10. package/cjs/common/use-filter/use-filter-context.d.ts +7 -0
  11. package/cjs/common/use-filter/use-filter-context.d.ts.map +1 -0
  12. package/cjs/common/use-filter/use-filter-context.js +10 -0
  13. package/cjs/common/use-filter/use-filter.d.ts +1 -0
  14. package/cjs/common/use-filter/use-filter.d.ts.map +1 -1
  15. package/cjs/common/use-filter/use-filter.js +2 -0
  16. package/cjs/common/use-position-style/check-element-size.d.ts +10 -0
  17. package/cjs/common/use-position-style/check-element-size.d.ts.map +1 -0
  18. package/cjs/common/use-position-style/check-element-size.js +65 -0
  19. package/cjs/common/use-position-style/index.d.ts.map +1 -1
  20. package/cjs/common/use-position-style/index.js +5 -1
  21. package/cjs/components/use-datepicker/index.d.ts +1 -1
  22. package/cjs/components/use-datepicker/index.d.ts.map +1 -1
  23. package/cjs/components/use-datepicker/index.js +23 -2
  24. package/cjs/components/use-datepicker/use-datepicker-format.d.ts +17 -0
  25. package/cjs/components/use-datepicker/use-datepicker-format.d.ts.map +1 -1
  26. package/cjs/components/use-datepicker/use-datepicker-format.js +15 -3
  27. package/cjs/components/use-form/use-form-control/use-form-control.d.ts.map +1 -1
  28. package/cjs/components/use-form/use-form-control/use-form-control.js +9 -4
  29. package/cjs/components/use-form/use-form.d.ts +4 -4
  30. package/cjs/components/use-form/use-form.d.ts.map +1 -1
  31. package/cjs/components/use-form/use-form.js +31 -25
  32. package/cjs/components/use-form/use-form.type.d.ts +8 -0
  33. package/cjs/components/use-form/use-form.type.d.ts.map +1 -1
  34. package/cjs/components/use-image/use-image.d.ts +2 -0
  35. package/cjs/components/use-image/use-image.d.ts.map +1 -1
  36. package/cjs/components/use-image/use-image.js +40 -2
  37. package/cjs/components/use-popup/popup-context.d.ts +2 -0
  38. package/cjs/components/use-popup/popup-context.d.ts.map +1 -1
  39. package/cjs/components/use-popup/popup-context.js +2 -0
  40. package/cjs/components/use-popup/use-popup.d.ts +4 -0
  41. package/cjs/components/use-popup/use-popup.d.ts.map +1 -1
  42. package/cjs/components/use-popup/use-popup.js +33 -13
  43. package/cjs/components/use-table/index.d.ts +1 -1
  44. package/cjs/components/use-table/index.d.ts.map +1 -1
  45. package/cjs/components/use-table/use-table-filter.d.ts.map +1 -1
  46. package/cjs/components/use-table/use-table-filter.js +2 -1
  47. package/cjs/components/use-table/use-table-group.d.ts.map +1 -1
  48. package/cjs/components/use-table/use-table-group.js +3 -1
  49. package/cjs/components/use-table/use-table-layout.d.ts.map +1 -1
  50. package/cjs/components/use-table/use-table-layout.js +0 -1
  51. package/cjs/components/use-table/use-table-virtual.js +1 -1
  52. package/cjs/components/use-table/use-table.type.d.ts +13 -21
  53. package/cjs/components/use-table/use-table.type.d.ts.map +1 -1
  54. package/cjs/components/use-tree/use-tree.d.ts.map +1 -1
  55. package/cjs/components/use-tree/use-tree.js +25 -7
  56. package/cjs/components/use-tree/use-tree.type.d.ts +1 -0
  57. package/cjs/components/use-tree/use-tree.type.d.ts.map +1 -1
  58. package/cjs/components/use-upload/use-upload.d.ts.map +1 -1
  59. package/cjs/components/use-upload/use-upload.js +54 -34
  60. package/cjs/components/use-upload/use-upload.type.d.ts +7 -0
  61. package/cjs/components/use-upload/use-upload.type.d.ts.map +1 -1
  62. package/cjs/utils/clean-props.d.ts +11 -0
  63. package/cjs/utils/clean-props.d.ts.map +1 -0
  64. package/cjs/utils/clean-props.js +21 -0
  65. package/cjs/utils/highlight.d.ts +7 -0
  66. package/cjs/utils/highlight.d.ts.map +1 -0
  67. package/cjs/utils/highlight.js +67 -0
  68. package/cjs/utils/index.d.ts +2 -0
  69. package/cjs/utils/index.d.ts.map +1 -1
  70. package/cjs/utils/index.js +24 -0
  71. package/cjs/utils/string.d.ts +1 -0
  72. package/cjs/utils/string.d.ts.map +1 -1
  73. package/cjs/utils/string.js +13 -0
  74. package/esm/common/use-component-memo/index.d.ts +1 -1
  75. package/esm/common/use-component-memo/index.d.ts.map +1 -1
  76. package/esm/common/use-component-memo/index.js +1 -1
  77. package/esm/common/use-component-memo/use-memo.d.ts +1 -1
  78. package/esm/common/use-component-memo/use-memo.d.ts.map +1 -1
  79. package/esm/common/use-component-memo/use-memo.js +1 -1
  80. package/esm/common/use-filter/index.d.ts +1 -0
  81. package/esm/common/use-filter/index.d.ts.map +1 -1
  82. package/esm/common/use-filter/index.js +2 -1
  83. package/esm/common/use-filter/use-filter-context.d.ts +7 -0
  84. package/esm/common/use-filter/use-filter-context.d.ts.map +1 -0
  85. package/esm/common/use-filter/use-filter-context.js +3 -0
  86. package/esm/common/use-filter/use-filter.d.ts +1 -0
  87. package/esm/common/use-filter/use-filter.d.ts.map +1 -1
  88. package/esm/common/use-filter/use-filter.js +2 -0
  89. package/esm/common/use-position-style/check-element-size.d.ts +10 -0
  90. package/esm/common/use-position-style/check-element-size.d.ts.map +1 -0
  91. package/esm/common/use-position-style/check-element-size.js +59 -0
  92. package/esm/common/use-position-style/index.d.ts.map +1 -1
  93. package/esm/common/use-position-style/index.js +5 -1
  94. package/esm/components/use-datepicker/index.d.ts +1 -1
  95. package/esm/components/use-datepicker/index.d.ts.map +1 -1
  96. package/esm/components/use-datepicker/index.js +1 -1
  97. package/esm/components/use-datepicker/use-datepicker-format.d.ts +17 -0
  98. package/esm/components/use-datepicker/use-datepicker-format.d.ts.map +1 -1
  99. package/esm/components/use-datepicker/use-datepicker-format.js +14 -2
  100. package/esm/components/use-form/use-form-control/use-form-control.d.ts.map +1 -1
  101. package/esm/components/use-form/use-form-control/use-form-control.js +9 -4
  102. package/esm/components/use-form/use-form.d.ts +4 -4
  103. package/esm/components/use-form/use-form.d.ts.map +1 -1
  104. package/esm/components/use-form/use-form.js +31 -25
  105. package/esm/components/use-form/use-form.type.d.ts +8 -0
  106. package/esm/components/use-form/use-form.type.d.ts.map +1 -1
  107. package/esm/components/use-image/use-image.d.ts +2 -0
  108. package/esm/components/use-image/use-image.d.ts.map +1 -1
  109. package/esm/components/use-image/use-image.js +40 -2
  110. package/esm/components/use-popup/popup-context.d.ts +2 -0
  111. package/esm/components/use-popup/popup-context.d.ts.map +1 -1
  112. package/esm/components/use-popup/popup-context.js +2 -0
  113. package/esm/components/use-popup/use-popup.d.ts +4 -0
  114. package/esm/components/use-popup/use-popup.d.ts.map +1 -1
  115. package/esm/components/use-popup/use-popup.js +34 -14
  116. package/esm/components/use-table/index.d.ts +1 -1
  117. package/esm/components/use-table/index.d.ts.map +1 -1
  118. package/esm/components/use-table/use-table-filter.d.ts.map +1 -1
  119. package/esm/components/use-table/use-table-filter.js +2 -1
  120. package/esm/components/use-table/use-table-group.d.ts.map +1 -1
  121. package/esm/components/use-table/use-table-group.js +3 -1
  122. package/esm/components/use-table/use-table-layout.d.ts.map +1 -1
  123. package/esm/components/use-table/use-table-layout.js +0 -1
  124. package/esm/components/use-table/use-table-virtual.js +1 -1
  125. package/esm/components/use-table/use-table.type.d.ts +13 -21
  126. package/esm/components/use-table/use-table.type.d.ts.map +1 -1
  127. package/esm/components/use-tree/use-tree.d.ts.map +1 -1
  128. package/esm/components/use-tree/use-tree.js +26 -8
  129. package/esm/components/use-tree/use-tree.type.d.ts +1 -0
  130. package/esm/components/use-tree/use-tree.type.d.ts.map +1 -1
  131. package/esm/components/use-upload/use-upload.d.ts.map +1 -1
  132. package/esm/components/use-upload/use-upload.js +54 -34
  133. package/esm/components/use-upload/use-upload.type.d.ts +7 -0
  134. package/esm/components/use-upload/use-upload.type.d.ts.map +1 -1
  135. package/esm/utils/clean-props.d.ts +11 -0
  136. package/esm/utils/clean-props.d.ts.map +1 -0
  137. package/esm/utils/clean-props.js +15 -0
  138. package/esm/utils/highlight.d.ts +7 -0
  139. package/esm/utils/highlight.d.ts.map +1 -0
  140. package/esm/utils/highlight.js +59 -0
  141. package/esm/utils/index.d.ts +2 -0
  142. package/esm/utils/index.d.ts.map +1 -1
  143. package/esm/utils/index.js +3 -1
  144. package/esm/utils/string.d.ts +1 -0
  145. package/esm/utils/string.d.ts.map +1 -1
  146. package/esm/utils/string.js +12 -0
  147. package/package.json +1 -1
@@ -65,11 +65,12 @@ var promised = function promised(action) {
65
65
  resolve(true);
66
66
  });
67
67
  };
68
+ var defaultValue = [];
68
69
  var useUpload = function useUpload(props) {
69
70
  var _props$limit = props.limit,
70
71
  limit = _props$limit === void 0 ? 100 : _props$limit,
71
72
  _props$value = props.value,
72
- value = _props$value === void 0 ? [] : _props$value;
73
+ value = _props$value === void 0 ? defaultValue : _props$value;
73
74
  var accept = props.forceAccept || props.accept;
74
75
  var forceAccept = !!props.forceAccept;
75
76
  var _useState = (0, _react.useState)({}),
@@ -189,21 +190,22 @@ var useUpload = function useUpload(props) {
189
190
  responseType: props.responseType,
190
191
  onStart: props.onStart,
191
192
  onProgress: function onProgress(e, msg) {
192
- if (throttle) return;
193
+ var percent = typeof e.percent === 'number' ? e.percent : e.loaded / e.total * 100;
194
+ if (throttle && percent !== 100) return;
193
195
  throttle = true;
194
196
  setTimeout(function () {
195
197
  throttle = false;
196
198
  }, 16);
197
- var percent = typeof e.percent === 'number' ? e.percent : e.loaded / e.total * 100;
198
- var filesState = latestState.filesState;
199
- var newFiles = _objectSpread({}, filesState);
200
- if (!newFiles[id]) return;
201
- newFiles[id].process = percent;
202
- if (msg) newFiles[id].message = msg;
203
- setFiles(newFiles);
204
- if (typeof props.onProgress === 'function') {
205
- props.onProgress(newFiles[id]);
206
- }
199
+ setFiles(function (files) {
200
+ return (0, _immer.produce)(files, function (draft) {
201
+ if (!draft[id]) return draft;
202
+ draft[id].process = percent;
203
+ if (msg) draft[id].message = msg;
204
+ if (typeof props.onProgress === 'function') {
205
+ props.onProgress(draft[id]);
206
+ }
207
+ });
208
+ });
207
209
  },
208
210
  onLoad: function onLoad(xhr) {
209
211
  if (!/^2|1223/.test("".concat(xhr.status))) {
@@ -231,11 +233,17 @@ var useUpload = function useUpload(props) {
231
233
  delete draft[id];
232
234
  });
233
235
  });
234
- // add value
235
- var values = (0, _immer.produce)(latestState.value, function (draft) {
236
- draft.push(result);
237
- });
238
- props.onChange(values);
236
+ if (props.functionalOnChange) {
237
+ // 回调型 setState不会丢值
238
+ props.onChange(function (prev) {
239
+ return [].concat(_toConsumableArray(prev || []), [result]);
240
+ });
241
+ } else {
242
+ var latestValue = latestState.value;
243
+ var newValue = _toConsumableArray(latestValue);
244
+ newValue.push(result);
245
+ props.onChange(newValue);
246
+ }
239
247
  }
240
248
  },
241
249
  onError: function onError(xhr) {
@@ -353,48 +361,60 @@ var useUpload = function useUpload(props) {
353
361
  error = _context2.sent;
354
362
  case 21:
355
363
  if (!(error instanceof Error)) {
356
- _context2.next = 30;
364
+ _context2.next = 29;
357
365
  break;
358
366
  }
359
367
  if (validatorHandle(error, blob)) {
360
- _context2.next = 26;
368
+ _context2.next = 25;
361
369
  break;
362
370
  }
363
- delete newFiles[id];
364
- setFiles(_objectSpread({}, newFiles));
371
+ setFiles(function (prev) {
372
+ return (0, _immer.produce)(prev, function (draft) {
373
+ delete draft[id];
374
+ });
375
+ });
365
376
  return _context2.abrupt("return", 0);
366
- case 26:
377
+ case 25:
367
378
  fileRecord.message = error.message;
368
379
  fileRecord.status = 3;
369
- setFiles(_objectSpread({}, newFiles));
380
+ setFiles(function (prev) {
381
+ return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, id, fileRecord));
382
+ });
370
383
  return _context2.abrupt("return", 0);
371
- case 30:
384
+ case 29:
372
385
  if (!props.beforeUpload) {
373
- _context2.next = 37;
386
+ _context2.next = 36;
374
387
  break;
375
388
  }
376
389
  beforeUploadResult = props.beforeUpload(blob); // @ts-ignoreq
377
390
  if (!(beforeUploadResult && beforeUploadResult.then)) {
378
- _context2.next = 35;
391
+ _context2.next = 34;
379
392
  break;
380
393
  }
381
394
  props.beforeUpload(blob).then(function (args) {
382
395
  if (args.status !== 'error') {
383
396
  newFiles[id].xhr = uploadFile(id, blob, fileRecord.src);
384
- setFiles(_objectSpread({}, newFiles));
397
+ setFiles(function (prev) {
398
+ return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, id, fileRecord));
399
+ });
385
400
  }
386
401
  }).catch(function () {
387
- delete newFiles[id];
388
- setFiles(_objectSpread({}, newFiles));
402
+ setFiles(function (prev) {
403
+ return (0, _immer.produce)(prev, function (draft) {
404
+ delete draft[id];
405
+ });
406
+ });
389
407
  });
390
408
  return _context2.abrupt("return", 0);
391
- case 35:
392
- _context2.next = 39;
409
+ case 34:
410
+ _context2.next = 38;
393
411
  break;
394
- case 37:
412
+ case 36:
395
413
  fileRecord.xhr = uploadFile(id, blob, fileRecord.src);
396
- setFiles(_objectSpread({}, newFiles));
397
- case 39:
414
+ setFiles(function (prev) {
415
+ return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, id, fileRecord));
416
+ });
417
+ case 38:
398
418
  case "end":
399
419
  return _context2.stop();
400
420
  }
@@ -166,6 +166,13 @@ export interface UseUploadProps<ValueItem = any> {
166
166
  forceAcceptErrorMsg: string;
167
167
  invalidImage: string;
168
168
  };
169
+ /**
170
+ * @cn 设置为true后,组件的onChange参数会返回函数,即回调函数方式的setState
171
+ * @en After setting to true, the onChange parameter of the component will return a function, that is, the setState of the callback function
172
+ * @default false
173
+ * @version 3.6.5
174
+ */
175
+ functionalOnChange?: boolean;
169
176
  }
170
177
  export interface Validator {
171
178
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"use-upload.type.d.ts","sourceRoot":"","sources":["use-upload.type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-upload.type.d.ts","sourceRoot":"","sources":["use-upload.type.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * delete some props if needed, will not modify the pass argument
3
+ * @param props
4
+ * @returns {Produced<*, *>}
5
+ */
6
+ export declare function cleanProps(props: {
7
+ [x: string]: any;
8
+ }): {
9
+ [x: string]: any;
10
+ };
11
+ //# sourceMappingURL=clean-props.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clean-props.d.ts","sourceRoot":"","sources":["clean-props.ts"],"names":[],"mappings":"AAwBA;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE;;EAIrD"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.cleanProps = cleanProps;
7
+ var _immer = require("./immer");
8
+ var names = ['delay', 'onDatumBind', 'rules', 'formDatum', 'forceChange', 'trim', 'beforeChange', 'validateHook', 'innerFormNamePath', 'fieldSetValidate', 'combineRules', 'popoverProps', 'inputFocus', 'placeTitle', 'cancelChange', 'integerLimit', 'autoSelect', 'autoFix', 'numType'];
9
+
10
+ /**
11
+ * delete some props if needed, will not modify the pass argument
12
+ * @param props
13
+ * @returns {Produced<*, *>}
14
+ */
15
+ function cleanProps(props) {
16
+ return (0, _immer.produce)(props, function (draft) {
17
+ names.forEach(function (p) {
18
+ return delete draft[p];
19
+ });
20
+ });
21
+ }
@@ -0,0 +1,7 @@
1
+ export declare function getHighlightText<T>({ nodeList, searchWords, highlightClassName, enable, }: {
2
+ enable?: boolean;
3
+ nodeList: T;
4
+ searchWords?: string;
5
+ highlightClassName: string;
6
+ }): T;
7
+ //# sourceMappingURL=highlight.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,67 @@
1
+ "use strict";
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
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.getHighlightText = getHighlightText;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _string = require("./string");
10
+ var _is = require("./is");
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ 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
+ 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; }
14
+ function getHighlightText(_ref) {
15
+ var nodeList = _ref.nodeList,
16
+ searchWords = _ref.searchWords,
17
+ highlightClassName = _ref.highlightClassName,
18
+ enable = _ref.enable;
19
+ if (!enable || !searchWords) {
20
+ return nodeList;
21
+ }
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
+ searchWords: searchWords,
28
+ highlightClassName: highlightClassName
29
+ }));
30
+ }
31
+ if (node && typeof node === 'string') {
32
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(HighlightText, {
33
+ textToHighlight: node,
34
+ searchWords: searchWords,
35
+ highlightClassName: highlightClassName
36
+ });
37
+ }
38
+ return node;
39
+ };
40
+ return (0, _is.isArray)(nodeList) ? nodeList.map(transformNode) : transformNode(nodeList);
41
+ }
42
+ function HighlightText(_ref2) {
43
+ var textToHighlight = _ref2.textToHighlight,
44
+ searchWords = _ref2.searchWords,
45
+ highlightClassName = _ref2.highlightClassName;
46
+ if (!searchWords) return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
47
+ children: textToHighlight
48
+ });
49
+ if (searchWords.length > 500) {
50
+ searchWords = searchWords.slice(0, 500);
51
+ }
52
+
53
+ // 注意这里的括号,这里使用了带capture group功能的正则,来split字符串
54
+ // 从而在strArr中可以保留匹配文本
55
+ var re = new RegExp("(".concat((0, _string.escapeRegExp)(searchWords), ")"), 'i');
56
+ var strArr = textToHighlight.split(re);
57
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
58
+ children: strArr.map(function (item, index) {
59
+ return re.test(item) ? /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
60
+ className: highlightClassName,
61
+ children: item
62
+ }, index) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.default.Fragment, {
63
+ children: item
64
+ }, index);
65
+ })
66
+ });
67
+ }
@@ -21,5 +21,7 @@ export * from './array';
21
21
  export * from './tree';
22
22
  export * from './immer';
23
23
  export * from './warning';
24
+ export * from './highlight';
24
25
  export * as flat from './flat';
26
+ export * from './clean-props';
25
27
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,MAAM,CAAC;AACrB,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAC3E,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,MAAM,CAAC;AACrB,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAC3E,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,cAAc,eAAe,CAAC"}
@@ -280,8 +280,32 @@ Object.keys(_warning).forEach(function (key) {
280
280
  }
281
281
  });
282
282
  });
283
+ var _highlight = require("./highlight");
284
+ Object.keys(_highlight).forEach(function (key) {
285
+ if (key === "default" || key === "__esModule") return;
286
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
287
+ if (key in exports && exports[key] === _highlight[key]) return;
288
+ Object.defineProperty(exports, key, {
289
+ enumerable: true,
290
+ get: function get() {
291
+ return _highlight[key];
292
+ }
293
+ });
294
+ });
283
295
  var _flat = _interopRequireWildcard(require("./flat"));
284
296
  exports.flat = _flat;
297
+ var _cleanProps = require("./clean-props");
298
+ Object.keys(_cleanProps).forEach(function (key) {
299
+ if (key === "default" || key === "__esModule") return;
300
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
301
+ if (key in exports && exports[key] === _cleanProps[key]) return;
302
+ Object.defineProperty(exports, key, {
303
+ enumerable: true,
304
+ get: function get() {
305
+ return _cleanProps[key];
306
+ }
307
+ });
308
+ });
285
309
  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); }
286
310
  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; }
287
311
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -11,4 +11,5 @@ export declare function substitute<T extends ObjectType = ObjectType>(str: strin
11
11
  * 输出 '//github.com/'
12
12
  */
13
13
  export declare function removeProtocol(url: string): string;
14
+ export declare function escapeRegExp(str?: any): any;
14
15
  //# sourceMappingURL=string.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"string.d.ts","sourceRoot":"","sources":["string.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,EAC1D,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,CAAC,EAClC,GAAG,EAAE,CAAC,UAoBP;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,UAQzC"}
1
+ {"version":3,"file":"string.d.ts","sourceRoot":"","sources":["string.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,EAC1D,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,CAAC,EAClC,GAAG,EAAE,CAAC,UAoBP;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,UAQzC;AASD,wBAAgB,YAAY,CAAC,GAAG,GAAE,GAAQ,OAKzC"}
@@ -3,6 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.escapeRegExp = escapeRegExp;
6
7
  exports.removeProtocol = removeProtocol;
7
8
  exports.substitute = substitute;
8
9
  /**
@@ -44,4 +45,16 @@ function removeProtocol(url) {
44
45
  } catch (error) {
45
46
  return url;
46
47
  }
48
+ }
49
+
50
+ /**
51
+ * Used to match `RegExp`
52
+ * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).
53
+ */
54
+ var reRegExpChar = /[\\^$.*+?()[\]{}|]/g,
55
+ reHasRegExpChar = RegExp(reRegExpChar.source);
56
+ function escapeRegExp() {
57
+ var str = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
58
+ var string = typeof str === 'string' ? str : str.toString();
59
+ return string && reHasRegExpChar.test(string) ? string.replace(reRegExpChar, '\\$&') : string;
47
60
  }
@@ -1,2 +1,2 @@
1
- export { default, default as useComponentMemo } from './use-memo';
1
+ export { useComponentMemo } from './use-memo';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- export { default, default as useComponentMemo } from "./use-memo";
2
+ export { useComponentMemo } from "./use-memo";
@@ -1,2 +1,2 @@
1
- export default function useMemo<Value, Condition = any[]>(getValue: () => Value, condition: Condition, shouldUpdate?: (prev: Condition, next: Condition) => boolean): Value | undefined;
1
+ export declare function useComponentMemo<Value, Condition = any[]>(getValue: () => Value, condition: Condition, shouldUpdate?: (prev: Condition, next: Condition) => boolean): Value | undefined;
2
2
  //# sourceMappingURL=use-memo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-memo.d.ts","sourceRoot":"","sources":["use-memo.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,GAAG,EAAE,EACtD,QAAQ,EAAE,MAAM,KAAK,EACrB,SAAS,EAAE,SAAS,EACpB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,KAAK,OAAO,qBAc7D"}
1
+ {"version":3,"file":"use-memo.d.ts","sourceRoot":"","sources":["use-memo.ts"],"names":[],"mappings":"AAQA,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,GAAG,GAAG,EAAE,EACvD,QAAQ,EAAE,MAAM,KAAK,EACrB,SAAS,EAAE,SAAS,EACpB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,KAAK,OAAO,qBAc7D"}
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- export default function useMemo(getValue, condition, shouldUpdate) {
2
+ export function useComponentMemo(getValue, condition, shouldUpdate) {
3
3
  var cacheRef = React.useRef({});
4
4
  if (!shouldUpdate) return getValue();
5
5
  if (!('value' in cacheRef.current) || shouldUpdate(cacheRef.current.condition, condition)) {
@@ -1,2 +1,3 @@
1
1
  export { default, default as useFilter } from './use-filter';
2
+ export { FilterContext } from './use-filter-context';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,2 +1,3 @@
1
1
  "use client";
2
- export { default, default as useFilter } from "./use-filter";
2
+ export { default, default as useFilter } from "./use-filter";
3
+ export { FilterContext } from "./use-filter-context";
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ export interface FilterContextProps {
3
+ filterText?: string;
4
+ highlight?: boolean;
5
+ }
6
+ export declare const FilterContext: React.Context<FilterContextProps>;
7
+ //# sourceMappingURL=use-filter-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-filter-context.d.ts","sourceRoot":"","sources":["use-filter-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAEzB,MAAM,WAAW,kBAAkB;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,aAAa,mCAA8C,CAAC"}
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ export var FilterContext = /*#__PURE__*/React.createContext({});
3
+ FilterContext.displayName = 'FilterContext';
@@ -14,6 +14,7 @@ declare const useFilter: <DataItem>(props: UseFilterProps<DataItem>) => {
14
14
  filterFunc: ((d: DataItem) => boolean) | undefined;
15
15
  onCreate: ((text: string) => string | DataItem | undefined) | undefined;
16
16
  onFilter: ((text: string, from?: string) => void) | undefined;
17
+ FilterProvider: import("react").Provider<import("./use-filter-context").FilterContextProps>;
17
18
  onClearCreatedData: () => void;
18
19
  };
19
20
  export default useFilter;
@@ -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;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,QAAA,MAAM,SAAS;;;;;;;;;;kCAmBkD,OAAO;sBAiB1C,MAAM;sBAKN,MAAM,SAAQ,MAAM;;CAqGjD,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;sBAiB1C,MAAM;sBAKN,MAAM,SAAQ,MAAM;;;CAsGjD,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -10,6 +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 { useState, useEffect, useRef, useMemo } from 'react';
12
12
  import { isFunc, getKey, getFilterTree } from "../../utils";
13
+ import { FilterContext } from "./use-filter-context";
13
14
  var useFilter = function useFilter(props) {
14
15
  var data = props.data,
15
16
  groupKey = props.groupKey,
@@ -151,6 +152,7 @@ var useFilter = function useFilter(props) {
151
152
  filterFunc: filterFunc,
152
153
  onCreate: onCreate ? handleCreate : undefined,
153
154
  onFilter: onFilter || onCreate ? handleFilter : undefined,
155
+ FilterProvider: FilterContext.Provider,
154
156
  // onResetFilter: handleResetData,
155
157
  onClearCreatedData: handleClearCreatedData
156
158
  };
@@ -0,0 +1,10 @@
1
+ export interface Size {
2
+ width?: number;
3
+ height?: number;
4
+ }
5
+ interface UseCheckElementSizeOptions {
6
+ enable?: boolean;
7
+ }
8
+ export declare const useCheckElementSize: (targetElementRef: React.RefObject<HTMLElement>, options?: UseCheckElementSizeOptions) => Size | null;
9
+ export {};
10
+ //# sourceMappingURL=check-element-size.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-element-size.d.ts","sourceRoot":"","sources":["check-element-size.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,IAAI;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,0BAA0B;IAElC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,eAAO,MAAM,mBAAmB,qBACZ,MAAM,SAAS,CAAC,WAAW,CAAC,YACrC,0BAA0B,KAClC,IAAI,GAAG,IAmDT,CAAC"}
@@ -0,0 +1,59 @@
1
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
+ 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
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
4
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
5
+ 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; } }
6
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
+ import { useState, useEffect, useRef, useCallback } from 'react';
8
+ export var useCheckElementSize = function useCheckElementSize(targetElementRef) {
9
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
10
+ var enable = options.enable;
11
+ var _useState = useState({
12
+ width: 0,
13
+ height: 0
14
+ }),
15
+ _useState2 = _slicedToArray(_useState, 2),
16
+ size = _useState2[0],
17
+ setSize = _useState2[1];
18
+ var lastSize = useRef({
19
+ width: 0,
20
+ height: 0
21
+ });
22
+ var checkSize = useCallback(function () {
23
+ if (targetElementRef.current) {
24
+ var rect = targetElementRef.current.getBoundingClientRect();
25
+ var newSize = {
26
+ width: rect.width,
27
+ height: rect.height
28
+ };
29
+ if (newSize.width !== lastSize.current.width || newSize.height !== lastSize.current.height) {
30
+ setSize(newSize);
31
+ lastSize.current = newSize;
32
+ }
33
+ }
34
+ }, [targetElementRef]);
35
+ useEffect(function () {
36
+ var _window;
37
+ if (!enable) return;
38
+ var element = targetElementRef.current;
39
+ if (!element) return;
40
+
41
+ // 初始检查
42
+ checkSize();
43
+ var resizeObserver = null;
44
+ if ((_window = window) !== null && _window !== void 0 && _window.ResizeObserver) {
45
+ resizeObserver = new ResizeObserver(checkSize);
46
+ resizeObserver.observe(element);
47
+ }
48
+
49
+ // 清理函数
50
+ return function () {
51
+ var _resizeObserver;
52
+ (_resizeObserver = resizeObserver) === null || _resizeObserver === void 0 || _resizeObserver.disconnect();
53
+ };
54
+ }, [enable, targetElementRef, checkSize]);
55
+ if (!enable || !targetElementRef) {
56
+ return null;
57
+ }
58
+ return size;
59
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AASnD,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;AAOD,eAAO,MAAM,gBAAgB,WAAY,mBAAmB;;CAqR3D,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAUnD,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;AAOD,eAAO,MAAM,gBAAgB,WAAY,mBAAmB;;CAwR3D,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -9,6 +9,7 @@ import React, { useEffect, useState } from 'react';
9
9
  import { getPositionStyle } from "./get-position-style";
10
10
  import { useCheckElementPosition } from "./check-position";
11
11
  import { useCheckElementBorderWidth } from "./check-border";
12
+ import { useCheckElementSize } from "./check-element-size";
12
13
  import shallowEqual from "../../utils/shallow-equal";
13
14
  import usePersistFn from "../use-persist-fn";
14
15
  import { getCurrentCSSZoom } from "../../utils";
@@ -67,6 +68,9 @@ export var usePositionStyle = function usePositionStyle(config) {
67
68
  var parentElBorderWidth = useCheckElementBorderWidth(parentElRef, {
68
69
  direction: 'horizontal'
69
70
  });
71
+ var popupElSize = useCheckElementSize(popupElRef, {
72
+ enable: show
73
+ });
70
74
  var adjustPosition = function adjustPosition(position) {
71
75
  var winHeight = docSize.height;
72
76
  if (!verticalPosition.includes(position)) return position;
@@ -303,7 +307,7 @@ export var usePositionStyle = function usePositionStyle(config) {
303
307
  // 当父元素的滚动容器滚动时,判断是否需要更新弹出层位置,包括是否隐藏弹出层(通过hideStyle隐藏,不是show状态)
304
308
  context.prevParentPosition = parentElNewPosition;
305
309
  });
306
- useEffect(updateStyle, [show, position, absolute, updateKey, fixedWidth, parentElNewPosition]);
310
+ useEffect(updateStyle, [show, position, absolute, updateKey, fixedWidth, parentElNewPosition, popupElSize]);
307
311
  return {
308
312
  style: style
309
313
  };
@@ -1,4 +1,4 @@
1
- export { default as useDatePickerFormat } from './use-datepicker-format';
1
+ export { default as useDatePickerFormat, getFormatValueArr, convertValueToDateArr, getFormat, } from './use-datepicker-format';
2
2
  export { default as dateUtil } from './util';
3
3
  export { default as useDatePick } from './use-date';
4
4
  export { default as useYearPick } from './use-year';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACvE,YAAY,EACV,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,GACb,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,IAAI,mBAAmB,EAC9B,iBAAiB,EACjB,qBAAqB,EACrB,SAAS,GACV,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACvE,YAAY,EACV,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,YAAY,GACb,MAAM,8BAA8B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- export { default as useDatePickerFormat } from "./use-datepicker-format";
2
+ export { default as useDatePickerFormat, getFormatValueArr, convertValueToDateArr, getFormat } from "./use-datepicker-format";
3
3
  export { default as dateUtil } from "./util";
4
4
  export { default as useDatePick } from "./use-date";
5
5
  export { default as useYearPick } from "./use-year";