@sheinx/hooks 3.8.0-beta.8 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/cjs/common/use-filter/use-filter.d.ts.map +1 -1
  2. package/cjs/common/use-filter/use-filter.js +4 -1
  3. package/cjs/common/use-position-style/check-border.d.ts +1 -0
  4. package/cjs/common/use-position-style/check-border.d.ts.map +1 -1
  5. package/cjs/common/use-position-style/check-border.js +2 -2
  6. package/cjs/common/use-position-style/index.d.ts.map +1 -1
  7. package/cjs/common/use-position-style/index.js +10 -4
  8. package/cjs/components/use-check/use-check.d.ts.map +1 -1
  9. package/cjs/components/use-check/use-check.js +10 -2
  10. package/cjs/components/use-datepicker/use-datepicker-format.d.ts.map +1 -1
  11. package/cjs/components/use-datepicker/use-datepicker-format.js +1 -0
  12. package/cjs/components/use-datepicker/use-time.d.ts +10 -8
  13. package/cjs/components/use-datepicker/use-time.d.ts.map +1 -1
  14. package/cjs/components/use-datepicker/use-time.js +19 -5
  15. package/cjs/components/use-datepicker/use-time.type.d.ts +5 -1
  16. package/cjs/components/use-datepicker/use-time.type.d.ts.map +1 -1
  17. package/cjs/components/use-datepicker/util.d.ts.map +1 -1
  18. package/cjs/components/use-datepicker/util.js +10 -1
  19. package/cjs/components/use-form/Provider.d.ts.map +1 -1
  20. package/cjs/components/use-form/Provider.js +7 -2
  21. package/cjs/components/use-form/form-schema-context.d.ts +6 -0
  22. package/cjs/components/use-form/form-schema-context.d.ts.map +1 -0
  23. package/cjs/components/use-form/form-schema-context.js +16 -0
  24. package/cjs/components/use-form/index.d.ts +2 -0
  25. package/cjs/components/use-form/index.d.ts.map +1 -1
  26. package/cjs/components/use-form/index.js +21 -1
  27. package/cjs/components/use-form/use-form-context.d.ts.map +1 -1
  28. package/cjs/components/use-form/use-form-context.js +11 -5
  29. package/cjs/components/use-form/use-form-context.type.d.ts +6 -0
  30. package/cjs/components/use-form/use-form-context.type.d.ts.map +1 -1
  31. package/cjs/components/use-form/use-form-control/use-form-control.d.ts.map +1 -1
  32. package/cjs/components/use-form/use-form-control/use-form-control.js +34 -4
  33. package/cjs/components/use-form/use-form-control/use-form-control.type.d.ts +8 -2
  34. package/cjs/components/use-form/use-form-control/use-form-control.type.d.ts.map +1 -1
  35. package/cjs/components/use-form/use-form-flow/use-form-datum.d.ts +8 -0
  36. package/cjs/components/use-form/use-form-flow/use-form-datum.d.ts.map +1 -1
  37. package/cjs/components/use-form/use-form-item/form-item-context.d.ts +1 -0
  38. package/cjs/components/use-form/use-form-item/form-item-context.d.ts.map +1 -1
  39. package/cjs/components/use-form/use-form-item/form-item-context.js +2 -1
  40. package/cjs/components/use-form/use-form-item/index.d.ts +1 -0
  41. package/cjs/components/use-form/use-form-item/index.d.ts.map +1 -1
  42. package/cjs/components/use-form/use-form-item/index.js +7 -0
  43. package/cjs/components/use-form/use-form-item/use-form-item.d.ts +1 -1
  44. package/cjs/components/use-form/use-form-schema/form-schema-builder.d.ts +50 -0
  45. package/cjs/components/use-form/use-form-schema/form-schema-builder.d.ts.map +1 -0
  46. package/cjs/components/use-form/use-form-schema/form-schema-builder.js +377 -0
  47. package/cjs/components/use-form/use-form-schema/index.d.ts +3 -0
  48. package/cjs/components/use-form/use-form-schema/index.d.ts.map +1 -0
  49. package/cjs/components/use-form/use-form-schema/index.js +13 -0
  50. package/cjs/components/use-form/use-form.d.ts +4 -0
  51. package/cjs/components/use-form/use-form.d.ts.map +1 -1
  52. package/cjs/components/use-form/use-form.js +19 -9
  53. package/cjs/components/use-form/use-form.type.d.ts +46 -39
  54. package/cjs/components/use-form/use-form.type.d.ts.map +1 -1
  55. package/cjs/components/use-input/use-input-number.d.ts.map +1 -1
  56. package/cjs/components/use-input/use-input-number.js +3 -1
  57. package/cjs/components/use-input/use-input-number.type.d.ts +1 -1
  58. package/cjs/components/use-input/use-input-number.type.d.ts.map +1 -1
  59. package/cjs/components/use-input/use-input.d.ts.map +1 -1
  60. package/cjs/components/use-input/use-input.js +4 -1
  61. package/cjs/components/use-pagination/use-pagination.d.ts.map +1 -1
  62. package/cjs/components/use-pagination/use-pagination.js +2 -1
  63. package/cjs/components/use-popup/use-popup.d.ts.map +1 -1
  64. package/cjs/components/use-popup/use-popup.js +12 -24
  65. package/cjs/components/use-select/use-select.type.d.ts +27 -18
  66. package/cjs/components/use-select/use-select.type.d.ts.map +1 -1
  67. package/cjs/components/use-table/use-table-virtual.d.ts +6 -1
  68. package/cjs/components/use-table/use-table-virtual.d.ts.map +1 -1
  69. package/cjs/components/use-table/use-table-virtual.js +5 -4
  70. package/cjs/components/use-table/use-table.type.d.ts +70 -92
  71. package/cjs/components/use-table/use-table.type.d.ts.map +1 -1
  72. package/cjs/components/use-tree/use-tree-node.d.ts +7 -1
  73. package/cjs/components/use-tree/use-tree-node.d.ts.map +1 -1
  74. package/cjs/components/use-tree/use-tree-node.js +19 -1
  75. package/cjs/components/use-tree/use-tree.d.ts.map +1 -1
  76. package/cjs/components/use-tree/use-tree.js +26 -19
  77. package/cjs/components/use-tree/use-tree.type.d.ts +7 -1
  78. package/cjs/components/use-tree/use-tree.type.d.ts.map +1 -1
  79. package/cjs/utils/dom/document.d.ts +4 -0
  80. package/cjs/utils/dom/document.d.ts.map +1 -1
  81. package/cjs/utils/dom/document.js +19 -2
  82. package/cjs/utils/dom/element.d.ts +1 -0
  83. package/cjs/utils/dom/element.d.ts.map +1 -1
  84. package/cjs/utils/dom/element.js +5 -1
  85. package/cjs/utils/highlight.d.ts.map +1 -1
  86. package/cjs/utils/highlight.js +24 -11
  87. package/cjs/utils/lazyload.d.ts.map +1 -1
  88. package/cjs/utils/lazyload.js +33 -1
  89. package/cjs/utils/object.d.ts +6 -0
  90. package/cjs/utils/object.d.ts.map +1 -1
  91. package/cjs/utils/object.js +21 -1
  92. package/esm/common/use-filter/use-filter.d.ts.map +1 -1
  93. package/esm/common/use-filter/use-filter.js +4 -1
  94. package/esm/common/use-position-style/check-border.d.ts +1 -0
  95. package/esm/common/use-position-style/check-border.d.ts.map +1 -1
  96. package/esm/common/use-position-style/check-border.js +2 -2
  97. package/esm/common/use-position-style/index.d.ts.map +1 -1
  98. package/esm/common/use-position-style/index.js +11 -5
  99. package/esm/components/use-check/use-check.d.ts.map +1 -1
  100. package/esm/components/use-check/use-check.js +10 -2
  101. package/esm/components/use-datepicker/use-datepicker-format.d.ts.map +1 -1
  102. package/esm/components/use-datepicker/use-datepicker-format.js +1 -0
  103. package/esm/components/use-datepicker/use-time.d.ts +10 -8
  104. package/esm/components/use-datepicker/use-time.d.ts.map +1 -1
  105. package/esm/components/use-datepicker/use-time.js +19 -5
  106. package/esm/components/use-datepicker/use-time.type.d.ts +5 -1
  107. package/esm/components/use-datepicker/use-time.type.d.ts.map +1 -1
  108. package/esm/components/use-datepicker/util.d.ts.map +1 -1
  109. package/esm/components/use-datepicker/util.js +10 -1
  110. package/esm/components/use-form/Provider.d.ts.map +1 -1
  111. package/esm/components/use-form/Provider.js +7 -2
  112. package/esm/components/use-form/form-schema-context.d.ts +6 -0
  113. package/esm/components/use-form/form-schema-context.d.ts.map +1 -0
  114. package/esm/components/use-form/form-schema-context.js +8 -0
  115. package/esm/components/use-form/index.d.ts +2 -0
  116. package/esm/components/use-form/index.d.ts.map +1 -1
  117. package/esm/components/use-form/index.js +3 -1
  118. package/esm/components/use-form/use-form-context.d.ts.map +1 -1
  119. package/esm/components/use-form/use-form-context.js +11 -5
  120. package/esm/components/use-form/use-form-context.type.d.ts +6 -0
  121. package/esm/components/use-form/use-form-context.type.d.ts.map +1 -1
  122. package/esm/components/use-form/use-form-control/use-form-control.d.ts.map +1 -1
  123. package/esm/components/use-form/use-form-control/use-form-control.js +34 -4
  124. package/esm/components/use-form/use-form-control/use-form-control.type.d.ts +8 -2
  125. package/esm/components/use-form/use-form-control/use-form-control.type.d.ts.map +1 -1
  126. package/esm/components/use-form/use-form-flow/use-form-datum.d.ts +8 -0
  127. package/esm/components/use-form/use-form-flow/use-form-datum.d.ts.map +1 -1
  128. package/esm/components/use-form/use-form-item/form-item-context.d.ts +1 -0
  129. package/esm/components/use-form/use-form-item/form-item-context.d.ts.map +1 -1
  130. package/esm/components/use-form/use-form-item/form-item-context.js +2 -1
  131. package/esm/components/use-form/use-form-item/index.d.ts +1 -0
  132. package/esm/components/use-form/use-form-item/index.d.ts.map +1 -1
  133. package/esm/components/use-form/use-form-item/index.js +2 -1
  134. package/esm/components/use-form/use-form-item/use-form-item.d.ts +1 -1
  135. package/esm/components/use-form/use-form-schema/form-schema-builder.d.ts +50 -0
  136. package/esm/components/use-form/use-form-schema/form-schema-builder.d.ts.map +1 -0
  137. package/esm/components/use-form/use-form-schema/form-schema-builder.js +371 -0
  138. package/esm/components/use-form/use-form-schema/index.d.ts +3 -0
  139. package/esm/components/use-form/use-form-schema/index.d.ts.map +1 -0
  140. package/esm/components/use-form/use-form-schema/index.js +2 -0
  141. package/esm/components/use-form/use-form.d.ts +4 -0
  142. package/esm/components/use-form/use-form.d.ts.map +1 -1
  143. package/esm/components/use-form/use-form.js +19 -9
  144. package/esm/components/use-form/use-form.type.d.ts +46 -39
  145. package/esm/components/use-form/use-form.type.d.ts.map +1 -1
  146. package/esm/components/use-input/use-input-number.d.ts.map +1 -1
  147. package/esm/components/use-input/use-input-number.js +3 -1
  148. package/esm/components/use-input/use-input-number.type.d.ts +1 -1
  149. package/esm/components/use-input/use-input-number.type.d.ts.map +1 -1
  150. package/esm/components/use-input/use-input.d.ts.map +1 -1
  151. package/esm/components/use-input/use-input.js +4 -1
  152. package/esm/components/use-pagination/use-pagination.d.ts.map +1 -1
  153. package/esm/components/use-pagination/use-pagination.js +2 -1
  154. package/esm/components/use-popup/use-popup.d.ts.map +1 -1
  155. package/esm/components/use-popup/use-popup.js +12 -24
  156. package/esm/components/use-select/use-select.type.d.ts +27 -18
  157. package/esm/components/use-select/use-select.type.d.ts.map +1 -1
  158. package/esm/components/use-table/use-table-virtual.d.ts +6 -1
  159. package/esm/components/use-table/use-table-virtual.d.ts.map +1 -1
  160. package/esm/components/use-table/use-table-virtual.js +5 -4
  161. package/esm/components/use-table/use-table.type.d.ts +70 -92
  162. package/esm/components/use-table/use-table.type.d.ts.map +1 -1
  163. package/esm/components/use-tree/use-tree-node.d.ts +7 -1
  164. package/esm/components/use-tree/use-tree-node.d.ts.map +1 -1
  165. package/esm/components/use-tree/use-tree-node.js +19 -1
  166. package/esm/components/use-tree/use-tree.d.ts.map +1 -1
  167. package/esm/components/use-tree/use-tree.js +26 -19
  168. package/esm/components/use-tree/use-tree.type.d.ts +7 -1
  169. package/esm/components/use-tree/use-tree.type.d.ts.map +1 -1
  170. package/esm/utils/dom/document.d.ts +4 -0
  171. package/esm/utils/dom/document.d.ts.map +1 -1
  172. package/esm/utils/dom/document.js +18 -1
  173. package/esm/utils/dom/element.d.ts +1 -0
  174. package/esm/utils/dom/element.d.ts.map +1 -1
  175. package/esm/utils/dom/element.js +4 -0
  176. package/esm/utils/highlight.d.ts.map +1 -1
  177. package/esm/utils/highlight.js +24 -10
  178. package/esm/utils/lazyload.d.ts.map +1 -1
  179. package/esm/utils/lazyload.js +33 -1
  180. package/esm/utils/object.d.ts +6 -0
  181. package/esm/utils/object.d.ts.map +1 -1
  182. package/esm/utils/object.js +20 -0
  183. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"use-filter.d.ts","sourceRoot":"","sources":["use-filter.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,QAAA,MAAM,SAAS;;;;;;;;;;kCAmBkD,OAAO;sBAiB1C,MAAM;sBAKN,MAAM,SAAQ,MAAM;;;CAsGjD,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"use-filter.d.ts","sourceRoot":"","sources":["use-filter.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,QAAA,MAAM,SAAS;;;;;;;;;;kCAmBkD,OAAO;sBAoB1C,MAAM;sBAKN,MAAM,SAAQ,MAAM;;;CAsGjD,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -58,7 +58,10 @@ var useFilter = function useFilter(props) {
58
58
  return (0, _utils.getKey)(keygen, item) === key;
59
59
  };
60
60
  var handleClearCreatedData = function handleClearCreatedData() {
61
- setCreatedData(undefined);
61
+ // why setTimeout: 避免回车时,新创建的数据走到了renderUnmatched逻辑中去
62
+ setTimeout(function () {
63
+ setCreatedData(undefined);
64
+ }, 0);
62
65
  };
63
66
  var handleCreate = function handleCreate(text) {
64
67
  var createFn = typeof onCreate === 'boolean' ? function (t) {
@@ -1,5 +1,6 @@
1
1
  interface UseCheckElementBorderWidthOptions {
2
2
  direction?: 'horizontal' | 'vertical';
3
+ enable?: boolean;
3
4
  }
4
5
  export declare const useCheckElementBorderWidth: (elementRef: React.RefObject<HTMLElement>, options?: UseCheckElementBorderWidthOptions) => number;
5
6
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"check-border.d.ts","sourceRoot":"","sources":["check-border.ts"],"names":[],"mappings":"AAEA,UAAU,iCAAiC;IAGzC,SAAS,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;CACvC;AAGD,eAAO,MAAM,0BAA0B,eACzB,MAAM,SAAS,CAAC,WAAW,CAAC,YAC/B,iCAAiC,KACzC,MAqBF,CAAC"}
1
+ {"version":3,"file":"check-border.d.ts","sourceRoot":"","sources":["check-border.ts"],"names":[],"mappings":"AAEA,UAAU,iCAAiC;IAGzC,SAAS,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACtC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAGD,eAAO,MAAM,0BAA0B,eACzB,MAAM,SAAS,CAAC,WAAW,CAAC,YAC/B,iCAAiC,KACzC,MAqBF,CAAC"}
@@ -20,14 +20,14 @@ var useCheckElementBorderWidth = exports.useCheckElementBorderWidth = function u
20
20
 
21
21
  // 获取指定方向上的border宽度之和
22
22
  var getBorderWidth = (0, _react.useCallback)(function () {
23
- if (elementRef.current) {
23
+ if (elementRef.current && options.enable) {
24
24
  var _options$direction = options.direction,
25
25
  direction = _options$direction === void 0 ? 'horizontal' : _options$direction;
26
26
  var style = window.getComputedStyle(elementRef.current);
27
27
  var _borderWidth = direction === 'horizontal' ? parseFloat(style.borderLeftWidth) + parseFloat(style.borderRightWidth) : parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth);
28
28
  setBorderWidth(_borderWidth);
29
29
  }
30
- }, [elementRef]);
30
+ }, [elementRef, options.enable]);
31
31
  (0, _react.useEffect)(function () {
32
32
  getBorderWidth();
33
33
  }, [getBorderWidth]);
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AAUpE,MAAM,MAAM,kBAAkB,GAC1B,aAAa,GACb,UAAU,GACV,cAAc,GACd,WAAW,GACX,MAAM,GACN,OAAO,CAAC;AACZ,MAAM,MAAM,gBAAgB,GACxB,aAAa,GACb,cAAc,GACd,UAAU,GACV,WAAW,GACX,KAAK,GACL,QAAQ,CAAC;AAYb,KAAK,YAAY,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,OAAO,CAAC;AACpE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,YAAY,GAAG,SAAS,CAAC;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IAEd,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAE1C,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAEzC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC3C,YAAY,EAAE,MAAM,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3B;AAsBD,eAAO,MAAM,gBAAgB,WAAY,mBAAmB;;CA4S3D,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AAUpE,MAAM,MAAM,kBAAkB,GAC1B,aAAa,GACb,UAAU,GACV,cAAc,GACd,WAAW,GACX,MAAM,GACN,OAAO,CAAC;AACZ,MAAM,MAAM,gBAAgB,GACxB,aAAa,GACb,cAAc,GACd,UAAU,GACV,WAAW,GACX,KAAK,GACL,QAAQ,CAAC;AAYb,KAAK,YAAY,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,OAAO,CAAC;AACpE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,YAAY,GAAG,SAAS,CAAC;IACnC,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IAEd,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAE1C,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAEzC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC3C,YAAY,EAAE,MAAM,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3B;AAsBD,eAAO,MAAM,gBAAgB,WAAY,mBAAmB;;CA+S3D,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -88,7 +88,8 @@ var usePositionStyle = exports.usePositionStyle = function usePositionStyle(conf
88
88
  enable: show && adjust
89
89
  });
90
90
  var parentElBorderWidth = (0, _checkBorder.useCheckElementBorderWidth)(parentElRef, {
91
- direction: 'horizontal'
91
+ direction: 'horizontal',
92
+ enable: show
92
93
  });
93
94
  var popupElSize = (0, _checkElementSize.useCheckElementSize)(popupElRef, {
94
95
  enable: show
@@ -244,7 +245,7 @@ var usePositionStyle = exports.usePositionStyle = function usePositionStyle(conf
244
245
  _v = _targetPosition$split4[1];
245
246
  if (_v === 'top') {
246
247
  style.top = rect.top - containerRect.top + containerScroll.top - (offset ? offset[1] : 0);
247
- setTransform(style, '');
248
+ setTransform(style, 'translateX(0%)');
248
249
  } else if (_v === 'bottom') {
249
250
  style.top = rect.bottom - containerRect.top + containerScroll.top + (offset ? offset[1] : 0);
250
251
  setTransform(style, 'translateY(-100%)');
@@ -273,10 +274,13 @@ var usePositionStyle = exports.usePositionStyle = function usePositionStyle(conf
273
274
  };
274
275
  var rect = context.parentRect;
275
276
  var needCheck = !show || !(0, _shallowEqual.default)(context.prevParentPosition, parentElNewPosition);
277
+ var _getScrollPosition = (0, _utils.getScrollPosition)(scrollElRef === null || scrollElRef === void 0 ? void 0 : scrollElRef.current),
278
+ scrollTop = _getScrollPosition.scrollTop,
279
+ scrollLeft = _getScrollPosition.scrollLeft;
276
280
  if (needCheck && scrollElRef !== null && scrollElRef !== void 0 && scrollElRef.current && (_scrollElRef$current = scrollElRef.current) !== null && _scrollElRef$current !== void 0 && _scrollElRef$current.contains(parentElRef.current)) {
277
281
  var _scrollElRef$current2;
278
282
  var visibleRect = ((_scrollElRef$current2 = scrollElRef.current) === null || _scrollElRef$current2 === void 0 ? void 0 : _scrollElRef$current2.getBoundingClientRect()) || {};
279
- if (rect.bottom < visibleRect.top || rect.top > visibleRect.bottom || rect.right < visibleRect.left || rect.left > visibleRect.right) {
283
+ if (rect.bottom < visibleRect.top || rect.top > visibleRect.bottom + scrollTop || rect.right < visibleRect.left || rect.left > visibleRect.right + scrollLeft) {
280
284
  return {
281
285
  style: hideStyle
282
286
  };
@@ -349,7 +353,9 @@ var usePositionStyle = exports.usePositionStyle = function usePositionStyle(conf
349
353
  }
350
354
 
351
355
  // 当父元素的滚动容器滚动时,判断是否需要更新弹出层位置,包括是否隐藏弹出层(通过hideStyle隐藏,不是show状态)
352
- context.prevParentPosition = parentElNewPosition;
356
+ if (show) {
357
+ context.prevParentPosition = parentElNewPosition;
358
+ }
353
359
  });
354
360
  (0, _react.useEffect)(updateStyle, [show, position, absolute, updateKey, fixedWidth, parentElNewPosition, popupElSize]);
355
361
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"use-check.d.ts","sourceRoot":"","sources":["use-check.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,QAAA,MAAM,QAAQ,UAAW,cAAc;;;;;qBAuDpB,gBAAgB,CAAC,gBAAgB,CAAC;0BArBT,MAAM,WAAW,CAAC,gBAAgB,CAAC;;;;;;;;;;;yBAnBa,gBAAgB;;;;CAiE3G,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"use-check.d.ts","sourceRoot":"","sources":["use-check.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,QAAA,MAAM,QAAQ,UAAW,cAAc;;;;;qBAgEpB,gBAAgB,CAAC,gBAAgB,CAAC;0BArBT,MAAM,WAAW,CAAC,gBAAgB,CAAC;;;;;;;;;;;yBA5Ba,gBAAgB;;;;CA0E3G,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -46,11 +46,19 @@ var useCheck = function useCheck(props) {
46
46
  var handleInputRef = (0, _useForkRef.default)(inputRef, inputRefPo);
47
47
  var handleClick = function handleClick(otherHandlers, needStopPropagation) {
48
48
  return function (event) {
49
- var _inputRef$current, _otherHandlers$onClic;
49
+ var _otherHandlers$onClic;
50
50
  if (needStopPropagation) {
51
51
  event.stopPropagation();
52
52
  }
53
- (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.click();
53
+
54
+ // 检查是否被 label 元素包裹,如果是则不需要手动触发 input.click()
55
+ // 因为 label 会自动将点击事件传递给内部的 input 元素
56
+ var target = event.currentTarget;
57
+ var isInsideLabel = target.closest('label') !== null;
58
+ if (!isInsideLabel) {
59
+ var _inputRef$current;
60
+ (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.click();
61
+ }
54
62
  otherHandlers === null || otherHandlers === void 0 || (_otherHandlers$onClic = otherHandlers.onClick) === null || _otherHandlers$onClic === void 0 || _otherHandlers$onClic.call(otherHandlers, event);
55
63
  };
56
64
  };
@@ -1 +1 @@
1
- {"version":3,"file":"use-datepicker-format.d.ts","sourceRoot":"","sources":["use-datepicker-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAE3D,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACzB,MAAM,8BAA8B,CAAC;AAKtC,eAAO,MAAM,qBAAqB,UACzB,mBAAmB,UAClB,MAAM,WACL;IACP,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,yBAOF,CAAC;AAEF,eAAO,MAAM,SAAS,WAAY,MAAM,GAAG,SAAS,QAAQ,MAAM,WAkBjE,CAAC;AA4BF,UAAU,eAAe;IACvB,OAAO,EAAE,CAAC,IAAI,GAAG,SAAS,CAAC,EAAE,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC3E,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,eAAO,MAAM,iBAAiB,SAAU,eAAe,2BAOtD,CAAC;AAEF,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;0BAuNe,gBAAgB;sCAsEJ,MAAM;iCAlCX,MAAM,SAAS,MAAM,eAAe,OAAO;+BA8B7C,MAAM,SAAS,MAAM;yCAtOnD,OAAO,GAAG,KAAK,GAAG,SAAS,QAAQ,MAAM,UAAU,IAAI,KAAK,OAAO;uCAWvE,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC,QAC3B,MAAM;kBACG,MAAM,SAAS;mBAAS,GAAG;;+BA4CrC,IAAI,YAAY,OAAO,GAAG,KAAK,GAAG,SAAS,gBAAgB,MAAM;;CA8O3E,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"use-datepicker-format.d.ts","sourceRoot":"","sources":["use-datepicker-format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAE3D,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACzB,MAAM,8BAA8B,CAAC;AAKtC,eAAO,MAAM,qBAAqB,UACzB,mBAAmB,UAClB,MAAM,WACL;IACP,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,yBAOF,CAAC;AAEF,eAAO,MAAM,SAAS,WAAY,MAAM,GAAG,SAAS,QAAQ,MAAM,WAkBjE,CAAC;AA4BF,UAAU,eAAe;IACvB,OAAO,EAAE,CAAC,IAAI,GAAG,SAAS,CAAC,EAAE,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC3E,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,eAAO,MAAM,iBAAiB,SAAU,eAAe,2BAOtD,CAAC;AAEF,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;0BA0Ne,gBAAgB;sCAsEJ,MAAM;iCAlCX,MAAM,SAAS,MAAM,eAAe,OAAO;+BA8B7C,MAAM,SAAS,MAAM;yCAzOnD,OAAO,GAAG,KAAK,GAAG,SAAS,QAAQ,MAAM,UAAU,IAAI,KAAK,OAAO;uCAWvE,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC,QAC3B,MAAM;kBACG,MAAM,SAAS;mBAAS,GAAG;;+BA4CrC,IAAI,YAAY,OAAO,GAAG,KAAK,GAAG,SAAS,gBAAgB,MAAM;;CAiP3E,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -231,6 +231,7 @@ var useDatePickerFormat = function useDatePickerFormat(props) {
231
231
  return getFormatValueArr(dateArr, props.formatResult);
232
232
  } else if (typeof props.formatResult === 'function') {
233
233
  return dateArr.map(function (item) {
234
+ if (!item) return '';
234
235
  return props.formatResult(item);
235
236
  });
236
237
  } else {
@@ -1,14 +1,16 @@
1
1
  import { UseTimeProps } from './use-time.type';
2
- declare const useTime: (props: UseTimeProps) => {
2
+ type TimeType = 'H' | 'h' | 'm' | 's' | 'ampm';
3
+ type TimesType = {
4
+ mode: TimeType;
3
5
  times: {
4
- mode: string;
5
- times: {
6
- str: string;
7
- date: Date;
8
- disabled: boolean;
9
- }[];
10
- currentIndex: number;
6
+ str: string;
7
+ date: Date;
8
+ disabled: boolean;
11
9
  }[];
10
+ currentIndex: number;
11
+ };
12
+ declare const useTime: (props: UseTimeProps) => {
13
+ times: TimesType[];
12
14
  func: {
13
15
  handleChange: (date: Date) => void;
14
16
  isDisabled: (date: Date, triggerType?: string) => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"use-time.d.ts","sourceRoot":"","sources":["use-time.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAK/C,QAAA,MAAM,OAAO,UAAW,YAAY;;;;iBA4HU,MAAM;kBAAQ,IAAI;sBAAY,OAAO;;;;;6BAvBrD,IAAI;2BAjEN,IAAI,gBAAgB,MAAM;;CA6IrD,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"use-time.d.ts","sourceRoot":"","sources":["use-time.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAI/C,KAAK,QAAQ,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,MAAM,CAAC;AAC/C,KAAK,SAAS,GAAG;IACf,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE;QACL,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,IAAI,CAAC;QACX,QAAQ,EAAE,OAAO,CAAC;KACnB,EAAE,CAAC;IACJ,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAKF,QAAA,MAAM,OAAO,UAAW,YAAY;;;6BAkHN,IAAI;2BAlEN,IAAI,gBAAgB,MAAM;;CA8IrD,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -7,6 +7,9 @@ exports.default = void 0;
7
7
  var _useLatestObj = _interopRequireDefault(require("../../common/use-latest-obj"));
8
8
  var _util = _interopRequireDefault(require("./util"));
9
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ var getStepIndex = function getStepIndex(index, step) {
11
+ return Math.floor(index / step);
12
+ };
10
13
  var useTime = function useTime(props) {
11
14
  var options = props.options,
12
15
  mi = props.min,
@@ -19,13 +22,24 @@ var useTime = function useTime(props) {
19
22
  _props$secondStep = props.secondStep,
20
23
  secondStep = _props$secondStep === void 0 ? 1 : _props$secondStep,
21
24
  staticMin = props.staticMin,
22
- staticMax = props.staticMax;
25
+ staticMax = props.staticMax,
26
+ position = props.position,
27
+ rangeDate = props.rangeDate;
23
28
  var min = _util.default.resetTimeByFormat(mi, format, options);
24
29
  var max = _util.default.resetTimeByFormat(ma, format, options);
25
30
  var current = props.value || _util.default.newDate(undefined, options);
26
- var getStepIndex = function getStepIndex(index, step) {
27
- return Math.floor(index / step);
28
- };
31
+ if (!props.value && typeof props.defaultTime === 'string' && /^\d{1,2}(:\d{2}(:\d{2})?)?$/.test(props.defaultTime)) {
32
+ var today = new Date();
33
+ var todayStr = today.getFullYear() + '-' + (today.getMonth() + 1) + '-' + today.getDate();
34
+ var timesStr = props.defaultTime.split(':');
35
+ var hStr = timesStr[0];
36
+ var mStr = timesStr[1] || '00';
37
+ var sStr = timesStr[2] || '00';
38
+ var timeStr = hStr + ':' + mStr + ':' + sStr;
39
+ var dayStr = todayStr + ' ' + timeStr;
40
+ var val = new Date(dayStr);
41
+ if (val) current = val;
42
+ }
29
43
  var time = {
30
44
  hour: _util.default.getDateInfo(current, 'hour', options),
31
45
  minute: _util.default.getDateInfo(current, 'minute', options),
@@ -45,7 +59,7 @@ var useTime = function useTime(props) {
45
59
  disabledTime = props.disabledTime;
46
60
  if (disabledTime) {
47
61
  var _time = _util.default.format(date, _util.default.TIME_FORMAT, options);
48
- if (typeof disabledTime === 'function') return disabledTime(_time);
62
+ if (typeof disabledTime === 'function') return disabledTime(_time, position, rangeDate === null || rangeDate === void 0 ? void 0 : rangeDate[0], rangeDate === null || rangeDate === void 0 ? void 0 : rangeDate[1]);
49
63
  return disabledTime === _time;
50
64
  }
51
65
  var isDis = disabled && typeof disabled === 'function' ? disabled(date) : false;
@@ -1,3 +1,4 @@
1
+ import { DateTimeType } from "./util";
1
2
  export interface UseTimeProps {
2
3
  format: string;
3
4
  options: {
@@ -11,9 +12,12 @@ export interface UseTimeProps {
11
12
  staticMin?: Date;
12
13
  staticMax?: Date;
13
14
  disabled?: boolean | ((date: Date) => boolean);
14
- disabledTime?: string | ((time: string) => boolean);
15
+ disabledTime?: string | ((time: string, type?: 'start' | 'end', value0?: Date, value1?: Date) => boolean);
15
16
  minuteStep?: number;
16
17
  hourStep?: number;
17
18
  secondStep?: number;
19
+ position?: 'start' | 'end';
20
+ rangeDate?: Array<Date | undefined>;
21
+ defaultTime?: DateTimeType;
18
22
  }
19
23
  //# sourceMappingURL=use-time.type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-time.type.d.ts","sourceRoot":"","sources":["use-time.type.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAChC,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC;IAC/C,YAAY,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
1
+ {"version":3,"file":"use-time.type.d.ts","sourceRoot":"","sources":["use-time.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAChC,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC;IAC/C,YAAY,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC;IAC1G,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAC3B,SAAS,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;IACpC,WAAW,CAAC,EAAE,YAAY,CAAC;CAC5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["util.ts"],"names":[],"mappings":"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"}
@@ -223,7 +223,16 @@ function toDate(day, options) {
223
223
  if (!day) return new Date('');
224
224
  if (day instanceof Date) return (0, _dayjs.default)(day).toDate();
225
225
  if (typeof day === 'number') return new Date(day);
226
- if (typeof day === 'string') return transDateWithZone((0, _dayjs.default)(day).toDate(), options, true);
226
+ if (typeof day === 'string') {
227
+ // 当 day 只有时间部分,没有日期部分时
228
+ if (/^\d{1,2}(:\d{2}(:\d{2})?)?$/.test(day)) {
229
+ var today = new Date();
230
+ var todayStr = today.getFullYear() + '-' + (today.getMonth() + 1) + '-' + today.getDate();
231
+ var dayStr = todayStr + ' ' + day;
232
+ return transDateWithZone((0, _dayjs.default)(dayStr).toDate(), options, true);
233
+ }
234
+ return transDateWithZone((0, _dayjs.default)(day).toDate(), options, true);
235
+ }
227
236
  return (0, _dayjs.default)(day).toDate();
228
237
  }
229
238
  function getDaysOfMonth(dirtyDate, options) {
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["Provider.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,eAAO,MAAM,QAAQ,UAAW,aAAa,4CAW5C,CAAC"}
1
+ {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["Provider.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,eAAO,MAAM,QAAQ,UAAW,aAAa,4CAa5C,CAAC"}
@@ -9,6 +9,7 @@ var _formBindContext = require("./form-bind-context");
9
9
  var _formFuncContext = require("./form-func-context");
10
10
  var _formConfigContext = require("./form-config-context");
11
11
  var _fieldsetContext = _interopRequireDefault(require("./use-form-fieldset/fieldset-context"));
12
+ var _formSchemaContext = require("./form-schema-context");
12
13
  var React = _interopRequireWildcard(require("react"));
13
14
  var _jsxRuntime = require("react/jsx-runtime");
14
15
  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); }
@@ -22,7 +23,8 @@ var Provider = exports.Provider = function Provider(props) {
22
23
  var children = props.children,
23
24
  formConfig = props.formConfig,
24
25
  formValue = props.formValue,
25
- formFunc = props.formFunc;
26
+ formFunc = props.formFunc,
27
+ formSchema = props.formSchema;
26
28
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_formFuncContext.FormFuncContext.Provider, {
27
29
  value: formFunc,
28
30
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_formBindContext.FormBindContext.Provider, {
@@ -31,7 +33,10 @@ var Provider = exports.Provider = function Provider(props) {
31
33
  value: topPath,
32
34
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_formConfigContext.FormConfigContext.Provider, {
33
35
  value: formConfig,
34
- children: children
36
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_formSchemaContext.FormSchemaContext.Provider, {
37
+ value: formSchema,
38
+ children: children
39
+ })
35
40
  })
36
41
  })
37
42
  })
@@ -0,0 +1,6 @@
1
+ import * as React from 'react';
2
+ import { SchemaBuilder } from './use-form-schema/form-schema-builder';
3
+ export type FormSchemaContextValueType = SchemaBuilder;
4
+ export declare const FormSchemaContext: React.Context<SchemaBuilder | null>;
5
+ export declare const useFormSchema: () => SchemaBuilder | null;
6
+ //# sourceMappingURL=form-schema-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-schema-context.d.ts","sourceRoot":"","sources":["form-schema-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE,MAAM,MAAM,0BAA0B,GAAG,aAAa,CAAA;AAEtD,eAAO,MAAM,iBAAiB,qCAA+D,CAAC;AAC9F,eAAO,MAAM,aAAa,4BAA4C,CAAC"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ "use client";
3
+
4
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.useFormSchema = exports.FormSchemaContext = void 0;
9
+ var React = _interopRequireWildcard(require("react"));
10
+ 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); }
11
+ 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; }
12
+ var FormSchemaContext = exports.FormSchemaContext = /*#__PURE__*/React.createContext(null);
13
+ var useFormSchema = exports.useFormSchema = function useFormSchema() {
14
+ return React.useContext(FormSchemaContext);
15
+ };
16
+ FormSchemaContext.displayName = 'FormSchemaContext';
@@ -3,8 +3,10 @@ export * from './use-form-item';
3
3
  export * from './use-form-fieldset';
4
4
  export * from './use-form-flow';
5
5
  export * from './use-form-context';
6
+ export * from './use-form-schema';
6
7
  export { default, default as useForm } from './use-form';
7
8
  export { useFormConfig } from './form-config-context';
8
9
  export { useFormFunc } from './form-func-context';
10
+ export { useFormSchema } from './form-schema-context';
9
11
  export type { BaseFormProps, FormCommonConfig, FormLabelConfig } from './use-form.type';
10
12
  //# sourceMappingURL=index.d.ts.map
@@ -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;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"}
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;AACnC,cAAc,mBAAmB,CAAC;AAElC,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,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC"}
@@ -7,7 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  var _exportNames = {
8
8
  useForm: true,
9
9
  useFormConfig: true,
10
- useFormFunc: true
10
+ useFormFunc: true,
11
+ useFormSchema: true
11
12
  };
12
13
  Object.defineProperty(exports, "default", {
13
14
  enumerable: true,
@@ -33,6 +34,12 @@ Object.defineProperty(exports, "useFormFunc", {
33
34
  return _formFuncContext.useFormFunc;
34
35
  }
35
36
  });
37
+ Object.defineProperty(exports, "useFormSchema", {
38
+ enumerable: true,
39
+ get: function get() {
40
+ return _formSchemaContext.useFormSchema;
41
+ }
42
+ });
36
43
  var _useFormControl = require("./use-form-control");
37
44
  Object.keys(_useFormControl).forEach(function (key) {
38
45
  if (key === "default" || key === "__esModule") return;
@@ -93,7 +100,20 @@ Object.keys(_useFormContext).forEach(function (key) {
93
100
  }
94
101
  });
95
102
  });
103
+ var _useFormSchema = require("./use-form-schema");
104
+ Object.keys(_useFormSchema).forEach(function (key) {
105
+ if (key === "default" || key === "__esModule") return;
106
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
107
+ if (key in exports && exports[key] === _useFormSchema[key]) return;
108
+ Object.defineProperty(exports, key, {
109
+ enumerable: true,
110
+ get: function get() {
111
+ return _useFormSchema[key];
112
+ }
113
+ });
114
+ });
96
115
  var _useForm = _interopRequireDefault(require("./use-form"));
97
116
  var _formConfigContext = require("./form-config-context");
98
117
  var _formFuncContext = require("./form-func-context");
118
+ var _formSchemaContext = require("./form-schema-context");
99
119
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -1 +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"}
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,CAG7E;AAED,wBAAgB,eAAe,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAG/C"}
@@ -8,13 +8,19 @@ exports.useFormInstance = useFormInstance;
8
8
  exports.useFormRef = useFormRef;
9
9
  var _react = _interopRequireDefault(require("react"));
10
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
12
+ 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."); }
13
+ 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); }
14
+ 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; }
15
+ 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; } }
16
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
11
17
  var FormContext = exports.FormContext = /*#__PURE__*/_react.default.createContext({});
12
18
  function useFormRef() {
13
- var ref = _react.default.useRef({});
14
- var setFormRef = function setFormRef(formRef) {
15
- ref.current = formRef;
16
- };
17
- return [ref.current, setFormRef];
19
+ var _React$useState = _react.default.useState({}),
20
+ _React$useState2 = _slicedToArray(_React$useState, 2),
21
+ formRef = _React$useState2[0],
22
+ setFormRef = _React$useState2[1];
23
+ return [formRef, setFormRef];
18
24
  }
19
25
  function useFormInstance() {
20
26
  var formCtx = _react.default.useContext(FormContext);
@@ -1,3 +1,4 @@
1
+ import { SchemaProperty } from './use-form-schema/form-schema-builder';
1
2
  export interface FormRef<Value = any> {
2
3
  /**
3
4
  * @en return form value
@@ -51,5 +52,10 @@ export interface FormRef<Value = any> {
51
52
  * @cn 滚动到指定字段
52
53
  */
53
54
  scrollToField: (name: string, scrollIntoViewOptions?: ScrollIntoViewOptions) => void;
55
+ /**
56
+ * @en get form schema
57
+ * @cn 获取表单的 schema
58
+ */
59
+ getFormSchema: () => SchemaProperty | undefined;
54
60
  }
55
61
  //# sourceMappingURL=use-form-context.type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-form-context.type.d.ts","sourceRoot":"","sources":["use-form-context.type.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,OAAO,CAAC,KAAK,GAAG,GAAG;IAClC;;;OAGG;IACH,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,GAAG,GAAG,KAAK,CAAC;IACzC;;;OAGG;IACH,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;IACzD;;;OAGG;IACH,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5D;;;OAGG;IACH,uBAAuB,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IACtE;;;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;IAC7C;;;OAGG;IACH,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,qBAAqB,CAAC,EAAE,qBAAqB,KAAK,IAAI,CAAC;CACtF"}
1
+ {"version":3,"file":"use-form-context.type.d.ts","sourceRoot":"","sources":["use-form-context.type.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAEvE,MAAM,WAAW,OAAO,CAAC,KAAK,GAAG,GAAG;IAClC;;;OAGG;IACH,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,GAAG,GAAG,KAAK,CAAC;IACzC;;;OAGG;IACH,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;IACzD;;;OAGG;IACH,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5D;;;OAGG;IACH,uBAAuB,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IACtE;;;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;IAC7C;;;OAGG;IACH,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,qBAAqB,CAAC,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAErF;;;OAGG;IACH,aAAa,EAAE,MAAM,cAAc,GAAG,SAAS,CAAC;CACjD"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-form-control.d.ts","sourceRoot":"","sources":["use-form-control.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,oBAAoB,EAAsB,MAAM,yBAAyB,CAAC;AA4BnF,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC;;kBAiJpC,CAAC,YAAY,GAAG,EAAE;;;;;EA4DrD"}
1
+ {"version":3,"file":"use-form-control.d.ts","sourceRoot":"","sources":["use-form-control.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,oBAAoB,EAAsB,MAAM,yBAAyB,CAAC;AA4BnF,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC;;kBA4JpC,CAAC,YAAY,GAAG,EAAE;;;;;EAiFrD"}
@@ -57,7 +57,8 @@ function useFormControl(props) {
57
57
  defaultValue = props.defaultValue,
58
58
  rules = props.rules,
59
59
  onError = props.onError,
60
- getValidateProps = props.getValidateProps;
60
+ getValidateProps = props.getValidateProps,
61
+ clearToUndefined = props.clearToUndefined;
61
62
  var _useFieldSetConsumer = (0, _fieldsetContext.useFieldSetConsumer)({
62
63
  name: props.name,
63
64
  bind: props.bind
@@ -104,7 +105,9 @@ function useFormControl(props) {
104
105
  var errors = arguments.length > 1 ? arguments[1] : undefined;
105
106
  var severErrors = arguments.length > 2 ? arguments[2] : undefined;
106
107
  if (!name) return;
107
- if ((0, _is.isArray)(name)) {
108
+ // 加入defaultValue的判断,让其只对 https://github.com/sheinsight/shineout-next/pull/742 的场景生效
109
+ // 如果不加入defaultValue的判断,会导致 8ea43144-36a5-403a-9147-59d54087a110 的问题
110
+ if ((0, _is.isArray)(name) && defaultValue !== undefined) {
108
111
  var _value = getValue(name, formValue);
109
112
  var _error = getError(name, errors, severErrors);
110
113
  if (_error !== errorState) {
@@ -115,7 +118,11 @@ function useFormControl(props) {
115
118
  var nextValue = [];
116
119
  name.forEach(function (n, index) {
117
120
  if (_value[index] === undefined && dv[index] !== undefined) {
118
- nextValue[index] = dv[index];
121
+ if (clearToUndefined) {
122
+ nextValue[index] = undefined;
123
+ } else {
124
+ nextValue[index] = dv[index];
125
+ }
119
126
  } else {
120
127
  nextValue[index] = _value[index];
121
128
  }
@@ -129,7 +136,11 @@ function useFormControl(props) {
129
136
  }
130
137
  if (!(0, _shallowEqual.shallowEqual)(_value2, latestInfo.valueState)) {
131
138
  if (_value2 === undefined && defaultValue !== undefined) {
132
- setValueState(defaultValue);
139
+ if (clearToUndefined) {
140
+ setValueState(undefined);
141
+ } else {
142
+ setValueState(defaultValue);
143
+ }
133
144
  } else {
134
145
  setValueState(_value2);
135
146
  }
@@ -222,8 +233,27 @@ function useFormControl(props) {
222
233
  if (onChangePo) onChangePo.apply(void 0, [v].concat(other));
223
234
  if (validateFieldSet) validateFieldSet();
224
235
  });
236
+ var initError = (0, _usePersistFn.default)(function () {
237
+ var errors = formFunc === null || formFunc === void 0 ? void 0 : formFunc.getErrors();
238
+ if ((0, _is.isArray)(name)) {
239
+ for (var i = 0; i < name.length; i++) {
240
+ var n = name[i];
241
+ var currentErrorInForm = errors === null || errors === void 0 ? void 0 : errors[n];
242
+ if (currentErrorInForm) {
243
+ setErrorState(currentErrorInForm);
244
+ break;
245
+ }
246
+ }
247
+ } else {
248
+ var _currentErrorInForm = errors === null || errors === void 0 ? void 0 : errors[name];
249
+ if (_currentErrorInForm) {
250
+ setErrorState(_currentErrorInForm);
251
+ }
252
+ }
253
+ });
225
254
  (0, _react.useEffect)(function () {
226
255
  if (inForm && controlFunc) {
256
+ initError();
227
257
  if ((0, _is.isArray)(name)) {
228
258
  var dv = (0, _is.isArray)(defaultValue) ? defaultValue : [];
229
259
  name.forEach(function (n, index) {
@@ -24,14 +24,20 @@ export interface BaseFormControlProps<T> {
24
24
  */
25
25
  onError: ((error: Error | undefined) => void) | undefined;
26
26
  /**
27
- * @en When the value changes, it will link to verify the fields in the bind, which needs to be used with Form
28
- * @cn 当值改变是会联动校验 bind 中的字段, 需要配合 Form 使用
27
+ * @en Array of field names that should be re-validated when current field's value changes. Enables field linkage validation for dependent fields. Commonly used in scenarios like password confirmation, related dropdown selections, or interdependent form calculations
28
+ * @cn 当前字段值改变时需要重新校验的字段名称数组。启用字段间的联动校验功能。常用于密码确认、关联下拉选择或相互依赖的表单计算等场景
29
29
  */
30
30
  bind: string[] | undefined;
31
31
  /**
32
32
  * @private 内部属性 for validate
33
33
  */
34
34
  getValidateProps: (() => ObjectType) | undefined;
35
+ /**
36
+ * @en If set to true, the form will not automatically delete the data after the component is uninstalled
37
+ * @cn 设置为 true 组件后,有defaultValue时,允许undefined作为最终值
38
+ * @version 3.8.0
39
+ */
40
+ clearToUndefined?: boolean;
35
41
  }
36
42
  export interface FormControlContext {
37
43
  mounted: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"use-form-control.type.d.ts","sourceRoot":"","sources":["use-form-control.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB;;;OAGG;IACH,YAAY,EAAE,CAAC,GAAG,SAAS,CAAC;IAC5B,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC5D;;;OAGG;IACH,WAAW,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC;;;;OAIG;IACH,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACnC;;OAEG;IACH,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC1D;;;OAGG;IACH,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC3B;;OAEG;IACH,gBAAgB,EAAE,CAAC,MAAM,UAAU,CAAC,GAAG,SAAS,CAAC;CAClD;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;CAClB"}
1
+ {"version":3,"file":"use-form-control.type.d.ts","sourceRoot":"","sources":["use-form-control.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB;;;OAGG;IACH,YAAY,EAAE,CAAC,GAAG,SAAS,CAAC;IAC5B,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC5D;;;OAGG;IACH,WAAW,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC;;;;OAIG;IACH,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACnC;;OAEG;IACH,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC1D;;;OAGG;IACH,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC3B;;OAEG;IACH,gBAAgB,EAAE,CAAC,MAAM,UAAU,CAAC,GAAG,SAAS,CAAC;IAEjD;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;CAClB"}
@@ -1,7 +1,15 @@
1
1
  export interface FormDatum {
2
+ /**
3
+ * @en Set form field values. Accepts either an object to set multiple fields at once, or a field name with value to set a single field. Field names support nested paths like "user.name" or "items[0].price". Changes trigger form validation and re-render of affected Flow components
4
+ * @cn 设置表单字段值。可以接收对象以批量设置多个字段,或接收字段名和值以设置单个字段。字段名支持嵌套路径如 "user.name" 或 "items[0].price"。更改会触发表单校验和相关 Flow 组件的重新渲染
5
+ */
2
6
  set: (vals: {
3
7
  [name: string]: any;
4
8
  } | string, value?: any) => void;
9
+ /**
10
+ * @en Get form field value by name. When no name is provided, returns the entire form data object. Supports nested paths like "user.name" or "items[0].price" to access deeply nested values
11
+ * @cn 根据名称获取表单字段值。未提供名称时返回整个表单数据对象。支持嵌套路径如 "user.name" 或 "items[0].price" 来访问深层嵌套的值
12
+ */
5
13
  get: (name?: string) => any;
6
14
  }
7
15
  declare const useFormDatum: () => FormDatum | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"use-form-datum.d.ts","sourceRoot":"","sources":["use-form-datum.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,CAAC,IAAI,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IACnE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,GAAG,CAAC;CAC7B;AAED,QAAA,MAAM,YAAY,6BAgBjB,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"use-form-datum.d.ts","sourceRoot":"","sources":["use-form-datum.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,SAAS;IACxB;;;OAGG;IACH,GAAG,EAAE,CAAC,IAAI,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IACnE;;;OAGG;IACH,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,GAAG,CAAC;CAC7B;AAED,QAAA,MAAM,YAAY,6BAgBjB,CAAC;AAEF,eAAe,YAAY,CAAC"}