@sheinx/hooks 3.8.0-beta.2 → 3.8.0-beta.21

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 (197) hide show
  1. package/cjs/common/use-position-style/check-border.d.ts +1 -0
  2. package/cjs/common/use-position-style/check-border.d.ts.map +1 -1
  3. package/cjs/common/use-position-style/check-border.js +2 -2
  4. package/cjs/common/use-position-style/index.d.ts.map +1 -1
  5. package/cjs/common/use-position-style/index.js +10 -4
  6. package/cjs/components/use-datepicker/use-date.d.ts.map +1 -1
  7. package/cjs/components/use-datepicker/use-date.js +12 -4
  8. package/cjs/components/use-datepicker/use-date.type.d.ts +2 -1
  9. package/cjs/components/use-datepicker/use-date.type.d.ts.map +1 -1
  10. package/cjs/components/use-datepicker/use-datepicker-format.d.ts +2 -1
  11. package/cjs/components/use-datepicker/use-datepicker-format.d.ts.map +1 -1
  12. package/cjs/components/use-datepicker/use-datepicker-format.js +22 -5
  13. package/cjs/components/use-datepicker/use-datepicker-range.js +2 -2
  14. package/cjs/components/use-datepicker/use-time.d.ts.map +1 -1
  15. package/cjs/components/use-datepicker/use-time.js +4 -2
  16. package/cjs/components/use-datepicker/use-time.type.d.ts +3 -1
  17. package/cjs/components/use-datepicker/use-time.type.d.ts.map +1 -1
  18. package/cjs/components/use-datepicker/util.d.ts +7 -1
  19. package/cjs/components/use-datepicker/util.d.ts.map +1 -1
  20. package/cjs/components/use-datepicker/util.js +11 -1
  21. package/cjs/components/use-form/Provider.d.ts.map +1 -1
  22. package/cjs/components/use-form/Provider.js +7 -2
  23. package/cjs/components/use-form/form-schema-context.d.ts +6 -0
  24. package/cjs/components/use-form/form-schema-context.d.ts.map +1 -0
  25. package/cjs/components/use-form/form-schema-context.js +16 -0
  26. package/cjs/components/use-form/index.d.ts +2 -0
  27. package/cjs/components/use-form/index.d.ts.map +1 -1
  28. package/cjs/components/use-form/index.js +21 -1
  29. package/cjs/components/use-form/use-form-context.d.ts.map +1 -1
  30. package/cjs/components/use-form/use-form-context.js +11 -5
  31. package/cjs/components/use-form/use-form-context.type.d.ts +6 -0
  32. package/cjs/components/use-form/use-form-context.type.d.ts.map +1 -1
  33. package/cjs/components/use-form/use-form-control/use-form-control.d.ts.map +1 -1
  34. package/cjs/components/use-form/use-form-control/use-form-control.js +12 -3
  35. package/cjs/components/use-form/use-form-control/use-form-control.type.d.ts +8 -2
  36. package/cjs/components/use-form/use-form-control/use-form-control.type.d.ts.map +1 -1
  37. package/cjs/components/use-form/use-form-flow/use-form-datum.d.ts +8 -0
  38. package/cjs/components/use-form/use-form-flow/use-form-datum.d.ts.map +1 -1
  39. package/cjs/components/use-form/use-form-item/form-item-context.d.ts +1 -0
  40. package/cjs/components/use-form/use-form-item/form-item-context.d.ts.map +1 -1
  41. package/cjs/components/use-form/use-form-item/form-item-context.js +2 -1
  42. package/cjs/components/use-form/use-form-item/index.d.ts +1 -0
  43. package/cjs/components/use-form/use-form-item/index.d.ts.map +1 -1
  44. package/cjs/components/use-form/use-form-item/index.js +7 -0
  45. package/cjs/components/use-form/use-form-schema/form-schema-builder.d.ts +49 -0
  46. package/cjs/components/use-form/use-form-schema/form-schema-builder.d.ts.map +1 -0
  47. package/cjs/components/use-form/use-form-schema/form-schema-builder.js +311 -0
  48. package/cjs/components/use-form/use-form-schema/index.d.ts +3 -0
  49. package/cjs/components/use-form/use-form-schema/index.d.ts.map +1 -0
  50. package/cjs/components/use-form/use-form-schema/index.js +13 -0
  51. package/cjs/components/use-form/use-form.d.ts +4 -0
  52. package/cjs/components/use-form/use-form.d.ts.map +1 -1
  53. package/cjs/components/use-form/use-form.js +22 -11
  54. package/cjs/components/use-form/use-form.type.d.ts +46 -39
  55. package/cjs/components/use-form/use-form.type.d.ts.map +1 -1
  56. package/cjs/components/use-input/use-input-format.d.ts.map +1 -1
  57. package/cjs/components/use-input/use-input-format.js +2 -1
  58. package/cjs/components/use-input/use-input.d.ts.map +1 -1
  59. package/cjs/components/use-input/use-input.js +4 -1
  60. package/cjs/components/use-pagination/use-pagination.d.ts.map +1 -1
  61. package/cjs/components/use-pagination/use-pagination.js +2 -1
  62. package/cjs/components/use-popup/use-popup.d.ts.map +1 -1
  63. package/cjs/components/use-popup/use-popup.js +7 -4
  64. package/cjs/components/use-table/use-table-virtual.d.ts +2 -1
  65. package/cjs/components/use-table/use-table-virtual.d.ts.map +1 -1
  66. package/cjs/components/use-table/use-table-virtual.js +3 -3
  67. package/cjs/components/use-table/use-table.type.d.ts +70 -92
  68. package/cjs/components/use-table/use-table.type.d.ts.map +1 -1
  69. package/cjs/components/use-transfer/index.d.ts +1 -0
  70. package/cjs/components/use-transfer/index.d.ts.map +1 -1
  71. package/cjs/components/use-transfer/index.js +15 -0
  72. package/cjs/components/use-transfer/transfer-context.d.ts +7 -0
  73. package/cjs/components/use-transfer/transfer-context.d.ts.map +1 -0
  74. package/cjs/components/use-transfer/transfer-context.js +12 -0
  75. package/cjs/components/use-tree/use-tree-node.d.ts +7 -1
  76. package/cjs/components/use-tree/use-tree-node.d.ts.map +1 -1
  77. package/cjs/components/use-tree/use-tree-node.js +19 -1
  78. package/cjs/components/use-tree/use-tree.d.ts.map +1 -1
  79. package/cjs/components/use-tree/use-tree.js +14 -9
  80. package/cjs/components/use-tree/use-tree.type.d.ts +7 -1
  81. package/cjs/components/use-tree/use-tree.type.d.ts.map +1 -1
  82. package/cjs/utils/dom/document.d.ts +4 -0
  83. package/cjs/utils/dom/document.d.ts.map +1 -1
  84. package/cjs/utils/dom/document.js +19 -2
  85. package/cjs/utils/dom/element.d.ts +1 -0
  86. package/cjs/utils/dom/element.d.ts.map +1 -1
  87. package/cjs/utils/dom/element.js +5 -1
  88. package/cjs/utils/highlight.d.ts.map +1 -1
  89. package/cjs/utils/highlight.js +24 -11
  90. package/cjs/utils/number.d.ts +10 -0
  91. package/cjs/utils/number.d.ts.map +1 -1
  92. package/cjs/utils/number.js +99 -1
  93. package/cjs/utils/object.d.ts +6 -0
  94. package/cjs/utils/object.d.ts.map +1 -1
  95. package/cjs/utils/object.js +21 -1
  96. package/cjs/utils/shallow-equal.d.ts +1 -0
  97. package/cjs/utils/shallow-equal.d.ts.map +1 -1
  98. package/cjs/utils/shallow-equal.js +9 -0
  99. package/esm/common/use-position-style/check-border.d.ts +1 -0
  100. package/esm/common/use-position-style/check-border.d.ts.map +1 -1
  101. package/esm/common/use-position-style/check-border.js +2 -2
  102. package/esm/common/use-position-style/index.d.ts.map +1 -1
  103. package/esm/common/use-position-style/index.js +11 -5
  104. package/esm/components/use-datepicker/use-date.d.ts.map +1 -1
  105. package/esm/components/use-datepicker/use-date.js +12 -4
  106. package/esm/components/use-datepicker/use-date.type.d.ts +2 -1
  107. package/esm/components/use-datepicker/use-date.type.d.ts.map +1 -1
  108. package/esm/components/use-datepicker/use-datepicker-format.d.ts +2 -1
  109. package/esm/components/use-datepicker/use-datepicker-format.d.ts.map +1 -1
  110. package/esm/components/use-datepicker/use-datepicker-format.js +19 -5
  111. package/esm/components/use-datepicker/use-datepicker-range.js +2 -2
  112. package/esm/components/use-datepicker/use-time.d.ts.map +1 -1
  113. package/esm/components/use-datepicker/use-time.js +4 -2
  114. package/esm/components/use-datepicker/use-time.type.d.ts +3 -1
  115. package/esm/components/use-datepicker/use-time.type.d.ts.map +1 -1
  116. package/esm/components/use-datepicker/util.d.ts +7 -1
  117. package/esm/components/use-datepicker/util.d.ts.map +1 -1
  118. package/esm/components/use-datepicker/util.js +11 -1
  119. package/esm/components/use-form/Provider.d.ts.map +1 -1
  120. package/esm/components/use-form/Provider.js +7 -2
  121. package/esm/components/use-form/form-schema-context.d.ts +6 -0
  122. package/esm/components/use-form/form-schema-context.d.ts.map +1 -0
  123. package/esm/components/use-form/form-schema-context.js +8 -0
  124. package/esm/components/use-form/index.d.ts +2 -0
  125. package/esm/components/use-form/index.d.ts.map +1 -1
  126. package/esm/components/use-form/index.js +3 -1
  127. package/esm/components/use-form/use-form-context.d.ts.map +1 -1
  128. package/esm/components/use-form/use-form-context.js +11 -5
  129. package/esm/components/use-form/use-form-context.type.d.ts +6 -0
  130. package/esm/components/use-form/use-form-context.type.d.ts.map +1 -1
  131. package/esm/components/use-form/use-form-control/use-form-control.d.ts.map +1 -1
  132. package/esm/components/use-form/use-form-control/use-form-control.js +12 -3
  133. package/esm/components/use-form/use-form-control/use-form-control.type.d.ts +8 -2
  134. package/esm/components/use-form/use-form-control/use-form-control.type.d.ts.map +1 -1
  135. package/esm/components/use-form/use-form-flow/use-form-datum.d.ts +8 -0
  136. package/esm/components/use-form/use-form-flow/use-form-datum.d.ts.map +1 -1
  137. package/esm/components/use-form/use-form-item/form-item-context.d.ts +1 -0
  138. package/esm/components/use-form/use-form-item/form-item-context.d.ts.map +1 -1
  139. package/esm/components/use-form/use-form-item/form-item-context.js +2 -1
  140. package/esm/components/use-form/use-form-item/index.d.ts +1 -0
  141. package/esm/components/use-form/use-form-item/index.d.ts.map +1 -1
  142. package/esm/components/use-form/use-form-item/index.js +2 -1
  143. package/esm/components/use-form/use-form-schema/form-schema-builder.d.ts +49 -0
  144. package/esm/components/use-form/use-form-schema/form-schema-builder.d.ts.map +1 -0
  145. package/esm/components/use-form/use-form-schema/form-schema-builder.js +305 -0
  146. package/esm/components/use-form/use-form-schema/index.d.ts +3 -0
  147. package/esm/components/use-form/use-form-schema/index.d.ts.map +1 -0
  148. package/esm/components/use-form/use-form-schema/index.js +2 -0
  149. package/esm/components/use-form/use-form.d.ts +4 -0
  150. package/esm/components/use-form/use-form.d.ts.map +1 -1
  151. package/esm/components/use-form/use-form.js +22 -11
  152. package/esm/components/use-form/use-form.type.d.ts +46 -39
  153. package/esm/components/use-form/use-form.type.d.ts.map +1 -1
  154. package/esm/components/use-input/use-input-format.d.ts.map +1 -1
  155. package/esm/components/use-input/use-input-format.js +2 -1
  156. package/esm/components/use-input/use-input.d.ts.map +1 -1
  157. package/esm/components/use-input/use-input.js +4 -1
  158. package/esm/components/use-pagination/use-pagination.d.ts.map +1 -1
  159. package/esm/components/use-pagination/use-pagination.js +2 -1
  160. package/esm/components/use-popup/use-popup.d.ts.map +1 -1
  161. package/esm/components/use-popup/use-popup.js +7 -4
  162. package/esm/components/use-table/use-table-virtual.d.ts +2 -1
  163. package/esm/components/use-table/use-table-virtual.d.ts.map +1 -1
  164. package/esm/components/use-table/use-table-virtual.js +3 -3
  165. package/esm/components/use-table/use-table.type.d.ts +70 -92
  166. package/esm/components/use-table/use-table.type.d.ts.map +1 -1
  167. package/esm/components/use-transfer/index.d.ts +1 -0
  168. package/esm/components/use-transfer/index.d.ts.map +1 -1
  169. package/esm/components/use-transfer/index.js +1 -0
  170. package/esm/components/use-transfer/transfer-context.d.ts +7 -0
  171. package/esm/components/use-transfer/transfer-context.d.ts.map +1 -0
  172. package/esm/components/use-transfer/transfer-context.js +6 -0
  173. package/esm/components/use-tree/use-tree-node.d.ts +7 -1
  174. package/esm/components/use-tree/use-tree-node.d.ts.map +1 -1
  175. package/esm/components/use-tree/use-tree-node.js +19 -1
  176. package/esm/components/use-tree/use-tree.d.ts.map +1 -1
  177. package/esm/components/use-tree/use-tree.js +14 -9
  178. package/esm/components/use-tree/use-tree.type.d.ts +7 -1
  179. package/esm/components/use-tree/use-tree.type.d.ts.map +1 -1
  180. package/esm/utils/dom/document.d.ts +4 -0
  181. package/esm/utils/dom/document.d.ts.map +1 -1
  182. package/esm/utils/dom/document.js +18 -1
  183. package/esm/utils/dom/element.d.ts +1 -0
  184. package/esm/utils/dom/element.d.ts.map +1 -1
  185. package/esm/utils/dom/element.js +4 -0
  186. package/esm/utils/highlight.d.ts.map +1 -1
  187. package/esm/utils/highlight.js +24 -10
  188. package/esm/utils/number.d.ts +10 -0
  189. package/esm/utils/number.d.ts.map +1 -1
  190. package/esm/utils/number.js +98 -1
  191. package/esm/utils/object.d.ts +6 -0
  192. package/esm/utils/object.d.ts.map +1 -1
  193. package/esm/utils/object.js +20 -0
  194. package/esm/utils/shallow-equal.d.ts +1 -0
  195. package/esm/utils/shallow-equal.d.ts.map +1 -1
  196. package/esm/utils/shallow-equal.js +8 -0
  197. package/package.json +3 -3
@@ -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-date.d.ts","sourceRoot":"","sources":["use-date.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAU/C,QAAA,MAAM,OAAO,UAAW,YAAY;;;;;;;;;;wBAmBX,IAAI;2BAkDD,IAAI;yBAkBN,IAAI;0BAkDH,IAAI;+BAxEC,IAAI;+BAiDJ,IAAI,YAAY,OAAO;0BAnB5B,IAAI;2BAIH,IAAI;;gCAIC,IAAI;;CAiFpC,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"use-date.d.ts","sourceRoot":"","sources":["use-date.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAU/C,QAAA,MAAM,OAAO,UAAW,YAAY;;;;;;;;;;wBAoBX,IAAI;2BAkDD,IAAI;yBAkBN,IAAI;0BAgEH,IAAI;+BAtFC,IAAI;+BAiDJ,IAAI,YAAY,OAAO;0BAnB5B,IAAI;2BAIH,IAAI;;gCAIC,IAAI;;CA+FpC,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -28,14 +28,16 @@ var useDate = function useDate(props) {
28
28
  cachedDays: []
29
29
  }),
30
30
  context = _useRef.current;
31
- var current = props.current === undefined ? currentState : props.current;
31
+ var current = props.current === undefined || !props.current ? currentState : props.current;
32
32
  var setCurrent = function setCurrent(date) {
33
33
  var _props$onCurrentChang2;
34
34
  if (props.current !== undefined) {
35
35
  var _props$onCurrentChang;
36
36
  (_props$onCurrentChang = props.onCurrentChange) === null || _props$onCurrentChang === void 0 || _props$onCurrentChang.call(props, date);
37
37
  } else {
38
- setCurrentState(date);
38
+ if (date) {
39
+ setCurrentState(date);
40
+ }
39
41
  }
40
42
  (_props$onCurrentChang2 = props.onCurrentChange) === null || _props$onCurrentChang2 === void 0 || _props$onCurrentChang2.call(props, date);
41
43
  };
@@ -110,9 +112,15 @@ var useDate = function useDate(props) {
110
112
  var _props$onChange;
111
113
  if (isDisabled(date)) return;
112
114
  var newDate = getDateWithTime(date);
113
- props === null || props === void 0 || props.onClearInputArr(position === 'start' ? 0 : 1);
115
+ var index = position === 'start' ? 0 : 1;
116
+ if (props.allowSingle && props.rangeDate && Array.isArray(props.rangeDate) && props.rangeDate[index] && _util.default.clearHMS(newDate, options).getTime() === _util.default.clearHMS(props.rangeDate[index], options).getTime()) {
117
+ newDate = '';
118
+ }
119
+ props === null || props === void 0 || props.onClearInputArr(index);
114
120
  (_props$onChange = props.onChange) === null || _props$onChange === void 0 || _props$onChange.call(props, newDate, noClose);
115
- setCurrent(newDate);
121
+ if (newDate) {
122
+ setCurrent(newDate);
123
+ }
116
124
  };
117
125
  var getTimeStr = function getTimeStr() {
118
126
  var format = props.format,
@@ -6,7 +6,8 @@ export interface UseDateProps {
6
6
  onCurrentChange?: (date: Date) => void;
7
7
  onClearInputArr: (index?: number | undefined) => void;
8
8
  value?: Date;
9
- onChange?: (date: Date, noClose?: boolean) => void;
9
+ allowSingle?: boolean;
10
+ onChange?: (date: Date | string, noClose?: boolean) => void;
10
11
  min?: Date;
11
12
  max?: Date;
12
13
  position?: 'start' | 'end';
@@ -1 +1 @@
1
- {"version":3,"file":"use-date.type.d.ts","sourceRoot":"","sources":["use-date.type.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACvC,eAAe,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IACtD,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACnD,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,QAAQ,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC;IAC/C,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACrC,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH"}
1
+ {"version":3,"file":"use-date.type.d.ts","sourceRoot":"","sources":["use-date.type.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;IACpC,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACvC,eAAe,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IACtD,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5D,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,QAAQ,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC;IAC/C,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACrC,OAAO,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH"}
@@ -36,7 +36,8 @@ declare const useDatePickerFormat: <Value extends DatePickerValueType>(props: Us
36
36
  setTargetArr: React.Dispatch<React.SetStateAction<(Date | undefined)[]>>;
37
37
  handleClear: (e?: React.MouseEvent) => void;
38
38
  handleClearInputArr: (index?: number) => void;
39
- handleInputChange: (str: string, index: number) => void;
39
+ handleInputChange: (str: string, index: number, isFromBlur?: boolean) => void;
40
+ handleInputBlur: (str: string, index: number) => void;
40
41
  registerModeDisabled: (position: 'start' | 'end' | undefined, mode: string, fn: (d: Date) => boolean) => void;
41
42
  setCurrentArrWithParams: (arg: React.SetStateAction<Date[]>, type: string, quick: {
42
43
  name: React.ReactNode;
@@ -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;;;;;;;;;;;;;;;;;0BA6Me,gBAAgB;sCAiEJ,MAAM;iCA7BX,MAAM,SAAS,MAAM;yCA9LrD,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;;CA8N3E,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"}
@@ -1,14 +1,17 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.getFormatValueArr = exports.getFormat = exports.default = exports.convertValueToDateArr = void 0;
7
8
  var _react = require("react");
8
9
  var _util = _interopRequireDefault(require("./util"));
9
- var _shallowEqual = _interopRequireDefault(require("../../utils/shallow-equal"));
10
+ var _shallowEqual = _interopRequireWildcard(require("../../utils/shallow-equal"));
10
11
  var _usePersistFn = require("../../common/use-persist-fn");
11
12
  var _useLatestObj = _interopRequireDefault(require("../../common/use-latest-obj"));
13
+ 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); }
14
+ 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
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
16
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
14
17
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -228,6 +231,7 @@ var useDatePickerFormat = function useDatePickerFormat(props) {
228
231
  return getFormatValueArr(dateArr, props.formatResult);
229
232
  } else if (typeof props.formatResult === 'function') {
230
233
  return dateArr.map(function (item) {
234
+ if (!item) return '';
231
235
  return props.formatResult(item);
232
236
  });
233
237
  } else {
@@ -249,8 +253,15 @@ var useDatePickerFormat = function useDatePickerFormat(props) {
249
253
  }
250
254
  var formatValue = getFormatValueArr(dateArr);
251
255
  var v = range ? formatValue : formatValue[0];
252
- if (!(0, _shallowEqual.default)(v, value)) {
253
- onChange === null || onChange === void 0 || onChange(v);
256
+ if (Array.isArray(value) && value.length && Array.isArray(v) && v.length) {
257
+ // 针对 range 的情况,['2025-01-01',''] ['2025-01-01',undefined] 无法通过 shallowEqual 出来,这边需要放行
258
+ if (!(0, _shallowEqual.shallowEqualExceptFalsely)(v[0], value[0]) || !(0, _shallowEqual.shallowEqualExceptFalsely)(v[1], value[1])) {
259
+ onChange === null || onChange === void 0 || onChange(v);
260
+ }
261
+ } else {
262
+ if (!(0, _shallowEqual.default)(v, value)) {
263
+ onChange === null || onChange === void 0 || onChange(v);
264
+ }
254
265
  }
255
266
  };
256
267
  var getDateArr = function getDateArr() {
@@ -323,9 +334,9 @@ var useDatePickerFormat = function useDatePickerFormat(props) {
323
334
  }
324
335
  (_props$onClear = props.onClear) === null || _props$onClear === void 0 || _props$onClear.call(props);
325
336
  });
326
- var handleInputChange = (0, _usePersistFn.usePersistFn)(function (str, index) {
337
+ var handleInputChange = (0, _usePersistFn.usePersistFn)(function (str, index, isFromBlur) {
327
338
  // 比较 日期字符串是否符合format格式, 如果符合返回 true 否则返回 false
328
- var isValid = _util.default.isValidString(str, format);
339
+ var isValid = _util.default.isValidString(str, format, isFromBlur);
329
340
  if (!isValid) return;
330
341
  var date = _util.default.toDateWithFormat(str, format, undefined, options);
331
342
  setInputArr(function (prev) {
@@ -349,6 +360,11 @@ var useDatePickerFormat = function useDatePickerFormat(props) {
349
360
  return arr;
350
361
  });
351
362
  });
363
+
364
+ // 失焦时,需要宽松模式校验,eg: 2025-06-16 18:00 和 2025-06-16 18 都可以校验通过
365
+ var handleInputBlur = (0, _usePersistFn.usePersistFn)(function (str, index) {
366
+ handleInputChange(str, index, true);
367
+ });
352
368
  var handleClearInputArr = (0, _usePersistFn.usePersistFn)(function (index) {
353
369
  if (index !== undefined) {
354
370
  setInputArr(function (prev) {
@@ -392,6 +408,7 @@ var useDatePickerFormat = function useDatePickerFormat(props) {
392
408
  handleClear: handleClear,
393
409
  handleClearInputArr: handleClearInputArr,
394
410
  handleInputChange: handleInputChange,
411
+ handleInputBlur: handleInputBlur,
395
412
  registerModeDisabled: registerModeDisabled,
396
413
  setCurrentArrWithParams: setCurrentArrWithParams,
397
414
  isDisabledDate: isDisabledDate
@@ -37,7 +37,7 @@ var useRangePick = function useRangePick(props) {
37
37
  setDateArr(function (arr) {
38
38
  var newArr = _toConsumableArray(arr);
39
39
  newArr[index] = date;
40
- if (range && index === 0 && newArr[1]) {
40
+ if (date && range && index === 0 && newArr[1]) {
41
41
  if (typeof range === 'number') {
42
42
  var rangeMax = _util.default.addSeconds(date, range, options);
43
43
  if (rangeMax.getTime() < newArr[1].getTime()) {
@@ -66,7 +66,7 @@ var useRangePick = function useRangePick(props) {
66
66
  var newArr = _toConsumableArray(arr);
67
67
  newArr[index] = date;
68
68
  var modeCache = context.modeCache;
69
- if (modeCache[0] === modeCache[1]) {
69
+ if (date && modeCache[0] === modeCache[1]) {
70
70
  var mode = modeCache[0];
71
71
  if (range && index === 0 && newArr[1]) {
72
72
  if (mode === 'year') {
@@ -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;AAK/C,QAAA,MAAM,OAAO,UAAW,YAAY;;;;iBA+HU,MAAM;kBAAQ,IAAI;sBAAY,OAAO;;;;;6BAvBrD,IAAI;2BAlEN,IAAI,gBAAgB,MAAM;;CA8IrD,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -19,7 +19,9 @@ var useTime = function useTime(props) {
19
19
  _props$secondStep = props.secondStep,
20
20
  secondStep = _props$secondStep === void 0 ? 1 : _props$secondStep,
21
21
  staticMin = props.staticMin,
22
- staticMax = props.staticMax;
22
+ staticMax = props.staticMax,
23
+ position = props.position,
24
+ rangeDate = props.rangeDate;
23
25
  var min = _util.default.resetTimeByFormat(mi, format, options);
24
26
  var max = _util.default.resetTimeByFormat(ma, format, options);
25
27
  var current = props.value || _util.default.newDate(undefined, options);
@@ -45,7 +47,7 @@ var useTime = function useTime(props) {
45
47
  disabledTime = props.disabledTime;
46
48
  if (disabledTime) {
47
49
  var _time = _util.default.format(date, _util.default.TIME_FORMAT, options);
48
- if (typeof disabledTime === 'function') return disabledTime(_time);
50
+ 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
51
  return disabledTime === _time;
50
52
  }
51
53
  var isDis = disabled && typeof disabled === 'function' ? disabled(date) : false;
@@ -11,9 +11,11 @@ export interface UseTimeProps {
11
11
  staticMin?: Date;
12
12
  staticMax?: Date;
13
13
  disabled?: boolean | ((date: Date) => boolean);
14
- disabledTime?: string | ((time: string) => boolean);
14
+ disabledTime?: string | ((time: string, type?: 'start' | 'end', value0?: Date, value1?: Date) => boolean);
15
15
  minuteStep?: number;
16
16
  hourStep?: number;
17
17
  secondStep?: number;
18
+ position?: 'start' | 'end';
19
+ rangeDate?: Array<Date | undefined>;
18
20
  }
19
21
  //# 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,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;CACrC"}
@@ -20,7 +20,13 @@ declare function isSameWeek(date1: Date, date2: Date, options: DateOptions): boo
20
20
  declare function isSameQuarter(date1: Date, date2: Date, options: DateOptions): boolean;
21
21
  declare function isSameYear(date1: Date, date2: Date, options: DateOptions): boolean;
22
22
  declare function isValid(date: DateTimeType): boolean;
23
- declare function isValidString(date: string, fmt: string): boolean;
23
+ /**
24
+ * @param date 日期字符串
25
+ * @param fmt 日期格式
26
+ * @param isLoose 是否为宽松模式
27
+ * @returns 是否为有效日期
28
+ */
29
+ declare function isValidString(date: string, fmt: string, isLoose?: boolean): boolean;
24
30
  declare function parse(d: string, fmt?: string, options?: DateOptions): Date;
25
31
  declare function toDate(day: DateTimeType, options?: DateOptions): Date;
26
32
  declare function getDaysOfMonth(dirtyDate: DateTimeType, options: DateOptions): Date[];
@@ -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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"}
@@ -162,8 +162,18 @@ function isValid(date) {
162
162
  if (!(date instanceof Date)) return false;
163
163
  return (0, _dayjs.default)(date).isValid();
164
164
  }
165
- function isValidString(date, fmt) {
165
+
166
+ /**
167
+ * @param date 日期字符串
168
+ * @param fmt 日期格式
169
+ * @param isLoose 是否为宽松模式
170
+ * @returns 是否为有效日期
171
+ */
172
+ function isValidString(date, fmt, isLoose) {
166
173
  if (!date) return false;
174
+ if (isLoose) {
175
+ return (0, _dayjs.default)(date).isValid();
176
+ }
167
177
  return (0, _dayjs.default)(date, fmt, true).isValid();
168
178
  }
169
179
  function parse(d, fmt, 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;;kBA0JpC,CAAC,YAAY,GAAG,EAAE;;;;;EA4DrD"}
@@ -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
@@ -115,7 +116,11 @@ function useFormControl(props) {
115
116
  var nextValue = [];
116
117
  name.forEach(function (n, index) {
117
118
  if (_value[index] === undefined && dv[index] !== undefined) {
118
- nextValue[index] = dv[index];
119
+ if (clearToUndefined) {
120
+ nextValue[index] = undefined;
121
+ } else {
122
+ nextValue[index] = dv[index];
123
+ }
119
124
  } else {
120
125
  nextValue[index] = _value[index];
121
126
  }
@@ -129,7 +134,11 @@ function useFormControl(props) {
129
134
  }
130
135
  if (!(0, _shallowEqual.shallowEqual)(_value2, latestInfo.valueState)) {
131
136
  if (_value2 === undefined && defaultValue !== undefined) {
132
- setValueState(defaultValue);
137
+ if (clearToUndefined) {
138
+ setValueState(undefined);
139
+ } else {
140
+ setValueState(defaultValue);
141
+ }
133
142
  } else {
134
143
  setValueState(_value2);
135
144
  }