@sheinx/hooks 3.5.0-beta.1 → 3.5.0-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/cjs/common/use-in-view/index.d.ts +2 -0
  2. package/cjs/common/use-in-view/index.d.ts.map +1 -0
  3. package/cjs/common/use-in-view/index.js +14 -0
  4. package/cjs/common/use-in-view/use-in-view.d.ts +14 -0
  5. package/cjs/common/use-in-view/use-in-view.d.ts.map +1 -0
  6. package/cjs/common/use-in-view/use-in-view.js +73 -0
  7. package/cjs/common/use-position-style/check-position.d.ts +11 -0
  8. package/cjs/common/use-position-style/check-position.d.ts.map +1 -0
  9. package/cjs/common/use-position-style/check-position.js +90 -0
  10. package/cjs/common/use-position-style/index.d.ts.map +1 -1
  11. package/cjs/common/use-position-style/index.js +15 -21
  12. package/cjs/components/use-form/index.d.ts +1 -0
  13. package/cjs/components/use-form/index.d.ts.map +1 -1
  14. package/cjs/components/use-form/index.js +12 -0
  15. package/cjs/components/use-form/use-form-context.d.ts +6 -0
  16. package/cjs/components/use-form/use-form-context.d.ts.map +1 -0
  17. package/cjs/components/use-form/use-form-context.js +22 -0
  18. package/cjs/components/use-form/use-form-context.type.d.ts +45 -0
  19. package/cjs/components/use-form/use-form-context.type.d.ts.map +1 -0
  20. package/cjs/components/use-form/use-form-context.type.js +5 -0
  21. package/cjs/components/use-form/use-form-control/use-form-control.d.ts.map +1 -1
  22. package/cjs/components/use-form/use-form-control/use-form-control.js +30 -11
  23. package/cjs/components/use-form/use-form.d.ts.map +1 -1
  24. package/cjs/components/use-form/use-form.js +4 -2
  25. package/cjs/components/use-form/use-form.type.d.ts +7 -0
  26. package/cjs/components/use-form/use-form.type.d.ts.map +1 -1
  27. package/cjs/components/use-image/use-image.d.ts.map +1 -1
  28. package/cjs/components/use-image/use-image.js +7 -0
  29. package/cjs/components/use-image/use-image.type.d.ts +7 -0
  30. package/cjs/components/use-image/use-image.type.d.ts.map +1 -1
  31. package/cjs/components/use-input/use-input-format.d.ts +1 -1
  32. package/cjs/components/use-input/use-input-number.d.ts +1 -1
  33. package/cjs/components/use-input/use-input-number.d.ts.map +1 -1
  34. package/cjs/components/use-input/use-input-number.js +5 -0
  35. package/cjs/components/use-table/use-table-group.d.ts.map +1 -1
  36. package/cjs/components/use-table/use-table-group.js +2 -1
  37. package/cjs/components/use-table/use-table-layout.d.ts.map +1 -1
  38. package/cjs/components/use-table/use-table-layout.js +2 -1
  39. package/cjs/components/use-table/use-table.type.d.ts +26 -0
  40. package/cjs/components/use-table/use-table.type.d.ts.map +1 -1
  41. package/cjs/index.d.ts +1 -0
  42. package/cjs/index.d.ts.map +1 -1
  43. package/cjs/index.js +12 -0
  44. package/cjs/utils/dom/document.d.ts +2 -0
  45. package/cjs/utils/dom/document.d.ts.map +1 -0
  46. package/cjs/utils/dom/document.js +49 -0
  47. package/cjs/utils/dom/element.d.ts +1 -1
  48. package/cjs/utils/dom/element.d.ts.map +1 -1
  49. package/cjs/utils/dom/index.d.ts +1 -0
  50. package/cjs/utils/dom/index.d.ts.map +1 -1
  51. package/cjs/utils/dom/index.js +12 -0
  52. package/cjs/utils/is.d.ts +0 -1
  53. package/cjs/utils/is.d.ts.map +1 -1
  54. package/cjs/utils/is.js +1 -10
  55. package/cjs/utils/lazyload.d.ts +1 -0
  56. package/cjs/utils/lazyload.d.ts.map +1 -1
  57. package/cjs/utils/lazyload.js +3 -0
  58. package/esm/common/use-in-view/index.d.ts +2 -0
  59. package/esm/common/use-in-view/index.d.ts.map +1 -0
  60. package/esm/common/use-in-view/index.js +2 -0
  61. package/esm/common/use-in-view/use-in-view.d.ts +14 -0
  62. package/esm/common/use-in-view/use-in-view.d.ts.map +1 -0
  63. package/esm/common/use-in-view/use-in-view.js +70 -0
  64. package/esm/common/use-position-style/check-position.d.ts +11 -0
  65. package/esm/common/use-position-style/check-position.d.ts.map +1 -0
  66. package/esm/common/use-position-style/check-position.js +84 -0
  67. package/esm/common/use-position-style/index.d.ts.map +1 -1
  68. package/esm/common/use-position-style/index.js +17 -22
  69. package/esm/components/use-form/index.d.ts +1 -0
  70. package/esm/components/use-form/index.d.ts.map +1 -1
  71. package/esm/components/use-form/index.js +1 -0
  72. package/esm/components/use-form/use-form-context.d.ts +6 -0
  73. package/esm/components/use-form/use-form-context.d.ts.map +1 -0
  74. package/esm/components/use-form/use-form-context.js +13 -0
  75. package/esm/components/use-form/use-form-context.type.d.ts +45 -0
  76. package/esm/components/use-form/use-form-context.type.d.ts.map +1 -0
  77. package/esm/components/use-form/use-form-context.type.js +1 -0
  78. package/esm/components/use-form/use-form-control/use-form-control.d.ts.map +1 -1
  79. package/esm/components/use-form/use-form-control/use-form-control.js +30 -11
  80. package/esm/components/use-form/use-form.d.ts.map +1 -1
  81. package/esm/components/use-form/use-form.js +4 -2
  82. package/esm/components/use-form/use-form.type.d.ts +7 -0
  83. package/esm/components/use-form/use-form.type.d.ts.map +1 -1
  84. package/esm/components/use-image/use-image.d.ts.map +1 -1
  85. package/esm/components/use-image/use-image.js +7 -0
  86. package/esm/components/use-image/use-image.type.d.ts +7 -0
  87. package/esm/components/use-image/use-image.type.d.ts.map +1 -1
  88. package/esm/components/use-input/use-input-format.d.ts +1 -1
  89. package/esm/components/use-input/use-input-number.d.ts +1 -1
  90. package/esm/components/use-input/use-input-number.d.ts.map +1 -1
  91. package/esm/components/use-input/use-input-number.js +5 -0
  92. package/esm/components/use-table/use-table-group.d.ts.map +1 -1
  93. package/esm/components/use-table/use-table-group.js +3 -2
  94. package/esm/components/use-table/use-table-layout.d.ts.map +1 -1
  95. package/esm/components/use-table/use-table-layout.js +2 -1
  96. package/esm/components/use-table/use-table.type.d.ts +26 -0
  97. package/esm/components/use-table/use-table.type.d.ts.map +1 -1
  98. package/esm/index.d.ts +1 -0
  99. package/esm/index.d.ts.map +1 -1
  100. package/esm/index.js +1 -0
  101. package/esm/utils/dom/document.d.ts +2 -0
  102. package/esm/utils/dom/document.d.ts.map +1 -0
  103. package/esm/utils/dom/document.js +43 -0
  104. package/esm/utils/dom/element.d.ts +1 -1
  105. package/esm/utils/dom/element.d.ts.map +1 -1
  106. package/esm/utils/dom/index.d.ts +1 -0
  107. package/esm/utils/dom/index.d.ts.map +1 -1
  108. package/esm/utils/dom/index.js +1 -0
  109. package/esm/utils/is.d.ts +0 -1
  110. package/esm/utils/is.d.ts.map +1 -1
  111. package/esm/utils/is.js +0 -9
  112. package/esm/utils/lazyload.d.ts +1 -0
  113. package/esm/utils/lazyload.d.ts.map +1 -1
  114. package/esm/utils/lazyload.js +3 -0
  115. package/package.json +1 -1
@@ -0,0 +1,2 @@
1
+ export { default as useInView } from './use-in-view';
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,OAAO,IAAI,SAAS,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ "use client";
3
+
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ Object.defineProperty(exports, "useInView", {
8
+ enumerable: true,
9
+ get: function get() {
10
+ return _useInView.default;
11
+ }
12
+ });
13
+ var _useInView = _interopRequireDefault(require("./use-in-view"));
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -0,0 +1,14 @@
1
+ /// <reference types="react" />
2
+ interface UseInViewOptions {
3
+ root?: HTMLElement | null;
4
+ rootMargin?: string;
5
+ threshold?: number | number[];
6
+ once?: boolean;
7
+ }
8
+ declare const useInView: <T extends HTMLElement>(options?: UseInViewOptions) => {
9
+ ref: import("react").MutableRefObject<T | null>;
10
+ isInView: boolean;
11
+ wasInView: boolean;
12
+ };
13
+ export default useInView;
14
+ //# sourceMappingURL=use-in-view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-in-view.d.ts","sourceRoot":"","sources":["use-in-view.ts"],"names":[],"mappings":";AAIA,UAAU,gBAAgB;IACxB,IAAI,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,QAAA,MAAM,SAAS,oCAAoC,gBAAgB;;;;CA2ClE,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = 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 useInView = function useInView() {
15
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
16
+ var elementRef = (0, _react.useRef)(null);
17
+ var _useState = (0, _react.useState)(false),
18
+ _useState2 = _slicedToArray(_useState, 2),
19
+ isInView = _useState2[0],
20
+ setIsInView = _useState2[1];
21
+ var _useState3 = (0, _react.useState)(false),
22
+ _useState4 = _slicedToArray(_useState3, 2),
23
+ wasInView = _useState4[0],
24
+ setWasInView = _useState4[1];
25
+ (0, _react.useEffect)(function () {
26
+ var element = elementRef.current;
27
+ if (!element) return;
28
+ if (typeof window === 'undefined' || !window.IntersectionObserver) {
29
+ setIsInView(true);
30
+ setWasInView(true);
31
+ return;
32
+ }
33
+ var observer = new IntersectionObserver(function (_ref) {
34
+ var _ref2 = _slicedToArray(_ref, 1),
35
+ entry = _ref2[0];
36
+ var inView = entry.isIntersecting;
37
+ setIsInView(inView);
38
+ if (inView) {
39
+ setWasInView(true);
40
+ // 如果设置了 once 选项,且元素已经出现过,则取消观察
41
+ if (options.once) {
42
+ observer.disconnect();
43
+ }
44
+ }
45
+ }, {
46
+ root: options.root || null,
47
+ rootMargin: options.rootMargin || '0px',
48
+ threshold: options.threshold || 0
49
+ });
50
+ observer.observe(element);
51
+ return function () {
52
+ observer.disconnect();
53
+ };
54
+ }, [options.root, options.rootMargin, options.threshold, options.once]);
55
+ return {
56
+ ref: elementRef,
57
+ isInView: isInView,
58
+ wasInView: wasInView
59
+ };
60
+ };
61
+ var _default = exports.default = useInView; // 使用示例
62
+ // const Example = () => {
63
+ // const { ref, isInView } = useInView({
64
+ // threshold: 0.5,
65
+ // rootMargin: '50px',
66
+ // once: true
67
+ // });
68
+ // return (
69
+ // <div ref={ref}>
70
+ // {isInView ? '元素在视窗中' : '元素不在视窗中'}
71
+ // </div>
72
+ // );
73
+ // };
@@ -0,0 +1,11 @@
1
+ interface Position {
2
+ top: number;
3
+ left: number;
4
+ }
5
+ interface UseCheckElementPositionOptions {
6
+ enable?: boolean;
7
+ scrollContainer?: HTMLElement | null;
8
+ }
9
+ export declare const useCheckElementPosition: (elementRef: React.RefObject<HTMLElement>, options?: UseCheckElementPositionOptions) => Position | null;
10
+ export {};
11
+ //# sourceMappingURL=check-position.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-position.d.ts","sourceRoot":"","sources":["check-position.ts"],"names":[],"mappings":"AAEA,UAAU,QAAQ;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,8BAA8B;IAEtC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CACtC;AAED,eAAO,MAAM,uBAAuB,eACtB,MAAM,SAAS,CAAC,WAAW,CAAC,YAC/B,8BAA8B,KACtC,QAAQ,GAAG,IAyEb,CAAC"}
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useCheckElementPosition = 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 useCheckElementPosition = exports.useCheckElementPosition = function useCheckElementPosition(elementRef) {
15
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
16
+ var enable = options.enable,
17
+ scrollContainer = options.scrollContainer;
18
+ var _useState = (0, _react.useState)({
19
+ top: 0,
20
+ left: 0
21
+ }),
22
+ _useState2 = _slicedToArray(_useState, 2),
23
+ position = _useState2[0],
24
+ setPosition = _useState2[1];
25
+ var lastPosition = (0, _react.useRef)({
26
+ top: 0,
27
+ left: 0
28
+ });
29
+ var checkPosition = (0, _react.useCallback)(function () {
30
+ if (elementRef.current) {
31
+ var rect = elementRef.current.getBoundingClientRect();
32
+ var scrollContainerRect = scrollContainer === null || scrollContainer === void 0 ? void 0 : scrollContainer.getBoundingClientRect();
33
+ var newPosition;
34
+ if (scrollContainerRect) {
35
+ newPosition = {
36
+ top: rect.top - scrollContainerRect.top,
37
+ left: rect.left - scrollContainerRect.left
38
+ };
39
+ } else {
40
+ newPosition = {
41
+ top: rect.top,
42
+ left: rect.left
43
+ };
44
+ }
45
+ if (newPosition.top !== lastPosition.current.top || newPosition.left !== lastPosition.current.left) {
46
+ setPosition(newPosition);
47
+ lastPosition.current = newPosition;
48
+ }
49
+ }
50
+ }, [elementRef, scrollContainer]);
51
+ (0, _react.useEffect)(function () {
52
+ var _window;
53
+ if (!enable) return;
54
+ var element = elementRef.current;
55
+ var container = scrollContainer || window;
56
+ if (!element) return;
57
+
58
+ // 初始检查
59
+ checkPosition();
60
+ var resizeObserver = null;
61
+ if ((_window = window) !== null && _window !== void 0 && _window.ResizeObserver) {
62
+ resizeObserver = new ResizeObserver(checkPosition);
63
+ resizeObserver.observe(element);
64
+ if (container instanceof Element) {
65
+ resizeObserver.observe(container);
66
+ }
67
+ }
68
+ // 滚动事件监听
69
+ container.addEventListener('scroll', checkPosition);
70
+
71
+ // 如果容器不是 window,我们仍然需要监听 window 的 resize 事件
72
+ if (container !== window) {
73
+ window.addEventListener('resize', checkPosition);
74
+ }
75
+
76
+ // 清理函数
77
+ return function () {
78
+ var _resizeObserver;
79
+ (_resizeObserver = resizeObserver) === null || _resizeObserver === void 0 || _resizeObserver.disconnect();
80
+ container.removeEventListener('scroll', checkPosition);
81
+ if (container !== window) {
82
+ window.removeEventListener('resize', checkPosition);
83
+ }
84
+ };
85
+ }, [enable, elementRef, scrollContainer, checkPosition]);
86
+ if (!enable || !elementRef) {
87
+ return null;
88
+ }
89
+ return position;
90
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAOnD,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;CAClB;AAQD,eAAO,MAAM,gBAAgB,WAAY,mBAAmB;;;CAqS3D,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAQnD,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;CAClB;AAOD,eAAO,MAAM,gBAAgB,WAAY,mBAAmB;;;CAyS3D,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -8,10 +8,10 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.usePositionStyle = exports.default = void 0;
9
9
  var _react = _interopRequireWildcard(require("react"));
10
10
  var _getPositionStyle = require("./get-position-style");
11
+ var _checkPosition = require("./check-position");
11
12
  var _shallowEqual = _interopRequireDefault(require("../../utils/shallow-equal"));
12
13
  var _usePersistFn = _interopRequireDefault(require("../use-persist-fn"));
13
14
  var _utils = require("../../utils");
14
- var _element = require("../../utils/dom/element");
15
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
16
  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); }
17
17
  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; }
@@ -26,8 +26,7 @@ var verticalPosition = ['bottom-left', 'bottom-right', 'top-left', 'top-right',
26
26
  var hideStyle = {
27
27
  pointerEvents: 'none',
28
28
  position: 'fixed',
29
- zIndex: -1000,
30
- opacity: 0
29
+ visibility: 'hidden'
31
30
  };
32
31
  var usePositionStyle = exports.usePositionStyle = function usePositionStyle(config) {
33
32
  var _ref = config || {},
@@ -55,7 +54,6 @@ var usePositionStyle = exports.usePositionStyle = function usePositionStyle(conf
55
54
  arrayStyle = _useState4[0],
56
55
  setArrayStyle = _useState4[1];
57
56
  var _React$useRef = _react.default.useRef({
58
- element: null,
59
57
  containerRect: {
60
58
  left: 0,
61
59
  width: 0
@@ -69,10 +67,13 @@ var usePositionStyle = exports.usePositionStyle = function usePositionStyle(conf
69
67
  width: 0
70
68
  },
71
69
  popUpHeight: 0,
72
- popUpWidth: 0,
73
- opsStyle: {}
70
+ popUpWidth: 0
74
71
  }),
75
72
  context = _React$useRef.current;
73
+ var parentElNewPosition = (0, _checkPosition.useCheckElementPosition)(parentElRef, {
74
+ scrollContainer: scrollElRef === null || scrollElRef === void 0 ? void 0 : scrollElRef.current,
75
+ enable: show && adjust
76
+ });
76
77
  var adjustPosition = function adjustPosition(position) {
77
78
  var winHeight = _utils.docSize.height;
78
79
  if (!verticalPosition.includes(position)) return position;
@@ -139,7 +140,6 @@ var usePositionStyle = exports.usePositionStyle = function usePositionStyle(conf
139
140
  }
140
141
  var targetPosition = position;
141
142
  var rootContainer = getContainer() || document.body;
142
- var closestScrollContainer = (0, _element.getClosestScrollContainer)(parentElRef.current);
143
143
  var containerRect = rootContainer.getBoundingClientRect();
144
144
  var bodyRect = (document.documentElement || document.body).getBoundingClientRect();
145
145
  var containerScrollBarWidth = rootContainer.offsetWidth - rootContainer.clientWidth;
@@ -158,7 +158,7 @@ var usePositionStyle = exports.usePositionStyle = function usePositionStyle(conf
158
158
  var overRight = 0;
159
159
  var overLeft = 0;
160
160
  if (h === 'left') {
161
- style.left = rect.left - containerRect.left + containerScroll.left + ((closestScrollContainer === null || closestScrollContainer === void 0 ? void 0 : closestScrollContainer.scrollLeft) || 0);
161
+ style.left = rect.left - containerRect.left + containerScroll.left;
162
162
  style.transform = '';
163
163
  arrayStyle.left = "8px";
164
164
  if (adjust) {
@@ -257,13 +257,14 @@ var usePositionStyle = exports.usePositionStyle = function usePositionStyle(conf
257
257
  };
258
258
  };
259
259
  var getAbsoluteStyle = function getAbsoluteStyle(position) {
260
+ var _scrollElRef$current;
260
261
  if (!parentElRef.current) return {
261
262
  style: hideStyle
262
263
  };
263
264
  var rect = context.parentRect;
264
- if (scrollElRef !== null && scrollElRef !== void 0 && scrollElRef.current) {
265
- var _scrollElRef$current;
266
- var visibleRect = ((_scrollElRef$current = scrollElRef.current) === null || _scrollElRef$current === void 0 ? void 0 : _scrollElRef$current.getBoundingClientRect()) || {};
265
+ if (scrollElRef !== null && scrollElRef !== void 0 && scrollElRef.current && (_scrollElRef$current = scrollElRef.current) !== null && _scrollElRef$current !== void 0 && _scrollElRef$current.contains(parentElRef.current)) {
266
+ var _scrollElRef$current2;
267
+ var visibleRect = ((_scrollElRef$current2 = scrollElRef.current) === null || _scrollElRef$current2 === void 0 ? void 0 : _scrollElRef$current2.getBoundingClientRect()) || {};
267
268
  if (rect.bottom < visibleRect.top || rect.top > visibleRect.bottom || rect.right < visibleRect.left || rect.left > visibleRect.right) {
268
269
  return {
269
270
  style: hideStyle
@@ -273,15 +274,8 @@ var usePositionStyle = exports.usePositionStyle = function usePositionStyle(conf
273
274
  var _getAbsolutePositionS = getAbsolutePositionStyle(rect, position),
274
275
  style = _getAbsolutePositionS.style,
275
276
  arrayStyle = _getAbsolutePositionS.arrayStyle;
276
-
277
- // TODO: 如果是版本大于chrome128,需要根据currentCSSZoom处理chrome的bug
278
- if (!(0, _utils.isChromeLowerThan)(128)) {
279
- // @ts-ignore currentCSSZoom
280
- var currentCSSZoom = document.body.currentCSSZoom;
281
- if (currentCSSZoom === 1 || !currentCSSZoom) return {
282
- style: style,
283
- arrayStyle: arrayStyle
284
- };
277
+ var currentCSSZoom = (0, _utils.getCurrentCSSZoom)();
278
+ if (currentCSSZoom && currentCSSZoom !== 1) {
285
279
  if (style.left && typeof style.left === 'number') {
286
280
  style.left = style.left * (1 / currentCSSZoom);
287
281
  }
@@ -347,7 +341,7 @@ var usePositionStyle = exports.usePositionStyle = function usePositionStyle(conf
347
341
  setArrayStyle(newArrayStyle || {});
348
342
  }
349
343
  });
350
- (0, _react.useEffect)(updateStyle, [show, position, absolute, updateKey, fixedWidth]);
344
+ (0, _react.useEffect)(updateStyle, [show, position, absolute, updateKey, fixedWidth, parentElNewPosition]);
351
345
  return {
352
346
  style: style,
353
347
  arrayStyle: arrayStyle
@@ -2,6 +2,7 @@ export * from './use-form-control';
2
2
  export * from './use-form-item';
3
3
  export * from './use-form-fieldset';
4
4
  export * from './use-form-flow';
5
+ export * from './use-form-context';
5
6
  export { default, default as useForm } from './use-form';
6
7
  export { useFormConfig } from './form-config-context';
7
8
  export { useFormFunc } from './form-func-context';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAEhC,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AAEnC,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC"}
@@ -81,6 +81,18 @@ Object.keys(_useFormFlow).forEach(function (key) {
81
81
  }
82
82
  });
83
83
  });
84
+ var _useFormContext = require("./use-form-context");
85
+ Object.keys(_useFormContext).forEach(function (key) {
86
+ if (key === "default" || key === "__esModule") return;
87
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
88
+ if (key in exports && exports[key] === _useFormContext[key]) return;
89
+ Object.defineProperty(exports, key, {
90
+ enumerable: true,
91
+ get: function get() {
92
+ return _useFormContext[key];
93
+ }
94
+ });
95
+ });
84
96
  var _useForm = _interopRequireDefault(require("./use-form"));
85
97
  var _formConfigContext = require("./form-config-context");
86
98
  var _formFuncContext = require("./form-func-context");
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import { FormRef } from './use-form-context.type';
3
+ export declare const FormContext: React.Context<any>;
4
+ export declare function useFormRef<V>(): [FormRef<V>, ((formRef: FormRef<V>) => void)];
5
+ export declare function useFromInstance<V>(): FormRef<V>;
6
+ //# sourceMappingURL=use-form-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-form-context.d.ts","sourceRoot":"","sources":["use-form-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAElD,eAAO,MAAM,WAAW,oBAA+B,CAAC;AAExD,wBAAgB,UAAU,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAQ7E;AAED,wBAAgB,eAAe,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAG/C"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.FormContext = void 0;
7
+ exports.useFormRef = useFormRef;
8
+ exports.useFromInstance = useFromInstance;
9
+ var _react = _interopRequireDefault(require("react"));
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ var FormContext = exports.FormContext = /*#__PURE__*/_react.default.createContext({});
12
+ function useFormRef() {
13
+ var ref = _react.default.useRef({});
14
+ var setFormRef = function setFormRef(formRef) {
15
+ ref.current = formRef;
16
+ };
17
+ return [ref.current, setFormRef];
18
+ }
19
+ function useFromInstance() {
20
+ var formCtx = _react.default.useContext(FormContext);
21
+ return formCtx;
22
+ }
@@ -0,0 +1,45 @@
1
+ export interface FormRef<Value> {
2
+ /**
3
+ * @en return form value
4
+ * @cn 返回表单的值
5
+ */
6
+ getValue: (name?: string) => any | Value;
7
+ /**
8
+ * @en Validate form
9
+ * @cn 校验表单
10
+ */
11
+ validate: () => Promise<any>;
12
+ /**
13
+ * @en Validation form fields
14
+ * @cn 校验表单指定字段
15
+ */
16
+ validateFields: (fields: string | string[]) => Promise<any>;
17
+ /**
18
+ * @en The verification can get the error message through Promise.catch
19
+ * @cn 校验可以通过 catch 获取报错信息
20
+ */
21
+ validateFieldsWithError: (fields: string | string[]) => Promise<any>;
22
+ /**
23
+ * @en Clear check
24
+ * @cn 清除校验
25
+ */
26
+ clearValidate: (names?: string[]) => void;
27
+ /**
28
+ * @en Submit Form, withValidate: Whether to verify
29
+ * @cn 提交表单, withValidate: 是否校验
30
+ */
31
+ submit: (withValidate?: boolean) => void;
32
+ /**
33
+ * @en reset form
34
+ * @cn 重置表单
35
+ */
36
+ reset: () => void;
37
+ /**
38
+ * @en set field value, key is field path, Example: { 'name': 'sanmao', 'account.name': 'sanmao', 'friends[0].name': 'sanmao' }
39
+ * @cn 设置字段值, key为字段路径,示例:{ 'name': 'sanmao', 'account.name': 'sanmao', 'friends[0].name': 'sanmao' }
40
+ */
41
+ set: (value: {
42
+ [key: string]: any;
43
+ }) => void;
44
+ }
45
+ //# sourceMappingURL=use-form-context.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-form-context.type.d.ts","sourceRoot":"","sources":["use-form-context.type.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO,CAAC,KAAK;IAC5B;;;OAGG;IACH,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,GAAG,GAAG,KAAK,CAAC;IACzC;;;OAGG;IACH,QAAQ,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7B;;;OAGG;IACH,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5D;;;OAGG;IACH,uBAAuB,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IACrE;;;OAGG;IACH,aAAa,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC1C;;;OAGG;IACH,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC;;;OAGG;IACH,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB;;;OAGG;IACH,GAAG,EAAE,CAAC,KAAK,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,KAAK,IAAI,CAAC;CAC9C"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -1 +1 @@
1
- {"version":3,"file":"use-form-control.d.ts","sourceRoot":"","sources":["use-form-control.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAyB/D,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC;;kBAuHpC,CAAC,YAAY,GAAG,EAAE;;;;;EAiDrD"}
1
+ {"version":3,"file":"use-form-control.d.ts","sourceRoot":"","sources":["use-form-control.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAyB/D,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC;;kBA2IpC,CAAC,YAAY,GAAG,EAAE;;;;;EAiDrD"}
@@ -97,18 +97,37 @@ function useFormControl(props) {
97
97
  var errors = arguments.length > 1 ? arguments[1] : undefined;
98
98
  var severErrors = arguments.length > 2 ? arguments[2] : undefined;
99
99
  if (!name) return;
100
- var value = getValue(name, formValue);
101
- var error = getError(name, errors, severErrors);
102
- if (error !== errorState) {
103
- setErrorState(error);
104
- }
105
- if (!(0, _shallowEqual.shallowEqual)(value, latestInfo.valueState)) {
106
- if (value === undefined && defaultValue !== undefined) {
107
- setValueState(defaultValue);
108
- } else {
109
- setValueState(value);
100
+ if ((0, _is.isArray)(name)) {
101
+ var _value = getValue(name, formValue);
102
+ var _error = getError(name, errors, severErrors);
103
+ if (_error !== errorState) {
104
+ setErrorState(_error);
105
+ }
106
+ // format defaultValue
107
+ var dv = (0, _is.isArray)(defaultValue) ? defaultValue : [];
108
+ var nextValue = [];
109
+ name.forEach(function (n, index) {
110
+ if (_value[index] === undefined && dv[index] !== undefined) {
111
+ nextValue[index] = dv[index];
112
+ } else {
113
+ nextValue[index] = _value[index];
114
+ }
115
+ });
116
+ setValueState(nextValue);
117
+ } else {
118
+ var _value2 = getValue(name, formValue);
119
+ var _error2 = getError(name, errors, severErrors);
120
+ if (_error2 !== errorState) {
121
+ setErrorState(_error2);
122
+ }
123
+ if (!(0, _shallowEqual.shallowEqual)(_value2, latestInfo.valueState)) {
124
+ if (_value2 === undefined && defaultValue !== undefined) {
125
+ setValueState(defaultValue);
126
+ } else {
127
+ setValueState(_value2);
128
+ }
129
+ latestInfo.valueState = _value2;
110
130
  }
111
- latestInfo.valueState = value;
112
131
  }
113
132
  });
114
133
  var validateFiled = (0, _usePersistFn.default)(function (name, v, formV) {
@@ -1 +1 @@
1
- {"version":3,"file":"use-form.d.ts","sourceRoot":"","sources":["use-form.ts"],"names":[],"mappings":";AA0BA,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,gBAAgB,EAGjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI5D,QAAA,MAAM,OAAO;;;;;;;;;wBAyKC;gBAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;gBAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;aAAE;8BAVd,MAAM;oCAkED,OAAO;;6BAfb,MAAM,KAAK,KAAK,GAAG,SAAS;;oCAdrB,MAAM,EAAE;sCAlFN,MAAM,GAAG,MAAM,EAAE,mBAAgB,QAAQ,IAAI,CAAC;qCAgJ5D,MAAM;gCA3CE,MAAM,SAAS,MAAM,UAAU,KAAK;gCAKpC,MAAM,SAAS,MAAM;;;;;;oBAnDjD;YAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE;0BAVd,MAAM;gCAkED,OAAO;;yBAfb,MAAM,KAAK,KAAK,GAAG,SAAS;;gCAdrB,MAAM,EAAE;kCAlFN,MAAM,GAAG,MAAM,EAAE,mBAAgB,QAAQ,IAAI,CAAC;iCAgJ5D,MAAM;4BA3CE,MAAM,SAAS,MAAM,UAAU,KAAK;4BAKpC,MAAM,SAAS,MAAM;;CAiQ9D,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"use-form.d.ts","sourceRoot":"","sources":["use-form.ts"],"names":[],"mappings":";AA0BA,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,gBAAgB,EAGjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI5D,QAAA,MAAM,OAAO;;;;;;;;;wBA0KC;gBAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;gBAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;aAAE;8BAVd,MAAM;oCAkED,OAAO;;6BAfb,MAAM,KAAK,KAAK,GAAG,SAAS;;oCAdrB,MAAM,EAAE;sCAlFN,MAAM,GAAG,MAAM,EAAE,mBAAgB,QAAQ,IAAI,CAAC;qCAgJ5D,MAAM;gCA3CE,MAAM,SAAS,MAAM,UAAU,KAAK;gCAKpC,MAAM,SAAS,MAAM;;;;;;oBAnDjD;YAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE;0BAVd,MAAM;gCAkED,OAAO;;yBAfb,MAAM,KAAK,KAAK,GAAG,SAAS;;gCAdrB,MAAM,EAAE;kCAlFN,MAAM,GAAG,MAAM,EAAE,mBAAgB,QAAQ,IAAI,CAAC;iCAgJ5D,MAAM;4BA3CE,MAAM,SAAS,MAAM,UAAU,KAAK;4BAKpC,MAAM,SAAS,MAAM;;CAkQ9D,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -45,6 +45,7 @@ var useForm = function useForm(props) {
45
45
  _props$throttle = props.throttle,
46
46
  throttle = _props$throttle === void 0 ? 1000 : _props$throttle,
47
47
  size = props.size,
48
+ reserveAble = props.reserveAble,
48
49
  scrollParent = props.scrollParent;
49
50
  var deepSetOptions = {
50
51
  removeUndefined: removeUndefined,
@@ -443,9 +444,10 @@ var useForm = function useForm(props) {
443
444
  keepErrorHeight: keepErrorHeight,
444
445
  inline: inline,
445
446
  disabled: disabled,
446
- size: size
447
+ size: size,
448
+ reserveAble: reserveAble
447
449
  };
448
- }, [labelWidth, labelAlign, labelVerticalAlign, keepErrorHeight, inline, disabled, size]);
450
+ }, [labelWidth, labelAlign, labelVerticalAlign, keepErrorHeight, inline, disabled, size, reserveAble]);
449
451
  var updateValue = function updateValue() {
450
452
  if (props.value !== context.lastValue && props.value !== context.value) {
451
453
  context.value = (0, _utils.deepClone)(props.value) || emptyObj;
@@ -67,6 +67,13 @@ export interface FormCommonConfig extends FormLabelConfig {
67
67
  * @default 'default'
68
68
  */
69
69
  size?: 'small' | 'default' | 'large';
70
+ /**
71
+ * @en When set to true, the form items in Form will not automatically delete data after unmounting
72
+ * @cn 设置为 true 时,表单内所有组件的reserveAble都为 true : 卸载后不自动删除数据
73
+ * @default false
74
+ * @version 3.5.0
75
+ */
76
+ reserveAble?: boolean;
70
77
  }
71
78
  export interface FormFunc {
72
79
  setValue: (vals: {
@@ -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":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,MAAM,UAAU,GAAG,CACvB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,GAAG,EACV,QAAQ,EAAE,UAAU,EACpB,MAAM,CAAC,EAAE;IACP,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,KACE,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAAA;AAEjC,MAAM,MAAM,QAAQ,GAAG,CACrB,SAAS,EAAE,UAAU,EACrB,MAAM,EAAE,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC,EACrC,YAAY,EAAE,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC,KACxC,IAAI,CAAA;AAET,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE;QACL,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAC,UAAU,EAAE,MAAM,CAAC,EAAC,QAAQ,KAAM,IAAI,CAAC;QAC5F,IAAI,EAAE,CACJ,CAAC,EAAE,MAAM,EACT,EAAE,EAAE,GAAG,EACP,QAAQ,EAAE,UAAU,EACpB,MAAM,EAAE,QAAQ,KACb,IAAI,CAAC;QACV,YAAY,EAAE,CAAC,SAAS,EACtB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,KAC/B,YAAY,CAAC,SAAS,CAAC,CAAC;QAC7B,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;QACjE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;KACpE,CAAC;IACF,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AACD,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,gBAAgB,CAAC;IAC7B,SAAS,EAAE,oBAAoB,CAAC;IAChC,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;IACtC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC;IACjD;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AACD,MAAM,WAAW,gBAAiB,SAAQ,eAAe;IACvD;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;IAErC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,CACR,IAAI,EAAE;QACJ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,EACD,MAAM,CAAC,EAAE;QACP,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,KACE,IAAI,CAAC;IACV,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,GAAG,CAAC;IACjC,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACzC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,GAAG,SAAS,KAAK,IAAI,CAAC;IACvD,SAAS,EAAE,MAAM,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;IAC/C,aAAa,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC1C,cAAc,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,MAAM,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjG,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;IAClE,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACpD;AAED,UAAU,cAAc,CAAC,CAAC;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;CACpD;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,CAAE,SAAQ,gBAAgB;IACxD,KAAK,CAAC,EAAE,CAAC,CAAC;IACV,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC9B;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,CAAC;IACjB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC9B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACjC;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,KAAK,CAAC,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,WAAW,GAAG,IAAI,CAAC;IACxC;;OAEG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;CACpC;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;AAE/C,MAAM,MAAM,WAAW,GAAG;IACxB,aAAa,EAAE,UAAU,CAAC;IAC1B,WAAW,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAE/I,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAEvB,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;IACtC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,UAAU,GAAG,SAAS,CAAC;IAElC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IAEjB,SAAS,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC,EAAE,YAAY,EAAE,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;IAEhJ,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;IACrC,KAAK,EAAE,UAAU,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;IACtC,YAAY,EAAE,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;IAC5C,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,GAAG,CAAC;IACd,OAAO,EAAE,GAAG,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,UAAU,CACzE,mBAAmB,EACnB,MAAM,CACP,CAAC"}
@@ -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;;;;;;;;;;;CA2E9D,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;;;;;;;;;;yBA6D3B,gBAAgB,CAAC,gBAAgB,GAAG,cAAc,CAAC;;;;;;;;;;;CAmF9D,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -139,10 +139,17 @@ var useImage = function useImage() {
139
139
  offset: typeof lazy === 'number' ? lazy : 0,
140
140
  element: elementRef.current,
141
141
  render: markToRender,
142
+ offscreen: function offscreen() {
143
+ setStatus(PLACEHOLDER);
144
+ },
145
+ noRemove: props.inViewOnly,
142
146
  container: typeof container === 'string' ? document.querySelector(container) : container
143
147
  });
144
148
  }
145
149
  }
150
+ return function () {
151
+ if (lazyId) (0, _utils.removeStack)(lazyId);
152
+ };
146
153
  }, [src]);
147
154
  return {
148
155
  src: src,
@@ -54,6 +54,13 @@ export interface BaseImageProps {
54
54
  * @default false
55
55
  */
56
56
  lazy?: boolean | number;
57
+ /**
58
+ * @en Whether to load only when in view
59
+ * @cn 是否仅在视图内加载
60
+ * @default false
61
+ * @version 3.4.5
62
+ */
63
+ inViewOnly?: boolean;
57
64
  /**
58
65
  * @en The original property of html
59
66
  * @cn 是否禁止 img 元素原生 draggable 属性
@@ -1 +1 @@
1
- {"version":3,"file":"use-image.type.d.ts","sourceRoot":"","sources":["use-image.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC;AAChE,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;AACjE,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE1E,MAAM,MAAM,MAAM,GAAG;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B;;;;;;;;;OASG;IACH;;;OAGG;IACH,GAAG,CAAC,EAAE,YAAY,CAAC;IAEnB;;;;OAIG;IACH;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IAEjC;;;;OAIG;IACH;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;OAIG;IACH;;;;OAIG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE9B;;;;;;;OAOG;IACH;;;;OAIG;IACH,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB;;;;OAIG;IACH,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC7C;;;OAGG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC;IAClC;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C"}
1
+ {"version":3,"file":"use-image.type.d.ts","sourceRoot":"","sources":["use-image.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC;AAChE,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;AACjE,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE1E,MAAM,MAAM,MAAM,GAAG;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B;;;;;;;;;OASG;IACH;;;OAGG;IACH,GAAG,CAAC,EAAE,YAAY,CAAC;IAEnB;;;;OAIG;IACH;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IAEjC;;;;OAIG;IACH;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAExB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;OAIG;IACH;;;;OAIG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE9B;;;;;;;OAOG;IACH;;;;OAIG;IACH,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB;;;;OAIG;IACH,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC7C;;;OAGG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC;IAClC;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C"}