@1money/react-ui 1.15.3 → 1.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (378) hide show
  1. package/AGENTS.md +393 -0
  2. package/es/components/CheckboxGroup/CheckboxGroup.d.ts +3 -3
  3. package/es/components/CheckboxGroup/CheckboxGroup.js +94 -91
  4. package/es/components/CheckboxGroup/interface.d.ts +21 -15
  5. package/es/components/CheckboxGroup/style/CheckboxGroup.scss +0 -7
  6. package/es/components/Flex/Flex.d.ts +5 -0
  7. package/es/components/Flex/Flex.js +50 -0
  8. package/es/components/Flex/constants.d.ts +41 -0
  9. package/es/components/Flex/constants.js +45 -0
  10. package/es/components/Flex/index.d.ts +5 -0
  11. package/es/components/Flex/index.js +6 -0
  12. package/es/components/Flex/interface.d.ts +13 -0
  13. package/es/components/Flex/interface.js +2 -0
  14. package/es/components/Flex/style/Flex.css +1 -0
  15. package/es/components/Flex/style/Flex.scss +70 -0
  16. package/es/components/Flex/style/css.js +2 -0
  17. package/es/components/Flex/style/index.d.ts +1 -0
  18. package/es/components/Flex/style/index.js +2 -0
  19. package/es/components/Form/Form.d.ts +29 -0
  20. package/es/components/Form/Form.js +188 -0
  21. package/es/components/Form/FormItem.d.ts +4 -0
  22. package/es/components/Form/FormItem.js +165 -0
  23. package/es/components/Form/FormItemContent.d.ts +18 -0
  24. package/es/components/Form/FormItemContent.js +146 -0
  25. package/es/components/Form/constants.d.ts +46 -0
  26. package/es/components/Form/constants.js +65 -0
  27. package/es/components/Form/helper.d.ts +120 -0
  28. package/es/components/Form/helper.js +284 -0
  29. package/es/components/Form/index.d.ts +20 -0
  30. package/es/components/Form/index.js +21 -0
  31. package/es/components/Form/interface.d.ts +238 -0
  32. package/es/components/Form/interface.js +2 -0
  33. package/es/components/Form/style/Form.css +1 -0
  34. package/es/components/Form/style/Form.scss +167 -0
  35. package/es/components/Form/style/css.js +2 -0
  36. package/es/components/Form/style/index.d.ts +1 -0
  37. package/es/components/Form/style/index.js +2 -0
  38. package/es/components/Form/useFormItemContext.d.ts +32 -0
  39. package/es/components/Form/useFormItemContext.js +55 -0
  40. package/es/components/Form/useFormItemWatch.d.ts +51 -0
  41. package/es/components/Form/useFormItemWatch.js +69 -0
  42. package/es/components/Form/useValidationTrigger.d.ts +40 -0
  43. package/es/components/Form/useValidationTrigger.js +74 -0
  44. package/es/components/Grid/Col.d.ts +5 -0
  45. package/es/components/Grid/Col.js +97 -0
  46. package/es/components/Grid/Grid.d.ts +12 -0
  47. package/es/components/Grid/Grid.js +12 -0
  48. package/es/components/Grid/Row.d.ts +5 -0
  49. package/es/components/Grid/Row.js +48 -0
  50. package/es/components/Grid/constants.d.ts +55 -0
  51. package/es/components/Grid/constants.js +66 -0
  52. package/es/components/Grid/helper.d.ts +10 -0
  53. package/es/components/Grid/helper.js +44 -0
  54. package/es/components/Grid/index.d.ts +7 -0
  55. package/es/components/Grid/index.js +8 -0
  56. package/es/components/Grid/interface.d.ts +38 -0
  57. package/es/components/Grid/interface.js +2 -0
  58. package/es/components/Grid/style/Grid.css +1 -0
  59. package/es/components/Grid/style/Grid.scss +196 -0
  60. package/es/components/Grid/style/css.js +2 -0
  61. package/es/components/Grid/style/index.d.ts +1 -0
  62. package/es/components/Grid/style/index.js +2 -0
  63. package/es/components/Input/Input.js +72 -74
  64. package/es/components/Input/interface.d.ts +9 -9
  65. package/es/components/InputAmount/InputAmount.js +228 -276
  66. package/es/components/InputAmount/helper.d.ts +46 -0
  67. package/es/components/InputAmount/helper.js +115 -0
  68. package/es/components/InputAmount/style/normal.css +1 -1
  69. package/es/components/InputAmount/style/normal.scss +2 -2
  70. package/es/components/InputAmount/style/primary.css +1 -1
  71. package/es/components/InputAmount/style/primary.scss +2 -2
  72. package/es/components/Message/style/Message.css +1 -1
  73. package/es/components/Message/style/Message.scss +3 -3
  74. package/es/components/ProForm/ProForm.d.ts +33 -0
  75. package/es/components/ProForm/ProForm.js +208 -0
  76. package/es/components/ProForm/ProFormDependency.d.ts +12 -0
  77. package/es/components/ProForm/ProFormDependency.js +61 -0
  78. package/es/components/ProForm/ProFormList.d.ts +19 -0
  79. package/es/components/ProForm/ProFormList.js +348 -0
  80. package/es/components/ProForm/Submitter.d.ts +21 -0
  81. package/es/components/ProForm/Submitter.js +76 -0
  82. package/es/components/ProForm/constants.d.ts +34 -0
  83. package/es/components/ProForm/constants.js +40 -0
  84. package/es/components/ProForm/fields/ProFormCheckbox.d.ts +6 -0
  85. package/es/components/ProForm/fields/ProFormCheckbox.js +11 -0
  86. package/es/components/ProForm/fields/ProFormCheckboxGroup.d.ts +6 -0
  87. package/es/components/ProForm/fields/ProFormCheckboxGroup.js +46 -0
  88. package/es/components/ProForm/fields/ProFormDigit.d.ts +6 -0
  89. package/es/components/ProForm/fields/ProFormDigit.js +15 -0
  90. package/es/components/ProForm/fields/ProFormMoney.d.ts +6 -0
  91. package/es/components/ProForm/fields/ProFormMoney.js +10 -0
  92. package/es/components/ProForm/fields/ProFormMultiSelect.d.ts +6 -0
  93. package/es/components/ProForm/fields/ProFormMultiSelect.js +27 -0
  94. package/es/components/ProForm/fields/ProFormPassword.d.ts +6 -0
  95. package/es/components/ProForm/fields/ProFormPassword.js +16 -0
  96. package/es/components/ProForm/fields/ProFormRadio.d.ts +6 -0
  97. package/es/components/ProForm/fields/ProFormRadio.js +13 -0
  98. package/es/components/ProForm/fields/ProFormSelect.d.ts +6 -0
  99. package/es/components/ProForm/fields/ProFormSelect.js +13 -0
  100. package/es/components/ProForm/fields/ProFormSwitch.d.ts +6 -0
  101. package/es/components/ProForm/fields/ProFormSwitch.js +11 -0
  102. package/es/components/ProForm/fields/ProFormText.d.ts +6 -0
  103. package/es/components/ProForm/fields/ProFormText.js +15 -0
  104. package/es/components/ProForm/fields/ProFormTextArea.d.ts +6 -0
  105. package/es/components/ProForm/fields/ProFormTextArea.js +16 -0
  106. package/es/components/ProForm/fields/createProFormField.d.ts +43 -0
  107. package/es/components/ProForm/fields/createProFormField.js +200 -0
  108. package/es/components/ProForm/fields/index.d.ts +12 -0
  109. package/es/components/ProForm/fields/index.js +13 -0
  110. package/es/components/ProForm/index.d.ts +7 -0
  111. package/es/components/ProForm/index.js +7 -0
  112. package/es/components/ProForm/interface.d.ts +306 -0
  113. package/es/components/ProForm/interface.js +2 -0
  114. package/es/components/ProForm/layouts/DrawerForm.d.ts +16 -0
  115. package/es/components/ProForm/layouts/DrawerForm.js +79 -0
  116. package/es/components/ProForm/layouts/ModalForm.d.ts +16 -0
  117. package/es/components/ProForm/layouts/ModalForm.js +89 -0
  118. package/es/components/ProForm/layouts/QueryFilter.d.ts +21 -0
  119. package/es/components/ProForm/layouts/QueryFilter.js +132 -0
  120. package/es/components/ProForm/layouts/StepsForm.d.ts +13 -0
  121. package/es/components/ProForm/layouts/StepsForm.js +295 -0
  122. package/es/components/ProForm/layouts/index.d.ts +4 -0
  123. package/es/components/ProForm/layouts/index.js +5 -0
  124. package/es/components/ProForm/layouts/useOverlayForm.d.ts +53 -0
  125. package/es/components/ProForm/layouts/useOverlayForm.js +143 -0
  126. package/es/components/ProForm/style/ProForm.module.css +1 -0
  127. package/es/components/ProForm/style/ProForm.module.scss +59 -0
  128. package/es/components/ProForm/style/css.js +3 -0
  129. package/es/components/ProForm/style/index.d.ts +1 -0
  130. package/es/components/ProForm/style/index.js +3 -0
  131. package/es/components/ProForm/utils.d.ts +72 -0
  132. package/es/components/ProForm/utils.js +206 -0
  133. package/es/components/RadioGroup/RadioGroup.js +46 -23
  134. package/es/components/RadioGroup/interface.d.ts +3 -1
  135. package/es/components/Select/Select.d.ts +1 -1
  136. package/es/components/Select/Select.js +113 -106
  137. package/es/components/Select/constants.d.ts +18 -0
  138. package/es/components/Select/constants.js +19 -0
  139. package/es/components/Sidebar/Sidebar.js +21 -23
  140. package/es/components/Sidebar/SidebarLogo.d.ts +7 -0
  141. package/es/components/Sidebar/SidebarLogo.js +33 -0
  142. package/es/components/Sidebar/SimplySidebar.d.ts +2 -2
  143. package/es/components/Sidebar/SimplySidebar.js +18 -22
  144. package/es/components/Sidebar/Stepper.js +14 -14
  145. package/es/components/Sidebar/constants.d.ts +16 -0
  146. package/es/components/Sidebar/constants.js +17 -0
  147. package/es/components/Sidebar/style/Sidebar.css +1 -1
  148. package/es/components/Sidebar/style/Sidebar.scss +1 -1
  149. package/es/components/Sidebar/style/SimplySidebar.css +1 -1
  150. package/es/components/Sidebar/style/SimplySidebar.scss +1 -1
  151. package/es/components/Sidebar/style/Stepper.css +1 -1
  152. package/es/components/Sidebar/style/Stepper.scss +11 -1
  153. package/es/components/Space/Space.d.ts +5 -0
  154. package/es/components/Space/Space.js +71 -0
  155. package/es/components/Space/constants.d.ts +33 -0
  156. package/es/components/Space/constants.js +37 -0
  157. package/es/components/Space/index.d.ts +5 -0
  158. package/es/components/Space/index.js +6 -0
  159. package/es/components/Space/interface.d.ts +12 -0
  160. package/es/components/Space/interface.js +2 -0
  161. package/es/components/Space/style/Space.css +1 -0
  162. package/es/components/Space/style/Space.scss +40 -0
  163. package/es/components/Space/style/css.js +2 -0
  164. package/es/components/Space/style/index.d.ts +1 -0
  165. package/es/components/Space/style/index.js +2 -0
  166. package/es/components/Switch/Switch.js +28 -25
  167. package/es/components/Switch/interface.d.ts +9 -4
  168. package/es/components/useControlledState/index.d.ts +14 -0
  169. package/es/components/useControlledState/index.js +32 -0
  170. package/es/components/useEventCallback/index.d.ts +11 -0
  171. package/es/components/useEventCallback/index.js +17 -0
  172. package/es/components/useLayoutEffect/index.d.ts +11 -0
  173. package/es/components/useLayoutEffect/index.js +17 -0
  174. package/es/components/useLayoutState/index.d.ts +13 -0
  175. package/es/components/useLayoutState/index.js +71 -0
  176. package/es/components/useMemoizedFn/index.d.ts +12 -0
  177. package/es/components/useMemoizedFn/index.js +27 -0
  178. package/es/components/usePrevious/index.d.ts +11 -0
  179. package/es/components/usePrevious/index.js +19 -0
  180. package/es/components/useSafeState/index.d.ts +12 -0
  181. package/es/components/useSafeState/index.js +24 -0
  182. package/es/components/useSyncState/index.d.ts +14 -0
  183. package/es/components/useSyncState/index.js +37 -0
  184. package/es/components/useUpdateEffect/index.d.ts +9 -0
  185. package/es/components/useUpdateEffect/index.js +19 -0
  186. package/es/index.css +1 -1
  187. package/es/index.d.ts +32 -2
  188. package/es/index.js +30 -1
  189. package/jest.setup.d.ts +1 -0
  190. package/jest.setup.ts +1 -0
  191. package/lib/components/CheckboxGroup/CheckboxGroup.d.ts +3 -3
  192. package/lib/components/CheckboxGroup/CheckboxGroup.js +92 -89
  193. package/lib/components/CheckboxGroup/interface.d.ts +21 -15
  194. package/lib/components/CheckboxGroup/style/CheckboxGroup.scss +0 -7
  195. package/lib/components/Flex/Flex.d.ts +5 -0
  196. package/lib/components/Flex/Flex.js +60 -0
  197. package/lib/components/Flex/constants.d.ts +41 -0
  198. package/lib/components/Flex/constants.js +51 -0
  199. package/lib/components/Flex/index.d.ts +5 -0
  200. package/lib/components/Flex/index.js +60 -0
  201. package/lib/components/Flex/interface.d.ts +13 -0
  202. package/lib/components/Flex/interface.js +6 -0
  203. package/lib/components/Flex/style/Flex.css +1 -0
  204. package/lib/components/Flex/style/Flex.scss +70 -0
  205. package/lib/components/Flex/style/css.js +4 -0
  206. package/lib/components/Flex/style/index.d.ts +1 -0
  207. package/lib/components/Flex/style/index.js +4 -0
  208. package/lib/components/Form/Form.d.ts +29 -0
  209. package/lib/components/Form/Form.js +199 -0
  210. package/lib/components/Form/FormItem.d.ts +4 -0
  211. package/lib/components/Form/FormItem.js +176 -0
  212. package/lib/components/Form/FormItemContent.d.ts +18 -0
  213. package/lib/components/Form/FormItemContent.js +156 -0
  214. package/lib/components/Form/constants.d.ts +46 -0
  215. package/lib/components/Form/constants.js +71 -0
  216. package/lib/components/Form/helper.d.ts +120 -0
  217. package/lib/components/Form/helper.js +290 -0
  218. package/lib/components/Form/index.d.ts +20 -0
  219. package/lib/components/Form/index.js +45 -0
  220. package/lib/components/Form/interface.d.ts +238 -0
  221. package/lib/components/Form/interface.js +6 -0
  222. package/lib/components/Form/style/Form.css +1 -0
  223. package/lib/components/Form/style/Form.scss +167 -0
  224. package/lib/components/Form/style/css.js +4 -0
  225. package/lib/components/Form/style/index.d.ts +1 -0
  226. package/lib/components/Form/style/index.js +4 -0
  227. package/lib/components/Form/useFormItemContext.d.ts +32 -0
  228. package/lib/components/Form/useFormItemContext.js +62 -0
  229. package/lib/components/Form/useFormItemWatch.d.ts +51 -0
  230. package/lib/components/Form/useFormItemWatch.js +76 -0
  231. package/lib/components/Form/useValidationTrigger.d.ts +40 -0
  232. package/lib/components/Form/useValidationTrigger.js +81 -0
  233. package/lib/components/Grid/Col.d.ts +5 -0
  234. package/lib/components/Grid/Col.js +107 -0
  235. package/lib/components/Grid/Grid.d.ts +12 -0
  236. package/lib/components/Grid/Grid.js +18 -0
  237. package/lib/components/Grid/Row.d.ts +5 -0
  238. package/lib/components/Grid/Row.js +58 -0
  239. package/lib/components/Grid/constants.d.ts +55 -0
  240. package/lib/components/Grid/constants.js +72 -0
  241. package/lib/components/Grid/helper.d.ts +10 -0
  242. package/lib/components/Grid/helper.js +51 -0
  243. package/lib/components/Grid/index.d.ts +7 -0
  244. package/lib/components/Grid/index.js +62 -0
  245. package/lib/components/Grid/interface.d.ts +38 -0
  246. package/lib/components/Grid/interface.js +6 -0
  247. package/lib/components/Grid/style/Grid.css +1 -0
  248. package/lib/components/Grid/style/Grid.scss +196 -0
  249. package/lib/components/Grid/style/css.js +4 -0
  250. package/lib/components/Grid/style/index.d.ts +1 -0
  251. package/lib/components/Grid/style/index.js +4 -0
  252. package/lib/components/Input/Input.js +71 -73
  253. package/lib/components/Input/interface.d.ts +9 -9
  254. package/lib/components/InputAmount/InputAmount.js +230 -278
  255. package/lib/components/InputAmount/helper.d.ts +46 -0
  256. package/lib/components/InputAmount/helper.js +122 -0
  257. package/lib/components/InputAmount/style/normal.css +1 -1
  258. package/lib/components/InputAmount/style/normal.scss +2 -2
  259. package/lib/components/InputAmount/style/primary.css +1 -1
  260. package/lib/components/InputAmount/style/primary.scss +2 -2
  261. package/lib/components/Message/style/Message.css +1 -1
  262. package/lib/components/Message/style/Message.scss +3 -3
  263. package/lib/components/ProForm/ProForm.d.ts +33 -0
  264. package/lib/components/ProForm/ProForm.js +216 -0
  265. package/lib/components/ProForm/ProFormDependency.d.ts +12 -0
  266. package/lib/components/ProForm/ProFormDependency.js +67 -0
  267. package/lib/components/ProForm/ProFormList.d.ts +19 -0
  268. package/lib/components/ProForm/ProFormList.js +355 -0
  269. package/lib/components/ProForm/Submitter.d.ts +21 -0
  270. package/lib/components/ProForm/Submitter.js +83 -0
  271. package/lib/components/ProForm/constants.d.ts +34 -0
  272. package/lib/components/ProForm/constants.js +46 -0
  273. package/lib/components/ProForm/fields/ProFormCheckbox.d.ts +6 -0
  274. package/lib/components/ProForm/fields/ProFormCheckbox.js +18 -0
  275. package/lib/components/ProForm/fields/ProFormCheckboxGroup.d.ts +6 -0
  276. package/lib/components/ProForm/fields/ProFormCheckboxGroup.js +53 -0
  277. package/lib/components/ProForm/fields/ProFormDigit.d.ts +6 -0
  278. package/lib/components/ProForm/fields/ProFormDigit.js +22 -0
  279. package/lib/components/ProForm/fields/ProFormMoney.d.ts +6 -0
  280. package/lib/components/ProForm/fields/ProFormMoney.js +17 -0
  281. package/lib/components/ProForm/fields/ProFormMultiSelect.d.ts +6 -0
  282. package/lib/components/ProForm/fields/ProFormMultiSelect.js +34 -0
  283. package/lib/components/ProForm/fields/ProFormPassword.d.ts +6 -0
  284. package/lib/components/ProForm/fields/ProFormPassword.js +23 -0
  285. package/lib/components/ProForm/fields/ProFormRadio.d.ts +6 -0
  286. package/lib/components/ProForm/fields/ProFormRadio.js +20 -0
  287. package/lib/components/ProForm/fields/ProFormSelect.d.ts +6 -0
  288. package/lib/components/ProForm/fields/ProFormSelect.js +20 -0
  289. package/lib/components/ProForm/fields/ProFormSwitch.d.ts +6 -0
  290. package/lib/components/ProForm/fields/ProFormSwitch.js +18 -0
  291. package/lib/components/ProForm/fields/ProFormText.d.ts +6 -0
  292. package/lib/components/ProForm/fields/ProFormText.js +22 -0
  293. package/lib/components/ProForm/fields/ProFormTextArea.d.ts +6 -0
  294. package/lib/components/ProForm/fields/ProFormTextArea.js +23 -0
  295. package/lib/components/ProForm/fields/createProFormField.d.ts +43 -0
  296. package/lib/components/ProForm/fields/createProFormField.js +208 -0
  297. package/lib/components/ProForm/fields/index.d.ts +12 -0
  298. package/lib/components/ProForm/fields/index.js +90 -0
  299. package/lib/components/ProForm/index.d.ts +7 -0
  300. package/lib/components/ProForm/index.js +73 -0
  301. package/lib/components/ProForm/interface.d.ts +306 -0
  302. package/lib/components/ProForm/interface.js +6 -0
  303. package/lib/components/ProForm/layouts/DrawerForm.d.ts +16 -0
  304. package/lib/components/ProForm/layouts/DrawerForm.js +86 -0
  305. package/lib/components/ProForm/layouts/ModalForm.d.ts +16 -0
  306. package/lib/components/ProForm/layouts/ModalForm.js +96 -0
  307. package/lib/components/ProForm/layouts/QueryFilter.d.ts +21 -0
  308. package/lib/components/ProForm/layouts/QueryFilter.js +139 -0
  309. package/lib/components/ProForm/layouts/StepsForm.d.ts +13 -0
  310. package/lib/components/ProForm/layouts/StepsForm.js +302 -0
  311. package/lib/components/ProForm/layouts/index.d.ts +4 -0
  312. package/lib/components/ProForm/layouts/index.js +40 -0
  313. package/lib/components/ProForm/layouts/useOverlayForm.d.ts +53 -0
  314. package/lib/components/ProForm/layouts/useOverlayForm.js +150 -0
  315. package/lib/components/ProForm/style/ProForm.module.css +1 -0
  316. package/lib/components/ProForm/style/ProForm.module.scss +59 -0
  317. package/lib/components/ProForm/style/css.js +4 -0
  318. package/lib/components/ProForm/style/index.d.ts +1 -0
  319. package/lib/components/ProForm/style/index.js +4 -0
  320. package/lib/components/ProForm/utils.d.ts +72 -0
  321. package/lib/components/ProForm/utils.js +213 -0
  322. package/lib/components/RadioGroup/RadioGroup.js +45 -22
  323. package/lib/components/RadioGroup/interface.d.ts +3 -1
  324. package/lib/components/Select/Select.d.ts +1 -1
  325. package/lib/components/Select/Select.js +114 -107
  326. package/lib/components/Select/constants.d.ts +18 -0
  327. package/lib/components/Select/constants.js +25 -0
  328. package/lib/components/Sidebar/Sidebar.js +21 -23
  329. package/lib/components/Sidebar/SidebarLogo.d.ts +7 -0
  330. package/lib/components/Sidebar/SidebarLogo.js +39 -0
  331. package/lib/components/Sidebar/SimplySidebar.d.ts +2 -2
  332. package/lib/components/Sidebar/SimplySidebar.js +17 -21
  333. package/lib/components/Sidebar/Stepper.js +14 -14
  334. package/lib/components/Sidebar/constants.d.ts +16 -0
  335. package/lib/components/Sidebar/constants.js +23 -0
  336. package/lib/components/Sidebar/style/Sidebar.css +1 -1
  337. package/lib/components/Sidebar/style/Sidebar.scss +1 -1
  338. package/lib/components/Sidebar/style/SimplySidebar.css +1 -1
  339. package/lib/components/Sidebar/style/SimplySidebar.scss +1 -1
  340. package/lib/components/Sidebar/style/Stepper.css +1 -1
  341. package/lib/components/Sidebar/style/Stepper.scss +11 -1
  342. package/lib/components/Space/Space.d.ts +5 -0
  343. package/lib/components/Space/Space.js +81 -0
  344. package/lib/components/Space/constants.d.ts +33 -0
  345. package/lib/components/Space/constants.js +43 -0
  346. package/lib/components/Space/index.d.ts +5 -0
  347. package/lib/components/Space/index.js +53 -0
  348. package/lib/components/Space/interface.d.ts +12 -0
  349. package/lib/components/Space/interface.js +6 -0
  350. package/lib/components/Space/style/Space.css +1 -0
  351. package/lib/components/Space/style/Space.scss +40 -0
  352. package/lib/components/Space/style/css.js +4 -0
  353. package/lib/components/Space/style/index.d.ts +1 -0
  354. package/lib/components/Space/style/index.js +4 -0
  355. package/lib/components/Switch/Switch.js +27 -24
  356. package/lib/components/Switch/interface.d.ts +9 -4
  357. package/lib/components/useControlledState/index.d.ts +14 -0
  358. package/lib/components/useControlledState/index.js +39 -0
  359. package/lib/components/useEventCallback/index.d.ts +11 -0
  360. package/lib/components/useEventCallback/index.js +24 -0
  361. package/lib/components/useLayoutEffect/index.d.ts +11 -0
  362. package/lib/components/useLayoutEffect/index.js +23 -0
  363. package/lib/components/useLayoutState/index.d.ts +13 -0
  364. package/lib/components/useLayoutState/index.js +79 -0
  365. package/lib/components/useMemoizedFn/index.d.ts +12 -0
  366. package/lib/components/useMemoizedFn/index.js +33 -0
  367. package/lib/components/usePrevious/index.d.ts +11 -0
  368. package/lib/components/usePrevious/index.js +25 -0
  369. package/lib/components/useSafeState/index.d.ts +12 -0
  370. package/lib/components/useSafeState/index.js +31 -0
  371. package/lib/components/useSyncState/index.d.ts +14 -0
  372. package/lib/components/useSyncState/index.js +44 -0
  373. package/lib/components/useUpdateEffect/index.d.ts +9 -0
  374. package/lib/components/useUpdateEffect/index.js +25 -0
  375. package/lib/index.css +1 -1
  376. package/lib/index.d.ts +32 -2
  377. package/lib/index.js +251 -1
  378. package/package.json +31 -1
@@ -0,0 +1,200 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
+ import _typeof from "@babel/runtime/helpers/esm/typeof";
4
+ var __rest = this && this.__rest || function (s, e) {
5
+ var t = {};
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
7
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ import { useContext } from 'react';
14
+ import useMemoizedFn from '../../useMemoizedFn';
15
+ import { FormItem } from '../../Form';
16
+ import { Col } from '../../Grid';
17
+ import { ProFormContext } from '../ProForm';
18
+ import { DEFAULT_COL_SPAN, WIDTH_SIZE_MAP } from '../constants';
19
+ /** Input types that default to an empty string when no value is present. */
20
+ var TEXT_LIKE_INPUT_TYPES = new Set(['text', 'password', 'textarea', 'mask', 'otp', 'autocomplete']);
21
+ /**
22
+ * Safely reads a named property from an unknown object or its nested `target`.
23
+ * Returns `undefined` when the property is not found at either level.
24
+ */
25
+ var readProp = function readProp(obj, prop) {
26
+ if (!obj || _typeof(obj) !== 'object') return undefined;
27
+ var record = obj;
28
+ if (prop in record) return record[prop];
29
+ if (record.target && _typeof(record.target) === 'object' && prop in record.target) {
30
+ return record.target[prop];
31
+ }
32
+ return undefined;
33
+ };
34
+ /**
35
+ * Extracts the underlying value from a change event or raw value,
36
+ * handling both synthetic React events and plain values.
37
+ */
38
+ var getEventValue = function getEventValue(valuePropName, event) {
39
+ var _a, _b, _c;
40
+ if (valuePropName === 'checked') {
41
+ if (typeof event === 'boolean') return event;
42
+ return (_b = (_a = readProp(event, 'checked')) !== null && _a !== void 0 ? _a : readProp(event, 'value')) !== null && _b !== void 0 ? _b : event;
43
+ }
44
+ return (_c = readProp(event, 'value')) !== null && _c !== void 0 ? _c : event;
45
+ };
46
+ /**
47
+ * Returns a sensible default when the field value is `undefined`,
48
+ * based on the value prop name, input type, and multi-select mode.
49
+ */
50
+ var normalizeFieldValue = function normalizeFieldValue(value, valuePropName, inputType, isMultiple) {
51
+ if (value !== undefined) return value;
52
+ if (valuePropName === 'checked') return false;
53
+ if (isMultiple) return [];
54
+ if (inputType === 'number') return null;
55
+ if (typeof inputType === 'string' && TEXT_LIKE_INPUT_TYPES.has(inputType)) return '';
56
+ return null;
57
+ };
58
+ /** Resolves a width preset name or number into a CSS-compatible pixel value. */
59
+ var resolveWidth = function resolveWidth(width) {
60
+ var _a;
61
+ return typeof width === 'number' ? width : (_a = WIDTH_SIZE_MAP[width]) !== null && _a !== void 0 ? _a : width;
62
+ };
63
+ /** Returns an object containing only the entries whose values are not `undefined`. */
64
+ var pickDefined = function pickDefined(obj) {
65
+ return Object.fromEntries(Object.entries(obj).filter(function (_ref) {
66
+ var _ref2 = _slicedToArray(_ref, 2),
67
+ v = _ref2[1];
68
+ return v !== undefined;
69
+ }));
70
+ };
71
+ /** Composes two optional callbacks so both are invoked in order. */
72
+ var chainFn = function chainFn(first, second) {
73
+ if (!first && !second) return undefined;
74
+ if (!first) return second;
75
+ if (!second) return first;
76
+ return function () {
77
+ first.apply(void 0, arguments);
78
+ second.apply(void 0, arguments);
79
+ };
80
+ };
81
+ /**
82
+ * Factory that wraps an input component into a ProForm-compatible field.
83
+ *
84
+ * The returned component integrates with `react-hook-form` via `<FormItem>`,
85
+ * supports grid layout, readonly rendering, and width presets.
86
+ *
87
+ * @typeParam FieldProps - The props interface of the underlying input component.
88
+ * @param config - The field configuration.
89
+ * @returns A React component accepting {@link ProFormFieldProps} plus the underlying field props.
90
+ *
91
+ * @example
92
+ * ```tsx
93
+ * const ProFormText = createProFormField({
94
+ * component: Input,
95
+ * mapProps: () => ({ type: 'text' }),
96
+ * renderReadonly: renderTextReadonly,
97
+ * });
98
+ * ```
99
+ */
100
+ export function createProFormField(config) {
101
+ var Component = config.component,
102
+ _config$valuePropName = config.valuePropName,
103
+ valuePropName = _config$valuePropName === void 0 ? 'value' : _config$valuePropName,
104
+ mapProps = config.mapProps,
105
+ renderReadonly = config.renderReadonly;
106
+ var FieldComponent = Component;
107
+ var Field = function Field(props) {
108
+ var _a, _b, _c;
109
+ var name = props.name,
110
+ label = props.label,
111
+ rules = props.rules,
112
+ required = props.required,
113
+ help = props.help,
114
+ extra = props.extra,
115
+ dependencies = props.dependencies,
116
+ validateTrigger = props.validateTrigger,
117
+ labelCol = props.labelCol,
118
+ wrapperCol = props.wrapperCol,
119
+ noStyle = props.noStyle,
120
+ readonly = props.readonly,
121
+ hidden = props.hidden,
122
+ colProps = props.colProps,
123
+ fieldProps = props.fieldProps,
124
+ placeholder = props.placeholder,
125
+ disabled = props.disabled,
126
+ width = props.width,
127
+ rest = __rest(props, ["name", "label", "rules", "required", "help", "extra", "dependencies", "validateTrigger", "labelCol", "wrapperCol", "noStyle", "readonly", "hidden", "colProps", "fieldProps", "placeholder", "disabled", "width"]);
128
+ var ctx = useContext(ProFormContext);
129
+ var mergedReadonly = readonly !== null && readonly !== void 0 ? readonly : ctx === null || ctx === void 0 ? void 0 : ctx.readonly;
130
+ var formItemProps = {
131
+ name: name,
132
+ label: label,
133
+ rules: rules,
134
+ required: required,
135
+ help: help,
136
+ extra: extra,
137
+ dependencies: dependencies,
138
+ validateTrigger: validateTrigger,
139
+ labelCol: labelCol,
140
+ wrapperCol: wrapperCol,
141
+ noStyle: noStyle,
142
+ valuePropName: valuePropName
143
+ };
144
+ var renderField = useMemoizedFn(function (_ref3) {
145
+ var field = _ref3.field;
146
+ var _a, _b, _c, _d;
147
+ var currentFieldProps = fieldProps !== null && fieldProps !== void 0 ? fieldProps : {};
148
+ if (mergedReadonly) {
149
+ var readonlyValue = renderReadonly ? renderReadonly(field === null || field === void 0 ? void 0 : field.value, fieldProps) : (_a = field === null || field === void 0 ? void 0 : field.value) !== null && _a !== void 0 ? _a : '-';
150
+ return _jsx("span", {
151
+ children: readonlyValue
152
+ });
153
+ }
154
+ var mapped = mapProps ? mapProps(rest) : {};
155
+ var inputType = (_b = mapped.type) !== null && _b !== void 0 ? _b : currentFieldProps.type;
156
+ var multiple = (_d = (_c = mapped.multiple) !== null && _c !== void 0 ? _c : currentFieldProps.multiple) !== null && _d !== void 0 ? _d : fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.multiple;
157
+ var isMultiple = Boolean(multiple);
158
+ var formOnBlur = field === null || field === void 0 ? void 0 : field.onBlur;
159
+ var widthStyle = width !== undefined ? Object.assign(Object.assign({}, currentFieldProps.style), {
160
+ width: resolveWidth(width)
161
+ }) : undefined;
162
+ var nextProps = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, mapped), currentFieldProps), pickDefined({
163
+ placeholder: placeholder,
164
+ disabled: disabled,
165
+ name: field === null || field === void 0 ? void 0 : field.name,
166
+ invalid: field === null || field === void 0 ? void 0 : field.invalid,
167
+ success: field === null || field === void 0 ? void 0 : field.success
168
+ })), widthStyle ? {
169
+ style: widthStyle
170
+ } : {}), _defineProperty(_defineProperty(_defineProperty({}, valuePropName, normalizeFieldValue(field === null || field === void 0 ? void 0 : field.value, valuePropName, inputType, isMultiple)), "onBlur", chainFn(formOnBlur ? function () {
171
+ return formOnBlur();
172
+ } : undefined, currentFieldProps.onBlur)), "onChange", function onChange() {
173
+ var _b2;
174
+ var _a, _b;
175
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
176
+ args[_key] = arguments[_key];
177
+ }
178
+ (_a = field === null || field === void 0 ? void 0 : field.onChange) === null || _a === void 0 ? void 0 : _a.call(field, getEventValue(valuePropName, args[0]));
179
+ (_b = currentFieldProps.onChange) === null || _b === void 0 ? void 0 : (_b2 = _b).call.apply(_b2, [currentFieldProps].concat(args));
180
+ }));
181
+ return _jsx(FieldComponent, Object.assign({}, nextProps));
182
+ });
183
+ if (hidden) return null;
184
+ var node = _jsx(FormItem, Object.assign({}, formItemProps, {
185
+ children: renderField
186
+ }));
187
+ if (ctx === null || ctx === void 0 ? void 0 : ctx.grid) {
188
+ return _jsx(Col, {
189
+ span: (_c = (_a = colProps === null || colProps === void 0 ? void 0 : colProps.span) !== null && _a !== void 0 ? _a : (_b = ctx === null || ctx === void 0 ? void 0 : ctx.colProps) === null || _b === void 0 ? void 0 : _b.span) !== null && _c !== void 0 ? _c : DEFAULT_COL_SPAN,
190
+ children: node
191
+ });
192
+ }
193
+ return node;
194
+ };
195
+ var componentMeta = Component;
196
+ Field.displayName = "ProFormField(".concat(componentMeta.displayName || componentMeta.name || 'Unknown', ")");
197
+ return Field;
198
+ }
199
+ export default createProFormField;
200
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9maWVsZHMvY3JlYXRlUHJvRm9ybUZpZWxkLmpzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL3NyYy9jb21wb25lbnRzL1Byb0Zvcm0vZmllbGRzL2NyZWF0ZVByb0Zvcm1GaWVsZC50c3giXSwibmFtZXMiOlsiX19yZXN0IiwicyIsImUiLCJ0IiwicCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImluZGV4T2YiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJpIiwibGVuZ3RoIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJqc3giLCJfanN4IiwidXNlQ29udGV4dCIsInVzZU1lbW9pemVkRm4iLCJGb3JtSXRlbSIsIkNvbCIsIlByb0Zvcm1Db250ZXh0IiwiREVGQVVMVF9DT0xfU1BBTiIsIldJRFRIX1NJWkVfTUFQIiwiVEVYVF9MSUtFX0lOUFVUX1RZUEVTIiwiU2V0IiwicmVhZFByb3AiLCJvYmoiLCJwcm9wIiwiX3R5cGVvZiIsInVuZGVmaW5lZCIsInJlY29yZCIsInRhcmdldCIsImdldEV2ZW50VmFsdWUiLCJ2YWx1ZVByb3BOYW1lIiwiZXZlbnQiLCJfYSIsIl9iIiwiX2MiLCJub3JtYWxpemVGaWVsZFZhbHVlIiwidmFsdWUiLCJpbnB1dFR5cGUiLCJpc011bHRpcGxlIiwiaGFzIiwicmVzb2x2ZVdpZHRoIiwid2lkdGgiLCJwaWNrRGVmaW5lZCIsImZyb21FbnRyaWVzIiwiZW50cmllcyIsImZpbHRlciIsIl9yZWYiLCJfcmVmMiIsIl9zbGljZWRUb0FycmF5IiwidiIsImNoYWluRm4iLCJmaXJzdCIsInNlY29uZCIsImFwcGx5IiwiYXJndW1lbnRzIiwiY3JlYXRlUHJvRm9ybUZpZWxkIiwiY29uZmlnIiwiQ29tcG9uZW50IiwiY29tcG9uZW50IiwiX2NvbmZpZyR2YWx1ZVByb3BOYW1lIiwibWFwUHJvcHMiLCJyZW5kZXJSZWFkb25seSIsIkZpZWxkQ29tcG9uZW50IiwiRmllbGQiLCJwcm9wcyIsIm5hbWUiLCJsYWJlbCIsInJ1bGVzIiwicmVxdWlyZWQiLCJoZWxwIiwiZXh0cmEiLCJkZXBlbmRlbmNpZXMiLCJ2YWxpZGF0ZVRyaWdnZXIiLCJsYWJlbENvbCIsIndyYXBwZXJDb2wiLCJub1N0eWxlIiwicmVhZG9ubHkiLCJoaWRkZW4iLCJjb2xQcm9wcyIsImZpZWxkUHJvcHMiLCJwbGFjZWhvbGRlciIsImRpc2FibGVkIiwicmVzdCIsImN0eCIsIm1lcmdlZFJlYWRvbmx5IiwiZm9ybUl0ZW1Qcm9wcyIsInJlbmRlckZpZWxkIiwiX3JlZjMiLCJmaWVsZCIsIl9kIiwiY3VycmVudEZpZWxkUHJvcHMiLCJyZWFkb25seVZhbHVlIiwiY2hpbGRyZW4iLCJtYXBwZWQiLCJ0eXBlIiwibXVsdGlwbGUiLCJCb29sZWFuIiwiZm9ybU9uQmx1ciIsIm9uQmx1ciIsIndpZHRoU3R5bGUiLCJhc3NpZ24iLCJzdHlsZSIsIm5leHRQcm9wcyIsImludmFsaWQiLCJzdWNjZXNzIiwiX2RlZmluZVByb3BlcnR5Iiwib25DaGFuZ2UiLCJfYjIiLCJfbGVuIiwiYXJncyIsIkFycmF5IiwiX2tleSIsImNvbmNhdCIsIm5vZGUiLCJncmlkIiwic3BhbiIsImNvbXBvbmVudE1ldGEiLCJkaXNwbGF5TmFtZSJdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBSUEsTUFBTSxHQUFJLElBQUksSUFBSSxJQUFJLENBQUNBLE1BQU0sSUFBSyxVQUFVQyxDQUFDLEVBQUVDLENBQUMsRUFBRTtFQUNsRCxJQUFJQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0VBQ1YsS0FBSyxJQUFJQyxDQUFDLElBQUlILENBQUMsRUFBRSxJQUFJSSxNQUFNLENBQUNDLFNBQVMsQ0FBQ0MsY0FBYyxDQUFDQyxJQUFJLENBQUNQLENBQUMsRUFBRUcsQ0FBQyxDQUFDLElBQUlGLENBQUMsQ0FBQ08sT0FBTyxDQUFDTCxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQy9FRCxDQUFDLENBQUNDLENBQUMsQ0FBQyxHQUFHSCxDQUFDLENBQUNHLENB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c291cmNlc0NvbnRlbnQiOlsidmFyIF9fcmVzdCA9ICh0aGlzICYmIHRoaXMuX19yZXN0KSB8fCBmdW5jdGlvbiAocywgZSkge1xuICAgIHZhciB0ID0ge307XG4gICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICAgIHRbcF0gPSBzW3BdO1xuICAgIGlmIChzICE9IG51bGwgJiYgdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMgPT09IFwiZnVuY3Rpb25cIilcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKGUuaW5kZXhPZihwW2ldKSA8IDAgJiYgT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHMsIHBbaV0pKVxuICAgICAgICAgICAgICAgIHRbcFtpXV0gPSBzW3BbaV1dO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHQ7XG59O1xuaW1wb3J0IHsganN4IGFzIF9qc3ggfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IHVzZUNvbnRleHQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdXNlTWVtb2l6ZWRGbiBmcm9tICcuLi8uLi91c2VNZW1vaXplZEZuJztcbmltcG9ydCB7IEZvcm1JdGVtIH0gZnJvbSAnLi4vLi4vRm9ybSc7XG5pbXBvcnQgeyBDb2wgfSBmcm9tICcuLi8uLi9HcmlkJztcbmltcG9ydCB7IFByb0Zvcm1Db250ZXh0IH0gZnJvbSAnLi4vUHJvRm9ybSc7XG5pbXBvcnQgeyBERUZBVUxUX0NPTF9TUEFOLCBXSURUSF9TSVpFX01BUCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG4vKiogSW5wdXQgdHlwZXMgdGhhdCBkZWZhdWx0IHRvIGFuIGVtcHR5IHN0cmluZyB3aGVuIG5vIHZhbHVlIGlzIHByZXNlbnQuICovXG5jb25zdCBURVhUX0xJS0VfSU5QVVRfVFlQRVMgPSBuZXcgU2V0KFsndGV4dCcsICdwYXNzd29yZCcsICd0ZXh0YXJlYScsICdtYXNrJywgJ290cCcsICdhdXRvY29tcGxldGUnXSk7XG4vKipcbiAqIFNhZmVseSByZWFkcyBhIG5hbWVkIHByb3BlcnR5IGZyb20gYW4gdW5rbm93biBvYmplY3Qgb3IgaXRzIG5lc3RlZCBgdGFyZ2V0YC5cbiAqIFJldHVybnMgYHVuZGVmaW5lZGAgd2hlbiB0aGUgcHJvcGVydHkgaXMgbm90IGZvdW5kIGF0IGVpdGhlciBsZXZlbC5cbiAqL1xuY29uc3QgcmVhZFByb3AgPSAob2JqLCBwcm9wKSA9PiB7XG4gICAgaWYgKCFvYmogfHwgdHlwZW9mIG9iaiAhPT0gJ29iamVjdCcpXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgY29uc3QgcmVjb3JkID0gb2JqO1xuICAgIGlmIChwcm9wIGluIHJlY29yZClcbiAgICAgICAgcmV0dXJuIHJlY29yZFtwcm9wXTtcbiAgICBpZiAocmVjb3JkLnRhcmdldCAmJiB0eXBlb2YgcmVjb3JkLnRhcmdldCA9PT0gJ29iamVjdCcgJiYgcHJvcCBpbiByZWNvcmQudGFyZ2V0KSB7XG4gICAgICAgIHJldHVybiByZWNvcmQudGFyZ2V0W3Byb3BdO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xufTtcbi8qKlxuICogRXh0cmFjdHMgdGhlIHVuZGVybHlpbmcgdmFsdWUgZnJvbSBhIGNoYW5nZSBldmVudCBvciByYXcgdmFsdWUsXG4gKiBoYW5kbGluZyBib3RoIHN5bnRoZXRpYyBSZWFjdCBldmVudHMgYW5kIHBsYWluIHZhbHVlcy5cbiAqL1xuY29uc3QgZ2V0RXZlbnRWYWx1ZSA9ICh2YWx1ZVByb3BOYW1lLCBldmVudCkgPT4ge1xuICAgIHZhciBfYSwgX2IsIF9jO1xuICAgIGlmICh2YWx1ZVByb3BOYW1lID09PSAnY2hlY2tlZCcpIHtcbiAgICAgICAgaWYgKHR5cGVvZiBldmVudCA9PT0gJ2Jvb2xlYW4nKVxuICAgICAgICAgICAgcmV0dXJuIGV2ZW50O1xuICAgICAgICByZXR1cm4gKF9iID0gKF9hID0gcmVhZFByb3AoZXZlbnQsICdjaGVja2VkJykpICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IHJlYWRQcm9wKGV2ZW50LCAndmFsdWUnKSkgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogZXZlbnQ7XG4gICAgfVxuICAgIHJldHVybiAoX2MgPSByZWFkUHJvcChldmVudCwgJ3ZhbHVlJykpICE9PSBudWxsICYmIF9jICE9PSB2b2lkIDAgPyBfYyA6IGV2ZW50O1xufTtcbi8qKlxuICogUmV0dXJucyBhIHNlbnNpYmxlIGRlZmF1bHQgd2hlbiB0aGUgZmllbGQgdmFsdWUgaXMgYHVuZGVmaW5lZGAsXG4gKiBiYXNlZCBvbiB0aGUgdmFsdWUgcHJvcCBuYW1lLCBpbnB1dCB0eXBlLCBhbmQgbXVsdGktc2VsZWN0IG1vZGUuXG4gKi9cbmNvbnN0IG5vcm1hbGl6ZUZpZWxkVmFsdWUgPSAodmFsdWUsIHZhbHVlUHJvcE5hbWUsIGlucHV0VHlwZSwgaXNNdWx0aXBsZSkgPT4ge1xuICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkKVxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgaWYgKHZhbHVlUHJvcE5hbWUgPT09ICdjaGVja2VkJylcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGlmIChpc011bHRpcGxlKVxuICAgICAgICByZXR1cm4gW107XG4gICAgaWYgKGlucHV0VHlwZSA9PT0gJ251bWJlcicpXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIGlmICh0eXBlb2YgaW5wdXRUeXBlID09PSAnc3RyaW5nJyAmJiBURVhUX0xJS0VfSU5QVVRfVFlQRVMuaGFzKGlucHV0VHlwZSkpXG4gICAgICAgIHJldHVybiAnJztcbiAgICByZXR1cm4gbnVsbDtcbn07XG4vKiogUmVzb2x2ZXMgYSB3aWR0aCBwcmVzZXQgbmFtZSBvciBudW1iZXIgaW50byBhIENTUy1jb21wYXRpYmxlIHBpeGVsIHZhbHVlLiAqL1xuY29uc3QgcmVzb2x2ZVdpZHRoID0gKHdpZHRoKSA9PiB7IHZhciBfYTsgcmV0dXJuIHR5cGVvZiB3aWR0aCA9PT0gJ251bWJlcicgPyB3aWR0aCA6IChfYSA9IFdJRFRIX1NJWkVfTUFQW3dpZHRoXSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogd2lkdGg7IH07XG4vKiogUmV0dXJucyBhbiBvYmplY3QgY29udGFpbmluZyBvbmx5IHRoZSBlbnRyaWVzIHdob3NlIHZhbHVlcyBhcmUgbm90IGB1bmRlZmluZWRgLiAqL1xuY29uc3QgcGlja0RlZmluZWQgPSAob2JqKSA9PiBPYmplY3QuZnJvbUVudHJpZXMoT2JqZWN0LmVudHJpZXMob2JqKS5maWx0ZXIoKFssIHZdKSA9PiB2ICE9PSB1bmRlZmluZWQpKTtcbi8qKiBDb21wb3NlcyB0d28gb3B0aW9uYWwgY2FsbGJhY2tzIHNvIGJvdGggYXJlIGludm9rZWQgaW4gb3JkZXIuICovXG5jb25zdCBjaGFpbkZuID0gKGZpcnN0LCBzZWNvbmQpID0+IHtcbiAgICBpZiAoIWZpcnN0ICYmICFzZWNvbmQpXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgaWYgKCFmaXJzdClcbiAgICAgICAgcmV0dXJuIHNlY29uZDtcbiAgICBpZiAoIXNlY29uZClcbiAgICAgICAgcmV0dXJuIGZpcnN0O1xuICAgIHJldHVybiAoLi4uYXJncykgPT4ge1xuICAgICAgICBmaXJzdCguLi5hcmdzKTtcbiAgICAgICAgc2Vjb25kKC4uLmFyZ3MpO1xuICAgIH07XG59O1xuLyoqXG4gKiBGYWN0b3J5IHRoYXQgd3JhcHMgYW4gaW5wdXQgY29tcG9uZW50IGludG8gYSBQcm9Gb3JtLWNvbXBhdGlibGUgZmllbGQuXG4gKlxuICogVGhlIHJldHVybmVkIGNvbXBvbmVudCBpbnRlZ3JhdGVzIHdpdGggYHJlYWN0LWhvb2stZm9ybWAgdmlhIGA8Rm9ybUl0ZW0+YCxcbiAqIHN1cHBvcnRzIGdyaWQgbGF5b3V0LCByZWFkb25seSByZW5kZXJpbmcsIGFuZCB3aWR0aCBwcmVzZXRzLlxuICpcbiAqIEB0eXBlUGFyYW0gRmllbGRQcm9wcyAtIFRoZSBwcm9wcyBpbnRlcmZhY2Ugb2YgdGhlIHVuZGVybHlpbmcgaW5wdXQgY29tcG9uZW50LlxuICogQHBhcmFtIGNvbmZpZyAtIFRoZSBmaWVsZCBjb25maWd1cmF0aW9uLlxuICogQHJldHVybnMgQSBSZWFjdCBjb21wb25lbnQgYWNjZXB0aW5nIHtAbGluayBQcm9Gb3JtRmllbGRQcm9wc30gcGx1cyB0aGUgdW5kZXJseWluZyBmaWVsZCBwcm9wcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHN4XG4gKiBjb25zdCBQcm9Gb3JtVGV4dCA9IGNyZWF0ZVByb0Zvcm1GaWVsZCh7XG4gKiAgIGNvbXBvbmVudDogSW5wdXQsXG4gKiAgIG1hcFByb3BzOiAoKSA9PiAoeyB0eXBlOiAndGV4dCcgfSksXG4gKiAgIHJlbmRlclJlYWRvbmx5OiByZW5kZXJUZXh0UmVhZG9ubHksXG4gKiB9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUHJvRm9ybUZpZWxkKGNvbmZpZykge1xuICAgIGNvbnN0IHsgY29tcG9uZW50OiBDb21wb25lbnQsIHZhbHVlUHJvcE5hbWUgPSAndmFsdWUnLCBtYXBQcm9wcywgcmVuZGVyUmVhZG9ubHkgfSA9IGNvbmZpZztcbiAgICBjb25zdCBGaWVsZENvbXBvbmVudCA9IENvbXBvbmVudDtcbiAgICBjb25zdCBGaWVsZCA9IChwcm9wcykgPT4ge1xuICAgICAgICB2YXIgX2EsIF9iLCBfYztcbiAgICAgICAgY29uc3QgeyBuYW1lLCBsYWJlbCwgcnVsZXMsIHJlcXVpcmVkLCBoZWxwLCBleHRyYSwgZGVwZW5kZW5jaWVzLCB2YWxpZGF0ZVRyaWdnZXIsIGxhYmVsQ29sLCB3cmFwcGVyQ29sLCBub1N0eWxlLCByZWFkb25seSwgaGlkZGVuLCBjb2xQcm9wcywgZmllbGRQcm9wcywgcGxhY2Vob2xkZXIsIGRpc2FibGVkLCB3aWR0aCB9ID0gcHJvcHMsIHJlc3QgPSBfX3Jlc3QocHJvcHMsIFtcIm5hbWVcIiwgXCJsYWJlbFwiLCBcInJ1bGVzXCIsIFwicmVxdWlyZWRcIiwgXCJoZWxwXCIsIFwiZXh0cmFcIiwgXCJkZXBlbmRlbmNpZXNcIiwgXCJ2YWxpZGF0ZVRyaWdnZXJcIiwgXCJsYWJlbENvbFwiLCBcIndyYXBwZXJDb2xcIiwgXCJub1N0eWxlXCIsIFwicmVhZG9ubHlcIiwgXCJoaWRkZW5cIiwgXCJjb2xQcm9wc1wiLCBcImZpZWxkUHJvcHNcIiwgXCJwbGFjZWhvbGRlclwiLCBcImRpc2FibGVkXCIsIFwid2lkdGhcIl0pO1xuICAgICAgICBjb25zdCBjdHggPSB1c2VDb250ZXh0KFByb0Zvcm1Db250ZXh0KTtcbiAgICAgICAgY29uc3QgbWVyZ2VkUmVhZG9ubHkgPSByZWFkb25seSAhPT0gbnVsbCAmJiByZWFkb25seSAhPT0gdm9pZCAwID8gcmVhZG9ubHkgOiBjdHggPT09IG51bGwgfHwgY3R4ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBjdHgucmVhZG9ubHk7XG4gICAgICAgIGNvbnN0IGZvcm1JdGVtUHJvcHMgPSB7XG4gICAgICAgICAgICBuYW1lLCBsYWJlbCwgcnVsZXMsIHJlcXVpcmVkLCBoZWxwLCBleHRyYSxcbiAgICAgICAgICAgIGRlcGVuZGVuY2llcywgdmFsaWRhdGVUcmlnZ2VyLCBsYWJlbENvbCwgd3JhcHBlckNvbCwgbm9TdHlsZSwgdmFsdWVQcm9wTmFtZSxcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgcmVuZGVyRmllbGQgPSB1c2VNZW1vaXplZEZuKCh7IGZpZWxkIH0pID0+IHtcbiAgICAgICAgICAgIHZhciBfYSwgX2IsIF9jLCBfZDtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRGaWVsZFByb3BzID0gKGZpZWxkUHJvcHMgIT09IG51bGwgJiYgZmllbGRQcm9wcyAhPT0gdm9pZCAwID8gZmllbGRQcm9wcyA6IHt9KTtcbiAgICAgICAgICAgIGlmIChtZXJnZWRSZWFkb25seSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlYWRvbmx5VmFsdWUgPSByZW5kZXJSZWFkb25seVxuICAgICAgICAgICAgICAgICAgICA/IHJlbmRlclJlYWRvbmx5KGZpZWxkID09PSBudWxsIHx8IGZpZWxkID09PSB2b2lkIDAgPyB2b2lkIDAgOiBmaWVsZC52YWx1ZSwgZmllbGRQcm9wcylcbiAgICAgICAgICAgICAgICAgICAgOiAoKF9hID0gZmllbGQgPT09IG51bGwgfHwgZmllbGQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGZpZWxkLnZhbHVlKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiAnLScpO1xuICAgICAgICAgICAgICAgIHJldHVybiBfanN4KFwic3BhblwiLCB7IGNoaWxkcmVuOiByZWFkb25seVZhbHVlIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgbWFwcGVkID0gbWFwUHJvcHMgPyBtYXBQcm9wcyhyZXN0KSA6IHt9O1xuICAgICAgICAgICAgY29uc3QgaW5wdXRUeXBlID0gKF9iID0gbWFwcGVkLnR5cGUpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6IGN1cnJlbnRGaWVsZFByb3BzLnR5cGU7XG4gICAgICAgICAgICBjb25zdCBtdWx0aXBsZSA9IChfZCA9IChfYyA9IG1hcHBlZC5tdWx0aXBsZSkgIT09IG51bGwgJiYgX2MgIT09IHZvaWQgMCA/IF9jIDogY3VycmVudEZpZWxkUHJvcHMubXVsdGlwbGUpICE9PSBudWxsICYmIF9kICE9PSB2b2lkIDAgPyBfZCA6IGZpZWxkUHJvcHMgPT09IG51bGwgfHwgZmllbGRQcm9wcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogZmllbGRQcm9wcy5tdWx0aXBsZTtcbiAgICAgICAgICAgIGNvbnN0IGlzTXVsdGlwbGUgPSBCb29sZWFuKG11bHRpcGxlKTtcbiAgICAgICAgICAgIGNvbnN0IGZvcm1PbkJsdXIgPSBmaWVsZCA9PT0gbnVsbCB8fCBmaWVsZCA9PT0gdm9pZCAwID8gdm9pZCAwIDogZmllbGQub25CbHVyO1xuICAgICAgICAgICAgY29uc3Qgd2lkdGhTdHlsZSA9IHdpZHRoICE9PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICA/IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgY3VycmVudEZpZWxkUHJvcHMuc3R5bGUpLCB7IHdpZHRoOiByZXNvbHZlV2lkdGgod2lkdGgpIH0pIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgY29uc3QgbmV4dFByb3BzID0gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBtYXBwZWQpLCBjdXJyZW50RmllbGRQcm9wcyksIHBpY2tEZWZpbmVkKHsgcGxhY2Vob2xkZXIsIGRpc2FibGVkLCBuYW1lOiBmaWVsZCA9PT0gbnVsbCB8fCBmaWVsZCA9PT0gdm9pZCAwID8gdm9pZCAwIDogZmllbGQubmFtZSwgaW52YWxpZDogZmllbGQgPT09IG51bGwgfHwgZmllbGQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGZpZWxkLmludmFsaWQsIHN1Y2Nlc3M6IGZpZWxkID09PSBudWxsIHx8IGZpZWxkID09PSB2b2lkIDAgPyB2b2lkIDAgOiBmaWVsZC5zdWNjZXNzIH0pKSwgKHdpZHRoU3R5bGUgPyB7IHN0eWxlOiB3aWR0aFN0eWxlIH0gOiB7fSkpLCB7IFt2YWx1ZVByb3BOYW1lXTogbm9ybWFsaXplRmllbGRWYWx1ZShmaWVsZCA9PT0gbnVsbCB8fCBmaWVsZCA9PT0gdm9pZCAwID8gdm9pZCAwIDogZmllbGQudmFsdWUsIHZhbHVlUHJvcE5hbWUsIGlucHV0VHlwZSwgaXNNdWx0aXBsZSksIG9uQmx1cjogY2hhaW5Gbihmb3JtT25CbHVyID8gKCkgPT4gZm9ybU9uQmx1cigpIDogdW5kZWZpbmVkLCBjdXJyZW50RmllbGRQcm9wcy5vbkJsdXIpLCBvbkNoYW5nZTogKC4uLmFyZ3MpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgICAgICAgICAgICAgKF9hID0gZmllbGQgPT09IG51bGwgfHwgZmllbGQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGZpZWxkLm9uQ2hhbmdlKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2EuY2FsbChmaWVsZCwgZ2V0RXZlbnRWYWx1ZSh2YWx1ZVByb3BOYW1lLCBhcmdzWzBdKSk7XG4gICAgICAgICAgICAgICAgICAgIChfYiA9IGN1cnJlbnRGaWVsZFByb3BzLm9uQ2hhbmdlKSA9PT0gbnVsbCB8fCBfYiA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2IuY2FsbChjdXJyZW50RmllbGRQcm9wcywgLi4uYXJncyk7XG4gICAgICAgICAgICAgICAgfSB9KTtcbiAgICAgICAgICAgIHJldHVybiBfanN4KEZpZWxkQ29tcG9uZW50LCBPYmplY3QuYXNzaWduKHt9LCBuZXh0UHJvcHMpKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChoaWRkZW4pXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgY29uc3Qgbm9kZSA9IF9qc3goRm9ybUl0ZW0sIE9iamVjdC5hc3NpZ24oe30sIGZvcm1JdGVtUHJvcHMsIHsgY2hpbGRyZW46IHJlbmRlckZpZWxkIH0pKTtcbiAgICAgICAgaWYgKGN0eCA9PT0gbnVsbCB8fCBjdHggPT09IHZvaWQgMCA/IHZvaWQgMCA6IGN0eC5ncmlkKSB7XG4gICAgICAgICAgICByZXR1cm4gX2pzeChDb2wsIHsgc3BhbjogKF9jID0gKF9hID0gY29sUHJvcHMgPT09IG51bGwgfHwgY29sUHJvcHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGNvbFByb3BzLnNwYW4pICE9PSBudWxsICYmIF9hICE9PSB2b2lkIDAgPyBfYSA6IChfYiA9IGN0eCA9PT0gbnVsbCB8fCBjdHggPT09IHZvaWQgMCA/IHZvaWQgMCA6IGN0eC5jb2xQcm9wcykgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLnNwYW4pICE9PSBudWxsICYmIF9jICE9PSB2b2lkIDAgPyBfYyA6IERFRkFVTFRfQ09MX1NQQU4sIGNoaWxkcmVuOiBub2RlIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBub2RlO1xuICAgIH07XG4gICAgY29uc3QgY29tcG9uZW50TWV0YSA9IENvbXBvbmVudDtcbiAgICBGaWVsZC5kaXNwbGF5TmFtZSA9IGBQcm9Gb3JtRmllbGQoJHtjb21wb25lbnRNZXRhLmRpc3BsYXlOYW1lIHx8IGNvbXBvbmVudE1ldGEubmFtZSB8fCAnVW5rbm93bid9KWA7XG4gICAgcmV0dXJuIEZpZWxkO1xufVxuZXhwb3J0IGRlZmF1bHQgY3JlYXRlUHJvRm9ybUZpZWxkOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
@@ -0,0 +1,12 @@
1
+ export { createProFormField } from './createProFormField';
2
+ export { ProFormText } from './ProFormText';
3
+ export { ProFormPassword } from './ProFormPassword';
4
+ export { ProFormTextArea } from './ProFormTextArea';
5
+ export { ProFormDigit } from './ProFormDigit';
6
+ export { ProFormMoney } from './ProFormMoney';
7
+ export { ProFormSelect } from './ProFormSelect';
8
+ export { ProFormMultiSelect } from './ProFormMultiSelect';
9
+ export { ProFormCheckbox } from './ProFormCheckbox';
10
+ export { ProFormCheckboxGroup } from './ProFormCheckboxGroup';
11
+ export { ProFormRadio } from './ProFormRadio';
12
+ export { ProFormSwitch } from './ProFormSwitch';
@@ -0,0 +1,13 @@
1
+ export { createProFormField } from './createProFormField';
2
+ export { ProFormText } from './ProFormText';
3
+ export { ProFormPassword } from './ProFormPassword';
4
+ export { ProFormTextArea } from './ProFormTextArea';
5
+ export { ProFormDigit } from './ProFormDigit';
6
+ export { ProFormMoney } from './ProFormMoney';
7
+ export { ProFormSelect } from './ProFormSelect';
8
+ export { ProFormMultiSelect } from './ProFormMultiSelect';
9
+ export { ProFormCheckbox } from './ProFormCheckbox';
10
+ export { ProFormCheckboxGroup } from './ProFormCheckboxGroup';
11
+ export { ProFormRadio } from './ProFormRadio';
12
+ export { ProFormSwitch } from './ProFormSwitch';
13
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2ZpZWxkcy9pbmRleC50cyJdLCJuYW1lcyI6WyJjcmVhdGVQcm9Gb3JtRmllbGQiLCJQcm9Gb3JtVGV4dCIsIlByb0Zvcm1QYXNzd29yZCIsIlByb0Zvcm1UZXh0QXJlYSIsIlByb0Zvcm1EaWdpdCIsIlByb0Zvcm1Nb25leSIsIlByb0Zvcm1TZWxlY3QiLCJQcm9Gb3JtTXVsdGlTZWxlY3QiLCJQcm9Gb3JtQ2hlY2tib3giLCJQcm9Gb3JtQ2hlY2tib3hHcm91cCIsIlByb0Zvcm1SYWRpbyIsIlByb0Zvcm1Td2l0Y2giXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLGtCQUFrQixRQUFRLHNCQUFzQjtBQUV6RCxTQUFTQyxXQUFXLFFBQVEsZUFBZTtBQUMzQyxTQUFTQyxlQUFlLFFBQVEsbUJBQW1CO0FBQ25ELFNBQVNDLGVBQWUsUUFBUSxtQkFBbUI7QUFDbkQsU0FBU0MsWUFBWSxRQUFRLGdCQUFnQjtBQUM3QyxTQUFTQyxZQUFZLFFBQVEsZ0JBQWdCO0FBQzdDLFNBQVNDLGFBQWEsUUFBUSxpQkFBaUI7QUFDL0MsU0FBU0Msa0JBQWtCLFFBQVEsc0JBQXNCO0FBQ3pELFNBQVNDLGVBQWUsUUFBUSxtQkFBbUI7QUFDbkQsU0FBU0Msb0JBQW9CLFFBQVEsd0JBQXdCO0FBQzdELFNBQVNDLFlBQVksUUFBUSxnQkFBZ0I7QUFDN0MsU0FBU0MsYUFBYSxRQUFRLGlCQUFpQiIsImZpbGUiOiJjb21wb25lbnRzL1Byb0Zvcm0vZmllbGRzL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -0,0 +1,7 @@
1
+ export { ProForm, default } from './ProForm';
2
+ export { Submitter } from './Submitter';
3
+ export { ProFormList } from './ProFormList';
4
+ export { ProFormDependency } from './ProFormDependency';
5
+ export * from './fields';
6
+ export * from './layouts';
7
+ export type { StepsSubmitterProps, ProFormListAction, } from './interface';
@@ -0,0 +1,7 @@
1
+ export { ProForm, default } from './ProForm';
2
+ export { Submitter } from './Submitter';
3
+ export { ProFormList } from './ProFormList';
4
+ export { ProFormDependency } from './ProFormDependency';
5
+ export * from './fields';
6
+ export * from './layouts';
7
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvUHJvRm9ybS9pbmRleC50cyJdLCJuYW1lcyI6WyJQcm9Gb3JtIiwiZGVmYXVsdCIsIlN1Ym1pdHRlciIsIlByb0Zvcm1MaXN0IiwiUHJvRm9ybURlcGVuZGVuY3kiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLE9BQU8sRUFBRUMsT0FBTyxRQUFRLFdBQVc7QUFDNUMsU0FBU0MsU0FBUyxRQUFRLGFBQWE7QUFDdkMsU0FBU0MsV0FBVyxRQUFRLGVBQWU7QUFDM0MsU0FBU0MsaUJBQWlCLFFBQVEscUJBQXFCO0FBRXZELGNBQWMsVUFBVTtBQUN4QixjQUFjLFdBQVciLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
@@ -0,0 +1,306 @@
1
+ import type { ReactElement, ReactNode } from 'react';
2
+ import type { FieldPath, FieldValues, UseFormReturn } from 'react-hook-form';
3
+ import type { FormProps, FormItemRules } from '../Form';
4
+ import type { ButtonProps } from '../Button';
5
+ import type { ModalProps } from '../Modal';
6
+ import type { DrawerProps } from '../Drawer';
7
+ /**
8
+ * Common props shared by all ProForm field components created via {@link createProFormField}.
9
+ *
10
+ * @typeParam FieldProps - The props interface of the underlying input component.
11
+ * @typeParam TFieldValues - The form values type (inferred from the parent form).
12
+ */
13
+ export interface ProFormFieldProps<FieldProps, TFieldValues extends FieldValues = FieldValues> {
14
+ /** Field name path within the form values. */
15
+ name: FieldPath<TFieldValues>;
16
+ /** Label displayed alongside the field. */
17
+ label?: ReactNode;
18
+ /** Validation rules applied to this field. */
19
+ rules?: FormItemRules<TFieldValues>;
20
+ /** Whether the field is required. Adds a required indicator to the label. */
21
+ required?: boolean;
22
+ /** Help text shown below the field. */
23
+ help?: ReactNode;
24
+ /** Extra content rendered beneath the field (after help text). */
25
+ extra?: ReactNode;
26
+ /** Other field names this field depends on for conditional validation. */
27
+ dependencies?: Array<FieldPath<TFieldValues>>;
28
+ /** When validation is triggered — on change, blur, or both. */
29
+ validateTrigger?: 'onChange' | 'onBlur' | Array<'onChange' | 'onBlur'>;
30
+ /** Column span for the label in grid layout. */
31
+ labelCol?: number;
32
+ /** Column span for the input wrapper in grid layout. */
33
+ wrapperCol?: number;
34
+ /** When `true`, renders the field without the `FormItem` wrapper styles. */
35
+ noStyle?: boolean;
36
+ /** When `true`, renders the field value as plain text instead of an input. */
37
+ readonly?: boolean;
38
+ /** When `true`, hides the field entirely (renders nothing). */
39
+ hidden?: boolean;
40
+ /** Grid column configuration for the field when `grid` mode is enabled. */
41
+ colProps?: {
42
+ span?: number;
43
+ };
44
+ /** Props forwarded directly to the underlying input component. */
45
+ fieldProps?: Partial<FieldProps>;
46
+ /** Placeholder text for the input. */
47
+ placeholder?: string;
48
+ /** Whether the field is disabled. */
49
+ disabled?: boolean;
50
+ /** Width of the field — a preset name (`'sm'` | `'md'` | `'lg'` | `'xl'`) or a pixel value. */
51
+ width?: 'sm' | 'md' | 'lg' | 'xl' | number;
52
+ }
53
+ /**
54
+ * Props passed to a custom submitter render function.
55
+ *
56
+ * @typeParam TFieldValues - The form values type.
57
+ */
58
+ export interface SubmitterRenderProps<TFieldValues extends FieldValues = FieldValues> {
59
+ /** The `react-hook-form` form instance. */
60
+ form?: UseFormReturn<TFieldValues>;
61
+ /** Programmatically triggers form submission. */
62
+ submit: () => void;
63
+ /** Programmatically resets the form to its default values. */
64
+ reset: () => void;
65
+ }
66
+ /**
67
+ * Configuration for the form submit/reset button bar.
68
+ *
69
+ * @typeParam TFieldValues - The form values type.
70
+ */
71
+ export interface SubmitterProps<TFieldValues extends FieldValues = FieldValues> {
72
+ /** Text displayed on the submit button. @default 'Submit' */
73
+ submitText?: ReactNode;
74
+ /** Text displayed on the reset button. @default 'Reset' */
75
+ resetText?: ReactNode;
76
+ /** Custom render function that replaces the default button bar. */
77
+ render?: (props: SubmitterRenderProps<TFieldValues>, dom: ReactElement[]) => ReactNode;
78
+ /** Callback fired when the submit button is clicked. */
79
+ onSubmit?: () => void;
80
+ /** Callback fired when the reset button is clicked. */
81
+ onReset?: () => void;
82
+ /** Additional props forwarded to the submit `<Button>`. */
83
+ submitButtonProps?: ButtonProps;
84
+ /** Additional props forwarded to the reset `<Button>`. */
85
+ resetButtonProps?: ButtonProps;
86
+ }
87
+ /**
88
+ * Props for the {@link ProForm} component — an enhanced form with built-in
89
+ * submitter, grid layout, readonly mode, and async data loading.
90
+ *
91
+ * @typeParam TFieldValues - The form values type.
92
+ */
93
+ export interface ProFormProps<TFieldValues extends FieldValues = FieldValues> extends Omit<FormProps<TFieldValues>, 'onFinish'> {
94
+ /** Callback invoked with validated form values on successful submission. Return `false` to prevent the default post-submit behavior. */
95
+ onFinish?: (values: TFieldValues) => void | boolean | Promise<void | boolean>;
96
+ /** Submitter button configuration. Pass `false` to hide the button bar entirely. */
97
+ submitter?: false | SubmitterProps<TFieldValues>;
98
+ /** When `true`, all fields render their values as plain text. */
99
+ readonly?: boolean;
100
+ /** When `true`, wraps children in a responsive `<Row>` grid layout. */
101
+ grid?: boolean;
102
+ /** Default column props applied to each field when `grid` is enabled. */
103
+ colProps?: {
104
+ span?: number;
105
+ };
106
+ /** Row props (e.g. `gutter`) applied to the grid wrapper. */
107
+ rowProps?: {
108
+ gutter?: number;
109
+ };
110
+ /** When `true`, disables the form and shows a loading state on the submit button. */
111
+ loading?: boolean;
112
+ /** Async function to fetch initial/remote form values. Called when `params` change. */
113
+ request?: (params?: Record<string, unknown>) => Promise<TFieldValues>;
114
+ /** Parameters passed to the `request` function. Changing these re-triggers the request. */
115
+ params?: Record<string, unknown>;
116
+ }
117
+ /**
118
+ * Shared props for overlay-based ProForm containers (e.g., modal and drawer).
119
+ */
120
+ export interface OverlayFormProps {
121
+ /** Controlled open state of the overlay. */
122
+ open?: boolean;
123
+ /** Callback fired when the overlay open state changes. */
124
+ onOpenChange?: (open: boolean) => void;
125
+ /** Element that opens the overlay when clicked. */
126
+ trigger?: ReactElement;
127
+ /** Delay (ms) before the overlay closes after a successful submit. */
128
+ submitTimeout?: number;
129
+ /** Whether the overlay closes automatically after a successful submit. @default true */
130
+ autoClose?: boolean;
131
+ /** Whether the overlay content is destroyed when closed. @default true */
132
+ destroyOnClose?: boolean;
133
+ /** Width of the overlay container. */
134
+ width?: string | number;
135
+ /** Title shown in the overlay header. */
136
+ title?: ReactNode;
137
+ }
138
+ /**
139
+ * Props for {@link ModalForm} — a ProForm rendered inside a modal dialog.
140
+ *
141
+ * @typeParam TFieldValues - The form values type.
142
+ */
143
+ export interface ModalFormProps<TFieldValues extends FieldValues = FieldValues> extends ProFormProps<TFieldValues>, OverlayFormProps {
144
+ /** Props forwarded to the underlying `<Modal>` component. */
145
+ modalProps?: ModalProps;
146
+ }
147
+ /**
148
+ * Props for {@link DrawerForm} — a ProForm rendered inside a side drawer.
149
+ *
150
+ * @typeParam TFieldValues - The form values type.
151
+ */
152
+ export interface DrawerFormProps<TFieldValues extends FieldValues = FieldValues> extends ProFormProps<TFieldValues>, OverlayFormProps {
153
+ /** Props forwarded to the underlying `<Drawer>` component. */
154
+ drawerProps?: DrawerProps;
155
+ }
156
+ /**
157
+ * Props for an individual step inside {@link StepsForm}.
158
+ *
159
+ * @typeParam TFieldValues - The form values type.
160
+ */
161
+ export interface StepFormProps<TFieldValues extends FieldValues = FieldValues> extends ProFormProps<TFieldValues> {
162
+ /** Title displayed above the step form. */
163
+ title?: ReactNode;
164
+ /** Description displayed below the step title. */
165
+ description?: ReactNode;
166
+ /** Additional HTML/aria props for the step container. */
167
+ stepProps?: Record<string, unknown>;
168
+ }
169
+ /**
170
+ * Submitter configuration specific to {@link StepsForm}, adding previous/next navigation.
171
+ *
172
+ * @typeParam TFieldValues - The form values type.
173
+ */
174
+ export interface StepsSubmitterProps<TFieldValues extends FieldValues = FieldValues> extends SubmitterProps<TFieldValues> {
175
+ /** Text for the "previous step" button. @default 'Previous' */
176
+ prevText?: ReactNode;
177
+ /** Text for the "next step" button. @default 'Next' */
178
+ nextText?: ReactNode;
179
+ }
180
+ /**
181
+ * Submitter configuration specific to {@link QueryFilter}, adding
182
+ * collapse/expand button text overrides.
183
+ *
184
+ * @typeParam TFieldValues - The form values type.
185
+ */
186
+ export interface QueryFilterSubmitterProps<TFieldValues extends FieldValues = FieldValues> extends SubmitterProps<TFieldValues> {
187
+ /** Text overrides for the collapse/expand toggle in {@link QueryFilter}. */
188
+ searchConfig?: {
189
+ collapseText?: ReactNode;
190
+ expandText?: ReactNode;
191
+ };
192
+ }
193
+ /**
194
+ * Props for {@link StepsForm} — a multi-step wizard form that collects
195
+ * values across steps and submits them together on the final step.
196
+ *
197
+ * @typeParam TFieldValues - The form values type.
198
+ */
199
+ export interface StepsFormProps<TFieldValues extends FieldValues = FieldValues> {
200
+ /** Controlled active step index (0-based). */
201
+ current?: number;
202
+ /** Callback fired when the active step changes. */
203
+ onCurrentChange?: (current: number) => void;
204
+ /** Callback invoked with all merged step values when the final step is submitted. */
205
+ onFinish?: (values: TFieldValues) => void | Promise<void>;
206
+ /** Additional HTML/aria props for the steps wrapper. */
207
+ stepsProps?: Record<string, unknown>;
208
+ /** Shared form props applied to every step's `<ProForm>`. */
209
+ formProps?: Partial<ProFormProps<TFieldValues>>;
210
+ /** Submitter configuration with step navigation. Pass `false` to hide. */
211
+ submitter?: false | StepsSubmitterProps<TFieldValues>;
212
+ /** One or more `<StepForm>` elements representing each wizard step. */
213
+ children: ReactElement<StepFormProps<TFieldValues>> | ReactElement<StepFormProps<TFieldValues>>[];
214
+ }
215
+ /**
216
+ * Props for {@link QueryFilter} — a horizontal search/filter form with
217
+ * collapsible fields and a search/reset button bar.
218
+ *
219
+ * @typeParam TFieldValues - The form values type.
220
+ */
221
+ export interface QueryFilterProps<TFieldValues extends FieldValues = FieldValues> extends Omit<ProFormProps<TFieldValues>, 'submitter'> {
222
+ /** Whether the filter is collapsed by default. @default true */
223
+ defaultCollapsed?: boolean;
224
+ /** Controlled collapsed state. */
225
+ collapsed?: boolean;
226
+ /** Callback fired when the collapsed state changes. */
227
+ onCollapse?: (collapsed: boolean) => void;
228
+ /** Number of fields visible when collapsed. @default 3 */
229
+ defaultColsNumber?: number;
230
+ /** Fixed label width in pixels, or `'auto'`. */
231
+ labelWidth?: number | 'auto';
232
+ /** When `true`, adds a visual separator between filters. */
233
+ split?: boolean;
234
+ /** Callback fired when the reset button is clicked. */
235
+ onReset?: () => void;
236
+ /** Submitter configuration for search/reset/collapse actions. Pass `false` to hide. */
237
+ submitter?: false | QueryFilterSubmitterProps<TFieldValues>;
238
+ }
239
+ /**
240
+ * Imperative action handle exposed by {@link ProFormList} for programmatic list manipulation.
241
+ */
242
+ export interface ProFormListAction {
243
+ /** Appends or inserts a new row with optional default values. */
244
+ add: (defaultValue?: Record<string, unknown>, index?: number) => void;
245
+ /** Removes the row at the given index. */
246
+ remove: (index: number) => void;
247
+ /** Moves a row from one index to another. */
248
+ move: (from: number, to: number) => void;
249
+ /** Duplicates the row at the given index. */
250
+ copy: (index: number) => void;
251
+ /** Returns the current list of row values. */
252
+ getList: () => Record<string, unknown>[];
253
+ }
254
+ /**
255
+ * Props for {@link ProFormList} — a dynamic, repeatable form field list
256
+ * with add/remove/copy/sort capabilities.
257
+ *
258
+ * @typeParam TFieldValues - The form values type.
259
+ */
260
+ export interface ProFormListProps<TFieldValues extends FieldValues = FieldValues> {
261
+ /** Field name path for the array within the form values. */
262
+ name: FieldPath<TFieldValues>;
263
+ /** Label displayed above the list. */
264
+ label?: ReactNode;
265
+ /** Minimum number of rows (prevents removal below this count). */
266
+ min?: number;
267
+ /** Maximum number of rows (prevents adding above this count). */
268
+ max?: number;
269
+ /** Initial row values populated when the list is first rendered. */
270
+ initialValue?: Record<string, unknown>[];
271
+ /** Props for the copy icon button. Pass `false` to hide. */
272
+ copyIconProps?: false | Record<string, unknown>;
273
+ /** Props for the delete icon button. Pass `false` to hide. */
274
+ deleteIconProps?: false | Record<string, unknown>;
275
+ /** Props for the "add row" button. Pass `false` to hide. */
276
+ creatorButtonProps?: false | (ButtonProps & {
277
+ /** Button label text. @default 'Add' */
278
+ text?: ReactNode;
279
+ /** Position of the add button relative to the list. @default 'bottom' */
280
+ position?: 'top' | 'bottom';
281
+ });
282
+ /** When `true`, rows can be reordered via drag-and-drop. */
283
+ sortable?: boolean;
284
+ /** Custom render function for each list row. */
285
+ itemRender?: (props: {
286
+ listDom: ReactNode;
287
+ action: ProFormListAction;
288
+ }) => ReactNode;
289
+ /** Custom render function for the action buttons of each row. */
290
+ actionRender?: (row: {
291
+ index: number;
292
+ record: unknown;
293
+ }, action: ProFormListAction, defaultDom: {
294
+ delete: ReactNode;
295
+ copy: ReactNode;
296
+ }) => ReactNode[];
297
+ /** Row content — either static ReactNode or a render function receiving field metadata and actions. */
298
+ children: ReactNode | ((fields: {
299
+ name: string;
300
+ key: string;
301
+ }[], action: ProFormListAction) => ReactNode);
302
+ /** Callback fired after a row is added. */
303
+ onAfterAdd?: (defaultValue: Record<string, unknown>, insertIndex: number) => void;
304
+ /** Callback fired after a row is removed. */
305
+ onAfterRemove?: (index: number) => void;
306
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL2ludGVyZmFjZS5qcyIsIm5hbWVzIjpbXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyIsInNvdXJjZXMiOlsiY29tcG9uZW50cy9Qcm9Gb3JtL2ludGVyZmFjZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge307Il0sIm1hcHBpbmdzIjoiQUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
@@ -0,0 +1,16 @@
1
+ import type { FieldValues } from 'react-hook-form';
2
+ import type { DrawerFormProps } from '../interface';
3
+ /**
4
+ * A {@link ProForm} displayed inside a side drawer panel.
5
+ *
6
+ * Supports controlled/uncontrolled open state, a trigger element, auto-close
7
+ * on submit, and optional close timeout.
8
+ *
9
+ * @typeParam TFieldValues - The form values type.
10
+ */
11
+ declare function DrawerFormBase<TFieldValues extends FieldValues = FieldValues>(props: DrawerFormProps<TFieldValues>): import("react/jsx-runtime").JSX.Element;
12
+ declare namespace DrawerFormBase {
13
+ var displayName: string;
14
+ }
15
+ export declare const DrawerForm: typeof DrawerFormBase;
16
+ export default DrawerForm;