@sheinx/hooks 3.7.0-beta.2 → 3.7.0-beta.20

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 (97) hide show
  1. package/cjs/common/use-component-memo/index.d.ts +2 -0
  2. package/cjs/common/use-component-memo/index.d.ts.map +1 -0
  3. package/cjs/common/use-component-memo/index.js +13 -0
  4. package/cjs/common/use-component-memo/use-memo.d.ts +2 -0
  5. package/cjs/common/use-component-memo/use-memo.d.ts.map +1 -0
  6. package/cjs/common/{use-memo → use-component-memo}/use-memo.js +2 -2
  7. package/cjs/common/use-position-style/check-element-size.d.ts +10 -0
  8. package/cjs/common/use-position-style/check-element-size.d.ts.map +1 -0
  9. package/cjs/common/use-position-style/check-element-size.js +65 -0
  10. package/cjs/common/use-position-style/index.d.ts.map +1 -1
  11. package/cjs/common/use-position-style/index.js +5 -8
  12. package/cjs/components/use-form/use-form-control/use-form-control.d.ts.map +1 -1
  13. package/cjs/components/use-form/use-form-control/use-form-control.js +9 -0
  14. package/cjs/components/use-form/use-form-control/use-form-control.type.d.ts +3 -0
  15. package/cjs/components/use-form/use-form-control/use-form-control.type.d.ts.map +1 -1
  16. package/cjs/components/use-form/use-form.d.ts +2 -2
  17. package/cjs/components/use-form/use-form.d.ts.map +1 -1
  18. package/cjs/components/use-form/use-form.js +32 -26
  19. package/cjs/components/use-form/use-form.type.d.ts +1 -0
  20. package/cjs/components/use-form/use-form.type.d.ts.map +1 -1
  21. package/cjs/components/use-image/use-image.d.ts +2 -0
  22. package/cjs/components/use-image/use-image.d.ts.map +1 -1
  23. package/cjs/components/use-image/use-image.js +40 -2
  24. package/cjs/components/use-table/index.d.ts +1 -1
  25. package/cjs/components/use-table/index.d.ts.map +1 -1
  26. package/cjs/components/use-table/use-table-layout.d.ts +0 -1
  27. package/cjs/components/use-table/use-table-layout.d.ts.map +1 -1
  28. package/cjs/components/use-table/use-table-layout.js +30 -2
  29. package/cjs/components/use-table/use-table-row.d.ts +0 -1
  30. package/cjs/components/use-table/use-table-row.d.ts.map +1 -1
  31. package/cjs/components/use-table/use-table-row.js +0 -11
  32. package/cjs/components/use-table/use-table-virtual.d.ts +2 -3
  33. package/cjs/components/use-table/use-table-virtual.d.ts.map +1 -1
  34. package/cjs/components/use-table/use-table-virtual.js +32 -41
  35. package/cjs/components/use-table/use-table.type.d.ts +0 -10
  36. package/cjs/components/use-table/use-table.type.d.ts.map +1 -1
  37. package/cjs/components/use-upload/use-upload.d.ts.map +1 -1
  38. package/cjs/components/use-upload/use-upload.js +54 -34
  39. package/cjs/components/use-upload/use-upload.type.d.ts +7 -0
  40. package/cjs/components/use-upload/use-upload.type.d.ts.map +1 -1
  41. package/cjs/index.d.ts +1 -1
  42. package/cjs/index.d.ts.map +1 -1
  43. package/cjs/index.js +4 -4
  44. package/esm/common/use-component-memo/index.d.ts +2 -0
  45. package/esm/common/use-component-memo/index.d.ts.map +1 -0
  46. package/esm/common/use-component-memo/index.js +2 -0
  47. package/esm/common/use-component-memo/use-memo.d.ts +2 -0
  48. package/esm/common/use-component-memo/use-memo.d.ts.map +1 -0
  49. package/esm/common/{use-memo → use-component-memo}/use-memo.js +1 -1
  50. package/esm/common/use-position-style/check-element-size.d.ts +10 -0
  51. package/esm/common/use-position-style/check-element-size.d.ts.map +1 -0
  52. package/esm/common/use-position-style/check-element-size.js +59 -0
  53. package/esm/common/use-position-style/index.d.ts.map +1 -1
  54. package/esm/common/use-position-style/index.js +5 -8
  55. package/esm/components/use-form/use-form-control/use-form-control.d.ts.map +1 -1
  56. package/esm/components/use-form/use-form-control/use-form-control.js +9 -0
  57. package/esm/components/use-form/use-form-control/use-form-control.type.d.ts +3 -0
  58. package/esm/components/use-form/use-form-control/use-form-control.type.d.ts.map +1 -1
  59. package/esm/components/use-form/use-form.d.ts +2 -2
  60. package/esm/components/use-form/use-form.d.ts.map +1 -1
  61. package/esm/components/use-form/use-form.js +32 -26
  62. package/esm/components/use-form/use-form.type.d.ts +1 -0
  63. package/esm/components/use-form/use-form.type.d.ts.map +1 -1
  64. package/esm/components/use-image/use-image.d.ts +2 -0
  65. package/esm/components/use-image/use-image.d.ts.map +1 -1
  66. package/esm/components/use-image/use-image.js +40 -2
  67. package/esm/components/use-table/index.d.ts +1 -1
  68. package/esm/components/use-table/index.d.ts.map +1 -1
  69. package/esm/components/use-table/use-table-layout.d.ts +0 -1
  70. package/esm/components/use-table/use-table-layout.d.ts.map +1 -1
  71. package/esm/components/use-table/use-table-layout.js +30 -2
  72. package/esm/components/use-table/use-table-row.d.ts +0 -1
  73. package/esm/components/use-table/use-table-row.d.ts.map +1 -1
  74. package/esm/components/use-table/use-table-row.js +0 -11
  75. package/esm/components/use-table/use-table-virtual.d.ts +2 -3
  76. package/esm/components/use-table/use-table-virtual.d.ts.map +1 -1
  77. package/esm/components/use-table/use-table-virtual.js +32 -41
  78. package/esm/components/use-table/use-table.type.d.ts +0 -10
  79. package/esm/components/use-table/use-table.type.d.ts.map +1 -1
  80. package/esm/components/use-upload/use-upload.d.ts.map +1 -1
  81. package/esm/components/use-upload/use-upload.js +54 -34
  82. package/esm/components/use-upload/use-upload.type.d.ts +7 -0
  83. package/esm/components/use-upload/use-upload.type.d.ts.map +1 -1
  84. package/esm/index.d.ts +1 -1
  85. package/esm/index.d.ts.map +1 -1
  86. package/esm/index.js +1 -1
  87. package/package.json +1 -1
  88. package/cjs/common/use-memo/index.d.ts +0 -2
  89. package/cjs/common/use-memo/index.d.ts.map +0 -1
  90. package/cjs/common/use-memo/index.js +0 -20
  91. package/cjs/common/use-memo/use-memo.d.ts +0 -2
  92. package/cjs/common/use-memo/use-memo.d.ts.map +0 -1
  93. package/esm/common/use-memo/index.d.ts +0 -2
  94. package/esm/common/use-memo/index.d.ts.map +0 -1
  95. package/esm/common/use-memo/index.js +0 -2
  96. package/esm/common/use-memo/use-memo.d.ts +0 -2
  97. package/esm/common/use-memo/use-memo.d.ts.map +0 -1
@@ -0,0 +1,2 @@
1
+ export { useComponentMemo } from './use-memo';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ "use client";
3
+
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ Object.defineProperty(exports, "useComponentMemo", {
8
+ enumerable: true,
9
+ get: function get() {
10
+ return _useMemo.useComponentMemo;
11
+ }
12
+ });
13
+ var _useMemo = require("./use-memo");
@@ -0,0 +1,2 @@
1
+ export declare function useComponentMemo<Value, Condition = any[]>(getValue: () => Value, condition: Condition, shouldUpdate?: (prev: Condition, next: Condition) => boolean): Value | undefined;
2
+ //# sourceMappingURL=use-memo.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -4,11 +4,11 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.default = useMemo;
7
+ exports.useComponentMemo = useComponentMemo;
8
8
  var React = _interopRequireWildcard(require("react"));
9
9
  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); }
10
10
  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; }
11
- function useMemo(getValue, condition, shouldUpdate) {
11
+ function useComponentMemo(getValue, condition, shouldUpdate) {
12
12
  var cacheRef = React.useRef({});
13
13
  if (!shouldUpdate) return getValue();
14
14
  if (!('value' in cacheRef.current) || shouldUpdate(cacheRef.current.condition, condition)) {
@@ -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,65 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useCheckElementSize = void 0;
7
+ var _react = require("react");
8
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
9
+ 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."); }
10
+ 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); }
11
+ 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; }
12
+ 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; } }
13
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
14
+ var useCheckElementSize = exports.useCheckElementSize = function useCheckElementSize(targetElementRef) {
15
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
16
+ var enable = options.enable;
17
+ var _useState = (0, _react.useState)({
18
+ width: 0,
19
+ height: 0
20
+ }),
21
+ _useState2 = _slicedToArray(_useState, 2),
22
+ size = _useState2[0],
23
+ setSize = _useState2[1];
24
+ var lastSize = (0, _react.useRef)({
25
+ width: 0,
26
+ height: 0
27
+ });
28
+ var checkSize = (0, _react.useCallback)(function () {
29
+ if (targetElementRef.current) {
30
+ var rect = targetElementRef.current.getBoundingClientRect();
31
+ var newSize = {
32
+ width: rect.width,
33
+ height: rect.height
34
+ };
35
+ if (newSize.width !== lastSize.current.width || newSize.height !== lastSize.current.height) {
36
+ setSize(newSize);
37
+ lastSize.current = newSize;
38
+ }
39
+ }
40
+ }, [targetElementRef]);
41
+ (0, _react.useEffect)(function () {
42
+ var _window;
43
+ if (!enable) return;
44
+ var element = targetElementRef.current;
45
+ if (!element) return;
46
+
47
+ // 初始检查
48
+ checkSize();
49
+ var resizeObserver = null;
50
+ if ((_window = window) !== null && _window !== void 0 && _window.ResizeObserver) {
51
+ resizeObserver = new ResizeObserver(checkSize);
52
+ resizeObserver.observe(element);
53
+ }
54
+
55
+ // 清理函数
56
+ return function () {
57
+ var _resizeObserver;
58
+ (_resizeObserver = resizeObserver) === null || _resizeObserver === void 0 || _resizeObserver.disconnect();
59
+ };
60
+ }, [enable, targetElementRef, checkSize]);
61
+ if (!enable || !targetElementRef) {
62
+ return null;
63
+ }
64
+ return size;
65
+ };
@@ -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;;CA4R3D,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"}
@@ -10,6 +10,7 @@ var _react = _interopRequireWildcard(require("react"));
10
10
  var _getPositionStyle = require("./get-position-style");
11
11
  var _checkPosition = require("./check-position");
12
12
  var _checkBorder = require("./check-border");
13
+ var _checkElementSize = require("./check-element-size");
13
14
  var _shallowEqual = _interopRequireDefault(require("../../utils/shallow-equal"));
14
15
  var _usePersistFn = _interopRequireDefault(require("../use-persist-fn"));
15
16
  var _utils = require("../../utils");
@@ -76,6 +77,9 @@ var usePositionStyle = exports.usePositionStyle = function usePositionStyle(conf
76
77
  var parentElBorderWidth = (0, _checkBorder.useCheckElementBorderWidth)(parentElRef, {
77
78
  direction: 'horizontal'
78
79
  });
80
+ var popupElSize = (0, _checkElementSize.useCheckElementSize)(popupElRef, {
81
+ enable: show
82
+ });
79
83
  var adjustPosition = function adjustPosition(position) {
80
84
  var winHeight = _utils.docSize.height;
81
85
  if (!verticalPosition.includes(position)) return position;
@@ -171,13 +175,6 @@ var usePositionStyle = exports.usePositionStyle = function usePositionStyle(conf
171
175
  style.right = containerRect.right - rect.right + containerScrollBarWidth - containerScroll.left - (offset ? offset[0] : 0);
172
176
  style.left = 'auto';
173
177
  style.transform = '';
174
- if (adjust) {
175
- overLeft = bodyRect.left - (rect.right - context.popUpWidth);
176
- if (style.right < 0 && targetRect) {
177
- style.left = bodyRect.width - targetRect.width;
178
- style.right = 'auto';
179
- }
180
- }
181
178
  } else {
182
179
  // 居中对齐
183
180
  style.left = rect.left + rect.width / 2 - containerRect.left + containerScroll.left;
@@ -319,7 +316,7 @@ var usePositionStyle = exports.usePositionStyle = function usePositionStyle(conf
319
316
  // 当父元素的滚动容器滚动时,判断是否需要更新弹出层位置,包括是否隐藏弹出层(通过hideStyle隐藏,不是show状态)
320
317
  context.prevParentPosition = parentElNewPosition;
321
318
  });
322
- (0, _react.useEffect)(updateStyle, [show, position, absolute, updateKey, fixedWidth, parentElNewPosition]);
319
+ (0, _react.useEffect)(updateStyle, [show, position, absolute, updateKey, fixedWidth, parentElNewPosition, popupElSize]);
323
320
  return {
324
321
  style: style
325
322
  };
@@ -1 +1 @@
1
- {"version":3,"file":"use-form-control.d.ts","sourceRoot":"","sources":["use-form-control.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AA0B/D,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC;;kBA6IpC,CAAC,YAAY,GAAG,EAAE;;;;;EAkDrD"}
1
+ {"version":3,"file":"use-form-control.d.ts","sourceRoot":"","sources":["use-form-control.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,oBAAoB,EAAsB,MAAM,yBAAyB,CAAC;AA2BnF,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC;;kBAiJpC,CAAC,YAAY,GAAG,EAAE;;;;;EAwDrD"}
@@ -16,6 +16,7 @@ var _object = require("../../../utils/object");
16
16
  var _shallowEqual = require("../../../utils/shallow-equal");
17
17
  var _usePersistFn = _interopRequireDefault(require("../../../common/use-persist-fn"));
18
18
  var _useLatestObj = _interopRequireDefault(require("../../../common/use-latest-obj"));
19
+ var _warning = require("../../../utils/warning");
19
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
21
  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); }
21
22
  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; }
@@ -67,6 +68,10 @@ function useFormControl(props) {
67
68
  _React$useState2 = _slicedToArray(_React$useState, 2),
68
69
  errorState = _React$useState2[0],
69
70
  setErrorState = _React$useState2[1];
71
+ var _React$useRef = _react.default.useRef({
72
+ mounted: false
73
+ }),
74
+ context = _React$useRef.current;
70
75
  var value;
71
76
  var error = errorState;
72
77
  var inForm = false;
@@ -226,7 +231,11 @@ function useFormControl(props) {
226
231
  } else {
227
232
  controlFunc.bind(name, defaultValue, validateField, update);
228
233
  }
234
+ if (context.mounted) {
235
+ _warning.devUseWarning.warn('Please avoid modifying the name property after the component has mounted, as this may result in unintended behavior or errors.');
236
+ }
229
237
  }
238
+ context.mounted = true;
230
239
  return function () {
231
240
  if (inForm && controlFunc) {
232
241
  if ((0, _is.isArray)(name)) {
@@ -33,4 +33,7 @@ export interface BaseFormControlProps<T> {
33
33
  */
34
34
  getValidateProps: (() => ObjectType) | undefined;
35
35
  }
36
+ export interface FormControlContext {
37
+ mounted: boolean;
38
+ }
36
39
  //# sourceMappingURL=use-form-control.type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-form-control.type.d.ts","sourceRoot":"","sources":["use-form-control.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB;;;OAGG;IACH,YAAY,EAAE,CAAC,GAAG,SAAS,CAAC;IAC5B,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC5D;;;OAGG;IACH,WAAW,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC;;;;OAIG;IACH,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACnC;;OAEG;IACH,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC1D;;;OAGG;IACH,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC3B;;OAEG;IACH,gBAAgB,EAAE,CAAC,MAAM,UAAU,CAAC,GAAG,SAAS,CAAC;CAClD"}
1
+ {"version":3,"file":"use-form-control.type.d.ts","sourceRoot":"","sources":["use-form-control.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB;;;OAGG;IACH,YAAY,EAAE,CAAC,GAAG,SAAS,CAAC;IAC5B,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC5D;;;OAGG;IACH,WAAW,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC;;;;OAIG;IACH,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACnC;;OAEG;IACH,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC1D;;;OAGG;IACH,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC3B;;OAEG;IACH,gBAAgB,EAAE,CAAC,MAAM,UAAU,CAAC,GAAG,SAAS,CAAC;CAClD;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;CAClB"}
@@ -14,7 +14,7 @@ declare const useForm: <T extends ObjectType>(props: UseFormProps<T>) => {
14
14
  names?: string[];
15
15
  }) => void;
16
16
  getValue: (name?: string) => unknown;
17
- submit: (withValidate?: boolean) => void;
17
+ submit: (withValidate?: boolean, callback?: () => void) => void;
18
18
  reset: () => void;
19
19
  setError: (name: string, e: Error | undefined) => void;
20
20
  getErrors: () => ObjectType<Error | undefined>;
@@ -34,7 +34,7 @@ declare const useForm: <T extends ObjectType>(props: UseFormProps<T>) => {
34
34
  names?: string[];
35
35
  }) => void;
36
36
  getValue: (name?: string) => unknown;
37
- submit: (withValidate?: boolean) => void;
37
+ submit: (withValidate?: boolean, callback?: () => void) => void;
38
38
  reset: () => void;
39
39
  setError: (name: string, e: Error | undefined) => void;
40
40
  getErrors: () => ObjectType<Error | undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"use-form.d.ts","sourceRoot":"","sources":["use-form.ts"],"names":[],"mappings":"AA+BA,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,gBAAgB,EAGhB,gBAAgB,EAEjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI5D,QAAA,MAAM,OAAO;;;;;;;;;wBAyRC;gBAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;gBAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;aAAE;8BA9Jd,MAAM;oCAiOD,OAAO;;6BAfb,MAAM,KAAK,KAAK,GAAG,SAAS;;oCAdrB,MAAM,EAAE;sCA5LxC,MAAM,GAAG,MAAM,EAAE,WAAU,gBAAgB;qCA8PvB,MAAM,WAAW,gBAAgB;gCA/CzB,MAAM,SAAS,MAAM,UAAU,KAAK;gCAKpC,MAAM,SAAS,MAAM;kCAnIpD,MAAM,0BAAyB,qBAAqB;;;;;;oBAqEjD;YAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE;0BA9Jd,MAAM;gCAiOD,OAAO;;yBAfb,MAAM,KAAK,KAAK,GAAG,SAAS;;gCAdrB,MAAM,EAAE;kCA5LxC,MAAM,GAAG,MAAM,EAAE,WAAU,gBAAgB;iCA8PvB,MAAM,WAAW,gBAAgB;4BA/CzB,MAAM,SAAS,MAAM,UAAU,KAAK;4BAKpC,MAAM,SAAS,MAAM;8BAnIpD,MAAM,0BAAyB,qBAAqB;;CAma9D,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"use-form.d.ts","sourceRoot":"","sources":["use-form.ts"],"names":[],"mappings":"AA+BA,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,gBAAgB,EAGhB,gBAAgB,EAEjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI5D,QAAA,MAAM,OAAO;;;;;;;;;wBAgSC;gBAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;gBAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;aAAE;8BApKd,MAAM;oCA0OD,OAAO,aAAoB,MAAM,IAAI;;6BAf3C,MAAM,KAAK,KAAK,GAAG,SAAS;;oCAdrB,MAAM,EAAE;sCArMxC,MAAM,GAAG,MAAM,EAAE,WAAU,gBAAgB;qCAwQvB,MAAM,WAAW,gBAAgB;gCAhDzB,MAAM,SAAS,MAAM,UAAU,KAAK;gCAKpC,MAAM,SAAS,MAAM;kCA5IpD,MAAM,0BAAyB,qBAAqB;;;;;;oBA2EjD;YAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE;0BApKd,MAAM;gCA0OD,OAAO,aAAoB,MAAM,IAAI;;yBAf3C,MAAM,KAAK,KAAK,GAAG,SAAS;;gCAdrB,MAAM,EAAE;kCArMxC,MAAM,GAAG,MAAM,EAAE,WAAU,gBAAgB;iCAwQvB,MAAM,WAAW,gBAAgB;4BAhDzB,MAAM,SAAS,MAAM,UAAU,KAAK;4BAKpC,MAAM,SAAS,MAAM;8BA5IpD,MAAM,0BAAyB,qBAAqB;;CAkb9D,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -47,7 +47,8 @@ var useForm = function useForm(props) {
47
47
  size = props.size,
48
48
  colon = props.colon,
49
49
  formName = props.name,
50
- scrollParent = props.scrollParent;
50
+ scrollParent = props.scrollParent,
51
+ isControl = props.isControl;
51
52
  var deepSetOptions = {
52
53
  removeUndefined: removeUndefined,
53
54
  forceSet: true
@@ -303,13 +304,16 @@ var useForm = function useForm(props) {
303
304
  var values = Object.keys(vals);
304
305
  // 针对 name 为数组模式,如 datepicker 的 name={['startTime', 'endTime']} 时,前者校验可能需要依赖后者,因此需要提前将后者数据整合至 draft 用于多字段整合校验
305
306
  values.forEach(function (key) {
306
- (0, _utils.deepSet)(draft, key, vals[key], deepSetOptions);
307
+ // upload组件返回的可能是函数: (prev) => [...prev, file]
308
+ var valueOfKey = typeof vals[key] === 'function' ? vals[key](getValue(key)) : vals[key];
309
+ (0, _utils.deepSet)(draft, key, valueOfKey, deepSetOptions);
307
310
  });
308
311
  values.forEach(function (key) {
309
312
  if (option.validate) {
310
313
  var _context$validateMap$;
311
314
  (_context$validateMap$ = context.validateMap[key]) === null || _context$validateMap$ === void 0 || _context$validateMap$.forEach(function (validate) {
312
- validate(key, vals[key], (0, _immer.current)(draft));
315
+ var valueOfKey = typeof vals[key] === 'function' ? vals[key](getValue(key)) : vals[key];
316
+ validate(key, valueOfKey, (0, _immer.current)(draft));
313
317
  });
314
318
  }
315
319
  });
@@ -365,6 +369,7 @@ var useForm = function useForm(props) {
365
369
  });
366
370
  var submit = (0, _usePersistFn.default)(function () {
367
371
  var withValidate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
372
+ var callback = arguments.length > 1 ? arguments[1] : undefined;
368
373
  if (disabled) return;
369
374
  if (context.submitLock) {
370
375
  return;
@@ -382,32 +387,29 @@ var useForm = function useForm(props) {
382
387
  while (1) switch (_context.prev = _context.next) {
383
388
  case 0:
384
389
  if (withValidate) {
385
- _context.next = 3;
390
+ _context.next = 4;
386
391
  break;
387
392
  }
388
393
  (_props$onSubmit = props.onSubmit) === null || _props$onSubmit === void 0 || _props$onSubmit.call(props, (_context$value = context.value) !== null && _context$value !== void 0 ? _context$value : {});
394
+ callback === null || callback === void 0 || callback();
389
395
  return _context.abrupt("return");
390
- case 3:
391
- _context.next = 5;
396
+ case 4:
397
+ _context.next = 6;
392
398
  return validateFields(undefined, {
393
399
  ignoreBind: true
394
400
  }).catch(function (e) {
395
401
  return e;
396
402
  });
397
- case 5:
403
+ case 6:
398
404
  result = _context.sent;
399
- if (!(result === true)) {
400
- _context.next = 11;
401
- break;
405
+ if (result === true) {
406
+ (_props$onSubmit2 = props.onSubmit) === null || _props$onSubmit2 === void 0 || _props$onSubmit2.call(props, (_context$value2 = context.value) !== null && _context$value2 !== void 0 ? _context$value2 : {});
407
+ if (activeEl) activeEl.focus();
408
+ } else {
409
+ handleSubmitError(result);
402
410
  }
403
- (_props$onSubmit2 = props.onSubmit) === null || _props$onSubmit2 === void 0 || _props$onSubmit2.call(props, (_context$value2 = context.value) !== null && _context$value2 !== void 0 ? _context$value2 : {});
404
- if (activeEl) activeEl.focus();
405
- _context.next = 13;
406
- break;
407
- case 11:
408
- handleSubmitError(result);
409
- return _context.abrupt("return");
410
- case 13:
411
+ callback === null || callback === void 0 || callback();
412
+ case 9:
411
413
  case "end":
412
414
  return _context.stop();
413
415
  }
@@ -491,15 +493,15 @@ var useForm = function useForm(props) {
491
493
  context.updateMap[n] = new Set();
492
494
  }
493
495
  context.updateMap[n].add(updateFn);
496
+ var shouldTriggerResetChange = context.removeArr.has(n);
494
497
  context.removeArr.delete(n);
495
- if (df !== undefined && (0, _utils.deepGet)(context.value, n) === undefined) {
498
+ var shouldTriggerDefaultChange = df !== undefined && (0, _utils.deepGet)(context.value, n) === undefined;
499
+ if (shouldTriggerDefaultChange || shouldTriggerResetChange) {
496
500
  if (!context.mounted) context.defaultValues[n] = df;
497
- setTimeout(function () {
498
- onChange(function (v) {
499
- (0, _utils.deepSet)(v, n, df, deepSetOptions);
500
- });
501
- update(n);
501
+ onChange(function (v) {
502
+ (0, _utils.deepSet)(v, n, df, deepSetOptions);
502
503
  });
504
+ update(n);
503
505
  }
504
506
  },
505
507
  unbind: function unbind(n, reserveAble, validateField, update) {
@@ -609,7 +611,10 @@ var useForm = function useForm(props) {
609
611
  React.useEffect(function () {
610
612
  context.removeLock = false;
611
613
  // 内部 onChange 改的 value, 不需要更新
612
- if (props.value === context.value) return;
614
+ if (props.value === context.value) {
615
+ if (!isControl) update();
616
+ return;
617
+ }
613
618
  if (initValidate && !context.resetTime) {
614
619
  var keys = Object.keys(context.validateMap).filter(function (key) {
615
620
  var oldValue = (0, _utils.deepGet)(preValue || emptyObj, key);
@@ -619,7 +624,8 @@ var useForm = function useForm(props) {
619
624
  validateFields(keys).catch(function () {});
620
625
  }
621
626
  update();
622
- updateDefaultValue();
627
+ // 默认值上位时会提前触发外部的onChange, 导致外部的多次setFormValue不能合并后生效的问题(ReactDOM.render方式渲染)
628
+ setTimeout(updateDefaultValue);
623
629
  context.resetTime = 0;
624
630
  }, [props.value]);
625
631
  React.useEffect(function () {
@@ -187,6 +187,7 @@ export interface BaseFormProps<T> extends Omit<FormCommonConfig, 'formName'> {
187
187
  }
188
188
  export type UseFormProps<T> = BaseFormProps<T> & {
189
189
  formElRef: React.RefObject<HTMLFormElement>;
190
+ isControl: boolean;
190
191
  };
191
192
  export type FormContext = {
192
193
  defaultValues: ObjectType;
@@ -1 +1 @@
1
- {"version":3,"file":"use-form.type.d.ts","sourceRoot":"","sources":["use-form.type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-form.type.d.ts","sourceRoot":"","sources":["use-form.type.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,8 @@ declare const useImage: (props?: BaseImageProps) => {
14
14
  onClick: (event: React.MouseEvent<HTMLImageElement | HTMLDivElement>) => void;
15
15
  };
16
16
  getImageProps: <TOther_1 extends ObjectType = ObjectType>(externalProps?: TOther_1) => {
17
+ style: React.CSSProperties;
18
+ } & {
17
19
  [x: string]: (event: any) => void;
18
20
  } & TOther_1 & {
19
21
  alt: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"use-image.d.ts","sourceRoot":"","sources":["use-image.ts"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAWlD,QAAA,MAAM,QAAQ,WAAW,cAAc;;;;;;;;;;yBA6D3B,gBAAgB,CAAC,gBAAgB,GAAG,cAAc,CAAC;;;;;;;;;;;CAmF9D,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"use-image.d.ts","sourceRoot":"","sources":["use-image.ts"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAWlD,QAAA,MAAM,QAAQ,WAAW,cAAc;;;;;;;;;;yBAiG3B,gBAAgB,CAAC,gBAAgB,GAAG,cAAc,CAAC;;;;;;;;;;;;;CAoF9D,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -43,6 +43,10 @@ var useImage = function useImage() {
43
43
  _React$useState2 = _slicedToArray(_React$useState, 2),
44
44
  status = _React$useState2[0],
45
45
  setStatus = _React$useState2[1];
46
+ var _React$useState3 = _react.default.useState({}),
47
+ _React$useState4 = _slicedToArray(_React$useState3, 2),
48
+ imgCoverStyle = _React$useState4[0],
49
+ setImgCoverStyle = _React$useState4[1];
46
50
  var elementRef = _react.default.useRef(null);
47
51
  var getUrl = function getUrl(url) {
48
52
  var auto = 'autoSSL' in props ? autoSSL : config.autoSSL;
@@ -77,6 +81,35 @@ var useImage = function useImage() {
77
81
  };
78
82
  img.src = getUrl(alt);
79
83
  };
84
+ var handleCoverStyle = function handleCoverStyle(img) {
85
+ var container = elementRef === null || elementRef === void 0 ? void 0 : elementRef.current;
86
+ if (!container) return;
87
+
88
+ // 根据容器的宽高获取宽高比
89
+ var containerWidth = container.clientWidth;
90
+ var containerHeight = container.clientHeight;
91
+ var containerRatio = containerWidth / containerHeight;
92
+
93
+ // 根据图片的自然尺寸获取宽高比
94
+ var imageWidth = img.naturalWidth;
95
+ var imageHeight = img.naturalHeight;
96
+ var imageRatio = imageWidth / imageHeight;
97
+
98
+ // 判断宽高比,决定图片填充策略
99
+ if (imageRatio > containerRatio) {
100
+ // 图片更宽,宽度占满容器,高度自适应
101
+ setImgCoverStyle({
102
+ height: '100%',
103
+ width: 'auto'
104
+ });
105
+ } else {
106
+ // 图片更高,填满容器高度
107
+ setImgCoverStyle({
108
+ width: '100%',
109
+ height: 'auto'
110
+ });
111
+ }
112
+ };
80
113
  var markToRender = function markToRender() {
81
114
  if (!src) {
82
115
  handleAlt();
@@ -84,7 +117,10 @@ var useImage = function useImage() {
84
117
  }
85
118
  var img = new window.Image();
86
119
  img.onload = function () {
87
- return setStatus(SRC);
120
+ setStatus(SRC);
121
+ if (props.fit === 'fill') {
122
+ handleCoverStyle(img);
123
+ }
88
124
  };
89
125
  img.onerror = function (e) {
90
126
  return handleError(SRC, e);
@@ -113,7 +149,9 @@ var useImage = function useImage() {
113
149
  alt: alt,
114
150
  draggable: !noImgDrag
115
151
  });
116
- return _objectSpread({}, mergedEventHandlers);
152
+ return _objectSpread({
153
+ style: imgCoverStyle
154
+ }, mergedEventHandlers);
117
155
  };
118
156
  var getImageDivProps = function getImageDivProps() {
119
157
  var externalProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -7,5 +7,5 @@ export { default as useTableRow } from './use-table-row';
7
7
  export { default as useTableExpand } from './use-table-expand';
8
8
  export { default as useTableTree } from './use-table-tree';
9
9
  export { default as useTableVirtual } from './use-table-virtual';
10
- export type { TableFormatColumn, TableColumnItem, TableHeadColumn, TableGroupColumn, TableSorterInfo, BaseTableProps, TableColumnFilter, TableFilterData, ShouldUpdate, } from './use-table.type';
10
+ export type { TableFormatColumn, TableColumnItem, TableHeadColumn, TableGroupColumn, TableSorterInfo, BaseTableProps, TableColumnFilter, TableFilterData, } from './use-table.type';
11
11
  //# 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,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEjE,YAAY,EACV,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,YAAY,GACb,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEjE,YAAY,EACV,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,eAAe,GAChB,MAAM,kBAAkB,CAAC"}
@@ -24,7 +24,6 @@ declare const useTableLayout: (props: UseTableLayoutProps) => {
24
24
  width: string | number | undefined;
25
25
  shouldLastColAuto: boolean | undefined;
26
26
  scrollWidth: number;
27
- maxScrollLeft: number;
28
27
  resizeFlag: number;
29
28
  };
30
29
  export default useTableLayout;
@@ -1 +1 @@
1
- {"version":3,"file":"use-table-layout.d.ts","sourceRoot":"","sources":["use-table-layout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6C,MAAM,OAAO,CAAC;AAKlE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAerE,MAAM,WAAW,mBACf,SAAQ,IAAI,CACV,cAAc,CAAC,GAAG,CAAC,EACnB,MAAM,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,OAAO,CAC7E;IACD,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACvC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACvC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACxC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,QAAA,MAAM,cAAc,UAAW,mBAAmB;;;;;;;;;;;yBA+CX,MAAM,UAAU,MAAM;;;;;;;;CA+O5D,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"use-table-layout.d.ts","sourceRoot":"","sources":["use-table-layout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6C,MAAM,OAAO,CAAC;AAKlE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AA0CrE,MAAM,WAAW,mBACf,SAAQ,IAAI,CACV,cAAc,CAAC,GAAG,CAAC,EACnB,MAAM,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,OAAO,CAC7E;IACD,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACvC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACvC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACxC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,QAAA,MAAM,cAAc,UAAW,mBAAmB;;;;;;;;;;;yBA+CX,MAAM,UAAU,MAAM;;;;;;;CA+O5D,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -30,6 +30,34 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
30
30
  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; }
31
31
  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; } }
32
32
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
33
+ function getDecimalAndIntegerPart(num) {
34
+ if (!num) return [0, 0];
35
+ var str = num.toString();
36
+ var dotIndex = str.indexOf('.');
37
+ if (dotIndex === -1) return [parseInt(str), 0];
38
+ var integerPart = parseInt(str.slice(0, dotIndex));
39
+ var decimalPart = parseFloat("0.".concat(str.slice(dotIndex + 1)));
40
+ return [integerPart, decimalPart];
41
+ }
42
+
43
+ // 将所有的小数部分转移到最后一列
44
+ function shiftDecimalToLastColumn(cols) {
45
+ var decimalSum = 0;
46
+ cols.forEach(function (v, i) {
47
+ var _getDecimalAndInteger = getDecimalAndIntegerPart(v),
48
+ _getDecimalAndInteger2 = _slicedToArray(_getDecimalAndInteger, 2),
49
+ inter = _getDecimalAndInteger2[0],
50
+ decimal = _getDecimalAndInteger2[1];
51
+ if (decimal > 0) {
52
+ decimalSum += decimal;
53
+ cols[i] = inter;
54
+ }
55
+ });
56
+ if (decimalSum > 0) {
57
+ cols[cols.length - 1] = Number(cols[cols.length - 1]) + decimalSum;
58
+ }
59
+ return cols;
60
+ }
33
61
  var MIN_RESIZABLE_WIDTH = 20;
34
62
  function compareColumnWidth(curCols, preCols) {
35
63
  if (curCols.length !== preCols.length) return false;
@@ -151,7 +179,7 @@ var useTableLayout = function useTableLayout(props) {
151
179
  if (cols && cols.every(function (v) {
152
180
  return v === 0;
153
181
  })) return;
154
- setColgroup(cols);
182
+ setColgroup(shiftDecimalToLastColumn(cols));
155
183
  setAdjust(adjust);
156
184
  if (!adjust) {
157
185
  updateResizeFlag();
@@ -368,7 +396,7 @@ var useTableLayout = function useTableLayout(props) {
368
396
  width: tableWidth,
369
397
  shouldLastColAuto: props.columnResizable && !adjust,
370
398
  scrollWidth: scrollWidth,
371
- maxScrollLeft: scrollWidth - context.clientWidth,
399
+ // maxScrollLeft: scrollWidth - context.clientWidth,
372
400
  resizeFlag: resizeFlag
373
401
  };
374
402
  };
@@ -24,7 +24,6 @@ export interface Row {
24
24
  declare const useTableRow: (props: TableRowProps) => {
25
25
  rowData: Row[][];
26
26
  handleCellHover: (rowIndex: number, colSpan?: any) => void;
27
- isCellHover: (rowIndex: number, colSpan?: any) => boolean;
28
27
  hoverIndex: Set<number>;
29
28
  rowSelectMergeStartData: any[];
30
29
  };
@@ -1 +1 @@
1
- {"version":3,"file":"use-table-row.d.ts","sourceRoot":"","sources":["use-table-row.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAKjD,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtE,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,GAAG;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,GAAG,CAAC;IACV,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AA4CD;;;;GAIG;AACH,QAAA,MAAM,WAAW,UAAW,aAAa;;gCASS,MAAM;4BASV,MAAM;;;CAiDnD,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"use-table-row.d.ts","sourceRoot":"","sources":["use-table-row.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAKjD,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtE,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,GAAG;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,GAAG,CAAC;IACV,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AA4CD;;;;GAIG;AACH,QAAA,MAAM,WAAW,UAAW,aAAa;;gCASS,MAAM;;;CAgDvD,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -71,16 +71,6 @@ var useTableRow = function useTableRow(props) {
71
71
  }
72
72
  setHoverIndex(hoverIndex);
73
73
  });
74
- var isCellHover = (0, _usePersistFn.usePersistFn)(function (rowIndex) {
75
- var colSpan = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
76
- if (!props.hover) return false;
77
- var isHover = false;
78
- for (var i = 0; i < colSpan; i++) {
79
- isHover = hoverIndex.has(rowIndex + i);
80
- if (isHover) break;
81
- }
82
- return isHover;
83
- });
84
74
  var rowData = (0, _react.useMemo)(function () {
85
75
  var rows = [];
86
76
  context.rowSelectMergeStartData = [];
@@ -114,7 +104,6 @@ var useTableRow = function useTableRow(props) {
114
104
  return {
115
105
  rowData: rowData,
116
106
  handleCellHover: handleCellHover,
117
- isCellHover: isCellHover,
118
107
  hoverIndex: hoverIndex,
119
108
  rowSelectMergeStartData: context.rowSelectMergeStartData
120
109
  };