@sheinx/hooks 3.6.0-beta.1 → 3.6.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 (131) hide show
  1. package/cjs/common/use-filter/use-filter.d.ts.map +1 -1
  2. package/cjs/common/use-position-style/check-border.d.ts +6 -0
  3. package/cjs/common/use-position-style/check-border.d.ts.map +1 -0
  4. package/cjs/common/use-position-style/check-border.js +35 -0
  5. package/cjs/common/use-position-style/get-position-style.d.ts +1 -0
  6. package/cjs/common/use-position-style/get-position-style.d.ts.map +1 -1
  7. package/cjs/common/use-position-style/get-position-style.js +14 -8
  8. package/cjs/common/use-position-style/index.d.ts +1 -0
  9. package/cjs/common/use-position-style/index.d.ts.map +1 -1
  10. package/cjs/common/use-position-style/index.js +15 -8
  11. package/cjs/components/use-cascader/use-cascader.d.ts.map +1 -1
  12. package/cjs/components/use-cascader/use-cascader.type.d.ts +2 -1
  13. package/cjs/components/use-cascader/use-cascader.type.d.ts.map +1 -1
  14. package/cjs/components/use-form/use-form-control/use-form-control.d.ts.map +1 -1
  15. package/cjs/components/use-form/use-form-control/use-form-control.js +3 -2
  16. package/cjs/components/use-form/use-form-fieldset/fieldset-context.d.ts +1 -1
  17. package/cjs/components/use-form/use-form-fieldset/fieldset-context.d.ts.map +1 -1
  18. package/cjs/components/use-form/use-form-fieldset/fieldset-context.js +3 -2
  19. package/cjs/components/use-form/use-form-fieldset/index.d.ts +1 -0
  20. package/cjs/components/use-form/use-form-fieldset/index.d.ts.map +1 -1
  21. package/cjs/components/use-form/use-form-fieldset/index.js +6 -0
  22. package/cjs/components/use-form/use-form.d.ts +2 -2
  23. package/cjs/components/use-form/use-form.d.ts.map +1 -1
  24. package/cjs/components/use-form/use-form.js +47 -9
  25. package/cjs/components/use-form/use-form.type.d.ts +5 -3
  26. package/cjs/components/use-form/use-form.type.d.ts.map +1 -1
  27. package/cjs/components/use-input/use-input-format.d.ts.map +1 -1
  28. package/cjs/components/use-input/use-input-format.js +12 -4
  29. package/cjs/components/use-table/use-table-sort.d.ts +5 -0
  30. package/cjs/components/use-table/use-table-sort.d.ts.map +1 -1
  31. package/cjs/components/use-table/use-table-sort.js +5 -1
  32. package/cjs/components/use-table/use-table-tree.d.ts +13 -0
  33. package/cjs/components/use-table/use-table-tree.d.ts.map +1 -1
  34. package/cjs/components/use-table/use-table-tree.js +68 -1
  35. package/cjs/components/use-table/use-table-virtual.d.ts.map +1 -1
  36. package/cjs/components/use-table/use-table-virtual.js +6 -4
  37. package/cjs/components/use-tree/index.d.ts +3 -2
  38. package/cjs/components/use-tree/index.d.ts.map +1 -1
  39. package/cjs/components/use-tree/index.js +18 -2
  40. package/cjs/components/use-tree/use-tree-node.d.ts.map +1 -1
  41. package/cjs/components/use-tree/use-tree-node.js +1 -5
  42. package/cjs/components/use-tree/use-tree-node.type.d.ts +18 -0
  43. package/cjs/components/use-tree/use-tree-node.type.d.ts.map +1 -1
  44. package/cjs/components/use-tree/use-tree-virtual-node.d.ts +13 -0
  45. package/cjs/components/use-tree/use-tree-virtual-node.d.ts.map +1 -0
  46. package/cjs/components/use-tree/use-tree-virtual-node.js +92 -0
  47. package/cjs/components/use-tree/use-tree.d.ts.map +1 -1
  48. package/cjs/components/use-tree/use-tree.js +191 -6
  49. package/cjs/components/use-tree/use-tree.type.d.ts +31 -1
  50. package/cjs/components/use-tree/use-tree.type.d.ts.map +1 -1
  51. package/cjs/components/use-treeselect/use-tiled.d.ts +1 -1
  52. package/cjs/components/use-treeselect/use-tiled.d.ts.map +1 -1
  53. package/cjs/components/use-treeselect/use-tiled.js +12 -18
  54. package/cjs/components/use-treeselect/use-tiled.type.d.ts +2 -0
  55. package/cjs/components/use-treeselect/use-tiled.type.d.ts.map +1 -1
  56. package/cjs/utils/is.d.ts +2 -0
  57. package/cjs/utils/is.d.ts.map +1 -1
  58. package/cjs/utils/is.js +5 -2
  59. package/cjs/utils/object.d.ts +12 -0
  60. package/cjs/utils/object.d.ts.map +1 -1
  61. package/cjs/utils/object.js +34 -1
  62. package/cjs/utils/tree.d.ts +1 -1
  63. package/cjs/utils/tree.d.ts.map +1 -1
  64. package/cjs/utils/tree.js +3 -9
  65. package/cjs/utils/warning.js +5 -5
  66. package/esm/common/use-filter/use-filter.d.ts.map +1 -1
  67. package/esm/common/use-position-style/check-border.d.ts +6 -0
  68. package/esm/common/use-position-style/check-border.d.ts.map +1 -0
  69. package/esm/common/use-position-style/check-border.js +29 -0
  70. package/esm/common/use-position-style/get-position-style.d.ts +1 -0
  71. package/esm/common/use-position-style/get-position-style.d.ts.map +1 -1
  72. package/esm/common/use-position-style/get-position-style.js +14 -8
  73. package/esm/common/use-position-style/index.d.ts +1 -0
  74. package/esm/common/use-position-style/index.d.ts.map +1 -1
  75. package/esm/common/use-position-style/index.js +15 -8
  76. package/esm/components/use-cascader/use-cascader.d.ts.map +1 -1
  77. package/esm/components/use-cascader/use-cascader.type.d.ts +2 -1
  78. package/esm/components/use-cascader/use-cascader.type.d.ts.map +1 -1
  79. package/esm/components/use-form/use-form-control/use-form-control.d.ts.map +1 -1
  80. package/esm/components/use-form/use-form-control/use-form-control.js +3 -2
  81. package/esm/components/use-form/use-form-fieldset/fieldset-context.d.ts +1 -1
  82. package/esm/components/use-form/use-form-fieldset/fieldset-context.d.ts.map +1 -1
  83. package/esm/components/use-form/use-form-fieldset/fieldset-context.js +2 -1
  84. package/esm/components/use-form/use-form-fieldset/index.d.ts +1 -0
  85. package/esm/components/use-form/use-form-fieldset/index.d.ts.map +1 -1
  86. package/esm/components/use-form/use-form-fieldset/index.js +2 -1
  87. package/esm/components/use-form/use-form.d.ts +2 -2
  88. package/esm/components/use-form/use-form.d.ts.map +1 -1
  89. package/esm/components/use-form/use-form.js +48 -10
  90. package/esm/components/use-form/use-form.type.d.ts +5 -3
  91. package/esm/components/use-form/use-form.type.d.ts.map +1 -1
  92. package/esm/components/use-input/use-input-format.d.ts.map +1 -1
  93. package/esm/components/use-input/use-input-format.js +12 -4
  94. package/esm/components/use-table/use-table-sort.d.ts +5 -0
  95. package/esm/components/use-table/use-table-sort.d.ts.map +1 -1
  96. package/esm/components/use-table/use-table-sort.js +5 -1
  97. package/esm/components/use-table/use-table-tree.d.ts +13 -0
  98. package/esm/components/use-table/use-table-tree.d.ts.map +1 -1
  99. package/esm/components/use-table/use-table-tree.js +67 -0
  100. package/esm/components/use-table/use-table-virtual.d.ts.map +1 -1
  101. package/esm/components/use-table/use-table-virtual.js +6 -4
  102. package/esm/components/use-tree/index.d.ts +3 -2
  103. package/esm/components/use-tree/index.d.ts.map +1 -1
  104. package/esm/components/use-tree/index.js +3 -2
  105. package/esm/components/use-tree/use-tree-node.d.ts.map +1 -1
  106. package/esm/components/use-tree/use-tree-node.js +1 -5
  107. package/esm/components/use-tree/use-tree-node.type.d.ts +18 -0
  108. package/esm/components/use-tree/use-tree-node.type.d.ts.map +1 -1
  109. package/esm/components/use-tree/use-tree-virtual-node.d.ts +13 -0
  110. package/esm/components/use-tree/use-tree-virtual-node.d.ts.map +1 -0
  111. package/esm/components/use-tree/use-tree-virtual-node.js +85 -0
  112. package/esm/components/use-tree/use-tree.d.ts.map +1 -1
  113. package/esm/components/use-tree/use-tree.js +193 -8
  114. package/esm/components/use-tree/use-tree.type.d.ts +31 -1
  115. package/esm/components/use-tree/use-tree.type.d.ts.map +1 -1
  116. package/esm/components/use-treeselect/use-tiled.d.ts +1 -1
  117. package/esm/components/use-treeselect/use-tiled.d.ts.map +1 -1
  118. package/esm/components/use-treeselect/use-tiled.js +10 -16
  119. package/esm/components/use-treeselect/use-tiled.type.d.ts +2 -0
  120. package/esm/components/use-treeselect/use-tiled.type.d.ts.map +1 -1
  121. package/esm/utils/is.d.ts +2 -0
  122. package/esm/utils/is.d.ts.map +1 -1
  123. package/esm/utils/is.js +4 -1
  124. package/esm/utils/object.d.ts +12 -0
  125. package/esm/utils/object.d.ts.map +1 -1
  126. package/esm/utils/object.js +34 -1
  127. package/esm/utils/tree.d.ts +1 -1
  128. package/esm/utils/tree.d.ts.map +1 -1
  129. package/esm/utils/tree.js +3 -9
  130. package/esm/utils/warning.js +5 -5
  131. package/package.json +1 -1
@@ -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;;CAuGjD,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;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"}
@@ -0,0 +1,6 @@
1
+ interface UseCheckElementBorderWidthOptions {
2
+ direction?: 'horizontal' | 'vertical';
3
+ }
4
+ export declare const useCheckElementBorderWidth: (elementRef: React.RefObject<HTMLElement>, options?: UseCheckElementBorderWidthOptions) => number;
5
+ export {};
6
+ //# sourceMappingURL=check-border.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-border.d.ts","sourceRoot":"","sources":["check-border.ts"],"names":[],"mappings":"AAEA,UAAU,iCAAiC;IAGzC,SAAS,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;CACvC;AAGD,eAAO,MAAM,0BAA0B,eACzB,MAAM,SAAS,CAAC,WAAW,CAAC,YAC/B,iCAAiC,KACzC,MAqBF,CAAC"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useCheckElementBorderWidth = 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 useCheckElementBorderWidth = exports.useCheckElementBorderWidth = function useCheckElementBorderWidth(elementRef) {
15
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
16
+ var _useState = (0, _react.useState)(0),
17
+ _useState2 = _slicedToArray(_useState, 2),
18
+ borderWidth = _useState2[0],
19
+ setBorderWidth = _useState2[1];
20
+
21
+ // 获取指定方向上的border宽度之和
22
+ var getBorderWidth = (0, _react.useCallback)(function () {
23
+ if (elementRef.current) {
24
+ var _options$direction = options.direction,
25
+ direction = _options$direction === void 0 ? 'horizontal' : _options$direction;
26
+ var style = window.getComputedStyle(elementRef.current);
27
+ var _borderWidth = direction === 'horizontal' ? parseFloat(style.borderLeftWidth) + parseFloat(style.borderRightWidth) : parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth);
28
+ setBorderWidth(_borderWidth);
29
+ }
30
+ }, [elementRef]);
31
+ (0, _react.useEffect)(function () {
32
+ getBorderWidth();
33
+ }, [getBorderWidth]);
34
+ return borderWidth;
35
+ };
@@ -3,5 +3,6 @@ export declare const getPositionStyle: (position: string, config?: {
3
3
  popupGap?: number | undefined;
4
4
  zIndex?: number | undefined;
5
5
  fixedWidth?: boolean | "min" | undefined;
6
+ parentBorderWidth?: number | undefined;
6
7
  } | undefined) => React.CSSProperties;
7
8
  //# sourceMappingURL=get-position-style.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-position-style.d.ts","sourceRoot":"","sources":["get-position-style.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,eAAO,MAAM,gBAAgB,aACjB,MAAM;;;;qCAwCjB,CAAC"}
1
+ {"version":3,"file":"get-position-style.d.ts","sourceRoot":"","sources":["get-position-style.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,eAAO,MAAM,gBAAgB,aACjB,MAAM;;;;;qCA+CjB,CAAC"}
@@ -28,6 +28,9 @@ var getPositionStyle = exports.getPositionStyle = function getPositionStyle(posi
28
28
  if (config !== null && config !== void 0 && config.fixedWidth) {
29
29
  var key = config.fixedWidth === 'min' ? 'minWidth' : 'width';
30
30
  newStyle[key] = '100%';
31
+ if (config.parentBorderWidth) {
32
+ newStyle[key] = "calc(100% + ".concat(config.parentBorderWidth, "px)");
33
+ }
31
34
  }
32
35
  if (position === 'drop-down') {
33
36
  newStyle.top = mainMargin;
@@ -39,19 +42,22 @@ var getPositionStyle = exports.getPositionStyle = function getPositionStyle(posi
39
42
  var positionArr = (position || '').split('-');
40
43
  if (positionArr.length === 2) {
41
44
  var _positionArr = _slicedToArray(positionArr, 2),
42
- m = _positionArr[0],
43
- n = _positionArr[1];
44
- newStyle[ReverseDir[m]] = mainMargin;
45
- newStyle[n] = 0;
45
+ vDirection = _positionArr[0],
46
+ hDirection = _positionArr[1];
47
+ newStyle[ReverseDir[vDirection]] = mainMargin;
48
+ newStyle[hDirection] = 0;
49
+ if (config !== null && config !== void 0 && config.parentBorderWidth) {
50
+ newStyle[hDirection] = -config.parentBorderWidth / 2;
51
+ }
46
52
  } else {
47
53
  var _positionArr2 = _slicedToArray(positionArr, 1),
48
- _m = _positionArr2[0];
49
- newStyle[ReverseDir[_m]] = mainMargin;
50
- if (_m === 'left' || _m === 'right') {
54
+ _vDirection = _positionArr2[0];
55
+ newStyle[ReverseDir[_vDirection]] = mainMargin;
56
+ if (_vDirection === 'left' || _vDirection === 'right') {
51
57
  newStyle.top = halfMargin;
52
58
  newStyle.transform = 'translateY(-50%)';
53
59
  }
54
- if (_m === 'top' || _m === 'bottom') {
60
+ if (_vDirection === 'top' || _vDirection === 'bottom') {
55
61
  newStyle.left = halfMargin;
56
62
  newStyle.transform = 'translateX(-50%)';
57
63
  }
@@ -15,6 +15,7 @@ export interface PositionStyleConfig {
15
15
  fixedWidth?: boolean | 'min';
16
16
  updateKey?: number | string;
17
17
  adjust?: boolean;
18
+ offset?: [number, number];
18
19
  }
19
20
  export declare const usePositionStyle: (config: PositionStyleConfig) => {
20
21
  style: React.CSSProperties;
@@ -1 +1 @@
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"}
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;;;CA8S3D,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -9,6 +9,7 @@ exports.usePositionStyle = exports.default = void 0;
9
9
  var _react = _interopRequireWildcard(require("react"));
10
10
  var _getPositionStyle = require("./get-position-style");
11
11
  var _checkPosition = require("./check-position");
12
+ var _checkBorder = require("./check-border");
12
13
  var _shallowEqual = _interopRequireDefault(require("../../utils/shallow-equal"));
13
14
  var _usePersistFn = _interopRequireDefault(require("../use-persist-fn"));
14
15
  var _utils = require("../../utils");
@@ -43,7 +44,8 @@ var usePositionStyle = exports.usePositionStyle = function usePositionStyle(conf
43
44
  popupElRef = _ref.popupElRef,
44
45
  scrollElRef = _ref.scrollElRef,
45
46
  updateKey = _ref.updateKey,
46
- adjust = _ref.adjust;
47
+ adjust = _ref.adjust,
48
+ offset = _ref.offset;
47
49
  // 初次渲染无样式的时候, 隐藏展示
48
50
  var _useState = (0, _react.useState)(hideStyle),
49
51
  _useState2 = _slicedToArray(_useState, 2),
@@ -74,6 +76,9 @@ var usePositionStyle = exports.usePositionStyle = function usePositionStyle(conf
74
76
  scrollContainer: scrollElRef === null || scrollElRef === void 0 ? void 0 : scrollElRef.current,
75
77
  enable: show && adjust
76
78
  });
79
+ var parentElBorderWidth = (0, _checkBorder.useCheckElementBorderWidth)(parentElRef, {
80
+ direction: 'horizontal'
81
+ });
77
82
  var adjustPosition = function adjustPosition(position) {
78
83
  var winHeight = _utils.docSize.height;
79
84
  if (!verticalPosition.includes(position)) return position;
@@ -158,7 +163,7 @@ var usePositionStyle = exports.usePositionStyle = function usePositionStyle(conf
158
163
  var overRight = 0;
159
164
  var overLeft = 0;
160
165
  if (h === 'left') {
161
- style.left = rect.left - containerRect.left + containerScroll.left;
166
+ style.left = rect.left - containerRect.left + containerScroll.left - (offset ? offset[0] : 0);
162
167
  style.transform = '';
163
168
  arrayStyle.left = "8px";
164
169
  if (adjust) {
@@ -168,7 +173,7 @@ var usePositionStyle = exports.usePositionStyle = function usePositionStyle(conf
168
173
  }
169
174
  }
170
175
  } else if (h === 'right') {
171
- style.right = containerRect.right - rect.right + containerScrollBarWidth - containerScroll.left;
176
+ style.right = containerRect.right - rect.right + containerScrollBarWidth - containerScroll.left - (offset ? offset[0] : 0);
172
177
  style.left = 'auto';
173
178
  style.transform = '';
174
179
  arrayStyle.right = "8px";
@@ -225,11 +230,11 @@ var usePositionStyle = exports.usePositionStyle = function usePositionStyle(conf
225
230
  _h = _targetPosition$split4[0],
226
231
  _v = _targetPosition$split4[1];
227
232
  if (_v === 'top') {
228
- style.top = rect.top - containerRect.top + containerScroll.top;
233
+ style.top = rect.top - containerRect.top + containerScroll.top - (offset ? offset[1] : 0);
229
234
  style.transform = '';
230
235
  arrayStyle.top = "8px";
231
236
  } else if (_v === 'bottom') {
232
- style.top = rect.bottom - containerRect.top + containerScroll.top;
237
+ style.top = rect.bottom - containerRect.top + containerScroll.top + (offset ? offset[1] : 0);
233
238
  arrayStyle.bottom = "8px";
234
239
  style.transform = 'translateY(-100%)';
235
240
  } else {
@@ -262,7 +267,7 @@ var usePositionStyle = exports.usePositionStyle = function usePositionStyle(conf
262
267
  style: hideStyle
263
268
  };
264
269
  var rect = context.parentRect;
265
- if (scrollElRef !== null && scrollElRef !== void 0 && scrollElRef.current && (_scrollElRef$current = scrollElRef.current) !== null && _scrollElRef$current !== void 0 && _scrollElRef$current.contains(parentElRef.current)) {
270
+ if (!show && scrollElRef !== null && scrollElRef !== void 0 && scrollElRef.current && (_scrollElRef$current = scrollElRef.current) !== null && _scrollElRef$current !== void 0 && _scrollElRef$current.contains(parentElRef.current)) {
266
271
  var _scrollElRef$current2;
267
272
  var visibleRect = ((_scrollElRef$current2 = scrollElRef.current) === null || _scrollElRef$current2 === void 0 ? void 0 : _scrollElRef$current2.getBoundingClientRect()) || {};
268
273
  if (rect.bottom < visibleRect.top || rect.top > visibleRect.bottom || rect.right < visibleRect.left || rect.left > visibleRect.right) {
@@ -304,17 +309,19 @@ var usePositionStyle = exports.usePositionStyle = function usePositionStyle(conf
304
309
  newStyle: style
305
310
  };
306
311
  context.parentRect = parentElRef.current.getBoundingClientRect();
312
+ var realPosition = position;
307
313
  if (adjust) {
308
314
  var popupInfo = getPopUpInfo(context.parentRect);
309
315
  context.popUpHeight = popupInfo.height;
310
316
  context.popUpWidth = popupInfo.width;
317
+ realPosition = adjustPosition(position);
311
318
  }
312
- var realPosition = adjust ? adjustPosition(position) : position;
313
319
  if (!absolute) {
314
320
  newStyle = (0, _getPositionStyle.getPositionStyle)(realPosition, {
315
321
  popupGap: popupGap,
316
322
  zIndex: zIndex,
317
- fixedWidth: fixedWidth
323
+ fixedWidth: fixedWidth,
324
+ parentBorderWidth: parentElBorderWidth
318
325
  });
319
326
  } else {
320
327
  var _ref3 = getAbsoluteStyle(realPosition),
@@ -1 +1 @@
1
- {"version":3,"file":"use-cascader.d.ts","sourceRoot":"","sources":["use-cascader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,QAAA,MAAM,WAAW;;;;CA0ChB,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"use-cascader.d.ts","sourceRoot":"","sources":["use-cascader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,QAAA,MAAM,WAAW;;;;CA2ChB,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { KeygenResult, TreeKeygenType, ObjectKey } from '../../common/type';
2
+ import { DisabledOption } from '../use-tree';
2
3
  import { TreeModeType } from '../use-tree/use-tree.type';
3
4
  export interface BaseCascaderProps<DataItem, Value extends KeygenResult[]> {
4
5
  value?: Value;
@@ -11,7 +12,7 @@ export interface BaseCascaderProps<DataItem, Value extends KeygenResult[]> {
11
12
  beforeChange?: (value: Value) => any;
12
13
  mode?: TreeModeType;
13
14
  keygen: TreeKeygenType<DataItem>;
14
- disabled?: ((data: DataItem) => boolean) | boolean;
15
+ disabled?: DisabledOption<DataItem> | boolean | ((item: DataItem) => boolean);
15
16
  filterSameChange?: boolean;
16
17
  }
17
18
  //# sourceMappingURL=use-cascader.type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-cascader.type.d.ts","sourceRoot":"","sources":["use-cascader.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,MAAM,WAAW,iBAAiB,CAAC,QAAQ,EAAE,KAAK,SAAS,YAAY,EAAE;IACvE,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IAClC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC;IACvD,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,GAAG,CAAC;IACrC,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,GAAG,OAAO,CAAC;IACnD,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B"}
1
+ {"version":3,"file":"use-cascader.type.d.ts","sourceRoot":"","sources":["use-cascader.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,MAAM,WAAW,iBAAiB,CAAC,QAAQ,EAAE,KAAK,SAAS,YAAY,EAAE;IACvE,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;IAClC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC;IACvD,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,GAAG,CAAC;IACrC,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC;IAC9E,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B"}
@@ -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;;kBAoJpC,CAAC,YAAY,GAAG,EAAE;;;;;EAkDrD"}
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;;kBAkJpC,CAAC,YAAY,GAAG,EAAE;;;;;EAkDrD"}
@@ -97,6 +97,7 @@ function useFormControl(props) {
97
97
  var formValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
98
98
  var errors = arguments.length > 1 ? arguments[1] : undefined;
99
99
  var severErrors = arguments.length > 2 ? arguments[2] : undefined;
100
+ var names = arguments.length > 3 ? arguments[3] : undefined;
100
101
  if (!name) return;
101
102
  if ((0, _is.isArray)(name)) {
102
103
  var _value = getValue(name, formValue);
@@ -108,7 +109,7 @@ function useFormControl(props) {
108
109
  var dv = (0, _is.isArray)(defaultValue) ? defaultValue : [];
109
110
  var nextValue = [];
110
111
  name.forEach(function (n, index) {
111
- if (_value[index] === undefined && dv[index] !== undefined) {
112
+ if (!names.has(n) && _value[index] === undefined && dv[index] !== undefined) {
112
113
  nextValue[index] = dv[index];
113
114
  } else {
114
115
  nextValue[index] = _value[index];
@@ -122,7 +123,7 @@ function useFormControl(props) {
122
123
  setErrorState(_error2);
123
124
  }
124
125
  if (!(0, _shallowEqual.shallowEqual)(_value2, latestInfo.valueState)) {
125
- if (_value2 === undefined && defaultValue !== undefined) {
126
+ if (!names.has(name) && _value2 === undefined && defaultValue !== undefined) {
126
127
  setValueState(defaultValue);
127
128
  } else {
128
129
  setValueState(_value2);
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- declare const FieldsetContext: React.Context<{
2
+ export declare const FieldsetContext: React.Context<{
3
3
  path: string;
4
4
  validateFieldSet: () => void;
5
5
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"fieldset-context.d.ts","sourceRoot":"","sources":["fieldset-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAE7C,QAAA,MAAM,eAAe;;;EAA0D,CAAC;AAEhF,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACzB;AAiBD,eAAO,MAAM,mBAAmB;;;;CAe/B,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"fieldset-context.d.ts","sourceRoot":"","sources":["fieldset-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAE7C,eAAO,MAAM,eAAe;;;EAA0D,CAAC;AAGvF,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACzB;AAiBD,eAAO,MAAM,mBAAmB;;;;CAe/B,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -4,7 +4,7 @@
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.useFieldSetConsumer = exports.default = void 0;
7
+ exports.useFieldSetConsumer = exports.default = exports.FieldsetContext = void 0;
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; }
@@ -14,10 +14,11 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
14
14
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
15
15
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
16
16
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
17
- var FieldsetContext = /*#__PURE__*/(0, _react.createContext)({
17
+ var FieldsetContext = exports.FieldsetContext = /*#__PURE__*/(0, _react.createContext)({
18
18
  path: '',
19
19
  validateFieldSet: function validateFieldSet() {}
20
20
  });
21
+ FieldsetContext.displayName = 'FieldsetContext';
21
22
  function extendName() {
22
23
  var path = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
23
24
  var name = arguments.length > 1 ? arguments[1] : undefined;
@@ -1,4 +1,5 @@
1
1
  export { default as useFormFieldSet, default } from './use-form-fieldset';
2
2
  export { useFieldSetConsumer } from './fieldset-context';
3
+ export { FieldsetContext } from './fieldset-context';
3
4
  export type { BaseFormFieldSetProps } from './use-form-fieldset.type';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,YAAY,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpD,YAAY,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -4,6 +4,12 @@
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
+ Object.defineProperty(exports, "FieldsetContext", {
8
+ enumerable: true,
9
+ get: function get() {
10
+ return _fieldsetContext.FieldsetContext;
11
+ }
12
+ });
7
13
  Object.defineProperty(exports, "default", {
8
14
  enumerable: true,
9
15
  get: function get() {
@@ -21,7 +21,7 @@ declare const useForm: <T extends ObjectType>(props: UseFormProps<T>) => {
21
21
  getErrors: () => ObjectType<Error | undefined>;
22
22
  clearValidate: (names?: string[]) => void;
23
23
  validateFields: (fields?: string | string[], config?: ValidateFnConfig) => Promise<T>;
24
- validateFieldset: (name: string) => void;
24
+ validateFieldset: (name: string, config?: ValidateFnConfig) => void;
25
25
  insertError: (name: string, index: number, error?: Error) => void;
26
26
  spliceError: (name: string, index: number) => void;
27
27
  scrollToField: (name: string, scrollIntoViewOptions?: ScrollIntoViewOptions) => void;
@@ -41,7 +41,7 @@ declare const useForm: <T extends ObjectType>(props: UseFormProps<T>) => {
41
41
  getErrors: () => ObjectType<Error | undefined>;
42
42
  clearValidate: (names?: string[]) => void;
43
43
  validateFields: (fields?: string | string[], config?: ValidateFnConfig) => Promise<T>;
44
- validateFieldset: (name: string) => void;
44
+ validateFieldset: (name: string, config?: ValidateFnConfig) => void;
45
45
  insertError: (name: string, index: number, error?: Error) => void;
46
46
  spliceError: (name: string, index: number) => void;
47
47
  scrollToField: (name: string, scrollIntoViewOptions?: ScrollIntoViewOptions) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"use-form.d.ts","sourceRoot":"","sources":["use-form.ts"],"names":[],"mappings":";AA8BA,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;;;;;;;;;wBAsPC;gBAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;gBAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;aAAE;8BAnId,MAAM;oCAsMD,OAAO;;6BAfb,MAAM,KAAK,KAAK,GAAG,SAAS;;oCAdrB,MAAM,EAAE;sCAjKxC,MAAM,GAAG,MAAM,EAAE,WAAU,gBAAgB;qCAmOvB,MAAM;gCA/CE,MAAM,SAAS,MAAM,UAAU,KAAK;gCAKpC,MAAM,SAAS,MAAM;kCAzHpD,MAAM,0BAAyB,qBAAqB;;;;;;oBA2DjD;YAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE;0BAnId,MAAM;gCAsMD,OAAO;;yBAfb,MAAM,KAAK,KAAK,GAAG,SAAS;;gCAdrB,MAAM,EAAE;kCAjKxC,MAAM,GAAG,MAAM,EAAE,WAAU,gBAAgB;iCAmOvB,MAAM;4BA/CE,MAAM,SAAS,MAAM,UAAU,KAAK;4BAKpC,MAAM,SAAS,MAAM;8BAzHpD,MAAM,0BAAyB,qBAAqB;;CAqY9D,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;;;;;;;;;wBAiRC;gBAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;gBAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;aAAE;8BApJd,MAAM;oCAuND,OAAO;;6BAfb,MAAM,KAAK,KAAK,GAAG,SAAS;;oCAdrB,MAAM,EAAE;sCAlLxC,MAAM,GAAG,MAAM,EAAE,WAAU,gBAAgB;qCAoPvB,MAAM,WAAW,gBAAgB;gCA/CzB,MAAM,SAAS,MAAM,UAAU,KAAK;gCAKpC,MAAM,SAAS,MAAM;kCAzHpD,MAAM,0BAAyB,qBAAqB;;;;;;oBA2DjD;YAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE;0BApJd,MAAM;gCAuND,OAAO;;yBAfb,MAAM,KAAK,KAAK,GAAG,SAAS;;gCAdrB,MAAM,EAAE;kCAlLxC,MAAM,GAAG,MAAM,EAAE,WAAU,gBAAgB;iCAoPvB,MAAM,WAAW,gBAAgB;4BA/CzB,MAAM,SAAS,MAAM,UAAU,KAAK;4BAKpC,MAAM,SAAS,MAAM;8BAzHpD,MAAM,0BAAyB,qBAAqB;;CA+Y9D,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -57,6 +57,7 @@ var useForm = function useForm(props) {
57
57
  var _React$useRef = React.useRef({
58
58
  defaultValues: {},
59
59
  validateMap: {},
60
+ ignoreValidateFields: [],
60
61
  updateMap: {},
61
62
  flowMap: {},
62
63
  removeArr: new Set(),
@@ -78,7 +79,7 @@ var useForm = function useForm(props) {
78
79
  Object.keys(context.updateMap).forEach(function (key) {
79
80
  var _context$updateMap$ke;
80
81
  (_context$updateMap$ke = context.updateMap[key]) === null || _context$updateMap$ke === void 0 || _context$updateMap$ke.forEach(function (update) {
81
- update(context.value, context.errors, context.serverErrors);
82
+ update(context.value, context.errors, context.serverErrors, context.names);
82
83
  });
83
84
  });
84
85
  Object.keys(context.flowMap).forEach(function (key) {
@@ -89,10 +90,21 @@ var useForm = function useForm(props) {
89
90
  } else {
90
91
  var names = (0, _utils.isArray)(name) ? name : [name];
91
92
  names.forEach(function (key) {
92
- var _context$updateMap$ke2, _context$flowMap$key;
93
- (_context$updateMap$ke2 = context.updateMap[key]) === null || _context$updateMap$ke2 === void 0 || _context$updateMap$ke2.forEach(function (update) {
94
- update(context.value, context.errors, context.serverErrors);
95
- });
93
+ var _context$flowMap$key;
94
+ // 外部直接设置user.name这种格式的,但是又没有显性的声明user.name绑定的表单元素;
95
+ // 这里需要手动触发,否则会导致Input输入过程中光标跳到末尾的异常
96
+ if (!context.updateMap[key]) {
97
+ var _context$updateMap$pa;
98
+ var parentKey = key.split('.')[0];
99
+ (_context$updateMap$pa = context.updateMap[parentKey]) === null || _context$updateMap$pa === void 0 || _context$updateMap$pa.forEach(function (update) {
100
+ update(context.value, context.errors, context.serverErrors, context.names);
101
+ });
102
+ } else {
103
+ var _context$updateMap$ke2;
104
+ (_context$updateMap$ke2 = context.updateMap[key]) === null || _context$updateMap$ke2 === void 0 || _context$updateMap$ke2.forEach(function (update) {
105
+ update(context.value, context.errors, context.serverErrors, context.names);
106
+ });
107
+ }
96
108
  (_context$flowMap$key = context.flowMap[key]) === null || _context$flowMap$key === void 0 || _context$flowMap$key.forEach(function (update) {
97
109
  update();
98
110
  });
@@ -149,11 +161,28 @@ var useForm = function useForm(props) {
149
161
  var validateFields = (0, _usePersistFn.default)(function (fields) {
150
162
  var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
151
163
  return new Promise(function (resolve, reject) {
152
- var finalFields = fields ? ((0, _utils.isArray)(fields) ? fields : [fields]).filter(function (key) {
153
- return context.validateMap[key];
154
- }) : Object.keys(context.validateMap);
164
+ var finalFields = Object.keys(context.validateMap);
165
+ if (fields) {
166
+ if (config.ignoreChildren || config.ignoreBind) {
167
+ // 旧行为:仅校验当前字段
168
+ finalFields = ((0, _utils.isArray)(fields) ? fields : [fields]).filter(function (key) {
169
+ return context.validateMap[key];
170
+ });
171
+ } else {
172
+ // 新行为:校验当前字段及其所有子字段
173
+ // 假设进去的是['user'],那么最终的finalFields是['user', 'user.name', 'user.age']
174
+ // 假设进去的是['users'],那么最终的finalFields是['users', 'users[0].name', 'users[0].age', 'users[1].name', 'users[1].age']
175
+ finalFields = (0, _utils.getCompleteFieldKeys)(fields, finalFields);
176
+ }
177
+ }
178
+ if (context.ignoreValidateFields.length > 0) {
179
+ finalFields = finalFields.filter(function (key) {
180
+ return !context.ignoreValidateFields.includes(key);
181
+ });
182
+ }
155
183
  var validates = finalFields.map(function (key) {
156
184
  var validateField = context.validateMap[key];
185
+ if (!validateField) return [];
157
186
  return Array.from(validateField).map(function (validate) {
158
187
  return validate(key, (0, _utils.deepGet)(context.value, key), context.value, config);
159
188
  });
@@ -386,7 +415,7 @@ var useForm = function useForm(props) {
386
415
  }, 10);
387
416
  };
388
417
  };
389
- var validateFieldset = function validateFieldset(name) {
418
+ var validateFieldset = function validateFieldset(name, config) {
390
419
  var na = "".concat(name, "[");
391
420
  var no = "".concat(name, ".");
392
421
  var fields = [];
@@ -395,6 +424,15 @@ var useForm = function useForm(props) {
395
424
  fields.push(key);
396
425
  }
397
426
  });
427
+
428
+ // 用户声明了跳过校验子字段
429
+ if (config !== null && config !== void 0 && config.ignoreChildren) {
430
+ var parentName = name.split('[')[0];
431
+ context.ignoreValidateFields = (0, _utils.getCompleteFieldKeys)(parentName, Array.from(context.names));
432
+ setTimeout(function () {
433
+ context.ignoreValidateFields = [];
434
+ });
435
+ }
398
436
  validateFields(fields).catch(function () {});
399
437
  };
400
438
  var getDefaultValue = function getDefaultValue() {
@@ -14,9 +14,10 @@ export interface ValidationError<T> {
14
14
  export type ValidateFnConfig = {
15
15
  type?: 'forcePass' | 'withValue';
16
16
  ignoreBind?: boolean;
17
+ ignoreChildren?: boolean;
17
18
  };
18
19
  export type ValidateFn = (name: string, value: any, formData: ObjectType, config?: ValidateFnConfig) => Promise<true | FormError>;
19
- export type UpdateFn = (formValue: ObjectType, errors: ObjectType<Error | undefined>, serverErrors: ObjectType<Error | undefined>) => void;
20
+ export type UpdateFn = (formValue: ObjectType, errors: ObjectType<Error | undefined>, serverErrors: ObjectType<Error | undefined>, names: Set<string>) => void;
20
21
  export interface FormContextValueType {
21
22
  func?: {
22
23
  unbind: (n: string, reserveAble?: boolean, validate?: ValidateFn, update?: UpdateFn) => void;
@@ -112,7 +113,7 @@ export interface FormFunc<T = any> {
112
113
  getErrors: () => ObjectType<Error | undefined>;
113
114
  clearValidate: (names?: string[]) => void;
114
115
  validateFields: (fields?: string | string[], config?: ValidateFnConfig) => Promise<Partial<T>>;
115
- validateFieldset: (name: string) => void;
116
+ validateFieldset: (name: string, config?: ValidateFnConfig) => void;
116
117
  insertError: (name: string, index: number, error?: Error) => void;
117
118
  spliceError: (name: string, index: number) => void;
118
119
  }
@@ -197,13 +198,14 @@ export type FormContext = {
197
198
  lastValue: ObjectType | undefined;
198
199
  resetTime: number;
199
200
  mounted: boolean;
200
- updateMap: ObjectType<Set<(formValue: ObjectType, errors: ObjectType<Error | undefined>, serverErrors: ObjectType<Error | undefined>) => void>>;
201
+ updateMap: ObjectType<Set<(formValue: ObjectType, errors: ObjectType<Error | undefined>, serverErrors: ObjectType<Error | undefined>, names: Set<string>) => void>>;
201
202
  flowMap: ObjectType<Set<() => void>>;
202
203
  value: ObjectType;
203
204
  errors: ObjectType<Error | undefined>;
204
205
  serverErrors: ObjectType<Error | undefined>;
205
206
  unmounted: boolean;
206
207
  removeLock: boolean;
208
+ ignoreValidateFields: string[];
207
209
  };
208
210
  export type UseFormSlotOwnProps = {
209
211
  onSubmit: any;
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-input-format.d.ts","sourceRoot":"","sources":["use-input-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAM3D,QAAA,MAAM,cAAc,UAAW,gBAAgB;kBAsBP,MAAM,GAAG,SAAS;gBA4BpB,gBAAgB;iBAgDd,gBAAgB;;;CAwBvD,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"use-input-format.d.ts","sourceRoot":"","sources":["use-input-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAM3D,QAAA,MAAM,cAAc,UAAW,gBAAgB;kBAsBP,MAAM,GAAG,SAAS;gBAoCpB,gBAAgB;iBAgDd,gBAAgB;;;CAyBvD,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -28,7 +28,7 @@ var useInputFormat = function useInputFormat(props) {
28
28
  autoFix = props.autoFix,
29
29
  coin = props.coin,
30
30
  cancelBlurChange = props.cancelBlurChange;
31
- var _React$useState = _react.default.useState(false),
31
+ var _React$useState = _react.default.useState(coin),
32
32
  _React$useState2 = _slicedToArray(_React$useState, 2),
33
33
  showCoin = _React$useState2[0],
34
34
  setShowCoin = _React$useState2[1];
@@ -55,6 +55,13 @@ var useInputFormat = function useInputFormat(props) {
55
55
  var noNeg = numType === 'non-negative' || numType === 'positive';
56
56
  var regExp = new RegExp("^(".concat(noNeg ? '' : '-', ")?(\\d").concat(regLength(integerLimit), ")(").concat(digits !== 0 ? "\\.\\d".concat(regLength(digits)) : '', ")?.*$"), 'g');
57
57
  value = value.replace(regExp, '$1$2$3');
58
+
59
+ // 修正小数位数
60
+ var _value = v.split('.');
61
+ var __value = value.split('.');
62
+ if (_value[1] !== undefined && __value[1] === undefined && digits !== 0) {
63
+ value = "".concat(value, ".").concat(_value[1]);
64
+ }
58
65
  }
59
66
  onChange(value);
60
67
  });
@@ -112,14 +119,15 @@ var useInputFormat = function useInputFormat(props) {
112
119
  });
113
120
  function getValue(str) {
114
121
  if (type === 'number' && coin) {
115
- if (showCoin && str) {
116
- return "".concat(str).replace(/\d+/, function (n) {
122
+ var _str = str;
123
+ if (showCoin && _str) {
124
+ return "".concat(_str).replace(/\d+/, function (n) {
117
125
  return n.replace(/(\d)(?=(\d{3})+$)/g, function ($1) {
118
126
  return "".concat($1, ",");
119
127
  });
120
128
  });
121
129
  }
122
- return "".concat(str || '').replace(/,/g, '');
130
+ return "".concat(_str === 0 ? _str : _str || '').replace(/,/g, '');
123
131
  }
124
132
  return str;
125
133
  }
@@ -15,6 +15,11 @@ declare const useTableSort: <Item = any>(props: UseTableSorterProps<Item>) => {
15
15
  sortInfo: SortMap;
16
16
  onSorterChange: (columnKey: KeygenResult, direction: 'desc' | 'asc' | null, manual: boolean | undefined, columnSorter: string | import("./use-table.type").TableColumnSorter | ((order: import("./use-table.type").TableColumnOrder) => void | ((prevRowData: Item, nextRowData: Item) => number)) | undefined) => void;
17
17
  sortedData: Item[];
18
+ sortByColumn: (params: {
19
+ columnKey: KeygenResult;
20
+ direction: 'desc' | 'asc' | null;
21
+ columnSorter: string | import("./use-table.type").TableColumnSorter | ((order: import("./use-table.type").TableColumnOrder) => void | ((prevRowData: Item, nextRowData: Item) => number)) | undefined;
22
+ }) => void;
18
23
  };
19
24
  export default useTableSort;
20
25
  //# sourceMappingURL=use-table-sort.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-table-sort.d.ts","sourceRoot":"","sources":["use-table-sort.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEtF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,WAAW,mBAAmB,CAAC,IAAI,GAAG,GAAG,CAC7C,SAAQ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,QAAQ,GAAG,MAAM,CAAC;IACtE,OAAO,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;CACpC;AACD,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,KAAK,MAAM,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;IACvD,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,QAAQ,CAAC,CAAC;AACrD,QAAA,MAAM,YAAY;;gCAoCD,YAAY,aAIZ,MAAM,GAAG,KAAK,GAAG,IAAI;;CAoGrC,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"use-table-sort.d.ts","sourceRoot":"","sources":["use-table-sort.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEtF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,WAAW,mBAAmB,CAAC,IAAI,GAAG,GAAG,CAC7C,SAAQ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,QAAQ,GAAG,MAAM,CAAC;IACtE,OAAO,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;CACpC;AACD,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,KAAK,MAAM,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;IACvD,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,QAAQ,CAAC,CAAC;AACrD,QAAA,MAAM,YAAY;;gCAoCD,YAAY,aAIZ,MAAM,GAAG,KAAK,GAAG,IAAI;;;mBA4EmB,YAAY;mBAAa,MAAM,GAAG,KAAK,GAAG,IAAI;;;CA6BtG,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -142,6 +142,9 @@ var useTableSort = function useTableSort(props) {
142
142
  }
143
143
  }
144
144
  });
145
+ var sortByColumn = (0, _usePersistFn.default)(function (params) {
146
+ onSorterChange(params.columnKey, params.direction, true, params.columnSorter);
147
+ });
145
148
  (0, _react.useEffect)(function () {
146
149
  if (context.mounted) return;
147
150
  var hasSingleDefaultOrder = false;
@@ -163,7 +166,8 @@ var useTableSort = function useTableSort(props) {
163
166
  return {
164
167
  sortInfo: sortInfo,
165
168
  onSorterChange: onSorterChange,
166
- sortedData: sortedData
169
+ sortedData: sortedData,
170
+ sortByColumn: sortByColumn
167
171
  };
168
172
  };
169
173
  var _default = exports.default = useTableSort;