@qsxy/element-plus-react 1.0.0-next.2 → 1.0.0-next.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 (771) hide show
  1. package/README.md +68 -0
  2. package/dist/Avatar/Avatar.d.ts +4 -0
  3. package/dist/Avatar/Avatar.js +94 -0
  4. package/dist/Avatar/index.d.ts +2 -0
  5. package/dist/Avatar/index.js +1 -0
  6. package/dist/Avatar/typings.d.ts +21 -0
  7. package/dist/Avatar/typings.js +1 -0
  8. package/dist/Badge/Badge.d.ts +2 -2
  9. package/dist/Badge/Badge.js +75 -60
  10. package/dist/Badge/index.js +1 -39
  11. package/dist/Badge/typings.d.ts +11 -1
  12. package/dist/Badge/typings.js +1 -17
  13. package/dist/Breadcrumb/Breadcrumb.js +23 -50
  14. package/dist/Breadcrumb/BreadcrumbItem.js +44 -53
  15. package/dist/Breadcrumb/index.js +2 -42
  16. package/dist/Breadcrumb/typings.d.ts +4 -0
  17. package/dist/Breadcrumb/typings.js +1 -17
  18. package/dist/Button/Button.js +134 -105
  19. package/dist/Button/ButtonGroup.js +29 -48
  20. package/dist/Button/ButtonGroupContext.js +2 -30
  21. package/dist/Button/index.js +2 -42
  22. package/dist/Button/typings.d.ts +35 -3
  23. package/dist/Button/typings.js +1 -17
  24. package/dist/Button/useButtonCustomStyle.d.ts +4 -0
  25. package/dist/Button/useButtonCustomStyle.js +65 -0
  26. package/dist/Calendar/Calendar.js +310 -237
  27. package/dist/Calendar/CalendarContext.d.ts +10 -0
  28. package/dist/Calendar/CalendarContext.js +3 -27
  29. package/dist/Calendar/DatePanel.js +191 -158
  30. package/dist/Calendar/DateRangePanel.js +140 -125
  31. package/dist/Calendar/Footer.js +41 -51
  32. package/dist/Calendar/Header.js +83 -65
  33. package/dist/Calendar/MonthPanel.js +138 -124
  34. package/dist/Calendar/MonthRangePanel.js +137 -124
  35. package/dist/Calendar/ShortCuts.d.ts +2 -0
  36. package/dist/Calendar/ShortCuts.js +21 -40
  37. package/dist/Calendar/WeekPanel.js +213 -145
  38. package/dist/Calendar/YearPanel.js +150 -125
  39. package/dist/Calendar/YearRangePanel.js +138 -128
  40. package/dist/Calendar/index.js +4 -47
  41. package/dist/Calendar/typings.d.ts +18 -0
  42. package/dist/Calendar/typings.js +1 -17
  43. package/dist/Calendar/util.js +26 -68
  44. package/dist/Card/Card.js +36 -46
  45. package/dist/Card/index.js +1 -39
  46. package/dist/Card/typings.d.ts +4 -0
  47. package/dist/Card/typings.js +1 -17
  48. package/dist/Carousel/Carousel.d.ts +4 -0
  49. package/dist/Carousel/Carousel.js +204 -0
  50. package/dist/Carousel/CarouselContext.d.ts +4 -0
  51. package/dist/Carousel/CarouselContext.js +24 -0
  52. package/dist/Carousel/CarouselItem.d.ts +4 -0
  53. package/dist/Carousel/CarouselItem.js +59 -0
  54. package/dist/Carousel/hooks/useCarousel.d.ts +37 -0
  55. package/dist/Carousel/hooks/useCarousel.js +373 -0
  56. package/dist/Carousel/hooks/useCarouselItem.d.ts +8 -0
  57. package/dist/Carousel/hooks/useCarouselItem.js +165 -0
  58. package/dist/Carousel/index.d.ts +3 -0
  59. package/dist/Carousel/index.js +2 -0
  60. package/dist/Carousel/typings.d.ts +83 -0
  61. package/dist/Carousel/typings.js +1 -0
  62. package/dist/Cascader/Cascader.js +694 -605
  63. package/dist/Cascader/CascaderContext.d.ts +4 -10
  64. package/dist/Cascader/CascaderContext.js +10 -50
  65. package/dist/Cascader/CascaderDropdown.d.ts +1 -0
  66. package/dist/Cascader/CascaderDropdown.js +90 -77
  67. package/dist/Cascader/CascaderMenu.js +100 -186
  68. package/dist/Cascader/Utils.d.ts +0 -2
  69. package/dist/Cascader/Utils.js +6 -77
  70. package/dist/Cascader/index.d.ts +1 -1
  71. package/dist/Cascader/index.js +1 -39
  72. package/dist/Cascader/typings.d.ts +77 -13
  73. package/dist/Cascader/typings.js +1 -17
  74. package/dist/Cascader/useCascader.d.ts +61 -3
  75. package/dist/Cascader/useCascader.js +651 -488
  76. package/dist/Checkbox/Checkbox.d.ts +3 -3
  77. package/dist/Checkbox/Checkbox.js +138 -161
  78. package/dist/Checkbox/CheckboxButton.js +133 -157
  79. package/dist/Checkbox/index.js +2 -42
  80. package/dist/Checkbox/typings.d.ts +14 -2
  81. package/dist/Checkbox/typings.js +1 -17
  82. package/dist/CheckboxGroup/CheckboxGroup.d.ts +4 -0
  83. package/dist/CheckboxGroup/CheckboxGroup.js +134 -112
  84. package/dist/CheckboxGroup/CheckboxGroupContext.d.ts +1 -0
  85. package/dist/CheckboxGroup/CheckboxGroupContext.js +2 -30
  86. package/dist/CheckboxGroup/index.js +2 -42
  87. package/dist/Col/Col.js +53 -72
  88. package/dist/Col/index.js +1 -39
  89. package/dist/Col/typings.d.ts +10 -0
  90. package/dist/Col/typings.js +1 -17
  91. package/dist/Collapse/Collapse.js +36 -45
  92. package/dist/Collapse/CollapseContext.d.ts +3 -0
  93. package/dist/Collapse/CollapseContext.js +3 -31
  94. package/dist/Collapse/CollapseItem.js +88 -73
  95. package/dist/Collapse/CollapseTransition.js +29 -67
  96. package/dist/Collapse/index.js +2 -42
  97. package/dist/Collapse/typings.d.ts +7 -0
  98. package/dist/Collapse/typings.js +1 -17
  99. package/dist/ColorPicker/AlphaSlider.js +110 -99
  100. package/dist/ColorPicker/ColorPicker.d.ts +1 -1
  101. package/dist/ColorPicker/ColorPicker.js +233 -189
  102. package/dist/ColorPicker/HueSlider.js +95 -96
  103. package/dist/ColorPicker/Predefine.js +58 -66
  104. package/dist/ColorPicker/SvPanel.js +88 -81
  105. package/dist/ColorPicker/color.js +301 -213
  106. package/dist/ColorPicker/draggable.js +30 -48
  107. package/dist/ColorPicker/index.js +1 -39
  108. package/dist/ColorPicker/typings.d.ts +9 -0
  109. package/dist/ColorPicker/typings.js +1 -17
  110. package/dist/ColorPicker/util.js +23 -60
  111. package/dist/ConfigProvider/ConfigProvider.d.ts +7 -0
  112. package/dist/ConfigProvider/ConfigProvider.js +8 -28
  113. package/dist/ConfigProvider/index.d.ts +1 -1
  114. package/dist/ConfigProvider/index.js +1 -39
  115. package/dist/DatePicker/DatePicker.d.ts +3 -3
  116. package/dist/DatePicker/DatePicker.js +251 -227
  117. package/dist/DatePicker/DateRangePicker.d.ts +3 -3
  118. package/dist/DatePicker/DateRangePicker.js +279 -276
  119. package/dist/DatePicker/index.js +2 -39
  120. package/dist/DatePicker/main.d.ts +2 -2
  121. package/dist/DatePicker/main.js +21 -44
  122. package/dist/DatePicker/typings.d.ts +92 -16
  123. package/dist/DatePicker/typings.js +1 -17
  124. package/dist/DateTimePicker/DateTimePicker.d.ts +3 -5
  125. package/dist/DateTimePicker/DateTimePicker.js +286 -215
  126. package/dist/DateTimePicker/index.js +1 -39
  127. package/dist/DateTimePicker/typings.d.ts +10 -12
  128. package/dist/DateTimePicker/typings.js +1 -17
  129. package/dist/DateTimePicker/util.js +5 -35
  130. package/dist/Descriptions/Descriptions.d.ts +2 -2
  131. package/dist/Descriptions/Descriptions.js +85 -64
  132. package/dist/Descriptions/DescriptionsCell.d.ts +11 -12
  133. package/dist/Descriptions/DescriptionsCell.js +75 -80
  134. package/dist/Descriptions/DescriptionsContext.d.ts +2 -0
  135. package/dist/Descriptions/DescriptionsContext.js +4 -32
  136. package/dist/Descriptions/DescriptionsItem.js +4 -27
  137. package/dist/Descriptions/DescriptionsRow.d.ts +2 -5
  138. package/dist/Descriptions/DescriptionsRow.js +49 -44
  139. package/dist/Descriptions/index.js +2 -42
  140. package/dist/Descriptions/typings.d.ts +13 -0
  141. package/dist/Descriptions/typings.js +1 -17
  142. package/dist/Dialog/Dialog.js +228 -179
  143. package/dist/Dialog/DialogBody.js +52 -59
  144. package/dist/Dialog/DialogContext.d.ts +9 -1
  145. package/dist/Dialog/DialogContext.js +7 -45
  146. package/dist/Dialog/DialogFooter.js +21 -45
  147. package/dist/Dialog/DialogHeader.js +44 -50
  148. package/dist/Dialog/index.js +1 -39
  149. package/dist/Dialog/typings.d.ts +39 -3
  150. package/dist/Dialog/typings.js +1 -17
  151. package/dist/Dialog/useDraggable.js +52 -79
  152. package/dist/Divider/Divider.d.ts +7 -3
  153. package/dist/Divider/Divider.js +38 -44
  154. package/dist/Divider/index.js +1 -39
  155. package/dist/Drawer/Drawer.d.ts +2 -5
  156. package/dist/Drawer/Drawer.js +210 -130
  157. package/dist/Drawer/DrawerBody.js +29 -57
  158. package/dist/Drawer/DrawerContext.d.ts +2 -4
  159. package/dist/Drawer/DrawerContext.js +5 -46
  160. package/dist/Drawer/DrawerFooter.js +22 -43
  161. package/dist/Drawer/DrawerHeader.js +34 -54
  162. package/dist/Drawer/index.js +1 -39
  163. package/dist/Drawer/typings.d.ts +44 -7
  164. package/dist/Drawer/typings.js +1 -17
  165. package/dist/Dropdown/Dropdown.d.ts +3 -3
  166. package/dist/Dropdown/Dropdown.js +103 -107
  167. package/dist/Dropdown/DropdownContext.d.ts +2 -0
  168. package/dist/Dropdown/DropdownContext.js +5 -43
  169. package/dist/Dropdown/DropdownItem.js +40 -60
  170. package/dist/Dropdown/DropdownMenu.d.ts +5 -2
  171. package/dist/Dropdown/DropdownMenu.js +30 -56
  172. package/dist/Dropdown/index.js +3 -45
  173. package/dist/Dropdown/typings.d.ts +27 -3
  174. package/dist/Dropdown/typings.js +1 -17
  175. package/dist/Empty/Empty.js +32 -53
  176. package/dist/Empty/ImgEmpty.js +115 -117
  177. package/dist/Empty/index.js +1 -39
  178. package/dist/Form/FieldContext.js +8 -37
  179. package/dist/Form/Form.d.ts +9 -4
  180. package/dist/Form/Form.js +170 -163
  181. package/dist/Form/FormContext.js +58 -97
  182. package/dist/Form/FormItem.d.ts +12 -0
  183. package/dist/Form/FormItem.js +620 -352
  184. package/dist/Form/FormItemContext.js +3 -31
  185. package/dist/Form/List.js +121 -104
  186. package/dist/Form/ListContext.js +3 -27
  187. package/dist/Form/index.js +3 -45
  188. package/dist/Form/typings.d.ts +81 -5
  189. package/dist/Form/typings.js +1 -17
  190. package/dist/Form/useForm.d.ts +22 -0
  191. package/dist/Form/useForm.js +830 -690
  192. package/dist/Form/useWatch.js +64 -79
  193. package/dist/Form/utils/NameMap.d.ts +3 -0
  194. package/dist/Form/utils/NameMap.js +98 -69
  195. package/dist/Form/utils/asyncUtil.js +9 -37
  196. package/dist/Form/utils/classUtil.js +26 -48
  197. package/dist/Form/utils/cloneDeep.js +8 -29
  198. package/dist/Form/utils/get.js +6 -30
  199. package/dist/Form/utils/messages.js +25 -53
  200. package/dist/Form/utils/set.js +31 -44
  201. package/dist/Form/utils/typeUtil.js +3 -31
  202. package/dist/Form/utils/util.js +18 -55
  203. package/dist/Form/utils/validateUtil.d.ts +4 -0
  204. package/dist/Form/utils/validateUtil.js +284 -159
  205. package/dist/Form/utils/valueUtil.d.ts +17 -0
  206. package/dist/Form/utils/valueUtil.js +102 -107
  207. package/dist/Icon/Icon.js +39 -63
  208. package/dist/Icon/IconList/Check.js +25 -65
  209. package/dist/Icon/IconList/Close.js +23 -52
  210. package/dist/Icon/IconList/Delete.js +25 -65
  211. package/dist/Icon/IconList/Down.js +25 -65
  212. package/dist/Icon/IconList/Eye.js +25 -65
  213. package/dist/Icon/IconList/EyeClose.js +25 -65
  214. package/dist/Icon/IconList/Left.js +25 -65
  215. package/dist/Icon/IconList/Link.js +19 -55
  216. package/dist/Icon/IconList/More.js +25 -65
  217. package/dist/Icon/IconList/Question.js +25 -65
  218. package/dist/Icon/IconList/Right.js +25 -65
  219. package/dist/Icon/IconList/Search.js +25 -65
  220. package/dist/Icon/IconList/Up.js +25 -65
  221. package/dist/Icon/IconList/Upload.js +25 -65
  222. package/dist/Icon/IconList/index.js +14 -68
  223. package/dist/Icon/index.js +2 -42
  224. package/dist/Icon/typings.d.ts +7 -0
  225. package/dist/Icon/typings.js +1 -17
  226. package/dist/Input/Input.js +335 -357
  227. package/dist/Input/InputGroup.js +27 -43
  228. package/dist/Input/InputRange.js +295 -308
  229. package/dist/Input/TextArea.js +129 -120
  230. package/dist/Input/index.js +3 -45
  231. package/dist/Input/typings.d.ts +62 -1
  232. package/dist/Input/typings.js +1 -17
  233. package/dist/InputNumber/InputNumber.d.ts +2 -2
  234. package/dist/InputNumber/InputNumber.js +225 -204
  235. package/dist/InputNumber/index.js +1 -39
  236. package/dist/InputNumber/typings.d.ts +22 -1
  237. package/dist/InputNumber/typings.js +1 -17
  238. package/dist/Link/Link.js +43 -60
  239. package/dist/Link/index.js +1 -39
  240. package/dist/Link/typings.d.ts +6 -1
  241. package/dist/Link/typings.js +1 -17
  242. package/dist/Loading/Loading.d.ts +7 -2
  243. package/dist/Loading/Loading.js +148 -60
  244. package/dist/Loading/index.js +1 -39
  245. package/dist/Loading/typings.d.ts +12 -1
  246. package/dist/Loading/typings.js +1 -17
  247. package/dist/Message/Main.js +34 -66
  248. package/dist/Message/Message.d.ts +2 -2
  249. package/dist/Message/Message.js +169 -131
  250. package/dist/Message/index.js +64 -88
  251. package/dist/Message/typings.d.ts +11 -0
  252. package/dist/Message/typings.js +1 -17
  253. package/dist/MessageBox/Main.js +43 -68
  254. package/dist/MessageBox/MessageBox.js +260 -202
  255. package/dist/MessageBox/index.d.ts +19 -5
  256. package/dist/MessageBox/index.js +75 -79
  257. package/dist/MessageBox/typings.d.ts +51 -0
  258. package/dist/MessageBox/typings.js +1 -17
  259. package/dist/Notification/Main.js +34 -66
  260. package/dist/Notification/Notification.js +151 -131
  261. package/dist/Notification/index.d.ts +7 -0
  262. package/dist/Notification/index.js +67 -92
  263. package/dist/Notification/typings.d.ts +12 -1
  264. package/dist/Notification/typings.js +1 -17
  265. package/dist/Pagination/Options.d.ts +7 -2
  266. package/dist/Pagination/Options.js +130 -109
  267. package/dist/Pagination/Pager.js +30 -61
  268. package/dist/Pagination/Pagination.js +470 -418
  269. package/dist/Pagination/index.js +1 -39
  270. package/dist/Pagination/typings.d.ts +46 -19
  271. package/dist/Pagination/typings.js +1 -17
  272. package/dist/Pagination/util.js +10 -41
  273. package/dist/Popconfirm/Popconfirm.d.ts +3 -2
  274. package/dist/Popconfirm/Popconfirm.js +116 -117
  275. package/dist/Popconfirm/index.js +1 -39
  276. package/dist/Popconfirm/typings.d.ts +14 -2
  277. package/dist/Popconfirm/typings.js +1 -17
  278. package/dist/Popover/Popover.d.ts +3 -2
  279. package/dist/Popover/Popover.js +96 -91
  280. package/dist/Popover/index.js +1 -39
  281. package/dist/Popover/typings.d.ts +12 -1
  282. package/dist/Popover/typings.js +1 -17
  283. package/dist/Popper/Popper.js +172 -149
  284. package/dist/Popper/index.js +1 -39
  285. package/dist/Popper/popperOptions.js +79 -90
  286. package/dist/Popper/typings.d.ts +7 -1
  287. package/dist/Popper/typings.js +1 -17
  288. package/dist/Progress/Progress.js +186 -155
  289. package/dist/Progress/index.js +1 -39
  290. package/dist/Progress/typings.d.ts +12 -0
  291. package/dist/Progress/typings.js +1 -17
  292. package/dist/Radio/Radio.js +162 -117
  293. package/dist/Radio/RadioButton.d.ts +2 -2
  294. package/dist/Radio/RadioButton.js +137 -117
  295. package/dist/Radio/index.js +1 -39
  296. package/dist/Radio/typings.d.ts +9 -1
  297. package/dist/Radio/typings.js +1 -17
  298. package/dist/RadioGroup/RadioGroup.js +63 -78
  299. package/dist/RadioGroup/index.js +1 -39
  300. package/dist/RadioGroup/typings.d.ts +1 -0
  301. package/dist/RadioGroup/typings.js +1 -17
  302. package/dist/Row/Row.js +41 -62
  303. package/dist/Row/RowContext.d.ts +1 -0
  304. package/dist/Row/RowContext.js +3 -31
  305. package/dist/Row/index.js +2 -42
  306. package/dist/Row/typings.d.ts +4 -0
  307. package/dist/Row/typings.js +1 -17
  308. package/dist/Scrollbar/Scrollbar.js +172 -133
  309. package/dist/Scrollbar/Thumb.js +108 -96
  310. package/dist/Scrollbar/index.js +1 -39
  311. package/dist/Scrollbar/typings.d.ts +31 -2
  312. package/dist/Scrollbar/typings.js +1 -17
  313. package/dist/Scrollbar/util.js +24 -51
  314. package/dist/Select/Option.js +50 -75
  315. package/dist/Select/OptionGroup.js +31 -47
  316. package/dist/Select/Select.d.ts +3 -15
  317. package/dist/Select/Select.js +22 -51
  318. package/dist/Select/SelectContext.js +8 -46
  319. package/dist/Select/SelectCore.js +480 -382
  320. package/dist/Select/SelectDropdown.js +252 -162
  321. package/dist/Select/index.d.ts +1 -0
  322. package/dist/Select/index.js +3 -42
  323. package/dist/Select/typings.d.ts +52 -2
  324. package/dist/Select/typings.js +1 -17
  325. package/dist/Skeleton/PlaceholderGraph.d.ts +5 -1
  326. package/dist/Skeleton/PlaceholderGraph.js +39 -45
  327. package/dist/Skeleton/PlaceholderGrid.d.ts +5 -1
  328. package/dist/Skeleton/PlaceholderGrid.js +55 -67
  329. package/dist/Skeleton/PlaceholderParagraph.d.ts +6 -2
  330. package/dist/Skeleton/PlaceholderParagraph.js +56 -52
  331. package/dist/Skeleton/Skeleton.d.ts +2 -9
  332. package/dist/Skeleton/Skeleton.js +93 -40
  333. package/dist/Skeleton/SkeletonContext.d.ts +17 -0
  334. package/dist/Skeleton/SkeletonContext.js +5 -0
  335. package/dist/Skeleton/SkeletonItem.d.ts +4 -0
  336. package/dist/Skeleton/SkeletonItem.js +47 -0
  337. package/dist/Skeleton/index.d.ts +2 -3
  338. package/dist/Skeleton/index.js +2 -39
  339. package/dist/Skeleton/typings.d.ts +29 -0
  340. package/dist/Skeleton/typings.js +1 -0
  341. package/dist/Switch/Switch.js +215 -153
  342. package/dist/Switch/index.js +1 -39
  343. package/dist/Switch/typings.d.ts +19 -0
  344. package/dist/Switch/typings.js +1 -17
  345. package/dist/Table/Colgroup.d.ts +1 -0
  346. package/dist/Table/Colgroup.js +17 -41
  347. package/dist/Table/Table.d.ts +1 -2
  348. package/dist/Table/Table.js +246 -188
  349. package/dist/Table/TableBody.js +265 -200
  350. package/dist/Table/TableCell.js +461 -320
  351. package/dist/Table/TableColumn.js +9 -43
  352. package/dist/Table/TableContext.d.ts +8 -0
  353. package/dist/Table/TableContext.js +44 -63
  354. package/dist/Table/TableHeader.js +112 -102
  355. package/dist/Table/TableHeaderCell.js +214 -161
  356. package/dist/Table/hooks/useResize.js +69 -83
  357. package/dist/Table/hooks/useScroll.js +88 -114
  358. package/dist/Table/hooks/useSelection.d.ts +13 -3
  359. package/dist/Table/hooks/useSelection.js +145 -110
  360. package/dist/Table/hooks/useTable.js +404 -310
  361. package/dist/Table/index.js +2 -42
  362. package/dist/Table/treeUtil.d.ts +39 -0
  363. package/dist/Table/treeUtil.js +99 -77
  364. package/dist/Table/typings.d.ts +138 -2
  365. package/dist/Table/typings.js +1 -17
  366. package/dist/Table/util.d.ts +12 -4
  367. package/dist/Table/util.js +168 -109
  368. package/dist/Tabs/TabPane.js +51 -53
  369. package/dist/Tabs/Tabs.d.ts +2 -2
  370. package/dist/Tabs/Tabs.js +282 -179
  371. package/dist/Tabs/TabsContext.js +4 -32
  372. package/dist/Tabs/index.js +2 -42
  373. package/dist/Tabs/typings.d.ts +40 -0
  374. package/dist/Tabs/typings.js +1 -17
  375. package/dist/Tag/Tag.d.ts +1 -1
  376. package/dist/Tag/Tag.js +87 -83
  377. package/dist/Tag/index.js +1 -39
  378. package/dist/Tag/typings.d.ts +11 -1
  379. package/dist/Tag/typings.js +1 -17
  380. package/dist/TimeLine/TimeLine.js +14 -42
  381. package/dist/TimeLine/TimeLineItem.js +67 -54
  382. package/dist/TimeLine/index.js +2 -42
  383. package/dist/TimeLine/typings.d.ts +11 -2
  384. package/dist/TimeLine/typings.js +1 -17
  385. package/dist/TimePicker/TimePicker.d.ts +1 -4
  386. package/dist/TimePicker/TimePicker.js +275 -214
  387. package/dist/TimePicker/TimePickerPanel.js +62 -71
  388. package/dist/TimePicker/TimePickerRange.d.ts +4 -4
  389. package/dist/TimePicker/TimePickerRange.js +371 -334
  390. package/dist/TimePicker/TimeRangePanel.js +182 -165
  391. package/dist/TimePicker/TimeSpinnerPanel.js +321 -266
  392. package/dist/TimePicker/index.d.ts +2 -3
  393. package/dist/TimePicker/index.js +1 -42
  394. package/dist/TimePicker/main.d.ts +9 -0
  395. package/dist/TimePicker/main.js +17 -0
  396. package/dist/TimePicker/typings.d.ts +39 -21
  397. package/dist/TimePicker/typings.js +1 -17
  398. package/dist/TimePicker/useTimePicker.js +56 -66
  399. package/dist/TimePicker/util.js +8 -40
  400. package/dist/Tooltip/Tooltip.d.ts +3 -3
  401. package/dist/Tooltip/Tooltip.js +174 -192
  402. package/dist/Tooltip/TooltipContext.d.ts +1 -0
  403. package/dist/Tooltip/TooltipContext.js +8 -46
  404. package/dist/Tooltip/index.js +2 -42
  405. package/dist/Tooltip/typings.d.ts +14 -1
  406. package/dist/Tooltip/typings.js +1 -17
  407. package/dist/Transfer/List.js +290 -241
  408. package/dist/Transfer/ListBody.js +92 -106
  409. package/dist/Transfer/ListItem.d.ts +1 -0
  410. package/dist/Transfer/ListItem.js +38 -51
  411. package/dist/Transfer/Transfer.js +323 -280
  412. package/dist/Transfer/index.js +1 -39
  413. package/dist/Transfer/interface.js +1 -17
  414. package/dist/Transfer/operation.js +35 -48
  415. package/dist/Transfer/search.js +30 -62
  416. package/dist/Transfer/typings/index.d.ts +27 -0
  417. package/dist/Transfer/typings/index.js +1 -17
  418. package/dist/Transfer/typings/list.d.ts +25 -0
  419. package/dist/Transfer/typings/list.js +1 -17
  420. package/dist/Transfer/typings/listBody.d.ts +1 -0
  421. package/dist/Transfer/typings/listBody.js +2 -30
  422. package/dist/Transition/Transition.d.ts +10 -0
  423. package/dist/Transition/Transition.js +271 -234
  424. package/dist/Transition/TransitionGroup.d.ts +59 -0
  425. package/dist/Transition/TransitionGroup.js +136 -88
  426. package/dist/Transition/TransitionGroupContext.js +2 -26
  427. package/dist/Transition/childMapping.d.ts +23 -0
  428. package/dist/Transition/childMapping.js +84 -71
  429. package/dist/Transition/index.js +2 -42
  430. package/dist/Transition/util.d.ts +0 -1
  431. package/dist/Transition/util.js +6 -47
  432. package/dist/Tree/DirectoryTree.d.ts +6 -13
  433. package/dist/Tree/DirectoryTree.js +149 -170
  434. package/dist/Tree/DropIndicator.d.ts +4 -2
  435. package/dist/Tree/DropIndicator.js +16 -41
  436. package/dist/Tree/Indent.d.ts +2 -2
  437. package/dist/Tree/Indent.js +23 -54
  438. package/dist/Tree/MotionTreeNode.d.ts +4 -5
  439. package/dist/Tree/MotionTreeNode.js +120 -104
  440. package/dist/Tree/NodeList.d.ts +18 -11
  441. package/dist/Tree/NodeList.js +232 -216
  442. package/dist/Tree/RCTree.d.ts +92 -75
  443. package/dist/Tree/RCTree.js +980 -702
  444. package/dist/Tree/Tree.d.ts +18 -3
  445. package/dist/Tree/Tree.js +65 -80
  446. package/dist/Tree/TreeNode.d.ts +5 -83
  447. package/dist/Tree/TreeNode.js +367 -470
  448. package/dist/Tree/contextTypes.d.ts +40 -30
  449. package/dist/Tree/contextTypes.js +8 -29
  450. package/dist/Tree/index.d.ts +2 -2
  451. package/dist/Tree/index.js +4 -48
  452. package/dist/Tree/typings.d.ts +63 -19
  453. package/dist/Tree/typings.js +1 -29
  454. package/dist/Tree/typings.tsx--bak +245 -0
  455. package/dist/Tree/useUnmount.d.ts +5 -0
  456. package/dist/Tree/useUnmount.js +34 -0
  457. package/dist/Tree/util.d.ts +31 -18
  458. package/dist/Tree/util.js +160 -169
  459. package/dist/Tree/utils/conductUtil.d.ts +8 -2
  460. package/dist/Tree/utils/conductUtil.js +113 -93
  461. package/dist/Tree/utils/dictUtil.d.ts +8 -3
  462. package/dist/Tree/utils/dictUtil.js +44 -55
  463. package/dist/Tree/utils/diffUtil.d.ts +4 -3
  464. package/dist/Tree/utils/diffUtil.js +26 -43
  465. package/dist/Tree/utils/dropIndicator.js +23 -51
  466. package/dist/Tree/utils/iconUtil.js +44 -51
  467. package/dist/Tree/utils/keyUtil.d.ts +2 -0
  468. package/dist/Tree/utils/keyUtil.js +3 -0
  469. package/dist/Tree/utils/motion.js +34 -71
  470. package/dist/Tree/utils/pickAttrs.d.ts +5 -0
  471. package/dist/Tree/utils/pickAttrs.js +30 -58
  472. package/dist/Tree/utils/treeUtil.d.ts +40 -18
  473. package/dist/Tree/utils/treeUtil.js +268 -187
  474. package/dist/TreeSelect/TreeSelect.d.ts +1 -1
  475. package/dist/TreeSelect/TreeSelect.js +521 -459
  476. package/dist/TreeSelect/Utils.d.ts +2 -1
  477. package/dist/TreeSelect/Utils.js +15 -36
  478. package/dist/TreeSelect/index.js +1 -39
  479. package/dist/TreeSelect/typings.d.ts +20 -1
  480. package/dist/TreeSelect/typings.js +1 -17
  481. package/dist/Upload/Upload.js +106 -109
  482. package/dist/Upload/UploadContent.js +227 -182
  483. package/dist/Upload/UploadContext.js +5 -33
  484. package/dist/Upload/UploadDrag.js +77 -97
  485. package/dist/Upload/UploadList.js +104 -73
  486. package/dist/Upload/ajax.js +45 -71
  487. package/dist/Upload/index.js +1 -39
  488. package/dist/Upload/typings.d.ts +34 -0
  489. package/dist/Upload/typings.js +34 -36
  490. package/dist/Upload/use-handlers.d.ts +1 -0
  491. package/dist/Upload/use-handlers.js +182 -126
  492. package/dist/Util/Math.d.ts +34 -0
  493. package/dist/Util/Math.js +81 -78
  494. package/dist/Util/PopupManager.js +5 -27
  495. package/dist/Util/base.d.ts +22 -1
  496. package/dist/Util/base.js +109 -167
  497. package/dist/Util/genFileId.js +3 -29
  498. package/dist/Util/index.js +6 -51
  499. package/dist/Util/resize-event.js +31 -54
  500. package/dist/Util/shallowEqual.d.ts +11 -0
  501. package/dist/Util/shallowEqual.js +30 -28
  502. package/dist/Util/treeUtils.d.ts +8 -0
  503. package/dist/Util/treeUtils.js +68 -64
  504. package/dist/config/Constants.js +17 -47
  505. package/dist/display.css +1 -0
  506. package/dist/fonts/fa-brands-400.ttf +0 -0
  507. package/dist/fonts/fa-brands-400.woff2 +0 -0
  508. package/dist/fonts/fa-duotone-900.ttf +0 -0
  509. package/dist/fonts/fa-duotone-900.woff2 +0 -0
  510. package/dist/fonts/fa-light-300.ttf +0 -0
  511. package/dist/fonts/fa-light-300.woff2 +0 -0
  512. package/dist/fonts/fa-regular-400.ttf +0 -0
  513. package/dist/fonts/fa-regular-400.woff2 +0 -0
  514. package/dist/fonts/fa-solid-900.ttf +0 -0
  515. package/dist/fonts/fa-solid-900.woff2 +0 -0
  516. package/dist/fonts/fa-thin-100.ttf +0 -0
  517. package/dist/fonts/fa-thin-100.woff2 +0 -0
  518. package/dist/fonts/fa-v4compatibility.ttf +0 -0
  519. package/dist/fonts/fa-v4compatibility.woff2 +0 -0
  520. package/dist/hooks/animationPropsUtils.d.ts +8 -0
  521. package/dist/hooks/animationPropsUtils.js +21 -49
  522. package/dist/hooks/htmlPropsUtils.d.ts +8 -0
  523. package/dist/hooks/htmlPropsUtils.js +54 -121
  524. package/dist/hooks/index.js +14 -73
  525. package/dist/hooks/popperPropsUtils.d.ts +8 -0
  526. package/dist/hooks/popperPropsUtils.js +21 -67
  527. package/dist/hooks/prefix.d.ts +1 -1
  528. package/dist/hooks/prefix.js +22 -55
  529. package/dist/hooks/treePropsUtils.d.ts +12 -0
  530. package/dist/hooks/treePropsUtils.js +24 -103
  531. package/dist/hooks/useChildrenInstance.d.ts +7 -0
  532. package/dist/hooks/useChildrenInstance.js +47 -60
  533. package/dist/hooks/useClassNames.d.ts +81 -0
  534. package/dist/hooks/useClassNames.js +284 -192
  535. package/dist/hooks/useClickOutside.js +37 -62
  536. package/dist/hooks/useCommonProps.js +17 -53
  537. package/dist/hooks/useComponentWillMount.js +4 -28
  538. package/dist/hooks/useControlled.d.ts +8 -0
  539. package/dist/hooks/useControlled.js +31 -37
  540. package/dist/hooks/useForceUpdate.d.ts +1 -0
  541. package/dist/hooks/useForceUpdate.js +16 -34
  542. package/dist/hooks/useUpdateEffect.js +6 -29
  543. package/dist/index.css +1 -12721
  544. package/dist/index.d.ts +17 -15
  545. package/dist/index.js +71 -234
  546. package/dist/locale/en.d.ts +179 -0
  547. package/dist/locale/en.js +178 -0
  548. package/dist/locale/i18n.d.ts +2 -0
  549. package/dist/locale/i18n.js +44 -0
  550. package/dist/locale/zhCn.d.ts +178 -0
  551. package/dist/locale/zhCn.js +177 -0
  552. package/dist/types/common.d.ts +24 -0
  553. package/dist/types/common.js +1 -17
  554. package/dist/types/type.d.ts +5 -0
  555. package/dist/types/type.js +16 -28
  556. package/package.json +11 -24
  557. package/theme-chalk/avatar.scss +50 -0
  558. package/{dist/theme-chalk/badge/index.scss → theme-chalk/badge.scss} +1 -1
  559. package/{dist/theme-chalk/breadcrumb/index.scss → theme-chalk/breadcrumb.scss} +1 -1
  560. package/theme-chalk/build.scss +2 -0
  561. package/theme-chalk/button/_mixins.scss +317 -0
  562. package/theme-chalk/button/button-group.scss +83 -0
  563. package/theme-chalk/button/button.scss +382 -0
  564. package/theme-chalk/button/index.scss +2 -0
  565. package/{dist/theme-chalk/button → theme-chalk/button--bak}/_mixins.scss +3 -3
  566. package/{dist/theme-chalk/button → theme-chalk/button--bak}/button-group.scss +1 -1
  567. package/{dist/theme-chalk/button → theme-chalk/button--bak}/button.scss +2 -2
  568. package/theme-chalk/button--bak/index.scss +2 -0
  569. package/theme-chalk/button-group.scss +80 -0
  570. package/theme-chalk/button.scss +304 -0
  571. package/{dist/theme-chalk → theme-chalk}/calendar/date-picker.scss +1 -1
  572. package/{dist/theme-chalk → theme-chalk}/calendar/date-range-picker.scss +1 -1
  573. package/theme-chalk/calendar/date-table.scss +164 -0
  574. package/{dist/theme-chalk/calendar/date-table.scss → theme-chalk/calendar/date-table.scss--bak} +1 -1
  575. package/theme-chalk/calendar/index.scss +6 -0
  576. package/{dist/theme-chalk → theme-chalk}/calendar/month-table.scss +2 -2
  577. package/{dist/theme-chalk → theme-chalk}/calendar/picker-panel.scss +1 -1
  578. package/{dist/theme-chalk → theme-chalk}/calendar/year-table.scss +1 -1
  579. package/{dist/theme-chalk/card/index.scss → theme-chalk/card.scss} +1 -1
  580. package/theme-chalk/carousel.scss +237 -0
  581. package/{dist/theme-chalk/cascader → theme-chalk}/cascader-panel.scss +1 -1
  582. package/{dist/theme-chalk/cascader → theme-chalk}/cascader.scss +1 -1
  583. package/{dist/theme-chalk/checkbox-button/index.scss → theme-chalk/checkbox-button.scss} +1 -1
  584. package/{dist/theme-chalk/checkbox-group/index.scss → theme-chalk/checkbox-group.scss} +1 -1
  585. package/{dist/theme-chalk/checkbox/index.scss → theme-chalk/checkbox.scss} +4 -3
  586. package/{dist/theme-chalk → theme-chalk}/col/_mixins.scss +5 -3
  587. package/{dist/theme-chalk → theme-chalk}/col/index.scss +2 -2
  588. package/{dist/theme-chalk/collapse/index.scss → theme-chalk/collapse.scss} +1 -1
  589. package/theme-chalk/color/index.scss +20 -0
  590. package/{dist/theme-chalk/color-picker/index.scss → theme-chalk/color-picker.scss} +3 -3
  591. package/theme-chalk/common/index.scss +171 -0
  592. package/{dist/theme-chalk/bak → theme-chalk}/common/var.scss +184 -28
  593. package/theme-chalk/dark/css-vars.scss +39 -0
  594. package/theme-chalk/dark/var.scss +225 -0
  595. package/{dist/theme-chalk/date-picker/index.scss → theme-chalk/date-picker.scss} +2 -2
  596. package/{dist/theme-chalk/date-time-picker/time-picker.scss → theme-chalk/date-time-picker.scss} +1 -1
  597. package/{dist/theme-chalk/descriptions → theme-chalk}/descriptions-item.scss +1 -1
  598. package/{dist/theme-chalk/descriptions → theme-chalk}/descriptions.scss +1 -1
  599. package/theme-chalk/dev.scss +2 -0
  600. package/{dist/theme-chalk/dialog/index.scss → theme-chalk/dialog.scss} +1 -1
  601. package/theme-chalk/display.scss +46 -0
  602. package/{dist/theme-chalk/divider/index.scss → theme-chalk/divider.scss} +1 -1
  603. package/theme-chalk/doc.scss +2 -0
  604. package/{dist/theme-chalk/drawer/index.scss → theme-chalk/drawer.scss} +62 -66
  605. package/{dist/theme-chalk/dropdown/index.scss → theme-chalk/dropdown.scss} +1 -1
  606. package/{dist/theme-chalk/empty/index.scss → theme-chalk/empty.scss} +1 -1
  607. package/theme-chalk/fonts/fa-brands-400.ttf +0 -0
  608. package/theme-chalk/fonts/fa-brands-400.woff2 +0 -0
  609. package/theme-chalk/fonts/fa-duotone-900.ttf +0 -0
  610. package/theme-chalk/fonts/fa-duotone-900.woff2 +0 -0
  611. package/theme-chalk/fonts/fa-light-300.ttf +0 -0
  612. package/theme-chalk/fonts/fa-light-300.woff2 +0 -0
  613. package/theme-chalk/fonts/fa-regular-400.ttf +0 -0
  614. package/theme-chalk/fonts/fa-regular-400.woff2 +0 -0
  615. package/theme-chalk/fonts/fa-solid-900.ttf +0 -0
  616. package/theme-chalk/fonts/fa-solid-900.woff2 +0 -0
  617. package/theme-chalk/fonts/fa-thin-100.ttf +0 -0
  618. package/theme-chalk/fonts/fa-thin-100.woff2 +0 -0
  619. package/theme-chalk/fonts/fa-v4compatibility.ttf +0 -0
  620. package/theme-chalk/fonts/fa-v4compatibility.woff2 +0 -0
  621. package/{dist/theme-chalk/form/index.scss → theme-chalk/form.scss} +22 -3
  622. package/theme-chalk/icon/fonts.scss +9 -0
  623. package/{dist/theme-chalk → theme-chalk}/icon/index.scss +1 -1
  624. package/{dist/theme-chalk → theme-chalk}/icon/scss/_animated.scss +1 -0
  625. package/{dist/theme-chalk → theme-chalk}/icon/scss/_bordered-pulled.scss +1 -0
  626. package/{dist/theme-chalk → theme-chalk}/icon/scss/_core.scss +2 -0
  627. package/{dist/theme-chalk → theme-chalk}/icon/scss/_duotone-icons.scss +3 -4
  628. package/{dist/theme-chalk → theme-chalk}/icon/scss/_fixed-width.scss +1 -0
  629. package/{dist/theme-chalk → theme-chalk}/icon/scss/_functions.scss +2 -1
  630. package/theme-chalk/icon/scss/_icons.scss +10 -0
  631. package/{dist/theme-chalk → theme-chalk}/icon/scss/_list.scss +1 -0
  632. package/{dist/theme-chalk → theme-chalk}/icon/scss/_mixins.scss +10 -7
  633. package/{dist/theme-chalk → theme-chalk}/icon/scss/_rotated-flipped.scss +1 -0
  634. package/{dist/theme-chalk → theme-chalk}/icon/scss/_screen-reader.scss +2 -0
  635. package/{dist/theme-chalk → theme-chalk}/icon/scss/_shims.scss +610 -608
  636. package/{dist/theme-chalk → theme-chalk}/icon/scss/_sizing.scss +2 -0
  637. package/{dist/theme-chalk → theme-chalk}/icon/scss/_stacked.scss +1 -0
  638. package/theme-chalk/icon/scss/brands.scss +29 -0
  639. package/{dist/theme-chalk → theme-chalk}/icon/scss/duotone.scss +6 -10
  640. package/theme-chalk/icon/scss/fontawesome.scss +13 -0
  641. package/theme-chalk/icon/scss/index.scss +12 -0
  642. package/{dist/theme-chalk → theme-chalk}/icon/scss/light.scss +5 -9
  643. package/{dist/theme-chalk → theme-chalk}/icon/scss/regular.scss +5 -9
  644. package/{dist/theme-chalk → theme-chalk}/icon/scss/solid.scss +5 -9
  645. package/{dist/theme-chalk → theme-chalk}/icon/scss/thin.scss +5 -9
  646. package/{dist/theme-chalk/icon/scss/_variables.scss → theme-chalk/icon/scss/variables.scss} +3 -3
  647. package/theme-chalk/index.scss +73 -0
  648. package/{dist/theme-chalk → theme-chalk}/input/_mixins.scss +1 -1
  649. package/theme-chalk/input/index.scss +2 -0
  650. package/{dist/theme-chalk → theme-chalk}/input/input-range.scss +2 -1
  651. package/{dist/theme-chalk → theme-chalk}/input/input.scss +7 -4
  652. package/{dist/theme-chalk/input-number/index.scss → theme-chalk/input-number.scss} +4 -4
  653. package/{dist/theme-chalk/link/index.scss → theme-chalk/link.scss} +1 -86
  654. package/{dist/theme-chalk/loading/index.scss → theme-chalk/loading.scss} +6 -8
  655. package/{dist/theme-chalk/message-box/index.scss → theme-chalk/message-box.scss} +1 -1
  656. package/{dist/theme-chalk/message/index.scss → theme-chalk/message.scss} +18 -9
  657. package/{dist/theme-chalk/bak → theme-chalk}/mixins/_button.scss +224 -224
  658. package/theme-chalk/mixins/_col.scss +33 -0
  659. package/theme-chalk/mixins/_var.scss +67 -0
  660. package/{dist/theme-chalk/bak → theme-chalk}/mixins/config.scss +5 -5
  661. package/theme-chalk/mixins/function.scss +99 -0
  662. package/theme-chalk/mixins/mixins.scss +240 -0
  663. package/theme-chalk/mixins/utils.scss +39 -0
  664. package/{dist/theme-chalk/notification/index.scss → theme-chalk/notification.scss} +7 -6
  665. package/theme-chalk/pagination.scss +303 -0
  666. package/{dist/theme-chalk/popconfirm/index.scss → theme-chalk/popconfirm.scss} +1 -1
  667. package/{dist/theme-chalk/popover/index.scss → theme-chalk/popover.scss} +1 -1
  668. package/theme-chalk/popper.scss +104 -0
  669. package/{dist/theme-chalk/popper/index.scss → theme-chalk/popper.scss--bak} +1 -1
  670. package/{dist/theme-chalk/progress/index.scss → theme-chalk/progress.scss} +1 -1
  671. package/theme-chalk/radio-button.scss +169 -0
  672. package/{dist/theme-chalk/radio/radio-button.scss → theme-chalk/radio-button.scss--bak} +1 -1
  673. package/{dist/theme-chalk/radio-group/index.scss → theme-chalk/radio-group.scss} +1 -10
  674. package/{dist/theme-chalk/radio → theme-chalk}/radio.scss +1 -1
  675. package/{dist/theme-chalk/row/index.scss → theme-chalk/row.scss} +1 -1
  676. package/{dist/theme-chalk/scrollbar/index.scss → theme-chalk/scrollbar.scss} +1 -1
  677. package/{dist/theme-chalk → theme-chalk}/select/index.scss +11 -8
  678. package/{dist/theme-chalk/placeholder/index.scss → theme-chalk/skeleton.scss} +23 -38
  679. package/theme-chalk/switch.scss +300 -0
  680. package/{dist/theme-chalk/switch/index.scss → theme-chalk/switch.scss--bak} +1 -1
  681. package/{dist/theme-chalk/table/index.scss → theme-chalk/table.scss} +1 -1
  682. package/{dist/theme-chalk/tabs/index.scss → theme-chalk/tabs.scss} +5 -5
  683. package/theme-chalk/tag.scss +203 -0
  684. package/{dist/theme-chalk/time-line/_timeline.scss → theme-chalk/time-line.scss} +1 -1
  685. package/{dist/theme-chalk/time-picker/index.scss → theme-chalk/time-picker.scss} +1 -1
  686. package/{dist/theme-chalk/date-time-picker → theme-chalk}/time-range-picker.scss +1 -1
  687. package/{dist/theme-chalk/time-line/_timeline-item.scss → theme-chalk/timeline-item.scss} +2 -2
  688. package/{dist/theme-chalk/tooltip/index.scss → theme-chalk/tooltip.scss} +1 -1
  689. package/{dist/theme-chalk/transfer/index.scss → theme-chalk/transfer.scss} +1 -1
  690. package/{dist/theme-chalk/transition/index.scss → theme-chalk/transition.scss} +1 -1
  691. package/{dist/theme-chalk → theme-chalk}/tree/_directory.scss +1 -1
  692. package/{dist/theme-chalk → theme-chalk}/tree/_tree.scss +1 -1
  693. package/theme-chalk/tree/index.scss +2 -0
  694. package/{dist/theme-chalk/tree-select/index.scss → theme-chalk/tree-select.scss} +1 -1
  695. package/{dist/theme-chalk/upload/index.scss → theme-chalk/upload.scss} +1 -1
  696. package/theme-chalk/var.scss +83 -0
  697. package/dist/Tree/utils/KeyCode.d.ts +0 -110
  698. package/dist/Tree/utils/KeyCode.js +0 -550
  699. package/dist/VirtualList/Filler.d.ts +0 -11
  700. package/dist/VirtualList/Filler.js +0 -78
  701. package/dist/VirtualList/Item.d.ts +0 -7
  702. package/dist/VirtualList/Item.js +0 -37
  703. package/dist/VirtualList/ScrollBar.d.ts +0 -43
  704. package/dist/VirtualList/ScrollBar.js +0 -216
  705. package/dist/VirtualList/VirtualList.d.ts +0 -33
  706. package/dist/VirtualList/VirtualList.js +0 -280
  707. package/dist/VirtualList/hooks/useChildren.d.ts +0 -3
  708. package/dist/VirtualList/hooks/useChildren.js +0 -46
  709. package/dist/VirtualList/hooks/useDiffItem.d.ts +0 -2
  710. package/dist/VirtualList/hooks/useDiffItem.js +0 -39
  711. package/dist/VirtualList/hooks/useFrameWheel.d.ts +0 -6
  712. package/dist/VirtualList/hooks/useFrameWheel.js +0 -72
  713. package/dist/VirtualList/hooks/useHeights.d.ts +0 -3
  714. package/dist/VirtualList/hooks/useHeights.js +0 -83
  715. package/dist/VirtualList/hooks/useLayoutEffect.d.ts +0 -3
  716. package/dist/VirtualList/hooks/useLayoutEffect.js +0 -30
  717. package/dist/VirtualList/hooks/useMobileTouchMove.d.ts +0 -2
  718. package/dist/VirtualList/hooks/useMobileTouchMove.js +0 -92
  719. package/dist/VirtualList/hooks/useOriginScroll.d.ts +0 -2
  720. package/dist/VirtualList/hooks/useOriginScroll.js +0 -56
  721. package/dist/VirtualList/hooks/useScrollTo.d.ts +0 -5
  722. package/dist/VirtualList/hooks/useScrollTo.js +0 -111
  723. package/dist/VirtualList/index.d.ts +0 -2
  724. package/dist/VirtualList/index.js +0 -39
  725. package/dist/VirtualList/interface.d.ts +0 -8
  726. package/dist/VirtualList/interface.js +0 -17
  727. package/dist/VirtualList/mock.d.ts +0 -6
  728. package/dist/VirtualList/mock.js +0 -29
  729. package/dist/VirtualList/utils/CacheMap.d.ts +0 -7
  730. package/dist/VirtualList/utils/CacheMap.js +0 -36
  731. package/dist/VirtualList/utils/algorithmUtil.d.ts +0 -6
  732. package/dist/VirtualList/utils/algorithmUtil.js +0 -81
  733. package/dist/VirtualList/utils/findDOMNode.d.ts +0 -2
  734. package/dist/VirtualList/utils/findDOMNode.js +0 -30
  735. package/dist/VirtualList/utils/isFirefox.d.ts +0 -2
  736. package/dist/VirtualList/utils/isFirefox.js +0 -26
  737. package/dist/VirtualList/utils/raf.d.ts +0 -5
  738. package/dist/VirtualList/utils/raf.js +0 -57
  739. package/dist/theme-chalk/bak/common/popup.scss +0 -47
  740. package/dist/theme-chalk/bak/common/transition.scss +0 -118
  741. package/dist/theme-chalk/bak/mixins/_col.scss +0 -38
  742. package/dist/theme-chalk/bak/mixins/_var.scss +0 -55
  743. package/dist/theme-chalk/bak/mixins/function.scss +0 -85
  744. package/dist/theme-chalk/bak/mixins/mixins.scss +0 -215
  745. package/dist/theme-chalk/bak/mixins/utils.scss +0 -39
  746. package/dist/theme-chalk/build.scss +0 -64
  747. package/dist/theme-chalk/button/index.scss +0 -2
  748. package/dist/theme-chalk/calendar/index.scss +0 -6
  749. package/dist/theme-chalk/cascader/index.scss +0 -2
  750. package/dist/theme-chalk/common/_var.scss +0 -5
  751. package/dist/theme-chalk/common/index.d.ts +0 -1
  752. package/dist/theme-chalk/common/index.js +0 -2
  753. package/dist/theme-chalk/common/index.scss +0 -222
  754. package/dist/theme-chalk/date-time-picker/index.scss +0 -3
  755. package/dist/theme-chalk/descriptions/index.scss +0 -2
  756. package/dist/theme-chalk/icon/fonts.scss +0 -8
  757. package/dist/theme-chalk/icon/scss/_icons.scss +0 -11
  758. package/dist/theme-chalk/icon/scss/brands.scss +0 -32
  759. package/dist/theme-chalk/icon/scss/fontawesome.scss +0 -21
  760. package/dist/theme-chalk/icon/scss/index.scss +0 -15
  761. package/dist/theme-chalk/icon/scss/v4-shims.scss +0 -11
  762. package/dist/theme-chalk/index.scss +0 -65
  763. package/dist/theme-chalk/input/index.scss +0 -3
  764. package/dist/theme-chalk/pagination/index.scss +0 -515
  765. package/dist/theme-chalk/radio/index.scss +0 -2
  766. package/dist/theme-chalk/tag/index.scss +0 -360
  767. package/dist/theme-chalk/time-line/index.scss +0 -2
  768. package/dist/theme-chalk/tree/index.scss +0 -2
  769. /package/{dist/theme-chalk → theme-chalk}/select/option-group.scss +0 -0
  770. /package/{dist/theme-chalk → theme-chalk}/select/option.scss +0 -0
  771. /package/{dist/theme-chalk → theme-chalk}/select/select-dropdown.scss +0 -0
@@ -1,751 +1,891 @@
1
- var __create = Object.create;
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from))
14
- if (!__hasOwnProp.call(to, key) && key !== except)
15
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
- }
17
- return to;
18
- };
19
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
- // If the importer is in node compatibility mode or this is not an ESM
21
- // file that has been converted to a CommonJS file using a Babel-
22
- // compatible transform (i.e. "__esModule" has not been set), then set
23
- // "default" to the CommonJS "module.exports" for node compatibility.
24
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
- mod
26
- ));
27
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
-
29
- // src/Form/useForm.ts
30
- var useForm_exports = {};
31
- __export(useForm_exports, {
32
- FormStore: () => FormStore,
33
- default: () => useForm_default
34
- });
35
- module.exports = __toCommonJS(useForm_exports);
36
- var import_react = require("react");
37
- var import_scroll_into_view_if_needed = __toESM(require("scroll-into-view-if-needed"));
38
- var import_Util = require("../Util");
39
- var import_FieldContext = require("./FieldContext");
40
- var import_NameMap = __toESM(require("./utils/NameMap"));
41
- var import_asyncUtil = require("./utils/asyncUtil");
42
- var import_cloneDeep = __toESM(require("./utils/cloneDeep"));
43
- var import_messages = require("./utils/messages");
44
- var import_typeUtil = require("./utils/typeUtil");
45
- var import_valueUtil = require("./utils/valueUtil");
46
- var FormStore = class {
47
- constructor(forceRootUpdate) {
48
- this.formHooked = false;
49
- this.subscribable = true;
50
- this.store = {};
51
- this.fieldEntities = [];
52
- this.initialValues = {};
53
- this.callbacks = {};
54
- this.validateMessages = null;
55
- this.preserve = null;
56
- this.lastValidatePromise = null;
57
- this.getForm = () => ({
58
- getFieldValue: this.getFieldValue,
59
- getFieldsValue: this.getFieldsValue,
60
- getFieldError: this.getFieldError,
61
- getFieldWarning: this.getFieldWarning,
62
- getFieldsError: this.getFieldsError,
63
- isFieldsTouched: this.isFieldsTouched,
64
- isFieldTouched: this.isFieldTouched,
65
- isFieldValidating: this.isFieldValidating,
66
- isFieldsValidating: this.isFieldsValidating,
67
- resetFields: this.resetFields,
68
- setFields: this.setFields,
69
- setFieldValue: this.setFieldValue,
70
- setFieldsValue: this.setFieldsValue,
71
- validateFields: this.validateFields,
72
- submit: this.submit,
1
+ var _excluded = ["name", "errors"];
2
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
3
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
5
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
6
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
+ 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; }
8
+ 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; }
9
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
10
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
11
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
12
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
13
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
14
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
15
+ function 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; }
16
+ 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; }
17
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
18
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
19
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
20
+ 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; }
21
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
22
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
23
+ import { useRef, useState } from 'react';
24
+ import scrollIntoView from 'scroll-into-view-if-needed';
25
+ import { warning } from "../Util";
26
+ import { HOOK_MARK } from "./FieldContext";
27
+ import NameMap from "./utils/NameMap";
28
+ import { allPromiseFinish } from "./utils/asyncUtil";
29
+ import cloneDeep from "./utils/cloneDeep";
30
+ import { defaultValidateMessages } from "./utils/messages";
31
+ import { toArray } from "./utils/typeUtil";
32
+ import { cloneByNamePathList, containsNamePath, getNamePath, getValue, matchNamePath, setValue, setValues } from "./utils/valueUtil";
33
+ export var FormStore = /*#__PURE__*/_createClass(function FormStore(forceRootUpdate) {
34
+ var _this = this;
35
+ _classCallCheck(this, FormStore);
36
+ _defineProperty(this, "formHooked", false);
37
+ _defineProperty(this, "forceRootUpdate", void 0);
38
+ _defineProperty(this, "subscribable", true);
39
+ _defineProperty(this, "store", {});
40
+ _defineProperty(this, "fieldEntities", []);
41
+ _defineProperty(this, "initialValues", {});
42
+ _defineProperty(this, "callbacks", {});
43
+ _defineProperty(this, "validateMessages", null);
44
+ _defineProperty(this, "preserve", null);
45
+ _defineProperty(this, "lastValidatePromise", null);
46
+ _defineProperty(this, "getForm", function () {
47
+ return {
48
+ getFieldValue: _this.getFieldValue,
49
+ getFieldsValue: _this.getFieldsValue,
50
+ getFieldError: _this.getFieldError,
51
+ getFieldWarning: _this.getFieldWarning,
52
+ getFieldsError: _this.getFieldsError,
53
+ isFieldsTouched: _this.isFieldsTouched,
54
+ isFieldTouched: _this.isFieldTouched,
55
+ isFieldValidating: _this.isFieldValidating,
56
+ isFieldsValidating: _this.isFieldsValidating,
57
+ resetFields: _this.resetFields,
58
+ setFields: _this.setFields,
59
+ setFieldValue: _this.setFieldValue,
60
+ setFieldsValue: _this.setFieldsValue,
61
+ validateFields: _this.validateFields,
62
+ submit: _this.submit,
73
63
  _init: true,
74
- scrollToField: this.scrollToField,
75
- getInternalHooks: this.getInternalHooks
76
- });
77
- this.scrollToField = (name, options = {}) => {
78
- var _a;
79
- const namePath = (0, import_typeUtil.toArray)(name);
80
- const node = (_a = this.getFieldsMap().get(namePath)) == null ? void 0 : _a.base;
81
- if (node) {
82
- (0, import_scroll_into_view_if_needed.default)(node, {
83
- scrollMode: "if-needed",
84
- block: "nearest",
85
- ...options
86
- });
87
- }
88
- };
89
- // ======================== Internal Hooks ========================
90
- this.getInternalHooks = (key) => {
91
- if (key === import_FieldContext.HOOK_MARK) {
92
- this.formHooked = true;
93
- return {
94
- dispatch: this.dispatch,
95
- initEntityValue: this.initEntityValue,
96
- registerField: this.registerField,
97
- useSubscribe: this.useSubscribe,
98
- setInitialValues: this.setInitialValues,
99
- destroyForm: this.destroyForm,
100
- setCallbacks: this.setCallbacks,
101
- setValidateMessages: this.setValidateMessages,
102
- getFields: this.getFields,
103
- setPreserve: this.setPreserve,
104
- getInitialValue: this.getInitialValue,
105
- registerWatch: this.registerWatch
106
- };
107
- }
108
- (0, import_Util.warning)(false, "`getInternalHooks` is internal usage. Should not call directly.");
109
- return null;
110
- };
111
- this.useSubscribe = (subscribable) => {
112
- this.subscribable = subscribable;
113
- };
114
- /**
115
- * Record prev Form unmount fieldEntities which config preserve false.
116
- * This need to be refill with initialValues instead of store value.
117
- */
118
- this.prevWithoutPreserves = null;
119
- /**
120
- * First time `setInitialValues` should update store with initial value
121
- */
122
- this.setInitialValues = (initialValues, init) => {
123
- var _a;
124
- this.initialValues = initialValues || {};
125
- if (init) {
126
- let nextStore = (0, import_valueUtil.setValues)({}, initialValues, this.store);
127
- (_a = this.prevWithoutPreserves) == null ? void 0 : _a.map(({ key: namePath }) => {
128
- nextStore = (0, import_valueUtil.setValue)(nextStore, namePath, (0, import_valueUtil.getValue)(initialValues, namePath));
129
- });
130
- this.prevWithoutPreserves = null;
131
- this.updateStore(nextStore);
64
+ scrollToField: _this.scrollToField,
65
+ getInternalHooks: _this.getInternalHooks
66
+ };
67
+ });
68
+ _defineProperty(this, "scrollToField", function (name) {
69
+ var _this$getFieldsMap$ge;
70
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
71
+ var namePath = toArray(name);
72
+ var node = (_this$getFieldsMap$ge = _this.getFieldsMap().get(namePath)) === null || _this$getFieldsMap$ge === void 0 ? void 0 : _this$getFieldsMap$ge.containerRef;
73
+ if (node.current) {
74
+ scrollIntoView(node.current, _objectSpread({
75
+ scrollMode: 'if-needed',
76
+ block: 'center'
77
+ }, options));
78
+ }
79
+ });
80
+ // ======================== Internal Hooks ========================
81
+ _defineProperty(this, "getInternalHooks", function (key) {
82
+ if (key === HOOK_MARK) {
83
+ _this.formHooked = true;
84
+ return {
85
+ dispatch: _this.dispatch,
86
+ initEntityValue: _this.initEntityValue,
87
+ registerField: _this.registerField,
88
+ useSubscribe: _this.useSubscribe,
89
+ setInitialValues: _this.setInitialValues,
90
+ destroyForm: _this.destroyForm,
91
+ setCallbacks: _this.setCallbacks,
92
+ setValidateMessages: _this.setValidateMessages,
93
+ getFields: _this.getFields,
94
+ setPreserve: _this.setPreserve,
95
+ getInitialValue: _this.getInitialValue,
96
+ registerWatch: _this.registerWatch
97
+ };
98
+ }
99
+ warning(false, '`getInternalHooks` is internal usage. Should not call directly.');
100
+ return null;
101
+ });
102
+ _defineProperty(this, "useSubscribe", function (subscribable) {
103
+ _this.subscribable = subscribable;
104
+ });
105
+ /**
106
+ * Record prev Form unmount fieldEntities which config preserve false.
107
+ * This need to be refill with initialValues instead of store value.
108
+ */
109
+ _defineProperty(this, "prevWithoutPreserves", null);
110
+ /**
111
+ * First time `setInitialValues` should update store with initial value
112
+ */
113
+ _defineProperty(this, "setInitialValues", function (initialValues, init) {
114
+ _this.initialValues = initialValues || {};
115
+ if (init) {
116
+ var _this$prevWithoutPres;
117
+ var nextStore = setValues({}, initialValues, _this.store);
118
+
119
+ // We will take consider prev form unmount fields.
120
+ // When the field is not `preserve`, we need fill this with initialValues instead of store.
121
+ // eslint-disable-next-line array-callback-return
122
+ (_this$prevWithoutPres = _this.prevWithoutPreserves) === null || _this$prevWithoutPres === void 0 || _this$prevWithoutPres.map(function (_ref) {
123
+ var namePath = _ref.key;
124
+ nextStore = setValue(nextStore, namePath, getValue(initialValues, namePath));
125
+ });
126
+ _this.prevWithoutPreserves = null;
127
+ _this.updateStore(nextStore);
128
+ }
129
+ });
130
+ _defineProperty(this, "destroyForm", function () {
131
+ var prevWithoutPreserves = new NameMap();
132
+ _this.getFieldEntities(true).forEach(function (entity) {
133
+ if (!_this.isMergedPreserve(entity.isPreserve())) {
134
+ prevWithoutPreserves.set(entity.getNamePath(), true);
132
135
  }
136
+ });
137
+ _this.prevWithoutPreserves = prevWithoutPreserves;
138
+ });
139
+ _defineProperty(this, "getInitialValue", function (namePath) {
140
+ var initValue = getValue(_this.initialValues, namePath);
141
+
142
+ // Not cloneDeep when without `namePath`
143
+ return namePath.length ? cloneDeep(initValue) : initValue;
144
+ });
145
+ _defineProperty(this, "setCallbacks", function (callbacks) {
146
+ _this.callbacks = callbacks;
147
+ });
148
+ _defineProperty(this, "setValidateMessages", function (validateMessages) {
149
+ _this.validateMessages = validateMessages;
150
+ });
151
+ _defineProperty(this, "setPreserve", function (preserve) {
152
+ _this.preserve = preserve;
153
+ });
154
+ // ============================= Watch ============================
155
+ _defineProperty(this, "watchList", []);
156
+ _defineProperty(this, "registerWatch", function (callback) {
157
+ _this.watchList.push(callback);
158
+ return function () {
159
+ _this.watchList = _this.watchList.filter(function (fn) {
160
+ return fn !== callback;
161
+ });
133
162
  };
134
- this.destroyForm = () => {
135
- const prevWithoutPreserves = new import_NameMap.default();
136
- this.getFieldEntities(true).forEach((entity) => {
137
- if (!this.isMergedPreserve(entity.isPreserve())) {
138
- prevWithoutPreserves.set(entity.getNamePath(), true);
163
+ });
164
+ _defineProperty(this, "notifyWatch", function () {
165
+ var namePath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
166
+ // No need to cost perf when nothing need to watch
167
+ if (_this.watchList.length) {
168
+ var values = _this.getFieldsValue();
169
+ _this.watchList.forEach(function (callback) {
170
+ callback(values, namePath);
171
+ });
172
+ }
173
+ });
174
+ // ========================== Dev Warning =========================
175
+ _defineProperty(this, "timeoutId", null);
176
+ _defineProperty(this, "warningUnhooked", function () {
177
+ if (process.env.NODE_ENV !== 'production' && !_this.timeoutId && typeof window !== 'undefined') {
178
+ _this.timeoutId = setTimeout(function () {
179
+ _this.timeoutId = null;
180
+ if (!_this.formHooked) {
181
+ warning(false, 'Instance created by `useForm` is not connected to any Form element. Forget to pass `form` prop?');
139
182
  }
140
183
  });
141
- this.prevWithoutPreserves = prevWithoutPreserves;
142
- };
143
- this.getInitialValue = (namePath) => {
144
- const initValue = (0, import_valueUtil.getValue)(this.initialValues, namePath);
145
- return namePath.length ? (0, import_cloneDeep.default)(initValue) : initValue;
146
- };
147
- this.setCallbacks = (callbacks) => {
148
- this.callbacks = callbacks;
149
- };
150
- this.setValidateMessages = (validateMessages) => {
151
- this.validateMessages = validateMessages;
152
- };
153
- this.setPreserve = (preserve) => {
154
- this.preserve = preserve;
155
- };
156
- // ============================= Watch ============================
157
- this.watchList = [];
158
- this.registerWatch = (callback) => {
159
- this.watchList.push(callback);
160
- return () => {
161
- this.watchList = this.watchList.filter((fn) => fn !== callback);
184
+ }
185
+ });
186
+ // ============================ Store =============================
187
+ _defineProperty(this, "updateStore", function (nextStore) {
188
+ _this.store = nextStore;
189
+ });
190
+ // ============================ Fields ============================
191
+ /**
192
+ * Get registered field entities.
193
+ * @param pure Only return field which has a `name`. Default: false
194
+ */
195
+ _defineProperty(this, "getFieldEntities", function () {
196
+ var pure = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
197
+ if (!pure) {
198
+ return _this.fieldEntities;
199
+ }
200
+ return _this.fieldEntities.filter(function (field) {
201
+ return field.getNamePath().length;
202
+ });
203
+ });
204
+ _defineProperty(this, "getFieldsMap", function () {
205
+ var pure = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
206
+ var cache = new NameMap();
207
+ _this.getFieldEntities(pure).forEach(function (field) {
208
+ var namePath = field.getNamePath();
209
+ cache.set(namePath, field);
210
+ });
211
+ return cache;
212
+ });
213
+ _defineProperty(this, "getFieldEntitiesForNamePathList", function (nameList) {
214
+ if (!nameList) {
215
+ return _this.getFieldEntities(true);
216
+ }
217
+ var cache = _this.getFieldsMap(true);
218
+ return nameList.map(function (name) {
219
+ var namePath = getNamePath(name);
220
+ return cache.get(namePath) || {
221
+ INVALIDATE_NAME_PATH: getNamePath(name)
162
222
  };
163
- };
164
- this.notifyWatch = (namePath = []) => {
165
- if (this.watchList.length) {
166
- const values = this.getFieldsValue();
167
- this.watchList.forEach((callback) => {
168
- callback(values, namePath);
169
- });
223
+ });
224
+ });
225
+ _defineProperty(this, "getFieldsValue", function (nameList, filterFunc) {
226
+ _this.warningUnhooked();
227
+ if (nameList === true && !filterFunc) {
228
+ return _this.store;
229
+ }
230
+ var fieldEntities = _this.getFieldEntitiesForNamePathList(Array.isArray(nameList) ? nameList : null);
231
+ var filteredNameList = [];
232
+ fieldEntities.forEach(function (entity) {
233
+ var _isListField, _ref2;
234
+ var namePath = 'INVALIDATE_NAME_PATH' in entity ? entity.INVALIDATE_NAME_PATH : entity.getNamePath();
235
+
236
+ // Ignore when it's a list item and not specific the namePath,
237
+ // since parent field is already take in count
238
+ if (!nameList && (_isListField = (_ref2 = entity).isListField) !== null && _isListField !== void 0 && _isListField.call(_ref2)) {
239
+ return;
170
240
  }
171
- };
172
- // ========================== Dev Warning =========================
173
- this.timeoutId = null;
174
- this.warningUnhooked = () => {
175
- if (process.env.NODE_ENV !== "production" && !this.timeoutId && typeof window !== "undefined") {
176
- this.timeoutId = setTimeout(() => {
177
- this.timeoutId = null;
178
- if (!this.formHooked) {
179
- (0, import_Util.warning)(false, "Instance created by `useForm` is not connected to any Form element. Forget to pass `form` prop?");
180
- }
181
- });
241
+ if (!filterFunc) {
242
+ filteredNameList.push(namePath);
243
+ } else {
244
+ var _meta = 'getMeta' in entity ? entity.getMeta() : null;
245
+ if (filterFunc(_meta)) {
246
+ filteredNameList.push(namePath);
247
+ }
182
248
  }
183
- };
184
- // ============================ Store =============================
185
- this.updateStore = (nextStore) => {
186
- this.store = nextStore;
187
- };
188
- // ============================ Fields ============================
189
- /**
190
- * Get registered field entities.
191
- * @param pure Only return field which has a `name`. Default: false
192
- */
193
- this.getFieldEntities = (pure = false) => {
194
- if (!pure) {
195
- return this.fieldEntities;
249
+ });
250
+ return cloneByNamePathList(_this.store, filteredNameList.map(getNamePath));
251
+ });
252
+ _defineProperty(this, "getFieldValue", function (name) {
253
+ _this.warningUnhooked();
254
+ var namePath = getNamePath(name);
255
+ return getValue(_this.store, namePath);
256
+ });
257
+ _defineProperty(this, "getFieldsError", function (nameList) {
258
+ _this.warningUnhooked();
259
+ var fieldEntities = _this.getFieldEntitiesForNamePathList(nameList);
260
+ return fieldEntities.map(function (entity, index) {
261
+ if (entity && !('INVALIDATE_NAME_PATH' in entity)) {
262
+ return {
263
+ name: entity.getNamePath(),
264
+ errors: entity.getErrors(),
265
+ warnings: entity.getWarnings()
266
+ };
196
267
  }
197
- return this.fieldEntities.filter((field) => field.getNamePath().length);
268
+ return {
269
+ name: getNamePath(nameList[index]),
270
+ errors: [],
271
+ warnings: []
272
+ };
273
+ });
274
+ });
275
+ _defineProperty(this, "getFieldError", function (name) {
276
+ _this.warningUnhooked();
277
+ var namePath = getNamePath(name);
278
+ var fieldError = _this.getFieldsError([namePath])[0];
279
+ return fieldError.errors;
280
+ });
281
+ _defineProperty(this, "getFieldWarning", function (name) {
282
+ _this.warningUnhooked();
283
+ var namePath = getNamePath(name);
284
+ var fieldError = _this.getFieldsError([namePath])[0];
285
+ return fieldError.warnings;
286
+ });
287
+ _defineProperty(this, "isFieldsTouched", function () {
288
+ _this.warningUnhooked();
289
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
290
+ args[_key] = arguments[_key];
291
+ }
292
+ var arg0 = args[0],
293
+ arg1 = args[1];
294
+ var namePathList;
295
+ var isAllFieldsTouched = false;
296
+ if (args.length === 0) {
297
+ namePathList = null;
298
+ } else if (args.length === 1) {
299
+ if (Array.isArray(arg0)) {
300
+ namePathList = arg0.map(getNamePath);
301
+ isAllFieldsTouched = false;
302
+ } else {
303
+ namePathList = null;
304
+ isAllFieldsTouched = arg0;
305
+ }
306
+ } else {
307
+ namePathList = arg0.map(getNamePath);
308
+ isAllFieldsTouched = arg1;
309
+ }
310
+ var fieldEntities = _this.getFieldEntities(true);
311
+ var isFieldTouched = function isFieldTouched(field) {
312
+ return field.isFieldTouched();
198
313
  };
199
- this.getFieldsMap = (pure = false) => {
200
- const cache = new import_NameMap.default();
201
- this.getFieldEntities(pure).forEach((field) => {
202
- const namePath = field.getNamePath();
203
- cache.set(namePath, field);
314
+
315
+ // ===== Will get fully compare when not config namePathList =====
316
+ if (!namePathList) {
317
+ return isAllFieldsTouched ? fieldEntities.every(isFieldTouched) : fieldEntities.some(isFieldTouched);
318
+ }
319
+
320
+ // Generate a nest tree for validate
321
+ var map = new NameMap();
322
+ namePathList.forEach(function (shortNamePath) {
323
+ map.set(shortNamePath, []);
324
+ });
325
+ fieldEntities.forEach(function (field) {
326
+ var fieldNamePath = field.getNamePath();
327
+
328
+ // Find matched entity and put into list
329
+ namePathList.forEach(function (shortNamePath) {
330
+ if (shortNamePath.every(function (nameUnit, i) {
331
+ return fieldNamePath[i] === nameUnit;
332
+ })) {
333
+ map.update(shortNamePath, function (list) {
334
+ return [].concat(_toConsumableArray(list), [field]);
335
+ });
336
+ }
204
337
  });
205
- return cache;
338
+ });
339
+
340
+ // Check if NameMap value is touched
341
+ var isNamePathListTouched = function isNamePathListTouched(entities) {
342
+ return entities.some(isFieldTouched);
206
343
  };
207
- this.getFieldEntitiesForNamePathList = (nameList) => {
208
- if (!nameList) {
209
- return this.getFieldEntities(true);
210
- }
211
- const cache = this.getFieldsMap(true);
212
- return nameList.map((name) => {
213
- const namePath = (0, import_valueUtil.getNamePath)(name);
214
- return cache.get(namePath) || { INVALIDATE_NAME_PATH: (0, import_valueUtil.getNamePath)(name) };
344
+ var namePathListEntities = map.map(function (_ref3) {
345
+ var value = _ref3.value;
346
+ return value;
347
+ });
348
+ return isAllFieldsTouched ? namePathListEntities.every(isNamePathListTouched) : namePathListEntities.some(isNamePathListTouched);
349
+ });
350
+ _defineProperty(this, "isFieldTouched", function (name) {
351
+ _this.warningUnhooked();
352
+ return _this.isFieldsTouched([name]);
353
+ });
354
+ _defineProperty(this, "isFieldsValidating", function (nameList) {
355
+ _this.warningUnhooked();
356
+ var fieldEntities = _this.getFieldEntities();
357
+ if (!nameList) {
358
+ return fieldEntities.some(function (testField) {
359
+ return testField.isFieldValidating();
215
360
  });
216
- };
217
- this.getFieldsValue = (nameList, filterFunc) => {
218
- this.warningUnhooked();
219
- if (nameList === true && !filterFunc) {
220
- return this.store;
361
+ }
362
+ var namePathList = nameList.map(getNamePath);
363
+ return fieldEntities.some(function (testField) {
364
+ var fieldNamePath = testField.getNamePath();
365
+ return containsNamePath(namePathList, fieldNamePath) && testField.isFieldValidating();
366
+ });
367
+ });
368
+ _defineProperty(this, "isFieldValidating", function (name) {
369
+ _this.warningUnhooked();
370
+ return _this.isFieldsValidating([name]);
371
+ });
372
+ /**
373
+ * Reset Field with field `initialValue` prop.
374
+ * Can pass `entities` or `namePathList` or just nothing.
375
+ */
376
+ _defineProperty(this, "resetWithFieldInitialValue", function () {
377
+ var info = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
378
+ // Create cache
379
+ var cache = new NameMap();
380
+ var fieldEntities = _this.getFieldEntities(true);
381
+ fieldEntities.forEach(function (field) {
382
+ var initialValue = field.props.initialValue;
383
+ var namePath = field.getNamePath();
384
+
385
+ // Record only if has `initialValue`
386
+ if (initialValue !== undefined) {
387
+ var records = cache.get(namePath) || new Set();
388
+ records.add({
389
+ entity: field,
390
+ value: initialValue
391
+ });
392
+ cache.set(namePath, records);
221
393
  }
222
- const fieldEntities = this.getFieldEntitiesForNamePathList(Array.isArray(nameList) ? nameList : null);
223
- const filteredNameList = [];
224
- fieldEntities.forEach((entity) => {
225
- var _a;
226
- const namePath = "INVALIDATE_NAME_PATH" in entity ? entity.INVALIDATE_NAME_PATH : entity.getNamePath();
227
- if (!nameList && ((_a = entity.isListField) == null ? void 0 : _a.call(entity))) {
228
- return;
229
- }
230
- if (!filterFunc) {
231
- filteredNameList.push(namePath);
232
- } else {
233
- const meta = "getMeta" in entity ? entity.getMeta() : null;
234
- if (filterFunc(meta)) {
235
- filteredNameList.push(namePath);
394
+ });
395
+
396
+ // Reset
397
+ var resetWithFields = function resetWithFields(entities) {
398
+ entities.forEach(function (field) {
399
+ var initialValue = field.props.initialValue;
400
+ if (initialValue !== undefined) {
401
+ var namePath = field.getNamePath();
402
+ var formInitialValue = _this.getInitialValue(namePath);
403
+ if (formInitialValue !== undefined) {
404
+ // Warning if conflict with form initialValues and do not modify value
405
+ warning(false, "Form already set 'initialValues' with path '".concat(namePath.join('.'), "'. Field can not overwrite it."));
406
+ } else {
407
+ var records = cache.get(namePath);
408
+ if (records && records.size > 1) {
409
+ // Warning if multiple field set `initialValue`and do not modify value
410
+ warning(false, "Multiple Field with path '".concat(namePath.join('.'), "' set 'initialValue'. Can not decide which one to pick."));
411
+ } else if (records) {
412
+ var originValue = _this.getFieldValue(namePath);
413
+ // Set `initialValue`
414
+ if (!info.skipExist || originValue === undefined) {
415
+ _this.updateStore(setValue(_this.store, namePath, _toConsumableArray(records)[0].value));
416
+ }
417
+ }
236
418
  }
237
419
  }
238
420
  });
239
- return (0, import_valueUtil.cloneByNamePathList)(this.store, filteredNameList.map(import_valueUtil.getNamePath));
240
421
  };
241
- this.getFieldValue = (name) => {
242
- this.warningUnhooked();
243
- const namePath = (0, import_valueUtil.getNamePath)(name);
244
- return (0, import_valueUtil.getValue)(this.store, namePath);
245
- };
246
- this.getFieldsError = (nameList) => {
247
- this.warningUnhooked();
248
- const fieldEntities = this.getFieldEntitiesForNamePathList(nameList);
249
- return fieldEntities.map((entity, index) => {
250
- if (entity && !("INVALIDATE_NAME_PATH" in entity)) {
251
- return {
252
- name: entity.getNamePath(),
253
- errors: entity.getErrors(),
254
- warnings: entity.getWarnings()
255
- };
422
+ var requiredFieldEntities;
423
+ if (info.entities) {
424
+ requiredFieldEntities = info.entities;
425
+ } else if (info.namePathList) {
426
+ requiredFieldEntities = [];
427
+ info.namePathList.forEach(function (namePath) {
428
+ var records = cache.get(namePath);
429
+ if (records) {
430
+ var _requiredFieldEntitie;
431
+ (_requiredFieldEntitie = requiredFieldEntities).push.apply(_requiredFieldEntitie, _toConsumableArray(_toConsumableArray(records).map(function (r) {
432
+ return r.entity;
433
+ })));
256
434
  }
257
- return {
258
- name: (0, import_valueUtil.getNamePath)(nameList[index]),
259
- errors: [],
260
- warnings: []
261
- };
262
435
  });
263
- };
264
- this.getFieldError = (name) => {
265
- this.warningUnhooked();
266
- const namePath = (0, import_valueUtil.getNamePath)(name);
267
- const fieldError = this.getFieldsError([namePath])[0];
268
- return fieldError.errors;
269
- };
270
- this.getFieldWarning = (name) => {
271
- this.warningUnhooked();
272
- const namePath = (0, import_valueUtil.getNamePath)(name);
273
- const fieldError = this.getFieldsError([namePath])[0];
274
- return fieldError.warnings;
275
- };
276
- this.isFieldsTouched = (...args) => {
277
- this.warningUnhooked();
278
- const [arg0, arg1] = args;
279
- let namePathList;
280
- let isAllFieldsTouched = false;
281
- if (args.length === 0) {
282
- namePathList = null;
283
- } else if (args.length === 1) {
284
- if (Array.isArray(arg0)) {
285
- namePathList = arg0.map(import_valueUtil.getNamePath);
286
- isAllFieldsTouched = false;
287
- } else {
288
- namePathList = null;
289
- isAllFieldsTouched = arg0;
290
- }
291
- } else {
292
- namePathList = arg0.map(import_valueUtil.getNamePath);
293
- isAllFieldsTouched = arg1;
294
- }
295
- const fieldEntities = this.getFieldEntities(true);
296
- const isFieldTouched = (field) => field.isFieldTouched();
297
- if (!namePathList) {
298
- return isAllFieldsTouched ? fieldEntities.every(isFieldTouched) : fieldEntities.some(isFieldTouched);
299
- }
300
- const map = new import_NameMap.default();
301
- namePathList.forEach((shortNamePath) => {
302
- map.set(shortNamePath, []);
303
- });
304
- fieldEntities.forEach((field) => {
305
- const fieldNamePath = field.getNamePath();
306
- namePathList.forEach((shortNamePath) => {
307
- if (shortNamePath.every((nameUnit, i) => fieldNamePath[i] === nameUnit)) {
308
- map.update(shortNamePath, (list) => [...list, field]);
309
- }
310
- });
436
+ } else {
437
+ requiredFieldEntities = fieldEntities;
438
+ }
439
+ resetWithFields(requiredFieldEntities);
440
+ });
441
+ _defineProperty(this, "resetFields", function (nameList) {
442
+ _this.warningUnhooked();
443
+ var prevStore = _this.store;
444
+ if (!nameList) {
445
+ _this.updateStore(setValues({}, _this.initialValues));
446
+ _this.resetWithFieldInitialValue();
447
+ _this.notifyObservers(prevStore, null, {
448
+ type: 'reset'
311
449
  });
312
- const isNamePathListTouched = (entities) => entities.some(isFieldTouched);
313
- const namePathListEntities = map.map(({ value }) => value);
314
- return isAllFieldsTouched ? namePathListEntities.every(isNamePathListTouched) : namePathListEntities.some(isNamePathListTouched);
315
- };
316
- this.isFieldTouched = (name) => {
317
- this.warningUnhooked();
318
- return this.isFieldsTouched([name]);
319
- };
320
- this.isFieldsValidating = (nameList) => {
321
- this.warningUnhooked();
322
- const fieldEntities = this.getFieldEntities();
323
- if (!nameList) {
324
- return fieldEntities.some((testField) => testField.isFieldValidating());
450
+ _this.notifyWatch();
451
+ return;
452
+ }
453
+
454
+ // Reset by `nameList`
455
+ var namePathList = nameList.map(getNamePath);
456
+ namePathList.forEach(function (namePath) {
457
+ var initialValue = _this.getInitialValue(namePath);
458
+ _this.updateStore(setValue(_this.store, namePath, initialValue));
459
+ });
460
+ _this.resetWithFieldInitialValue({
461
+ namePathList: namePathList
462
+ });
463
+ _this.notifyObservers(prevStore, namePathList, {
464
+ type: 'reset'
465
+ });
466
+ _this.notifyWatch(namePathList);
467
+ });
468
+ _defineProperty(this, "setFields", function (fields) {
469
+ _this.warningUnhooked();
470
+ var prevStore = _this.store;
471
+ var namePathList = [];
472
+ fields.forEach(function (fieldData) {
473
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
474
+ var name = fieldData.name,
475
+ errors = fieldData.errors,
476
+ data = _objectWithoutProperties(fieldData, _excluded);
477
+ var namePath = getNamePath(name);
478
+ namePathList.push(namePath);
479
+
480
+ // Value
481
+ if ('value' in data) {
482
+ _this.updateStore(setValue(_this.store, namePath, data.value));
325
483
  }
326
- const namePathList = nameList.map(import_valueUtil.getNamePath);
327
- return fieldEntities.some((testField) => {
328
- const fieldNamePath = testField.getNamePath();
329
- return (0, import_valueUtil.containsNamePath)(namePathList, fieldNamePath) && testField.isFieldValidating();
484
+ _this.notifyObservers(prevStore, [namePath], {
485
+ type: 'setField',
486
+ data: fieldData
330
487
  });
331
- };
332
- this.isFieldValidating = (name) => {
333
- this.warningUnhooked();
334
- return this.isFieldsValidating([name]);
335
- };
336
- /**
337
- * Reset Field with field `initialValue` prop.
338
- * Can pass `entities` or `namePathList` or just nothing.
339
- */
340
- this.resetWithFieldInitialValue = (info = {}) => {
341
- const cache = new import_NameMap.default();
342
- const fieldEntities = this.getFieldEntities(true);
343
- fieldEntities.forEach((field) => {
344
- const { initialValue } = field.props;
345
- const namePath = field.getNamePath();
346
- if (initialValue !== void 0) {
347
- const records = cache.get(namePath) || /* @__PURE__ */ new Set();
348
- records.add({ entity: field, value: initialValue });
349
- cache.set(namePath, records);
350
- }
488
+ });
489
+ _this.notifyWatch(namePathList);
490
+ });
491
+ _defineProperty(this, "getFields", function () {
492
+ var entities = _this.getFieldEntities(true);
493
+ var fields = entities.map(function (field) {
494
+ var namePath = field.getNamePath();
495
+ var meta = field.getMeta();
496
+ var fieldData = _objectSpread(_objectSpread({}, meta), {}, {
497
+ name: namePath,
498
+ value: _this.getFieldValue(namePath)
351
499
  });
352
- const resetWithFields = (entities) => {
353
- entities.forEach((field) => {
354
- const { initialValue } = field.props;
355
- if (initialValue !== void 0) {
356
- const namePath = field.getNamePath();
357
- const formInitialValue = this.getInitialValue(namePath);
358
- if (formInitialValue !== void 0) {
359
- (0, import_Util.warning)(false, `Form already set 'initialValues' with path '${namePath.join(".")}'. Field can not overwrite it.`);
360
- } else {
361
- const records = cache.get(namePath);
362
- if (records && records.size > 1) {
363
- (0, import_Util.warning)(false, `Multiple Field with path '${namePath.join(".")}' set 'initialValue'. Can not decide which one to pick.`);
364
- } else if (records) {
365
- const originValue = this.getFieldValue(namePath);
366
- if (!info.skipExist || originValue === void 0) {
367
- this.updateStore((0, import_valueUtil.setValue)(this.store, namePath, [...records][0].value));
368
- }
369
- }
370
- }
371
- }
372
- });
373
- };
374
- let requiredFieldEntities;
375
- if (info.entities) {
376
- requiredFieldEntities = info.entities;
377
- } else if (info.namePathList) {
378
- requiredFieldEntities = [];
379
- info.namePathList.forEach((namePath) => {
380
- const records = cache.get(namePath);
381
- if (records) {
382
- requiredFieldEntities.push(...[...records].map((r) => r.entity));
383
- }
384
- });
385
- } else {
386
- requiredFieldEntities = fieldEntities;
387
- }
388
- resetWithFields(requiredFieldEntities);
389
- };
390
- this.resetFields = (nameList) => {
391
- this.warningUnhooked();
392
- const prevStore = this.store;
393
- if (!nameList) {
394
- this.updateStore((0, import_valueUtil.setValues)({}, this.initialValues));
395
- this.resetWithFieldInitialValue();
396
- this.notifyObservers(prevStore, null, { type: "reset" });
397
- this.notifyWatch();
398
- return;
500
+ Object.defineProperty(fieldData, 'originRCField', {
501
+ value: true
502
+ });
503
+ return fieldData;
504
+ });
505
+ return fields;
506
+ });
507
+ // =========================== Observer ===========================
508
+ /**
509
+ * This only trigger when a field is on constructor to avoid we get initialValue too late
510
+ */
511
+ _defineProperty(this, "initEntityValue", function (entity) {
512
+ var initialValue = entity.props.initialValue;
513
+ if (initialValue !== undefined) {
514
+ var namePath = entity.getNamePath();
515
+ var prevValue = getValue(_this.store, namePath);
516
+ if (prevValue === undefined) {
517
+ _this.updateStore(setValue(_this.store, namePath, initialValue));
399
518
  }
400
- const namePathList = nameList.map(import_valueUtil.getNamePath);
401
- namePathList.forEach((namePath) => {
402
- const initialValue = this.getInitialValue(namePath);
403
- this.updateStore((0, import_valueUtil.setValue)(this.store, namePath, initialValue));
519
+ }
520
+ });
521
+ _defineProperty(this, "isMergedPreserve", function (fieldPreserve) {
522
+ var mergedPreserve = fieldPreserve !== undefined ? fieldPreserve : _this.preserve;
523
+ return mergedPreserve !== null && mergedPreserve !== void 0 ? mergedPreserve : true;
524
+ });
525
+ _defineProperty(this, "registerField", function (entity) {
526
+ _this.fieldEntities.push(entity);
527
+ var namePath = entity.getNamePath();
528
+ _this.notifyWatch([namePath]);
529
+
530
+ // Set initial values
531
+ if (entity.props.initialValue !== undefined) {
532
+ var prevStore = _this.store;
533
+ _this.resetWithFieldInitialValue({
534
+ entities: [entity],
535
+ skipExist: true
404
536
  });
405
- this.resetWithFieldInitialValue({ namePathList });
406
- this.notifyObservers(prevStore, namePathList, { type: "reset" });
407
- this.notifyWatch(namePathList);
408
- };
409
- this.setFields = (fields) => {
410
- this.warningUnhooked();
411
- const prevStore = this.store;
412
- const namePathList = [];
413
- fields.forEach((fieldData) => {
414
- const { name, errors, ...data } = fieldData;
415
- const namePath = (0, import_valueUtil.getNamePath)(name);
416
- namePathList.push(namePath);
417
- if ("value" in data) {
418
- this.updateStore((0, import_valueUtil.setValue)(this.store, namePath, data.value));
419
- }
420
- this.notifyObservers(prevStore, [namePath], {
421
- type: "setField",
422
- data: fieldData
423
- });
537
+ _this.notifyObservers(prevStore, [entity.getNamePath()], {
538
+ type: 'valueUpdate',
539
+ source: 'internal'
424
540
  });
425
- this.notifyWatch(namePathList);
426
- };
427
- this.getFields = () => {
428
- const entities = this.getFieldEntities(true);
429
- const fields = entities.map((field) => {
430
- const namePath = field.getNamePath();
431
- const meta = field.getMeta();
432
- const fieldData = {
433
- ...meta,
434
- name: namePath,
435
- value: this.getFieldValue(namePath)
436
- };
437
- Object.defineProperty(fieldData, "originRCField", {
438
- value: true
439
- });
440
- return fieldData;
541
+ }
542
+
543
+ // un-register field callback
544
+ return function (isListField, preserve) {
545
+ var subNamePath = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
546
+ _this.fieldEntities = _this.fieldEntities.filter(function (item) {
547
+ return item !== entity;
441
548
  });
442
- return fields;
443
- };
444
- // =========================== Observer ===========================
445
- /**
446
- * This only trigger when a field is on constructor to avoid we get initialValue too late
447
- */
448
- this.initEntityValue = (entity) => {
449
- const { initialValue } = entity.props;
450
- if (initialValue !== void 0) {
451
- const namePath = entity.getNamePath();
452
- const prevValue = (0, import_valueUtil.getValue)(this.store, namePath);
453
- if (prevValue === void 0) {
454
- this.updateStore((0, import_valueUtil.setValue)(this.store, namePath, initialValue));
549
+
550
+ // Clean up store value if not preserve
551
+ if (!_this.isMergedPreserve(preserve) && (!isListField || subNamePath.length > 1)) {
552
+ var defaultValue = isListField ? undefined : _this.getInitialValue(namePath);
553
+ if (namePath.length && _this.getFieldValue(namePath) !== defaultValue && _this.fieldEntities.every(function (field) {
554
+ return (
555
+ // Only reset when no namePath exist
556
+ !matchNamePath(field.getNamePath(), namePath)
557
+ );
558
+ })) {
559
+ var _prevStore = _this.store;
560
+ _this.updateStore(setValue(_prevStore, namePath, defaultValue, true));
561
+
562
+ // Notify that field is unmount
563
+ _this.notifyObservers(_prevStore, [namePath], {
564
+ type: 'remove'
565
+ });
566
+
567
+ // Dependencies update
568
+ _this.triggerDependenciesUpdate(_prevStore, namePath);
455
569
  }
456
570
  }
571
+ _this.notifyWatch([namePath]);
457
572
  };
458
- this.isMergedPreserve = (fieldPreserve) => {
459
- const mergedPreserve = fieldPreserve !== void 0 ? fieldPreserve : this.preserve;
460
- return mergedPreserve ?? true;
461
- };
462
- this.registerField = (entity) => {
463
- this.fieldEntities.push(entity);
464
- const namePath = entity.getNamePath();
465
- this.notifyWatch([namePath]);
466
- if (entity.props.initialValue !== void 0) {
467
- const prevStore = this.store;
468
- this.resetWithFieldInitialValue({ entities: [entity], skipExist: true });
469
- this.notifyObservers(prevStore, [entity.getNamePath()], {
470
- type: "valueUpdate",
471
- source: "internal"
472
- });
473
- }
474
- return (isListField, preserve, subNamePath = []) => {
475
- this.fieldEntities = this.fieldEntities.filter((item) => item !== entity);
476
- if (!this.isMergedPreserve(preserve) && (!isListField || subNamePath.length > 1)) {
477
- const defaultValue = isListField ? void 0 : this.getInitialValue(namePath);
478
- if (namePath.length && this.getFieldValue(namePath) !== defaultValue && this.fieldEntities.every(
479
- (field) => (
480
- // Only reset when no namePath exist
481
- !(0, import_valueUtil.matchNamePath)(field.getNamePath(), namePath)
482
- )
483
- )) {
484
- const prevStore = this.store;
485
- this.updateStore((0, import_valueUtil.setValue)(prevStore, namePath, defaultValue, true));
486
- this.notifyObservers(prevStore, [namePath], { type: "remove" });
487
- this.triggerDependenciesUpdate(prevStore, namePath);
488
- }
489
- }
490
- this.notifyWatch([namePath]);
491
- };
492
- };
493
- this.dispatch = (action) => {
494
- switch (action.type) {
495
- case "updateValue": {
496
- const { namePath, value } = action;
497
- this.updateValue(namePath, value);
573
+ });
574
+ _defineProperty(this, "dispatch", function (action) {
575
+ switch (action.type) {
576
+ case 'updateValue':
577
+ {
578
+ var namePath = action.namePath,
579
+ value = action.value;
580
+ _this.updateValue(namePath, value);
498
581
  break;
499
582
  }
500
- case "validateField": {
501
- const { namePath, triggerName } = action;
502
- this.validateFields([namePath], { triggerName });
583
+ case 'validateField':
584
+ {
585
+ var _namePath = action.namePath,
586
+ triggerName = action.triggerName;
587
+ _this.validateFields([_namePath], {
588
+ triggerName: triggerName
589
+ });
503
590
  break;
504
591
  }
505
- default:
506
- }
507
- };
508
- this.notifyObservers = (prevStore, namePathList, info) => {
509
- if (this.subscribable) {
510
- const mergedInfo = {
511
- ...info,
512
- store: this.getFieldsValue(true)
513
- };
514
- this.getFieldEntities().forEach(({ onStoreChange }) => {
515
- onStoreChange(prevStore, namePathList, mergedInfo);
516
- });
517
- } else {
518
- this.forceRootUpdate();
519
- }
520
- };
521
- /**
522
- * Notify dependencies children with parent update
523
- * We need delay to trigger validate in case Field is under render props
524
- */
525
- this.triggerDependenciesUpdate = (prevStore, namePath) => {
526
- const childrenFields = this.getDependencyChildrenFields(namePath);
527
- if (childrenFields.length) {
528
- this.validateFields(childrenFields);
529
- }
530
- this.notifyObservers(prevStore, childrenFields, {
531
- type: "dependenciesUpdate",
532
- relatedFields: [namePath, ...childrenFields]
592
+ default:
593
+ // Currently we don't have other action. Do nothing.
594
+ }
595
+ });
596
+ _defineProperty(this, "notifyObservers", function (prevStore, namePathList, info) {
597
+ if (_this.subscribable) {
598
+ var mergedInfo = _objectSpread(_objectSpread({}, info), {}, {
599
+ store: _this.getFieldsValue(true)
533
600
  });
534
- return childrenFields;
535
- };
536
- this.updateValue = (name, value) => {
537
- const namePath = (0, import_valueUtil.getNamePath)(name);
538
- const prevStore = this.store;
539
- this.updateStore((0, import_valueUtil.setValue)(this.store, namePath, value));
540
- this.notifyObservers(prevStore, [namePath], {
541
- type: "valueUpdate",
542
- source: "internal"
601
+ _this.getFieldEntities().forEach(function (_ref4) {
602
+ var onStoreChange = _ref4.onStoreChange;
603
+ onStoreChange(prevStore, namePathList, mergedInfo);
543
604
  });
544
- this.notifyWatch([namePath]);
545
- const childrenFields = this.triggerDependenciesUpdate(prevStore, namePath);
546
- const { onValuesChange } = this.callbacks;
547
- if (onValuesChange) {
548
- const changedValues = (0, import_valueUtil.cloneByNamePathList)(this.store, [namePath]);
549
- onValuesChange(changedValues, this.getFieldsValue());
550
- }
551
- this.triggerOnFieldsChange([namePath, ...childrenFields]);
552
- };
553
- // Let all child Field get update.
554
- this.setFieldsValue = (store) => {
555
- this.warningUnhooked();
556
- const prevStore = this.store;
557
- if (store) {
558
- const nextStore = (0, import_valueUtil.setValues)(this.store, store);
559
- this.updateStore(nextStore);
560
- }
561
- this.notifyObservers(prevStore, null, {
562
- type: "valueUpdate",
563
- source: "external"
605
+ } else {
606
+ _this.forceRootUpdate();
607
+ }
608
+ });
609
+ /**
610
+ * Notify dependencies children with parent update
611
+ * We need delay to trigger validate in case Field is under render props
612
+ */
613
+ _defineProperty(this, "triggerDependenciesUpdate", function (prevStore, namePath) {
614
+ var childrenFields = _this.getDependencyChildrenFields(namePath);
615
+ if (childrenFields.length) {
616
+ _this.validateFields(childrenFields);
617
+ }
618
+ _this.notifyObservers(prevStore, childrenFields, {
619
+ type: 'dependenciesUpdate',
620
+ relatedFields: [namePath].concat(_toConsumableArray(childrenFields))
621
+ });
622
+ return childrenFields;
623
+ });
624
+ _defineProperty(this, "updateValue", function (name, value) {
625
+ var namePath = getNamePath(name);
626
+ var prevStore = _this.store;
627
+ _this.updateStore(setValue(_this.store, namePath, value));
628
+ _this.notifyObservers(prevStore, [namePath], {
629
+ type: 'valueUpdate',
630
+ source: 'internal'
631
+ });
632
+ _this.notifyWatch([namePath]);
633
+
634
+ // Dependencies update
635
+ var childrenFields = _this.triggerDependenciesUpdate(prevStore, namePath);
636
+
637
+ // trigger callback function
638
+ var onValuesChange = _this.callbacks.onValuesChange;
639
+ if (onValuesChange) {
640
+ var changedValues = cloneByNamePathList(_this.store, [namePath]);
641
+ onValuesChange(changedValues, _this.getFieldsValue());
642
+ }
643
+ _this.triggerOnFieldsChange([namePath].concat(_toConsumableArray(childrenFields)));
644
+ });
645
+ // Let all child Field get update.
646
+ _defineProperty(this, "setFieldsValue", function (store) {
647
+ _this.warningUnhooked();
648
+ var prevStore = _this.store;
649
+ if (store) {
650
+ var nextStore = setValues(_this.store, store);
651
+ _this.updateStore(nextStore);
652
+ }
653
+ _this.notifyObservers(prevStore, null, {
654
+ type: 'valueUpdate',
655
+ source: 'external'
656
+ });
657
+ _this.notifyWatch();
658
+ });
659
+ _defineProperty(this, "setFieldValue", function (name, value) {
660
+ _this.setFields([{
661
+ name: name,
662
+ value: value
663
+ }]);
664
+ });
665
+ _defineProperty(this, "getDependencyChildrenFields", function (rootNamePath) {
666
+ var children = new Set();
667
+ var childrenFields = [];
668
+ var dependencies2fields = new NameMap();
669
+
670
+ /**
671
+ * Generate maps
672
+ * Can use cache to save perf if user report performance issue with this
673
+ */
674
+ _this.getFieldEntities().forEach(function (field) {
675
+ var dependencies = field.props.dependencies;
676
+ (dependencies || []).forEach(function (dependency) {
677
+ var dependencyNamePath = getNamePath(dependency);
678
+ dependencies2fields.update(dependencyNamePath, function () {
679
+ var fields = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Set();
680
+ fields.add(field);
681
+ return fields;
682
+ });
564
683
  });
565
- this.notifyWatch();
566
- };
567
- this.setFieldValue = (name, value) => {
568
- this.setFields([
569
- {
570
- name,
571
- value
684
+ });
685
+ var fillChildren = function fillChildren(namePath) {
686
+ var fields = dependencies2fields.get(namePath) || new Set();
687
+ fields.forEach(function (field) {
688
+ if (!children.has(field)) {
689
+ children.add(field);
690
+ var fieldNamePath = field.getNamePath();
691
+ if (field.isFieldDirty() && fieldNamePath.length) {
692
+ childrenFields.push(fieldNamePath);
693
+ fillChildren(fieldNamePath);
694
+ }
572
695
  }
573
- ]);
696
+ });
574
697
  };
575
- this.getDependencyChildrenFields = (rootNamePath) => {
576
- const children = /* @__PURE__ */ new Set();
577
- const childrenFields = [];
578
- const dependencies2fields = new import_NameMap.default();
579
- this.getFieldEntities().forEach((field) => {
580
- const { dependencies } = field.props;
581
- (dependencies || []).forEach((dependency) => {
582
- const dependencyNamePath = (0, import_valueUtil.getNamePath)(dependency);
583
- dependencies2fields.update(dependencyNamePath, (fields = /* @__PURE__ */ new Set()) => {
584
- fields.add(field);
585
- return fields;
586
- });
698
+ fillChildren(rootNamePath);
699
+ return childrenFields;
700
+ });
701
+ _defineProperty(this, "triggerOnFieldsChange", function (namePathList, filedErrors) {
702
+ var onFieldsChange = _this.callbacks.onFieldsChange;
703
+ if (onFieldsChange) {
704
+ var fields = _this.getFields();
705
+
706
+ /**
707
+ * Fill errors since `fields` may be replaced by controlled fields
708
+ */
709
+ if (filedErrors) {
710
+ var cache = new NameMap();
711
+ filedErrors.forEach(function (_ref5) {
712
+ var name = _ref5.name,
713
+ errors = _ref5.errors;
714
+ cache.set(name, errors);
587
715
  });
588
- });
589
- const fillChildren = (namePath) => {
590
- const fields = dependencies2fields.get(namePath) || /* @__PURE__ */ new Set();
591
- fields.forEach((field) => {
592
- if (!children.has(field)) {
593
- children.add(field);
594
- const fieldNamePath = field.getNamePath();
595
- if (field.isFieldDirty() && fieldNamePath.length) {
596
- childrenFields.push(fieldNamePath);
597
- fillChildren(fieldNamePath);
598
- }
599
- }
716
+ fields.forEach(function (field) {
717
+ // eslint-disable-next-line no-param-reassign
718
+ field.errors = cache.get(field.name) || field.errors;
600
719
  });
601
- };
602
- fillChildren(rootNamePath);
603
- return childrenFields;
604
- };
605
- this.triggerOnFieldsChange = (namePathList, filedErrors) => {
606
- const { onFieldsChange } = this.callbacks;
607
- if (onFieldsChange) {
608
- const fields = this.getFields();
609
- if (filedErrors) {
610
- const cache = new import_NameMap.default();
611
- filedErrors.forEach(({ name, errors }) => {
612
- cache.set(name, errors);
613
- });
614
- fields.forEach((field) => {
615
- field.errors = cache.get(field.name) || field.errors;
616
- });
617
- }
618
- const changedFields = fields.filter(({ name: fieldName }) => (0, import_valueUtil.containsNamePath)(namePathList, fieldName));
619
- onFieldsChange(changedFields, fields);
620
720
  }
621
- };
622
- // =========================== Validate ===========================
623
- this.validateFields = (nameList, options) => {
624
- this.warningUnhooked();
625
- const provideNameList = !!nameList;
626
- const namePathList = provideNameList ? nameList.map(import_valueUtil.getNamePath) : [];
627
- const promiseList = [];
628
- this.getFieldEntities(true).forEach((field) => {
629
- var _a;
630
- if (!provideNameList) {
631
- namePathList.push(field.getNamePath());
632
- }
633
- if ((options == null ? void 0 : options.recursive) && provideNameList) {
634
- const namePath = field.getNamePath();
635
- if (
636
- // nameList[i] === undefined 说明是以 nameList 开头的
637
- // ['name'] -> ['name','list']
638
- namePath.every((nameUnit, i) => nameList[i] === nameUnit || nameList[i] === void 0)
639
- ) {
640
- namePathList.push(namePath);
641
- }
642
- }
643
- if (!field.props.rules || !field.props.rules.length) {
644
- return;
721
+ var changedFields = fields.filter(function (_ref6) {
722
+ var fieldName = _ref6.name;
723
+ return containsNamePath(namePathList, fieldName);
724
+ });
725
+ onFieldsChange(changedFields, fields);
726
+ }
727
+ });
728
+ // =========================== Validate ===========================
729
+ _defineProperty(this, "validateFields", function (nameList, options) {
730
+ _this.warningUnhooked();
731
+ var provideNameList = !!nameList;
732
+ var namePathList = provideNameList ? nameList.map(getNamePath) : [];
733
+
734
+ // Collect result in promise list
735
+ var promiseList = [];
736
+ _this.getFieldEntities(true).forEach(function (field) {
737
+ // Add field if not provide `nameList`
738
+ if (!provideNameList) {
739
+ namePathList.push(field.getNamePath());
740
+ }
741
+
742
+ /**
743
+ * Recursive validate if configured.
744
+ * TODO: perf improvement @zombieJ
745
+ */
746
+ if (options !== null && options !== void 0 && options.recursive && provideNameList) {
747
+ var namePath = field.getNamePath();
748
+ if (
749
+ // nameList[i] === undefined 说明是以 nameList 开头的
750
+ // ['name'] -> ['name','list']
751
+ namePath.every(function (nameUnit, i) {
752
+ return nameList[i] === nameUnit || nameList[i] === undefined;
753
+ })) {
754
+ namePathList.push(namePath);
645
755
  }
646
- const fieldNamePath = field.getNamePath();
647
- if (!provideNameList || (0, import_valueUtil.containsNamePath)(namePathList, fieldNamePath)) {
648
- const promise = field.validateRules({
649
- validateMessages: {
650
- ...import_messages.defaultValidateMessages,
651
- ...this.validateMessages
652
- },
653
- label: typeof ((_a = field == null ? void 0 : field.props) == null ? void 0 : _a.label) === "string" ? field.props.label : "",
654
- ...options
756
+ }
757
+
758
+ // Skip if without rule
759
+ if (!field.props.rules || !field.props.rules.length) {
760
+ return;
761
+ }
762
+ var fieldNamePath = field.getNamePath();
763
+ // Add field validate rule in to promise list
764
+ if (!provideNameList || containsNamePath(namePathList, fieldNamePath)) {
765
+ var _field$props;
766
+ var promise = field.validateRules(_objectSpread({
767
+ validateMessages: _objectSpread(_objectSpread({}, defaultValidateMessages), _this.validateMessages),
768
+ label: typeof (field === null || field === void 0 || (_field$props = field.props) === null || _field$props === void 0 ? void 0 : _field$props.label) === 'string' ? field.props.label : ''
769
+ }, options));
770
+
771
+ // Wrap promise with field
772
+ promiseList.push(promise.then(function () {
773
+ return {
774
+ name: fieldNamePath,
775
+ errors: [],
776
+ warnings: []
777
+ };
778
+ }).catch(function (ruleErrors) {
779
+ var _ruleErrors$forEach;
780
+ var mergedErrors = [];
781
+ var mergedWarnings = [];
782
+ (_ruleErrors$forEach = ruleErrors.forEach) === null || _ruleErrors$forEach === void 0 || _ruleErrors$forEach.call(ruleErrors, function (_ref7) {
783
+ var warningOnly = _ref7.rule.warningOnly,
784
+ errors = _ref7.errors;
785
+ if (warningOnly) {
786
+ mergedWarnings.push.apply(mergedWarnings, _toConsumableArray(errors));
787
+ } else {
788
+ mergedErrors.push.apply(mergedErrors, _toConsumableArray(errors));
789
+ }
655
790
  });
656
- promiseList.push(
657
- promise.then(() => ({ name: fieldNamePath, errors: [], warnings: [] })).catch((ruleErrors) => {
658
- var _a2;
659
- const mergedErrors = [];
660
- const mergedWarnings = [];
661
- (_a2 = ruleErrors.forEach) == null ? void 0 : _a2.call(ruleErrors, ({ rule: { warningOnly }, errors }) => {
662
- if (warningOnly) {
663
- mergedWarnings.push(...errors);
664
- } else {
665
- mergedErrors.push(...errors);
666
- }
667
- });
668
- if (mergedErrors.length) {
669
- return Promise.reject({
670
- name: fieldNamePath,
671
- errors: mergedErrors,
672
- warnings: mergedWarnings
673
- });
674
- }
675
- return {
676
- name: fieldNamePath,
677
- errors: mergedErrors,
678
- warnings: mergedWarnings
679
- };
680
- })
681
- );
682
- }
791
+ if (mergedErrors.length) {
792
+ return Promise.reject({
793
+ name: fieldNamePath,
794
+ errors: mergedErrors,
795
+ warnings: mergedWarnings
796
+ });
797
+ }
798
+ return {
799
+ name: fieldNamePath,
800
+ errors: mergedErrors,
801
+ warnings: mergedWarnings
802
+ };
803
+ }));
804
+ }
805
+ });
806
+ var summaryPromise = allPromiseFinish(promiseList);
807
+ _this.lastValidatePromise = summaryPromise;
808
+
809
+ // Notify fields with rule that validate has finished and need update
810
+ summaryPromise.catch(function (results) {
811
+ return results;
812
+ }).then(function (results) {
813
+ var resultNamePathList = results.map(function (_ref8) {
814
+ var name = _ref8.name;
815
+ return name;
683
816
  });
684
- const summaryPromise = (0, import_asyncUtil.allPromiseFinish)(promiseList);
685
- this.lastValidatePromise = summaryPromise;
686
- summaryPromise.catch((results) => results).then((results) => {
687
- const resultNamePathList = results.map(({ name }) => name);
688
- this.notifyObservers(this.store, resultNamePathList, {
689
- type: "validateFinish"
690
- });
691
- this.triggerOnFieldsChange(resultNamePathList, results);
817
+ _this.notifyObservers(_this.store, resultNamePathList, {
818
+ type: 'validateFinish'
692
819
  });
693
- const returnPromise = summaryPromise.then(() => {
694
- if (this.lastValidatePromise === summaryPromise) {
695
- return Promise.resolve(this.getFieldsValue(namePathList));
696
- }
697
- return Promise.reject([]);
698
- }).catch((results) => {
699
- const errorList = results.filter((result) => result && result.errors.length);
700
- return Promise.reject({
701
- values: this.getFieldsValue(namePathList),
702
- errorFields: errorList,
703
- outOfDate: this.lastValidatePromise !== summaryPromise
704
- });
820
+ _this.triggerOnFieldsChange(resultNamePathList, results);
821
+ });
822
+ var returnPromise = summaryPromise.then(function () {
823
+ if (_this.lastValidatePromise === summaryPromise) {
824
+ return Promise.resolve(_this.getFieldsValue(namePathList));
825
+ }
826
+ return Promise.reject([]);
827
+ }).catch(function (results) {
828
+ var _this$getFieldsMap$ge2;
829
+ var fieldContext = (_this$getFieldsMap$ge2 = _this.getFieldsMap().get(results[0].name)) === null || _this$getFieldsMap$ge2 === void 0 || (_this$getFieldsMap$ge2 = _this$getFieldsMap$ge2.props) === null || _this$getFieldsMap$ge2 === void 0 ? void 0 : _this$getFieldsMap$ge2.fieldContext;
830
+ if (fieldContext !== null && fieldContext !== void 0 && fieldContext.scrollToError) {
831
+ _this.scrollToField(results[0].name);
832
+ }
833
+ var errorList = results.filter(function (result) {
834
+ return result && result.errors.length;
705
835
  });
706
- returnPromise.catch((e) => e);
707
- return returnPromise;
708
- };
709
- // ============================ Submit ============================
710
- this.submit = () => {
711
- this.warningUnhooked();
712
- this.validateFields().then((values) => {
713
- const { onFinish } = this.callbacks;
714
- if (onFinish) {
715
- try {
716
- onFinish(values);
717
- } catch (err) {
718
- console.error(err);
719
- }
720
- }
721
- }).catch((e) => {
722
- const { onFinishFailed } = this.callbacks;
723
- if (onFinishFailed) {
724
- onFinishFailed(e);
725
- }
836
+ return Promise.reject({
837
+ values: _this.getFieldsValue(namePathList),
838
+ errorFields: errorList,
839
+ outOfDate: _this.lastValidatePromise !== summaryPromise
726
840
  });
727
- };
728
- this.forceRootUpdate = forceRootUpdate;
729
- }
730
- };
841
+ });
842
+
843
+ // Do not throw in console
844
+ returnPromise.catch(function (e) {
845
+ return e;
846
+ });
847
+ return returnPromise;
848
+ });
849
+ // ============================ Submit ============================
850
+ _defineProperty(this, "submit", function () {
851
+ _this.warningUnhooked();
852
+ _this.validateFields().then(function (values) {
853
+ var onFinish = _this.callbacks.onFinish;
854
+ if (onFinish) {
855
+ try {
856
+ onFinish(values);
857
+ } catch (err) {
858
+ // Should print error if user `onFinish` callback failed
859
+ // eslint-disable-next-line no-console
860
+ console.error(err);
861
+ }
862
+ }
863
+ }).catch(function (e) {
864
+ var onFinishFailed = _this.callbacks.onFinishFailed;
865
+ if (onFinishFailed) {
866
+ onFinishFailed(e);
867
+ }
868
+ });
869
+ });
870
+ this.forceRootUpdate = forceRootUpdate;
871
+ });
731
872
  function useForm(form) {
732
- const formRef = (0, import_react.useRef)();
733
- const [, forceUpdate] = (0, import_react.useState)({});
873
+ var formRef = useRef(null);
874
+ var _useState = useState({}),
875
+ _useState2 = _slicedToArray(_useState, 2),
876
+ forceUpdate = _useState2[1];
734
877
  if (!formRef.current) {
735
878
  if (form) {
736
879
  formRef.current = form;
737
880
  } else {
738
- const forceReRender = () => {
881
+ // Create a new FormStore if not provided
882
+ var forceReRender = function forceReRender() {
739
883
  forceUpdate({});
740
884
  };
741
- const formStore = new FormStore(forceReRender);
885
+ var formStore = new FormStore(forceReRender);
742
886
  formRef.current = formStore.getForm();
743
887
  }
744
888
  }
745
889
  return [formRef.current];
746
890
  }
747
- var useForm_default = useForm;
748
- // Annotate the CommonJS export names for ESM import in node:
749
- 0 && (module.exports = {
750
- FormStore
751
- });
891
+ export default useForm;