@sheinx/base 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 (331) hide show
  1. package/cjs/absolute-list/absolute-list.js +2 -2
  2. package/cjs/alert/alert.d.ts.map +1 -1
  3. package/cjs/alert/alert.js +1 -1
  4. package/cjs/avatar/avatar.type.d.ts +5 -0
  5. package/cjs/avatar/avatar.type.d.ts.map +1 -1
  6. package/cjs/avatar/group.js +1 -1
  7. package/cjs/breadcrumb/breadcrumb-item.d.ts +11 -0
  8. package/cjs/breadcrumb/breadcrumb-item.d.ts.map +1 -0
  9. package/cjs/breadcrumb/breadcrumb-item.js +83 -0
  10. package/cjs/breadcrumb/breadcrumb.d.ts.map +1 -1
  11. package/cjs/breadcrumb/breadcrumb.js +34 -32
  12. package/cjs/breadcrumb/breadcrumb.type.d.ts +4 -0
  13. package/cjs/breadcrumb/breadcrumb.type.d.ts.map +1 -1
  14. package/cjs/cascader/cascader.d.ts.map +1 -1
  15. package/cjs/cascader/cascader.js +29 -7
  16. package/cjs/cascader/cascader.type.d.ts +8 -0
  17. package/cjs/cascader/cascader.type.d.ts.map +1 -1
  18. package/cjs/cascader/list.d.ts.map +1 -1
  19. package/cjs/cascader/list.js +0 -13
  20. package/cjs/cascader/node.d.ts.map +1 -1
  21. package/cjs/cascader/node.js +13 -11
  22. package/cjs/cascader/node.type.d.ts +0 -2
  23. package/cjs/cascader/node.type.d.ts.map +1 -1
  24. package/cjs/common/use-tip.js +1 -1
  25. package/cjs/config/locale/en_US.d.ts +3 -0
  26. package/cjs/config/locale/en_US.d.ts.map +1 -1
  27. package/cjs/config/locale/en_US.js +3 -0
  28. package/cjs/config/locale/zh-CN.d.ts +3 -0
  29. package/cjs/config/locale/zh-CN.d.ts.map +1 -1
  30. package/cjs/config/locale/zh-CN.js +3 -0
  31. package/cjs/date-picker/date-picker.d.ts.map +1 -1
  32. package/cjs/date-picker/date-picker.js +6 -2
  33. package/cjs/date-picker/date-picker.type.d.ts +3 -3
  34. package/cjs/date-picker/date-picker.type.d.ts.map +1 -1
  35. package/cjs/date-picker/day.d.ts.map +1 -1
  36. package/cjs/date-picker/day.js +3 -1
  37. package/cjs/date-picker/picker.d.ts.map +1 -1
  38. package/cjs/date-picker/picker.js +1 -0
  39. package/cjs/date-picker/picker.type.d.ts +2 -1
  40. package/cjs/date-picker/picker.type.d.ts.map +1 -1
  41. package/cjs/date-picker/result.d.ts +4 -4
  42. package/cjs/date-picker/result.d.ts.map +1 -1
  43. package/cjs/date-picker/result.js +1 -1
  44. package/cjs/date-picker/time.d.ts.map +1 -1
  45. package/cjs/date-picker/time.js +5 -2
  46. package/cjs/dropdown/Item.d.ts.map +1 -1
  47. package/cjs/dropdown/Item.js +3 -1
  48. package/cjs/form/form-field.d.ts.map +1 -1
  49. package/cjs/form/form-field.js +25 -2
  50. package/cjs/form/form-field.type.d.ts +12 -21
  51. package/cjs/form/form-field.type.d.ts.map +1 -1
  52. package/cjs/form/form-fieldset.d.ts.map +1 -1
  53. package/cjs/form/form-fieldset.js +12 -2
  54. package/cjs/form/form-fieldset.type.d.ts +35 -23
  55. package/cjs/form/form-fieldset.type.d.ts.map +1 -1
  56. package/cjs/form/form-flow.type.d.ts +11 -7
  57. package/cjs/form/form-flow.type.d.ts.map +1 -1
  58. package/cjs/form/form-item.d.ts.map +1 -1
  59. package/cjs/form/form-item.js +19 -6
  60. package/cjs/form/form-item.type.d.ts +1 -0
  61. package/cjs/form/form-item.type.d.ts.map +1 -1
  62. package/cjs/form/form.d.ts.map +1 -1
  63. package/cjs/form/form.js +2 -1
  64. package/cjs/form/form.type.d.ts +34 -24
  65. package/cjs/form/form.type.d.ts.map +1 -1
  66. package/cjs/form/form.type.js +4 -0
  67. package/cjs/form/index.d.ts +1 -1
  68. package/cjs/form/index.d.ts.map +1 -1
  69. package/cjs/input/input-password.d.ts.map +1 -1
  70. package/cjs/input/input-password.js +2 -1
  71. package/cjs/input/input.d.ts.map +1 -1
  72. package/cjs/input/input.js +1 -0
  73. package/cjs/input/input.type.d.ts +11 -5
  74. package/cjs/input/input.type.d.ts.map +1 -1
  75. package/cjs/input/simple-input.d.ts.map +1 -1
  76. package/cjs/input/simple-input.js +31 -5
  77. package/cjs/input/use-input-common.d.ts +1 -1
  78. package/cjs/input/use-input-common.d.ts.map +1 -1
  79. package/cjs/input/use-input-common.js +42 -19
  80. package/cjs/modal/modal-content.d.ts.map +1 -1
  81. package/cjs/modal/modal-content.js +31 -17
  82. package/cjs/select/list-columns.d.ts.map +1 -1
  83. package/cjs/select/list-columns.js +2 -1
  84. package/cjs/select/list.d.ts.map +1 -1
  85. package/cjs/select/list.js +2 -0
  86. package/cjs/select/result-more.d.ts.map +1 -1
  87. package/cjs/select/result-more.js +5 -15
  88. package/cjs/select/result-more.type.d.ts +0 -1
  89. package/cjs/select/result-more.type.d.ts.map +1 -1
  90. package/cjs/select/result.d.ts.map +1 -1
  91. package/cjs/select/result.js +24 -8
  92. package/cjs/select/result.type.d.ts +1 -0
  93. package/cjs/select/result.type.d.ts.map +1 -1
  94. package/cjs/select/select.d.ts.map +1 -1
  95. package/cjs/select/select.js +11 -2
  96. package/cjs/select/select.type.d.ts +9 -0
  97. package/cjs/select/select.type.d.ts.map +1 -1
  98. package/cjs/sticky/sticky.d.ts.map +1 -1
  99. package/cjs/sticky/sticky.js +104 -21
  100. package/cjs/sticky/sticky.type.d.ts +6 -0
  101. package/cjs/sticky/sticky.type.d.ts.map +1 -1
  102. package/cjs/table/table.d.ts.map +1 -1
  103. package/cjs/table/table.js +43 -21
  104. package/cjs/table/table.type.d.ts +88 -82
  105. package/cjs/table/table.type.d.ts.map +1 -1
  106. package/cjs/table/td.d.ts.map +1 -1
  107. package/cjs/table/td.js +5 -23
  108. package/cjs/table/tfoot.d.ts.map +1 -1
  109. package/cjs/table/tfoot.js +6 -2
  110. package/cjs/table/tfoot.type.d.ts +1 -0
  111. package/cjs/table/tfoot.type.d.ts.map +1 -1
  112. package/cjs/table/thead-filter.d.ts.map +1 -1
  113. package/cjs/table/thead-filter.js +17 -7
  114. package/cjs/table/thead.d.ts.map +1 -1
  115. package/cjs/table/thead.js +17 -1
  116. package/cjs/table/thead.type.d.ts +1 -1
  117. package/cjs/table/thead.type.d.ts.map +1 -1
  118. package/cjs/tabs/tabs-header.d.ts.map +1 -1
  119. package/cjs/tabs/tabs-header.js +18 -11
  120. package/cjs/textarea/simple-textarea.d.ts.map +1 -1
  121. package/cjs/textarea/simple-textarea.js +4 -1
  122. package/cjs/textarea/textarea.d.ts.map +1 -1
  123. package/cjs/textarea/textarea.js +2 -1
  124. package/cjs/tooltip/tooltip.type.d.ts +0 -6
  125. package/cjs/tooltip/tooltip.type.d.ts.map +1 -1
  126. package/cjs/transfer/transfer-list-item.d.ts.map +1 -1
  127. package/cjs/transfer/transfer-list-item.js +14 -3
  128. package/cjs/transfer/transfer-list-item.type.d.ts +2 -1
  129. package/cjs/transfer/transfer-list-item.type.d.ts.map +1 -1
  130. package/cjs/transfer/transfer-list.js +1 -1
  131. package/cjs/transfer/transfer.d.ts.map +1 -1
  132. package/cjs/transfer/transfer.js +12 -5
  133. package/cjs/transfer/transfer.type.d.ts +8 -1
  134. package/cjs/transfer/transfer.type.d.ts.map +1 -1
  135. package/cjs/tree/tree-content.d.ts.map +1 -1
  136. package/cjs/tree/tree-content.js +2 -0
  137. package/cjs/tree/tree-content.type.d.ts +1 -0
  138. package/cjs/tree/tree-content.type.d.ts.map +1 -1
  139. package/cjs/tree/tree-node.type.d.ts +1 -0
  140. package/cjs/tree/tree-node.type.d.ts.map +1 -1
  141. package/cjs/tree/tree-simple-node.d.ts.map +1 -1
  142. package/cjs/tree/tree-simple-node.js +3 -1
  143. package/cjs/tree/tree-virtual-node.d.ts.map +1 -1
  144. package/cjs/tree/tree-virtual-node.js +15 -2
  145. package/cjs/tree/tree-virtual.d.ts.map +1 -1
  146. package/cjs/tree/tree-virtual.js +9 -2
  147. package/cjs/tree/tree.type.d.ts +2 -1
  148. package/cjs/tree/tree.type.d.ts.map +1 -1
  149. package/cjs/tree-select/tree-select.d.ts.map +1 -1
  150. package/cjs/tree-select/tree-select.js +19 -4
  151. package/cjs/tree-select/tree-select.type.d.ts +1 -0
  152. package/cjs/tree-select/tree-select.type.d.ts.map +1 -1
  153. package/cjs/upload/button.d.ts.map +1 -1
  154. package/cjs/upload/button.js +0 -1
  155. package/cjs/upload/button.type.d.ts +1 -1
  156. package/cjs/upload/button.type.d.ts.map +1 -1
  157. package/cjs/upload/useInputClick.d.ts +1 -0
  158. package/cjs/upload/useInputClick.d.ts.map +1 -1
  159. package/cjs/upload/useInputClick.js +4 -0
  160. package/cjs/virtual-scroll/scroll-table.d.ts.map +1 -1
  161. package/cjs/virtual-scroll/scroll-table.js +6 -2
  162. package/cjs/virtual-scroll/virtual-scroll-list.d.ts.map +1 -1
  163. package/cjs/virtual-scroll/virtual-scroll-list.js +8 -2
  164. package/cjs/virtual-scroll/virtual-scroll-list.type.d.ts +1 -0
  165. package/cjs/virtual-scroll/virtual-scroll-list.type.d.ts.map +1 -1
  166. package/esm/absolute-list/absolute-list.js +2 -2
  167. package/esm/alert/alert.d.ts.map +1 -1
  168. package/esm/alert/alert.js +1 -1
  169. package/esm/avatar/avatar.type.d.ts +5 -0
  170. package/esm/avatar/avatar.type.d.ts.map +1 -1
  171. package/esm/avatar/group.js +1 -1
  172. package/esm/breadcrumb/breadcrumb-item.d.ts +11 -0
  173. package/esm/breadcrumb/breadcrumb-item.d.ts.map +1 -0
  174. package/esm/breadcrumb/breadcrumb-item.js +76 -0
  175. package/esm/breadcrumb/breadcrumb.d.ts.map +1 -1
  176. package/esm/breadcrumb/breadcrumb.js +34 -33
  177. package/esm/breadcrumb/breadcrumb.type.d.ts +4 -0
  178. package/esm/breadcrumb/breadcrumb.type.d.ts.map +1 -1
  179. package/esm/cascader/cascader.d.ts.map +1 -1
  180. package/esm/cascader/cascader.js +29 -7
  181. package/esm/cascader/cascader.type.d.ts +8 -0
  182. package/esm/cascader/cascader.type.d.ts.map +1 -1
  183. package/esm/cascader/list.d.ts.map +1 -1
  184. package/esm/cascader/list.js +1 -14
  185. package/esm/cascader/node.d.ts.map +1 -1
  186. package/esm/cascader/node.js +13 -11
  187. package/esm/cascader/node.type.d.ts +0 -2
  188. package/esm/cascader/node.type.d.ts.map +1 -1
  189. package/esm/common/use-tip.js +1 -1
  190. package/esm/config/locale/en_US.d.ts +3 -0
  191. package/esm/config/locale/en_US.d.ts.map +1 -1
  192. package/esm/config/locale/en_US.js +3 -0
  193. package/esm/config/locale/zh-CN.d.ts +3 -0
  194. package/esm/config/locale/zh-CN.d.ts.map +1 -1
  195. package/esm/config/locale/zh-CN.js +3 -0
  196. package/esm/date-picker/date-picker.d.ts.map +1 -1
  197. package/esm/date-picker/date-picker.js +6 -2
  198. package/esm/date-picker/date-picker.type.d.ts +3 -3
  199. package/esm/date-picker/date-picker.type.d.ts.map +1 -1
  200. package/esm/date-picker/day.d.ts.map +1 -1
  201. package/esm/date-picker/day.js +3 -1
  202. package/esm/date-picker/picker.d.ts.map +1 -1
  203. package/esm/date-picker/picker.js +1 -0
  204. package/esm/date-picker/picker.type.d.ts +2 -1
  205. package/esm/date-picker/picker.type.d.ts.map +1 -1
  206. package/esm/date-picker/result.d.ts +4 -4
  207. package/esm/date-picker/result.d.ts.map +1 -1
  208. package/esm/date-picker/result.js +1 -1
  209. package/esm/date-picker/time.d.ts.map +1 -1
  210. package/esm/date-picker/time.js +5 -2
  211. package/esm/dropdown/Item.d.ts.map +1 -1
  212. package/esm/dropdown/Item.js +3 -1
  213. package/esm/form/form-field.d.ts.map +1 -1
  214. package/esm/form/form-field.js +26 -3
  215. package/esm/form/form-field.type.d.ts +12 -21
  216. package/esm/form/form-field.type.d.ts.map +1 -1
  217. package/esm/form/form-fieldset.d.ts.map +1 -1
  218. package/esm/form/form-fieldset.js +12 -2
  219. package/esm/form/form-fieldset.type.d.ts +35 -23
  220. package/esm/form/form-fieldset.type.d.ts.map +1 -1
  221. package/esm/form/form-flow.type.d.ts +11 -7
  222. package/esm/form/form-flow.type.d.ts.map +1 -1
  223. package/esm/form/form-item.d.ts.map +1 -1
  224. package/esm/form/form-item.js +17 -6
  225. package/esm/form/form-item.type.d.ts +1 -0
  226. package/esm/form/form-item.type.d.ts.map +1 -1
  227. package/esm/form/form.d.ts.map +1 -1
  228. package/esm/form/form.js +2 -1
  229. package/esm/form/form.type.d.ts +34 -24
  230. package/esm/form/form.type.d.ts.map +1 -1
  231. package/esm/form/form.type.js +5 -0
  232. package/esm/form/index.d.ts +1 -1
  233. package/esm/form/index.d.ts.map +1 -1
  234. package/esm/input/input-password.d.ts.map +1 -1
  235. package/esm/input/input-password.js +2 -1
  236. package/esm/input/input.d.ts.map +1 -1
  237. package/esm/input/input.js +1 -0
  238. package/esm/input/input.type.d.ts +11 -5
  239. package/esm/input/input.type.d.ts.map +1 -1
  240. package/esm/input/simple-input.d.ts.map +1 -1
  241. package/esm/input/simple-input.js +32 -6
  242. package/esm/input/use-input-common.d.ts +1 -1
  243. package/esm/input/use-input-common.d.ts.map +1 -1
  244. package/esm/input/use-input-common.js +42 -19
  245. package/esm/modal/modal-content.d.ts.map +1 -1
  246. package/esm/modal/modal-content.js +31 -17
  247. package/esm/select/list-columns.d.ts.map +1 -1
  248. package/esm/select/list-columns.js +2 -1
  249. package/esm/select/list.d.ts.map +1 -1
  250. package/esm/select/list.js +2 -0
  251. package/esm/select/result-more.d.ts.map +1 -1
  252. package/esm/select/result-more.js +5 -15
  253. package/esm/select/result-more.type.d.ts +0 -1
  254. package/esm/select/result-more.type.d.ts.map +1 -1
  255. package/esm/select/result.d.ts.map +1 -1
  256. package/esm/select/result.js +24 -8
  257. package/esm/select/result.type.d.ts +1 -0
  258. package/esm/select/result.type.d.ts.map +1 -1
  259. package/esm/select/select.d.ts.map +1 -1
  260. package/esm/select/select.js +11 -2
  261. package/esm/select/select.type.d.ts +9 -0
  262. package/esm/select/select.type.d.ts.map +1 -1
  263. package/esm/sticky/sticky.d.ts.map +1 -1
  264. package/esm/sticky/sticky.js +104 -21
  265. package/esm/sticky/sticky.type.d.ts +6 -0
  266. package/esm/sticky/sticky.type.d.ts.map +1 -1
  267. package/esm/table/table.d.ts.map +1 -1
  268. package/esm/table/table.js +44 -22
  269. package/esm/table/table.type.d.ts +88 -82
  270. package/esm/table/table.type.d.ts.map +1 -1
  271. package/esm/table/td.d.ts.map +1 -1
  272. package/esm/table/td.js +4 -20
  273. package/esm/table/tfoot.d.ts.map +1 -1
  274. package/esm/table/tfoot.js +6 -2
  275. package/esm/table/tfoot.type.d.ts +1 -0
  276. package/esm/table/tfoot.type.d.ts.map +1 -1
  277. package/esm/table/thead-filter.d.ts.map +1 -1
  278. package/esm/table/thead-filter.js +17 -7
  279. package/esm/table/thead.d.ts.map +1 -1
  280. package/esm/table/thead.js +17 -1
  281. package/esm/table/thead.type.d.ts +1 -1
  282. package/esm/table/thead.type.d.ts.map +1 -1
  283. package/esm/tabs/tabs-header.d.ts.map +1 -1
  284. package/esm/tabs/tabs-header.js +18 -11
  285. package/esm/textarea/simple-textarea.d.ts.map +1 -1
  286. package/esm/textarea/simple-textarea.js +4 -1
  287. package/esm/textarea/textarea.d.ts.map +1 -1
  288. package/esm/textarea/textarea.js +2 -1
  289. package/esm/tooltip/tooltip.type.d.ts +0 -6
  290. package/esm/tooltip/tooltip.type.d.ts.map +1 -1
  291. package/esm/transfer/transfer-list-item.d.ts.map +1 -1
  292. package/esm/transfer/transfer-list-item.js +16 -5
  293. package/esm/transfer/transfer-list-item.type.d.ts +2 -1
  294. package/esm/transfer/transfer-list-item.type.d.ts.map +1 -1
  295. package/esm/transfer/transfer-list.js +1 -1
  296. package/esm/transfer/transfer.d.ts.map +1 -1
  297. package/esm/transfer/transfer.js +13 -6
  298. package/esm/transfer/transfer.type.d.ts +8 -1
  299. package/esm/transfer/transfer.type.d.ts.map +1 -1
  300. package/esm/tree/tree-content.d.ts.map +1 -1
  301. package/esm/tree/tree-content.js +2 -0
  302. package/esm/tree/tree-content.type.d.ts +1 -0
  303. package/esm/tree/tree-content.type.d.ts.map +1 -1
  304. package/esm/tree/tree-node.type.d.ts +1 -0
  305. package/esm/tree/tree-node.type.d.ts.map +1 -1
  306. package/esm/tree/tree-simple-node.d.ts.map +1 -1
  307. package/esm/tree/tree-simple-node.js +3 -1
  308. package/esm/tree/tree-virtual-node.d.ts.map +1 -1
  309. package/esm/tree/tree-virtual-node.js +15 -2
  310. package/esm/tree/tree-virtual.d.ts.map +1 -1
  311. package/esm/tree/tree-virtual.js +9 -2
  312. package/esm/tree/tree.type.d.ts +2 -1
  313. package/esm/tree/tree.type.d.ts.map +1 -1
  314. package/esm/tree-select/tree-select.d.ts.map +1 -1
  315. package/esm/tree-select/tree-select.js +19 -4
  316. package/esm/tree-select/tree-select.type.d.ts +1 -0
  317. package/esm/tree-select/tree-select.type.d.ts.map +1 -1
  318. package/esm/upload/button.d.ts.map +1 -1
  319. package/esm/upload/button.js +0 -1
  320. package/esm/upload/button.type.d.ts +1 -1
  321. package/esm/upload/button.type.d.ts.map +1 -1
  322. package/esm/upload/useInputClick.d.ts +1 -0
  323. package/esm/upload/useInputClick.d.ts.map +1 -1
  324. package/esm/upload/useInputClick.js +4 -0
  325. package/esm/virtual-scroll/scroll-table.d.ts.map +1 -1
  326. package/esm/virtual-scroll/scroll-table.js +6 -2
  327. package/esm/virtual-scroll/virtual-scroll-list.d.ts.map +1 -1
  328. package/esm/virtual-scroll/virtual-scroll-list.js +8 -2
  329. package/esm/virtual-scroll/virtual-scroll-list.type.d.ts +1 -0
  330. package/esm/virtual-scroll/virtual-scroll-list.type.d.ts.map +1 -1
  331. package/package.json +3 -3
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var _react = _interopRequireDefault(require("react"));
7
+ var _react = _interopRequireWildcard(require("react"));
8
8
  var _hooks = require("@sheinx/hooks");
9
9
  var _shineoutStyle = require("@sheinx/shineout-style");
10
10
  var _classnames = _interopRequireDefault(require("classnames"));
@@ -14,6 +14,8 @@ var _icons = _interopRequireDefault(require("../icons"));
14
14
  var _jsxRuntime = require("react/jsx-runtime");
15
15
  var _excluded = ["children", "jssStyle", "className", "style", "label", "tip", "required"];
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+ 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); }
18
+ 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; }
17
19
  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); }
18
20
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
19
21
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -23,7 +25,7 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
23
25
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
24
26
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
25
27
  var FormItem = function FormItem(props) {
26
- var _jssStyle$formItem;
28
+ var _jssStyle$formItem, _labelRef$current, _labelTipRef$current;
27
29
  var children = props.children,
28
30
  jssStyle = props.jssStyle,
29
31
  className = props.className,
@@ -34,7 +36,7 @@ var FormItem = function FormItem(props) {
34
36
  rest = _objectWithoutProperties(props, _excluded);
35
37
  var formItemClasses = jssStyle === null || jssStyle === void 0 || (_jssStyle$formItem = jssStyle.formItem) === null || _jssStyle$formItem === void 0 ? void 0 : _jssStyle$formItem.call(jssStyle);
36
38
  var _useFormItem = (0, _hooks.useFormItem)(),
37
- Provider = _useFormItem.Provider,
39
+ FormItemContextProvider = _useFormItem.Provider,
38
40
  ProviderValue = _useFormItem.ProviderValue,
39
41
  labelConfig = _useFormItem.labelConfig,
40
42
  errors = _useFormItem.errors,
@@ -94,11 +96,19 @@ var FormItem = function FormItem(props) {
94
96
  children: label
95
97
  });
96
98
  };
99
+ var labelRef = (0, _react.useRef)(null);
100
+ var labelTipRef = (0, _react.useRef)(null);
101
+ var labelText = (_labelRef$current = labelRef.current) === null || _labelRef$current === void 0 ? void 0 : _labelRef$current.textContent;
102
+ if ((_labelTipRef$current = labelTipRef.current) !== null && _labelTipRef$current !== void 0 && _labelTipRef$current.textContent) {
103
+ var _labelTipRef$current2;
104
+ labelText += " (tip: ".concat((_labelTipRef$current2 = labelTipRef.current) === null || _labelTipRef$current2 === void 0 ? void 0 : _labelTipRef$current2.textContent, ")");
105
+ }
97
106
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", _objectSpread(_objectSpread({
98
- className: (0, _classnames.default)(className, formItemClasses === null || formItemClasses === void 0 ? void 0 : formItemClasses.wrapper, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, formItemClasses === null || formItemClasses === void 0 ? void 0 : formItemClasses.wrapperLabelTop, labelAlign === 'top'), formItemClasses === null || formItemClasses === void 0 ? void 0 : formItemClasses.wrapperLabelVerticalMiddle, labelAlign !== 'top' && labelVerticalAlign === 'middle'), formItemClasses === null || formItemClasses === void 0 ? void 0 : formItemClasses.wrapperLabelVerticalBottom, labelAlign !== 'top' && labelVerticalAlign === 'bottom'), formItemClasses === null || formItemClasses === void 0 ? void 0 : formItemClasses.wrapperInline, inline), formItemClasses === null || formItemClasses === void 0 ? void 0 : formItemClasses.wrapperKeepHeight, keepErrorHeight), formItemClasses === null || formItemClasses === void 0 ? void 0 : formItemClasses.wrapperRequired, required), formItemClasses === null || formItemClasses === void 0 ? void 0 : formItemClasses.wrapperTip, showError || tip))
107
+ className: (0, _classnames.default)(className, formItemClasses === null || formItemClasses === void 0 ? void 0 : formItemClasses.wrapper, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, formItemClasses === null || formItemClasses === void 0 ? void 0 : formItemClasses.wrapperLabelTop, labelAlign === 'top'), formItemClasses === null || formItemClasses === void 0 ? void 0 : formItemClasses.wrapperLabelVerticalMiddle, labelAlign !== 'top' && labelVerticalAlign === 'middle'), formItemClasses === null || formItemClasses === void 0 ? void 0 : formItemClasses.wrapperLabelVerticalBottom, labelAlign !== 'top' && labelVerticalAlign === 'bottom'), formItemClasses === null || formItemClasses === void 0 ? void 0 : formItemClasses.wrapperInline, inline), formItemClasses === null || formItemClasses === void 0 ? void 0 : formItemClasses.wrapperKeepHeight, keepErrorHeight), formItemClasses === null || formItemClasses === void 0 ? void 0 : formItemClasses.wrapperRequired, required), formItemClasses === null || formItemClasses === void 0 ? void 0 : formItemClasses.wrapperHideRequired, required === false), formItemClasses === null || formItemClasses === void 0 ? void 0 : formItemClasses.wrapperTip, showError || tip))
99
108
  }, attributes), {}, {
100
109
  style: style,
101
110
  children: [label !== undefined ? /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
111
+ ref: labelRef,
102
112
  className: (0, _classnames.default)(formItemClasses === null || formItemClasses === void 0 ? void 0 : formItemClasses.label, _defineProperty(_defineProperty(_defineProperty({}, formItemClasses === null || formItemClasses === void 0 ? void 0 : formItemClasses.labelLeft, labelAlign === 'left'), formItemClasses === null || formItemClasses === void 0 ? void 0 : formItemClasses.labelWithColon, colon), formItemClasses === null || formItemClasses === void 0 ? void 0 : formItemClasses.labelWithTooltip, label && _typeof(label) === 'object' && 'tooltip' in label)),
103
113
  style: labelAlign !== 'top' || inline ? {
104
114
  width: labelWidth
@@ -109,10 +119,13 @@ var FormItem = function FormItem(props) {
109
119
  }, _hooks.util.getDataAttribute({
110
120
  role: 'form-control'
111
121
  })), {}, {
112
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Provider, {
113
- value: ProviderValue,
122
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(FormItemContextProvider, {
123
+ value: _objectSpread(_objectSpread({}, ProviderValue), {}, {
124
+ label: labelText
125
+ }),
114
126
  children: children
115
127
  }), !!tip && (!showError || keepErrorBelow) && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
128
+ ref: labelTipRef,
116
129
  className: formItemClasses === null || formItemClasses === void 0 ? void 0 : formItemClasses.tip,
117
130
  children: tip
118
131
  }), showError && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
@@ -11,6 +11,7 @@ export interface FormItemClasses {
11
11
  wrapperLabelVerticalBottom: string;
12
12
  wrapperKeepHeight: string;
13
13
  wrapperRequired: string;
14
+ wrapperHideRequired: string;
14
15
  wrapperTip: string;
15
16
  label: string;
16
17
  labelWithColon: string;
@@ -1 +1 @@
1
- {"version":3,"file":"form-item.type.d.ts","sourceRoot":"","sources":["form-item.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,0BAA0B,EAAE,MAAM,CAAC;IACnC,0BAA0B,EAAE,MAAM,CAAC;IACnC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,KAAK,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,KAAK,GAAG,UAAU,CAAC,GAAG;IAC3D,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;CACvB,CAAA;AACD,UAAU,WAAW;IACnB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,YAAY,CAAC;CAC1C;AAED,MAAM,WAAW,aAAc,SAAQ,eAAe,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,OAAO,CAAC;IAC7F;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,WAAW,CAAC;IACtC;;;OAGG;IACH,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE;QACT,QAAQ,CAAC,EAAE,MAAM,eAAe,CAAC;KAClC,CAAC;CACH"}
1
+ {"version":3,"file":"form-item.type.d.ts","sourceRoot":"","sources":["form-item.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,0BAA0B,EAAE,MAAM,CAAC;IACnC,0BAA0B,EAAE,MAAM,CAAC;IACnC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,KAAK,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,KAAK,GAAG,UAAU,CAAC,GAAG;IAC3D,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;CACvB,CAAA;AACD,UAAU,WAAW;IACnB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,YAAY,CAAC;CAC1C;AAED,MAAM,WAAW,aAAc,SAAQ,eAAe,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,OAAO,CAAC;IAC7F;;;OAGG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,WAAW,CAAC;IACtC;;;OAGG;IACH,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE;QACT,QAAQ,CAAC,EAAE,MAAM,eAAe,CAAC;KAClC,CAAC;CACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["form.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,QAAA,MAAM,IAAI,wFA6HT,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["form.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,QAAA,MAAM,IAAI,wFA8HT,CAAC;AAEF,eAAe,IAAI,CAAC"}
package/cjs/form/form.js CHANGED
@@ -75,7 +75,8 @@ var Form = function Form(props) {
75
75
  validateFieldsWithValue: validateFieldsWithValue,
76
76
  validateFieldsWithError: formFunc.validateFields,
77
77
  set: formFunc.setValue,
78
- scrollToField: formFunc.scrollToField
78
+ scrollToField: formFunc.scrollToField,
79
+ getFormSchema: formFunc.getFormSchema
79
80
  });
80
81
  _react.default.useEffect(function () {
81
82
  if (formRef) {
@@ -14,50 +14,54 @@ export interface FormValidateFn<FormValue> {
14
14
  */
15
15
  (fields?: string | string[]): Promise<FormValue>;
16
16
  }
17
+ /**
18
+ * FormValue 泛型表示表单数据的类型,通常是一个对象类型
19
+ * 例如:{ name: string, age: number, address: { city: string } }
20
+ */
17
21
  export interface FormRef<FormValue> {
18
22
  /**
19
- * @en return form value
20
- * @cn 返回表单的值
23
+ * @en Get form data. Returns the entire form data object (FormValue type) when no parameter is passed, returns the value of the specified field when a field path is passed. Field paths support dot notation and array indexes, such as 'user.name' (get nested object), 'list[0].id' (get array element). Commonly used to get form data for other operations
24
+ * @cn 获取表单数据。不传参数时返回整个表单的数据对象(FormValue 类型),传入字段路径时返回指定字段的值。字段路径支持点表示法和数组索引,如 'user.name'(获取嵌套对象)、'list[0].id'(获取数组元素)。常用于获取表单数据进行其他操作
21
25
  */
22
26
  getValue: (name?: string) => any | FormValue;
23
27
  /**
24
- * @en Validate form
25
- * @cn 校验表单
28
+ * @en Validate all fields in the entire form. Returns a Promise that resolves with the entire form data object (FormValue type) on successful validation, and rejects with error information on failure. Usually called before form submission to ensure all data validity
29
+ * @cn 校验整个表单的所有字段。返回一个 Promise,校验成功时 resolve 整个表单的数据对象(FormValue 类型),失败时 reject 错误信息。通常在提交表单前调用以确保所有数据的有效性
26
30
  */
27
31
  validate: () => Promise<any>;
28
32
  /**
29
- * @en Validation form fields
30
- * @cn 校验表单指定字段
33
+ * @en Validate specified form fields. The fields parameter is a field path, which can be a single path string or an array of paths. Field paths support: 'name' (top-level field), 'user.email' (nested object), 'list[0].name' (array element). Returns a Promise that resolves with the specified field data on success, and rejects with the first error encountered on failure. Suitable for step-by-step forms or partial validation scenarios
34
+ * @cn 校验指定的表单字段。fields 参数为字段路径,可以是单个路径字符串或路径数组。字段路径支持:'name'(顶层字段)、'user.email'(嵌套对象)、'list[0].name'(数组元素)。返回 Promise,成功时 resolve 指定字段的数据,失败时 reject 第一个遇到的错误。适用于分步表单或部分校验场景
31
35
  */
32
36
  validateFields: (fields: string | string[]) => Promise<any>;
33
37
  /**
34
- * @en Validation form fields and return the value
35
- * @cn 校验表单指定字段并返回值, 也可以通过 catch 获取报错信息
38
+ * @en Validate specified fields and always return form data. The fields parameter is a field path, validates all fields when not passed. Resolves with specified field data on success, rejects with a ValidationError object on failure, containing: values (form data) and errorFields (array containing name and errors information for each error field). Suitable for scenarios that need to get both form data and detailed error information
39
+ * @cn 校验指定字段并始终返回表单数据。fields 参数为字段路径,不传时校验所有字段。成功时 resolve 指定字段的数据,失败时 reject 一个 ValidationError 对象,包含:values(表单数据)和 errorFields(数组,包含每个错误字段的 name 和 errors 信息)。适用于需要同时获取表单数据和详细错误信息的场景
36
40
  */
37
41
  validateFieldsWithValue: (fields?: (string | keyof FormValue) | (string | keyof FormValue)[]) => Promise<any>;
38
42
  /**
39
- * @en The verification can get the error message through Promise.catch
40
- * @cn 校验可以通过 catch 获取报错信息
43
+ * @en Validate specified fields and return the first error encountered. The fields parameter is a field path. Same functionality as validateFields, but the name more clearly indicates that it will return error information. Rejects with a FormError object (containing only the first error) on failure. Suitable for scenarios that only care about the first error
44
+ * @cn 校验指定字段并返回第一个遇到的错误。fields 参数为字段路径。与 validateFields 功能相同,但名称更明确地表示会返回错误信息。失败时 reject 一个 FormError 对象(仅包含第一个错误)。适用于只关心第一个错误的场景
41
45
  */
42
46
  validateFieldsWithError: (fields: string | string[]) => Promise<any>;
43
47
  /**
44
- * @en Clear check
45
- * @cn 清除校验
48
+ * @en Clear validation error information for specified fields. The names parameter is an array of field paths, clears errors for all fields when not passed. Field paths support formats like 'name', 'user.email', 'list[0].id'. Commonly used for resetting form state, clearing specific field errors, etc.
49
+ * @cn 清除指定字段的校验错误信息。names 参数为字段路径数组,不传时清除所有字段的错误。字段路径支持 'name'、'user.email'、'list[0].id' 等格式。常用于重置表单状态、清除特定字段错误等场景
46
50
  */
47
51
  clearValidate: (names?: string[]) => void;
48
52
  /**
49
- * @en Submit Form, withValidate: Whether to verify
50
- * @cn 提交表单, withValidate: 是否校验
53
+ * @en Manually trigger form submission. The withValidate parameter controls whether to validate before submission, default is true. After validation passes, it will call the Form's onSubmit callback with the entire form data object (FormValue type). Usually used for custom submit buttons or programmatic submission
54
+ * @cn 手动触发表单提交。withValidate 参数控制是否在提交前进行校验,默认为 true。校验通过后会调用 Form 的 onSubmit 回调,传入整个表单的数据对象(FormValue 类型)。通常用于自定义提交按钮或程序化提交
51
55
  */
52
56
  submit: (withValidate?: boolean) => void;
53
57
  /**
54
- * @en reset form
55
- * @cn 重置表单
58
+ * @en Reset the form to its initial state. Restores form data to defaultValue (uncontrolled) or empty object (controlled), and clears all validation errors. Will trigger the Form's onReset callback
59
+ * @cn 重置表单到初始状态。将表单数据恢复为 defaultValue(非受控)或空对象(受控),并清除所有校验错误。会触发 Form 的 onReset 回调
56
60
  */
57
61
  reset: () => void;
58
62
  /**
59
- * @en set field value, key is field path, Example: { 'name': 'sanmao', 'account.name': 'sanmao', 'friends[0].name': 'sanmao' }
60
- * @cn 设置字段值, key为字段路径,示例:{ 'name': 'sanmao', 'account.name': 'sanmao', 'friends[0].name': 'sanmao' }
63
+ * @en Batch set form field values. Pass in an object where key is the field path and value is the value to set. Field paths support: dot notation ('user.name') to access nested objects, array indexes ('list[0].id') to access array elements. Options parameters: validate controls whether to trigger validation (default false), forceUpdate controls whether to force update (default false). Suitable for dynamically setting form values, linked updates, etc.
64
+ * @cn 批量设置表单字段值。传入一个对象,key 为字段路径,value 为要设置的值。字段路径支持:点表示法('user.name')访问嵌套对象,数组索引('list[0].id')访问数组元素。options 参数:validate 控制是否触发校验(默认 false),forceUpdate 控制是否强制更新(默认 false)。适用于动态设置表单值、联动更新等场景
61
65
  */
62
66
  set: (value: {
63
67
  [key: string]: any;
@@ -66,10 +70,16 @@ export interface FormRef<FormValue> {
66
70
  forceUpdate?: boolean;
67
71
  }) => void;
68
72
  /**
69
- * @en Scroll to the position of the specified field
70
- * @cn 滚动到指定字段的位置
73
+ * @en Scroll the page to the position of the specified form field. The name parameter is a field path, supporting formats like 'name', 'user.email', 'list[0].id'. Requires the Form to set the name property to work properly. The scrollIntoViewOptions parameter conforms to the standard ScrollIntoViewOptions interface, which can control scrolling behavior, position, etc. Commonly used for error positioning, step-by-step form navigation, etc.
74
+ * @cn 滚动页面到指定表单字段的位置。name 参数为字段路径,支持 'name'、'user.email'、'list[0].id' 等格式。需要 Form 设置 name 属性才能正常工作。scrollIntoViewOptions 参数符合标准 ScrollIntoViewOptions 接口,可以控制滚动行为、位置等。常用于错误定位、分步表单导航等
71
75
  */
72
76
  scrollToField: (name: string, scrollIntoViewOptions?: ScrollIntoViewOptions) => void;
77
+ /**
78
+ * @en Get the JSON Schema of the form structure. Returns a standard JSON Schema object that describes the form's structure, field types, validation rules, and constraints. Useful for form documentation, validation, and integration with JSON Schema-based tools
79
+ * @cn 获取表单结构的 JSON Schema。返回一个标准的 JSON Schema 对象,描述表单的结构、字段类型、验证规则和约束。用于表单文档化、验证以及与基于 JSON Schema 的工具集成
80
+ * @version 3.8.0
81
+ */
82
+ getFormSchema: () => any;
73
83
  }
74
84
  export interface FormProps<V extends ObjectType> extends Partial<BaseFormProps<V>>, Pick<CommonType, 'className' | 'style'> {
75
85
  jssStyle: {
@@ -87,16 +97,16 @@ export interface FormProps<V extends ObjectType> extends Partial<BaseFormProps<V
87
97
  */
88
98
  scrollToError?: boolean | number;
89
99
  /**
90
- * @en bind form ref, Can call some form methods
91
- * @cn 绑定 form 的引用, 可以调用某些 form 的方法
100
+ * @en Get a reference to the form instance. Supports both function callback and ref object methods. Through formRef, you can call various form methods, such as manually triggering validation (validate, validateFields), submission (submit), reset (reset), getting/setting values (getValue, set), etc. The generic V in FormRef<V> represents the type of form data
101
+ * @cn 获取表单实例的引用。支持函数回调和 ref 对象两种方式。通过 formRef 可以调用表单的各种方法,如手动触发校验(validate、validateFields)、提交(submit)、重置(reset)、获取/设置值(getValue、set)等。FormRef<V> 中的泛型 V 表示表单数据的类型
92
102
  * @override
93
103
  */
94
104
  formRef?: ((form: FormRef<V>) => void) | {
95
105
  current?: FormRef<V>;
96
106
  };
97
107
  /**
98
- * @en When using hooks, set the form ref
99
- * @cn hooks用法下,设置 form 的引用
108
+ * @en Callback function for setting form reference when using Form.useForm() hooks. Usually doesn't need to be set manually, the Form component will handle it automatically. But may be needed in some special scenarios (such as cross-component communication)
109
+ * @cn 在使用 Form.useForm() hooks 时,用于设置表单引用的回调函数。通常不需要手动设置,Form 组件会自动处理。但在某些特殊场景(如跨组件通信)可能需要使用
100
110
  */
101
111
  setForm?: (form: FormRef<V>) => void;
102
112
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"form.type.d.ts","sourceRoot":"","sources":["form.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAC/C,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc,CAC7B,SAAS;IAIT;;;OAGG;IACH,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;CAClD;AAGD,MAAM,WAAW,OAAO,CAAC,SAAS;IAChC;;;OAGG;IACH,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,GAAG,GAAG,SAAS,CAAC;IAC7C;;;OAGG;IACH,QAAQ,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7B;;;OAGG;IACH,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAE5D;;;OAGG;IACH,uBAAuB,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,SAAS,CAAC,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9G;;;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,EAAE,OAAO,CAAC,EAAE;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAC,KAAK,IAAI,CAAC;IACpG;;;OAGG;IACH,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,qBAAqB,CAAC,EAAE,qBAAqB,KAAK,IAAI,CAAC;CACtF;AACD,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,UAAU,CAC7C,SAAQ,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAC/B,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,OAAO,CAAC;IACzC,QAAQ,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,WAAW,CAAC;KAC1B,CAAC;IACF;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACjC;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;KAAE,CAAC;IAElE;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACrC;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;;AACD,wBAAkB"}
1
+ {"version":3,"file":"form.type.d.ts","sourceRoot":"","sources":["form.type.ts"],"names":[],"mappings":"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"}
@@ -4,4 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+ /**
8
+ * FormValue 泛型表示表单数据的类型,通常是一个对象类型
9
+ * 例如:{ name: string, age: number, address: { city: string } }
10
+ */
7
11
  var _default = exports.default = {};
@@ -8,5 +8,5 @@ export type { FormProps, FormRef, FormClasses } from './form.type';
8
8
  export type { FormItemProps, FormItemClasses } from './form-item.type';
9
9
  export type { FormFieldProps, FormFieldChildrenFunc } from './form-field.type';
10
10
  export type { FormFieldSetProps, FormFieldSetChildrenFunc } from './form-fieldset.type';
11
- export type { FormFlowProps } from './form-flow.type';
11
+ export type { FormFlowProps, FormDatum } from './form-flow.type';
12
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,aAAa,CAAC;AAElD,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACnE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACvE,YAAY,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,YAAY,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AACxF,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,aAAa,CAAC;AAElD,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACnE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACvE,YAAY,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,YAAY,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AACxF,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"input-password.d.ts","sourceRoot":"","sources":["input-password.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;;AAmD3D,wBAAoC"}
1
+ {"version":3,"file":"input-password.d.ts","sourceRoot":"","sources":["input-password.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;;AAoD3D,wBAAoC"}
@@ -50,7 +50,8 @@ var Password = function Password(props) {
50
50
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_simpleInput.default, _objectSpread(_objectSpread(_objectSpread({}, forwardProps), inputProps), {}, {
51
51
  className: props.className,
52
52
  suffix: suffix,
53
- hasSuffix: true
53
+ hasSuffix: true,
54
+ showClear: props.showClear
54
55
  }));
55
56
  };
56
57
  var _default = exports.default = /*#__PURE__*/_react.default.memo(Password);
@@ -1 +1 @@
1
- {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["input.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,KAAK,MAAM,OAAO,CAAC;;AA4C1B,wBAAiC"}
1
+ {"version":3,"file":"input.d.ts","sourceRoot":"","sources":["input.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,KAAK,MAAM,OAAO,CAAC;;AA6C1B,wBAAiC"}
@@ -40,6 +40,7 @@ var Input = function Input(props) {
40
40
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_simpleInput.default, _objectSpread(_objectSpread(_objectSpread({}, forwardProps), inputFormatProps), {}, {
41
41
  value: (_inputFormatProps$val = inputFormatProps.value) !== null && _inputFormatProps$val !== void 0 ? _inputFormatProps$val : '',
42
42
  hasSuffix: !!props.suffix,
43
+ showClear: props.showClear,
43
44
  onKeyDown: function onKeyDown(e) {
44
45
  var _props$onKeyDown;
45
46
  if (e.key === 'Enter' && !e.defaultPrevented) {
@@ -4,6 +4,7 @@ import { InnerTitleClasses } from '../common/use-inner-title';
4
4
  import { BaseTipProps } from '../common/use-tip';
5
5
  import { BaseInputProps, InputFormatProps } from '@sheinx/hooks';
6
6
  import { PopoverClasses } from '../popover/popover.type';
7
+ import { TextareaInfoOption } from '../textarea/textarea.type';
7
8
  export interface InputClasses {
8
9
  rootClass: string;
9
10
  /**
@@ -35,7 +36,6 @@ export interface InputClasses {
35
36
  wrapperUnderline: string;
36
37
  wrapperNoBorder: string;
37
38
  info: string;
38
- infoError: string;
39
39
  group: string;
40
40
  groupSeparate: string;
41
41
  groupSmall: string;
@@ -47,6 +47,8 @@ export interface InputClasses {
47
47
  numberStep: string;
48
48
  passwordToggle: string;
49
49
  password: string;
50
+ wrapperShowClear: string;
51
+ wrapperHasValue: string;
50
52
  }
51
53
  export interface InputStyle {
52
54
  input?: () => InputClasses;
@@ -89,14 +91,17 @@ export interface SimpleInputProps extends BaseInputProps, Pick<CommonType, 'stat
89
91
  */
90
92
  onEnterPress?: (value: string, e: React.KeyboardEvent) => void;
91
93
  /**
92
- * @en Whether to show clear
93
- * @cn 是否显示清除
94
+ * @en Whether to show clear button when has value, higher priority than clearable
95
+ * @cn 有值时,是否常驻显示清除按钮,优先级高于 clearable
96
+ * @version 3.8.0
94
97
  */
95
98
  showClear?: boolean;
96
99
  renderInput?: (inputEl: React.ReactElement) => React.ReactElement;
97
100
  hasSuffix?: boolean;
98
101
  name?: string;
99
102
  }
103
+ type InputInfoOption = TextareaInfoOption;
104
+ export type InputInfo = number | ((value: string) => React.ReactNode | Error);
100
105
  export interface InputCommonProps<V> extends BaseTipProps, Pick<CommonType, 'className' | 'style' | 'name'> {
101
106
  suffix?: SimpleInputProps['suffix'];
102
107
  /**
@@ -174,7 +179,7 @@ export interface InputCommonProps<V> extends BaseTipProps, Pick<CommonType, 'cla
174
179
  * @cn 提示信息
175
180
  * @override number | ((value: string | undefined) => string)
176
181
  */
177
- info?: number | ((value: V | undefined) => string);
182
+ info?: InputInfo | InputInfoOption;
178
183
  /**
179
184
  * @en Disable component
180
185
  * @cn 禁用组件
@@ -193,7 +198,8 @@ export interface InputCommonProps<V> extends BaseTipProps, Pick<CommonType, 'cla
193
198
  onBlur?: React.FocusEventHandler<HTMLInputElement>;
194
199
  status?: CommonType['status'];
195
200
  }
196
- export type GetCommonProps<Props, V> = Omit<Props, 'value' | 'onChange' | 'defaultValue' | 'clearable' | 'onClear' | 'name' | 'step' | 'min' | 'max' | 'rootRef' | 'inputRef' | 'getStatus' | 'renderInput' | 'addEnd' | 'hasSuffix' | 'onFocusedChange' | 'showClear'> & InputCommonProps<V>;
201
+ export type GetCommonProps<Props, V> = Omit<Props, 'value' | 'onChange' | 'defaultValue' | 'clearable' | 'onClear' | 'name' | 'step' | 'min' | 'max' | 'rootRef' | 'inputRef' | 'getStatus' | 'renderInput' | 'addEnd' | 'hasSuffix' | 'onFocusedChange'> & InputCommonProps<V>;
197
202
  export interface InputProps extends GetCommonProps<SimpleInputProps, string | undefined>, Omit<InputFormatProps, 'value' | 'onChange' | 'cancelBlurChange'> {
198
203
  }
204
+ export {};
199
205
  //# sourceMappingURL=input.type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"input.type.d.ts","sourceRoot":"","sources":["input.type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"input.type.d.ts","sourceRoot":"","sources":["input.type.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"simple-input.d.ts","sourceRoot":"","sources":["simple-input.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAIhD,QAAA,MAAM,KAAK;YAAW,gBAAgB;;CAgGrC,CAAC;AAGF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"simple-input.d.ts","sourceRoot":"","sources":["simple-input.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAIhD,QAAA,MAAM,KAAK;YAAW,gBAAgB;;CA0HrC,CAAC;AAGF,eAAe,KAAK,CAAC"}
@@ -24,7 +24,7 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
24
24
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
25
25
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
26
26
  var Input = function Input(props) {
27
- var _jssStyle$input;
27
+ var _jssStyle$input, _inputElProps$value;
28
28
  var jssStyle = props.jssStyle,
29
29
  className = props.className,
30
30
  style = props.style,
@@ -42,20 +42,41 @@ var Input = function Input(props) {
42
42
  addEnd = props.addEnd,
43
43
  hasSuffix = props.hasSuffix,
44
44
  rest = _objectWithoutProperties(props, _excluded);
45
+ var _useRef = (0, _react.useRef)({
46
+ needTriggerEnter: false
47
+ }),
48
+ context = _useRef.current;
45
49
  var inputStyle = jssStyle === null || jssStyle === void 0 || (_jssStyle$input = jssStyle.input) === null || _jssStyle$input === void 0 ? void 0 : _jssStyle$input.call(jssStyle);
46
50
  var config = (0, _config.useConfig)();
47
51
  var _useContext = (0, _react.useContext)(_formFieldContext.FormFieldContext),
48
52
  fieldId = _useContext.fieldId;
53
+ var showClearFromProp = props.showClear && !props.disabled;
49
54
  var _useInput = (0, _hooks.useInput)(_objectSpread(_objectSpread({}, rest), {}, {
50
- onFocusedChange: onFocusedChange
55
+ onFocusedChange: onFocusedChange,
56
+ // 由于form的原生submit事件是在keydown中触发的,submit校验后触发scrollToError会导致当前焦点的input立即失焦,导致input的回车事件无法触发
57
+ // 所以这里在onKeyDown时机记录下needTriggerEnter标志,在onBlur时机判断是否需要触发onEnterPress
58
+ onKeyDown: function onKeyDown(e) {
59
+ var _props$onKeyDown;
60
+ if (e.key === 'Enter') {
61
+ context.needTriggerEnter = true;
62
+ }
63
+ (_props$onKeyDown = props.onKeyDown) === null || _props$onKeyDown === void 0 || _props$onKeyDown.call(props, e);
64
+ },
65
+ onBlur: function onBlur(e) {
66
+ var _props$onBlur;
67
+ if (context.needTriggerEnter) {
68
+ context.needTriggerEnter = false;
69
+ _onEnterPress === null || _onEnterPress === void 0 || _onEnterPress(e.target.value || '', e);
70
+ }
71
+ (_props$onBlur = props.onBlur) === null || _props$onBlur === void 0 || _props$onBlur.call(props, e);
72
+ }
51
73
  })),
52
74
  getRootProps = _useInput.getRootProps,
53
75
  getClearProps = _useInput.getClearProps,
54
76
  getInputProps = _useInput.getInputProps,
55
- showClear = _useInput.showClear,
77
+ showClearFromClearable = _useInput.showClear,
56
78
  focused = _useInput.focused,
57
79
  disabled = _useInput.disabled;
58
- var rootClass = (0, _classnames.default)(className, inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.rootClass, inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapper, !!focused && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperFocus), !!disabled && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperDisabled), status === 'error' && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperError), size === 'small' && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperSmall), size === 'large' && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperLarge), !!underline && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperUnderline), !border && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperNoBorder), hasSuffix && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.password));
59
80
  var keyHandler = (0, _hooks.useKeyEvent)({
60
81
  onEnterPress: function onEnterPress(e) {
61
82
  _onEnterPress === null || _onEnterPress === void 0 || _onEnterPress(e.target.value || '', e);
@@ -63,6 +84,10 @@ var Input = function Input(props) {
63
84
  });
64
85
  var onKeyUp = (0, _hooks.usePersistFn)(function (e) {
65
86
  var _props$onKeyUp;
87
+ if (e.key === 'Enter') {
88
+ context.needTriggerEnter = false;
89
+ }
90
+ ;
66
91
  (_props$onKeyUp = props.onKeyUp) === null || _props$onKeyUp === void 0 || _props$onKeyUp.call(props, e);
67
92
  keyHandler(e);
68
93
  });
@@ -79,6 +104,7 @@ var Input = function Input(props) {
79
104
  if (typeof renderInput === 'function') {
80
105
  inputEl = renderInput(inputEl);
81
106
  }
107
+ var rootClass = (0, _classnames.default)(className, inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.rootClass, inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapper, !!focused && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperFocus), !!disabled && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperDisabled), status === 'error' && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperError), size === 'small' && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperSmall), size === 'large' && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperLarge), !!underline && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperUnderline), !border && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperNoBorder), hasSuffix && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.password), showClearFromProp && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperShowClear), showClearFromProp && ((_inputElProps$value = inputElProps.value) === null || _inputElProps$value === void 0 ? void 0 : _inputElProps$value.length) > 0 && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperHasValue));
82
108
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", _objectSpread(_objectSpread(_objectSpread({
83
109
  id: fieldId
84
110
  }, _hooks.util.getDataAttribute(_defineProperty({}, 'input-border', 'true'))), getRootProps({
@@ -87,7 +113,7 @@ var Input = function Input(props) {
87
113
  })), {}, {
88
114
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
89
115
  className: (0, _classnames.default)(inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperInnerTitleTop, inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperInnerTitleBottom, inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperPaddingBox, inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.content),
90
- children: [prefix, inputEl, showClear && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", _objectSpread(_objectSpread({
116
+ children: [prefix, inputEl, (showClearFromProp || showClearFromClearable) && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", _objectSpread(_objectSpread({
91
117
  className: inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.clearWrapper
92
118
  }, getClearProps()), {}, {
93
119
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { InputCommonProps } from './input.type';
3
- declare const useInputCommon: <Value, Props extends InputCommonProps<Value>>(props0: Props) => Omit<Props, "error" | "info" | "style" | "status" | "size" | "innerTitle" | "placeTitle" | "tip" | "value" | "onChange" | "disabled" | "width" | "defaultValue" | "popover" | "delay" | "beforeChange" | "popoverProps" | "onBlur" | "clearable" | "forwardedRef" | "suffix" | "forwardRef" | "htmlName" | "clearToUndefined"> & {
3
+ declare const useInputCommon: <Value, Props extends InputCommonProps<Value>>(props0: Props) => Omit<Props, "error" | "info" | "style" | "status" | "size" | "innerTitle" | "placeTitle" | "tip" | "value" | "onChange" | "disabled" | "width" | "defaultValue" | "popover" | "delay" | "beforeChange" | "popoverProps" | "onBlur" | "clearable" | "clearToUndefined" | "forwardedRef" | "suffix" | "forwardRef" | "htmlName"> & {
4
4
  name: string | undefined;
5
5
  style: React.CSSProperties;
6
6
  suffix: import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"use-input-common.d.ts","sourceRoot":"","sources":["use-input-common.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAOvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAWhD,QAAA,MAAM,cAAc;;;;;;;;;;gCA6G8B,OAAO;;;;;;;gBAQnB,gBAAgB,CAAC,gBAAgB,CAAC;CAsBvE,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"use-input-common.d.ts","sourceRoot":"","sources":["use-input-common.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAOvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAWhD,QAAA,MAAM,cAAc;;;;;;;;;;gCAkI8B,OAAO;;;;;;;gBAQnB,gBAAgB,CAAC,gBAAgB,CAAC;CAsBvE,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -1,6 +1,5 @@
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); }
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
@@ -18,6 +17,7 @@ var _excluded = ["forwardRef", "forwardedRef", "htmlName", "value", "onChange",
18
17
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
18
  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); }
20
19
  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; }
20
+ 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); }
21
21
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
22
22
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
23
23
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
@@ -38,7 +38,7 @@ var defaultInfo = function defaultInfo(num, msg) {
38
38
  return new Error(text);
39
39
  };
40
40
  var useInputCommon = function useInputCommon(props0) {
41
- var _ref, _props$jssStyle, _props$jssStyle$input;
41
+ var _ref, _props$jssStyle, _props$jssStyle$input, _infoState$error;
42
42
  var config = (0, _config.useConfig)();
43
43
  var props = (0, _useWithFormConfig.default)(props0);
44
44
  var forwardRef = props.forwardRef,
@@ -67,7 +67,7 @@ var useInputCommon = function useInputCommon(props0) {
67
67
  size = props.size,
68
68
  rest = _objectWithoutProperties(props, _excluded);
69
69
  var delay = (_ref = delayProps !== null && delayProps !== void 0 ? delayProps : config.delay) !== null && _ref !== void 0 ? _ref : 0;
70
- var inputStyle = (_props$jssStyle = props.jssStyle) === null || _props$jssStyle === void 0 || (_props$jssStyle$input = _props$jssStyle.input) === null || _props$jssStyle$input === void 0 ? void 0 : _props$jssStyle$input.call(_props$jssStyle);
70
+ var inputClasses = (_props$jssStyle = props.jssStyle) === null || _props$jssStyle === void 0 || (_props$jssStyle$input = _props$jssStyle.input) === null || _props$jssStyle$input === void 0 ? void 0 : _props$jssStyle$input.call(_props$jssStyle);
71
71
  var rootRef = _react.default.useRef(null);
72
72
  var _React$useState = _react.default.useState(false),
73
73
  _React$useState2 = _slicedToArray(_React$useState, 2),
@@ -109,27 +109,50 @@ var useInputCommon = function useInputCommon(props0) {
109
109
  value: inputAbleProps.value,
110
110
  onChange: inputAbleProps.onChange
111
111
  });
112
- var getInfo = function getInfo() {
112
+ var getInfoState = function getInfoState() {
113
113
  var notNumber = typeof info !== 'number';
114
- if (typeof info !== 'function' && notNumber) return null;
115
- var textInfo = notNumber ? info : defaultInfo.bind(null, info);
116
- var res = textInfo(inputAbleProps.value);
117
- // empty
118
- if (!res) return null;
119
- var isError = res instanceof Error;
120
- var text = isError ? res.message : res;
114
+ if (typeof info !== 'function' && _typeof(info) !== 'object' && notNumber) return null;
115
+ var infoContent;
116
+ if (_typeof(info) === 'object') {
117
+ infoContent = info.content;
118
+ } else {
119
+ infoContent = info;
120
+ }
121
+ var notContentNumber = typeof infoContent !== 'number';
122
+ var textInfo = notContentNumber ? infoContent : defaultInfo.bind(null, infoContent);
123
+ var error = textInfo(inputAbleProps.value);
124
+ if (!error) return null;
125
+ var isError = error instanceof Error;
126
+ var text = isError ? error.message : error;
121
127
  if (!isError && !focused) return null;
122
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
128
+ return {
129
+ text: text,
130
+ error: error
131
+ };
132
+ };
133
+ var infoState = (0, _react.useMemo)(getInfoState, [info, inputAbleProps.value, focused]);
134
+ var infoPopoverProps = {
135
+ popover: props.popover || (_typeof(info) === 'object' ? info.position : 'bottom-right'),
136
+ popoverProps: Object.assign({
123
137
  style: {
124
- minWidth: 'auto'
138
+ width: 'auto',
139
+ fontSize: 12
125
140
  },
126
- className: (0, _classnames.default)(inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.info, !!isError && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.infoError)),
127
- dir: config.direction,
128
- children: text
129
- }, 'info');
141
+ adjust: true
142
+ }, props.popoverProps),
143
+ error: infoState !== null && infoState !== void 0 && infoState.error && (infoState === null || infoState === void 0 ? void 0 : infoState.error) instanceof Error ? infoState === null || infoState === void 0 || (_infoState$error = infoState.error) === null || _infoState$error === void 0 ? void 0 : _infoState$error.message : undefined,
144
+ tip: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
145
+ className: inputClasses === null || inputClasses === void 0 ? void 0 : inputClasses.info,
146
+ children: infoState === null || infoState === void 0 ? void 0 : infoState.text
147
+ })
130
148
  };
149
+ var infoPopoverNode = (0, _useTip.default)(_objectSpread(_objectSpread({}, infoPopoverProps), {}, {
150
+ focused: focused,
151
+ rootRef: rootRef,
152
+ jssStyle: props.jssStyle
153
+ }));
131
154
  var mergeSuffix = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_react.default.Fragment, {
132
- children: [suffix, getInfo(), tipNode]
155
+ children: [suffix, (infoState === null || infoState === void 0 ? void 0 : infoState.text) && infoPopoverNode, tipNode]
133
156
  });
134
157
  var onFocusedChange = (0, _hooks.usePersistFn)(function (focused) {
135
158
  setFocused(!!focused);
@@ -145,7 +168,7 @@ var useInputCommon = function useInputCommon(props0) {
145
168
  });
146
169
  return _objectSpread(_objectSpread(_objectSpread({}, rest), {}, {
147
170
  value: inputAbleProps.value,
148
- className: (0, _classnames.default)(props.className, innerTitle && (inputStyle === null || inputStyle === void 0 ? void 0 : inputStyle.wrapperInnerTitle)),
171
+ className: (0, _classnames.default)(props.className, innerTitle && (inputClasses === null || inputClasses === void 0 ? void 0 : inputClasses.wrapperInnerTitle)),
149
172
  onChange: inputAbleProps.onChange,
150
173
  onBlur: handleBlur
151
174
  }, clearProps), {}, {