@qsxy/element-plus-react 1.0.0-next.10 → 1.0.0-next.11

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 (398) hide show
  1. package/dist/Avatar/Avatar.js +73 -72
  2. package/dist/Avatar/index.js +1 -39
  3. package/dist/Avatar/typings.js +1 -17
  4. package/dist/Badge/Badge.d.ts +2 -2
  5. package/dist/Badge/Badge.js +63 -60
  6. package/dist/Badge/index.js +1 -39
  7. package/dist/Badge/typings.d.ts +1 -1
  8. package/dist/Badge/typings.js +1 -17
  9. package/dist/Breadcrumb/Breadcrumb.js +23 -50
  10. package/dist/Breadcrumb/BreadcrumbItem.js +45 -51
  11. package/dist/Breadcrumb/index.js +2 -42
  12. package/dist/Breadcrumb/typings.js +1 -17
  13. package/dist/Button/Button.js +132 -105
  14. package/dist/Button/ButtonGroup.js +29 -48
  15. package/dist/Button/ButtonGroupContext.js +2 -30
  16. package/dist/Button/index.js +2 -42
  17. package/dist/Button/typings.d.ts +4 -2
  18. package/dist/Button/typings.js +1 -17
  19. package/dist/Button/useButtonCustomStyle.d.ts +4 -0
  20. package/dist/Button/useButtonCustomStyle.js +65 -0
  21. package/dist/Calendar/Calendar.js +310 -237
  22. package/dist/Calendar/CalendarContext.js +3 -27
  23. package/dist/Calendar/DatePanel.js +191 -158
  24. package/dist/Calendar/DateRangePanel.js +140 -125
  25. package/dist/Calendar/Footer.js +41 -51
  26. package/dist/Calendar/Header.js +83 -65
  27. package/dist/Calendar/MonthPanel.js +138 -124
  28. package/dist/Calendar/MonthRangePanel.js +137 -124
  29. package/dist/Calendar/ShortCuts.js +21 -40
  30. package/dist/Calendar/WeekPanel.js +213 -145
  31. package/dist/Calendar/YearPanel.js +150 -125
  32. package/dist/Calendar/YearRangePanel.js +138 -128
  33. package/dist/Calendar/index.js +4 -47
  34. package/dist/Calendar/typings.js +1 -17
  35. package/dist/Calendar/util.js +26 -68
  36. package/dist/Card/Card.js +36 -46
  37. package/dist/Card/index.js +1 -39
  38. package/dist/Card/typings.js +1 -17
  39. package/dist/Carousel/Carousel.js +202 -166
  40. package/dist/Carousel/CarouselContext.js +14 -42
  41. package/dist/Carousel/CarouselItem.js +55 -71
  42. package/dist/Carousel/hooks/useCarousel.js +263 -238
  43. package/dist/Carousel/hooks/useCarouselItem.js +136 -132
  44. package/dist/Carousel/index.js +2 -42
  45. package/dist/Carousel/typings.js +1 -17
  46. package/dist/Cascader/Cascader.js +693 -569
  47. package/dist/Cascader/CascaderContext.js +9 -45
  48. package/dist/Cascader/CascaderDropdown.js +90 -77
  49. package/dist/Cascader/CascaderMenu.js +101 -114
  50. package/dist/Cascader/Utils.js +6 -33
  51. package/dist/Cascader/index.js +1 -39
  52. package/dist/Cascader/typings.d.ts +1 -1
  53. package/dist/Cascader/typings.js +1 -17
  54. package/dist/Cascader/useCascader.js +648 -458
  55. package/dist/Checkbox/Checkbox.d.ts +3 -3
  56. package/dist/Checkbox/Checkbox.js +136 -161
  57. package/dist/Checkbox/CheckboxButton.js +132 -157
  58. package/dist/Checkbox/index.js +2 -42
  59. package/dist/Checkbox/typings.d.ts +1 -1
  60. package/dist/Checkbox/typings.js +1 -17
  61. package/dist/CheckboxGroup/CheckboxGroup.js +133 -112
  62. package/dist/CheckboxGroup/CheckboxGroupContext.js +2 -30
  63. package/dist/CheckboxGroup/index.js +2 -42
  64. package/dist/Col/Col.js +53 -72
  65. package/dist/Col/index.js +1 -39
  66. package/dist/Col/typings.js +1 -17
  67. package/dist/Collapse/Collapse.js +36 -45
  68. package/dist/Collapse/CollapseContext.js +3 -31
  69. package/dist/Collapse/CollapseItem.js +88 -73
  70. package/dist/Collapse/CollapseTransition.js +29 -67
  71. package/dist/Collapse/index.js +2 -42
  72. package/dist/Collapse/typings.js +1 -17
  73. package/dist/ColorPicker/AlphaSlider.js +117 -99
  74. package/dist/ColorPicker/ColorPicker.d.ts +1 -1
  75. package/dist/ColorPicker/ColorPicker.js +233 -189
  76. package/dist/ColorPicker/HueSlider.js +102 -96
  77. package/dist/ColorPicker/Predefine.js +65 -66
  78. package/dist/ColorPicker/SvPanel.js +95 -81
  79. package/dist/ColorPicker/color.js +301 -213
  80. package/dist/ColorPicker/draggable.js +30 -48
  81. package/dist/ColorPicker/index.js +1 -39
  82. package/dist/ColorPicker/typings.js +1 -17
  83. package/dist/ColorPicker/util.js +23 -60
  84. package/dist/ConfigProvider/ConfigProvider.js +4 -28
  85. package/dist/ConfigProvider/index.js +1 -39
  86. package/dist/DatePicker/DatePicker.d.ts +3 -3
  87. package/dist/DatePicker/DatePicker.js +251 -227
  88. package/dist/DatePicker/DateRangePicker.d.ts +3 -3
  89. package/dist/DatePicker/DateRangePicker.js +279 -276
  90. package/dist/DatePicker/index.js +2 -39
  91. package/dist/DatePicker/main.d.ts +2 -2
  92. package/dist/DatePicker/main.js +21 -44
  93. package/dist/DatePicker/typings.d.ts +24 -17
  94. package/dist/DatePicker/typings.js +1 -17
  95. package/dist/DateTimePicker/DateTimePicker.d.ts +3 -5
  96. package/dist/DateTimePicker/DateTimePicker.js +286 -215
  97. package/dist/DateTimePicker/index.js +1 -39
  98. package/dist/DateTimePicker/typings.d.ts +10 -13
  99. package/dist/DateTimePicker/typings.js +1 -17
  100. package/dist/DateTimePicker/util.js +5 -35
  101. package/dist/Descriptions/Descriptions.js +83 -63
  102. package/dist/Descriptions/DescriptionsCell.js +67 -79
  103. package/dist/Descriptions/DescriptionsContext.js +4 -32
  104. package/dist/Descriptions/DescriptionsItem.js +4 -27
  105. package/dist/Descriptions/DescriptionsRow.js +42 -44
  106. package/dist/Descriptions/index.js +2 -42
  107. package/dist/Descriptions/typings.js +1 -17
  108. package/dist/Dialog/Dialog.js +224 -176
  109. package/dist/Dialog/DialogBody.js +52 -59
  110. package/dist/Dialog/DialogContext.js +6 -44
  111. package/dist/Dialog/DialogFooter.js +21 -45
  112. package/dist/Dialog/DialogHeader.js +44 -50
  113. package/dist/Dialog/index.js +1 -39
  114. package/dist/Dialog/typings.d.ts +1 -1
  115. package/dist/Dialog/typings.js +1 -17
  116. package/dist/Dialog/useDraggable.js +52 -79
  117. package/dist/Divider/Divider.d.ts +3 -3
  118. package/dist/Divider/Divider.js +38 -44
  119. package/dist/Divider/index.js +1 -39
  120. package/dist/Drawer/Drawer.js +144 -136
  121. package/dist/Drawer/DrawerBody.js +35 -57
  122. package/dist/Drawer/DrawerContext.js +13 -44
  123. package/dist/Drawer/DrawerFooter.js +22 -43
  124. package/dist/Drawer/DrawerHeader.js +41 -48
  125. package/dist/Drawer/index.js +1 -39
  126. package/dist/Drawer/typings.js +1 -17
  127. package/dist/Dropdown/Dropdown.js +89 -107
  128. package/dist/Dropdown/DropdownContext.js +5 -43
  129. package/dist/Dropdown/DropdownItem.js +40 -60
  130. package/dist/Dropdown/DropdownMenu.js +28 -56
  131. package/dist/Dropdown/index.js +3 -45
  132. package/dist/Dropdown/typings.js +1 -17
  133. package/dist/Empty/Empty.js +32 -53
  134. package/dist/Empty/ImgEmpty.js +115 -117
  135. package/dist/Empty/index.js +1 -39
  136. package/dist/Form/FieldContext.js +8 -37
  137. package/dist/Form/Form.js +167 -162
  138. package/dist/Form/FormContext.js +58 -97
  139. package/dist/Form/FormItem.js +620 -352
  140. package/dist/Form/FormItemContext.js +3 -31
  141. package/dist/Form/List.js +121 -104
  142. package/dist/Form/ListContext.js +3 -27
  143. package/dist/Form/index.js +3 -45
  144. package/dist/Form/typings.d.ts +25 -4
  145. package/dist/Form/typings.js +1 -17
  146. package/dist/Form/useForm.js +830 -690
  147. package/dist/Form/useWatch.js +64 -79
  148. package/dist/Form/utils/NameMap.js +98 -69
  149. package/dist/Form/utils/asyncUtil.js +9 -37
  150. package/dist/Form/utils/classUtil.js +26 -48
  151. package/dist/Form/utils/cloneDeep.js +8 -29
  152. package/dist/Form/utils/get.js +6 -30
  153. package/dist/Form/utils/messages.js +25 -53
  154. package/dist/Form/utils/set.js +31 -44
  155. package/dist/Form/utils/typeUtil.js +3 -31
  156. package/dist/Form/utils/util.js +18 -55
  157. package/dist/Form/utils/validateUtil.js +284 -159
  158. package/dist/Form/utils/valueUtil.js +102 -107
  159. package/dist/Icon/Icon.js +39 -63
  160. package/dist/Icon/IconList/Check.js +25 -65
  161. package/dist/Icon/IconList/Close.js +23 -52
  162. package/dist/Icon/IconList/Delete.js +25 -65
  163. package/dist/Icon/IconList/Down.js +25 -65
  164. package/dist/Icon/IconList/Eye.js +25 -65
  165. package/dist/Icon/IconList/EyeClose.js +25 -65
  166. package/dist/Icon/IconList/Left.js +25 -65
  167. package/dist/Icon/IconList/Link.js +19 -55
  168. package/dist/Icon/IconList/More.js +25 -65
  169. package/dist/Icon/IconList/Question.js +25 -65
  170. package/dist/Icon/IconList/Right.js +25 -65
  171. package/dist/Icon/IconList/Search.js +25 -65
  172. package/dist/Icon/IconList/Up.js +25 -65
  173. package/dist/Icon/IconList/Upload.js +25 -65
  174. package/dist/Icon/IconList/index.js +14 -68
  175. package/dist/Icon/index.js +2 -42
  176. package/dist/Icon/typings.js +1 -17
  177. package/dist/Input/Input.js +334 -358
  178. package/dist/Input/InputGroup.js +27 -43
  179. package/dist/Input/InputRange.js +295 -308
  180. package/dist/Input/TextArea.js +129 -120
  181. package/dist/Input/index.js +3 -45
  182. package/dist/Input/typings.js +1 -17
  183. package/dist/InputNumber/InputNumber.js +219 -203
  184. package/dist/InputNumber/index.js +1 -39
  185. package/dist/InputNumber/typings.d.ts +1 -1
  186. package/dist/InputNumber/typings.js +1 -17
  187. package/dist/Link/Link.js +43 -60
  188. package/dist/Link/index.js +1 -39
  189. package/dist/Link/typings.js +1 -17
  190. package/dist/Loading/Loading.js +93 -66
  191. package/dist/Loading/index.js +1 -39
  192. package/dist/Loading/typings.js +1 -17
  193. package/dist/Message/Main.js +41 -66
  194. package/dist/Message/Message.js +167 -130
  195. package/dist/Message/index.js +68 -88
  196. package/dist/Message/typings.js +1 -17
  197. package/dist/MessageBox/Main.js +43 -68
  198. package/dist/MessageBox/MessageBox.js +253 -202
  199. package/dist/MessageBox/index.js +74 -79
  200. package/dist/MessageBox/typings.js +1 -17
  201. package/dist/Notification/Main.js +41 -66
  202. package/dist/Notification/Notification.js +148 -131
  203. package/dist/Notification/index.js +76 -92
  204. package/dist/Notification/typings.js +1 -17
  205. package/dist/Pagination/Options.js +104 -99
  206. package/dist/Pagination/Pager.js +30 -61
  207. package/dist/Pagination/Pagination.js +462 -380
  208. package/dist/Pagination/index.js +1 -39
  209. package/dist/Pagination/typings.js +1 -17
  210. package/dist/Pagination/util.js +10 -41
  211. package/dist/Popconfirm/Popconfirm.js +108 -116
  212. package/dist/Popconfirm/index.js +1 -39
  213. package/dist/Popconfirm/typings.js +1 -17
  214. package/dist/Popover/Popover.js +87 -89
  215. package/dist/Popover/index.js +1 -39
  216. package/dist/Popover/typings.js +1 -17
  217. package/dist/Popper/Popper.js +172 -149
  218. package/dist/Popper/index.js +1 -39
  219. package/dist/Popper/popperOptions.js +79 -90
  220. package/dist/Popper/typings.js +1 -17
  221. package/dist/Progress/Progress.js +186 -155
  222. package/dist/Progress/index.js +1 -39
  223. package/dist/Progress/typings.js +1 -17
  224. package/dist/Radio/Radio.js +158 -117
  225. package/dist/Radio/RadioButton.js +127 -117
  226. package/dist/Radio/index.js +1 -39
  227. package/dist/Radio/typings.js +1 -17
  228. package/dist/RadioGroup/RadioGroup.js +63 -78
  229. package/dist/RadioGroup/index.js +1 -39
  230. package/dist/RadioGroup/typings.js +1 -17
  231. package/dist/Row/Row.js +41 -62
  232. package/dist/Row/RowContext.js +3 -31
  233. package/dist/Row/index.js +2 -42
  234. package/dist/Row/typings.js +1 -17
  235. package/dist/Scrollbar/Scrollbar.js +172 -133
  236. package/dist/Scrollbar/Thumb.js +108 -96
  237. package/dist/Scrollbar/index.js +1 -39
  238. package/dist/Scrollbar/typings.d.ts +11 -2
  239. package/dist/Scrollbar/typings.js +1 -17
  240. package/dist/Scrollbar/util.js +24 -51
  241. package/dist/Select/Option.js +50 -75
  242. package/dist/Select/OptionGroup.js +31 -47
  243. package/dist/Select/Select.js +25 -48
  244. package/dist/Select/SelectContext.js +8 -46
  245. package/dist/Select/SelectCore.js +449 -377
  246. package/dist/Select/SelectDropdown.js +200 -160
  247. package/dist/Select/index.js +2 -42
  248. package/dist/Select/typings.d.ts +1 -1
  249. package/dist/Select/typings.js +1 -17
  250. package/dist/Skeleton/PlaceholderGraph.js +39 -45
  251. package/dist/Skeleton/PlaceholderGrid.js +55 -67
  252. package/dist/Skeleton/PlaceholderParagraph.js +51 -52
  253. package/dist/Skeleton/Skeleton.js +8 -42
  254. package/dist/Skeleton/index.js +1 -39
  255. package/dist/Switch/Switch.js +177 -154
  256. package/dist/Switch/index.js +1 -39
  257. package/dist/Switch/typings.js +1 -17
  258. package/dist/Table/Colgroup.js +17 -41
  259. package/dist/Table/Table.js +246 -188
  260. package/dist/Table/TableBody.js +265 -200
  261. package/dist/Table/TableCell.js +461 -320
  262. package/dist/Table/TableColumn.js +9 -43
  263. package/dist/Table/TableContext.js +44 -63
  264. package/dist/Table/TableHeader.js +112 -102
  265. package/dist/Table/TableHeaderCell.js +211 -158
  266. package/dist/Table/hooks/useResize.js +69 -83
  267. package/dist/Table/hooks/useScroll.js +88 -114
  268. package/dist/Table/hooks/useSelection.js +145 -110
  269. package/dist/Table/hooks/useTable.js +411 -309
  270. package/dist/Table/index.js +2 -42
  271. package/dist/Table/treeUtil.js +99 -77
  272. package/dist/Table/typings.js +1 -17
  273. package/dist/Table/util.js +168 -109
  274. package/dist/Tabs/TabPane.js +51 -53
  275. package/dist/Tabs/Tabs.js +277 -178
  276. package/dist/Tabs/TabsContext.js +4 -32
  277. package/dist/Tabs/index.js +2 -42
  278. package/dist/Tabs/typings.js +1 -17
  279. package/dist/Tag/Tag.js +75 -74
  280. package/dist/Tag/index.js +1 -39
  281. package/dist/Tag/typings.js +1 -17
  282. package/dist/TimeLine/TimeLine.js +13 -42
  283. package/dist/TimeLine/TimeLineItem.js +66 -54
  284. package/dist/TimeLine/index.js +2 -42
  285. package/dist/TimeLine/typings.js +1 -17
  286. package/dist/TimePicker/TimePicker.d.ts +1 -4
  287. package/dist/TimePicker/TimePicker.js +275 -215
  288. package/dist/TimePicker/TimePickerPanel.js +62 -71
  289. package/dist/TimePicker/TimePickerRange.d.ts +4 -4
  290. package/dist/TimePicker/TimePickerRange.js +371 -334
  291. package/dist/TimePicker/TimeRangePanel.js +182 -165
  292. package/dist/TimePicker/TimeSpinnerPanel.js +321 -267
  293. package/dist/TimePicker/index.d.ts +2 -3
  294. package/dist/TimePicker/index.js +1 -42
  295. package/dist/TimePicker/main.d.ts +9 -0
  296. package/dist/TimePicker/main.js +17 -0
  297. package/dist/TimePicker/typings.d.ts +29 -24
  298. package/dist/TimePicker/typings.js +1 -17
  299. package/dist/TimePicker/useTimePicker.js +62 -65
  300. package/dist/TimePicker/util.js +8 -40
  301. package/dist/Tooltip/Tooltip.js +172 -180
  302. package/dist/Tooltip/TooltipContext.js +8 -46
  303. package/dist/Tooltip/index.js +2 -42
  304. package/dist/Tooltip/typings.js +1 -17
  305. package/dist/Transfer/List.js +290 -241
  306. package/dist/Transfer/ListBody.js +92 -106
  307. package/dist/Transfer/ListItem.js +38 -51
  308. package/dist/Transfer/Transfer.js +323 -280
  309. package/dist/Transfer/index.js +1 -39
  310. package/dist/Transfer/interface.js +1 -17
  311. package/dist/Transfer/operation.js +35 -48
  312. package/dist/Transfer/search.js +30 -62
  313. package/dist/Transfer/typings/index.js +1 -17
  314. package/dist/Transfer/typings/list.js +1 -17
  315. package/dist/Transfer/typings/listBody.js +2 -30
  316. package/dist/Transition/Transition.js +271 -234
  317. package/dist/Transition/TransitionGroup.js +136 -88
  318. package/dist/Transition/TransitionGroupContext.js +2 -26
  319. package/dist/Transition/childMapping.js +84 -71
  320. package/dist/Transition/index.js +2 -42
  321. package/dist/Transition/util.d.ts +0 -1
  322. package/dist/Transition/util.js +6 -47
  323. package/dist/Tree/DirectoryTree.js +146 -118
  324. package/dist/Tree/DropIndicator.js +15 -45
  325. package/dist/Tree/Indent.js +23 -54
  326. package/dist/Tree/MotionTreeNode.js +94 -95
  327. package/dist/Tree/NodeList.js +228 -221
  328. package/dist/Tree/RCTree.js +969 -702
  329. package/dist/Tree/Tree.js +64 -79
  330. package/dist/Tree/TreeNode.js +254 -255
  331. package/dist/Tree/contextTypes.js +8 -42
  332. package/dist/Tree/index.js +4 -48
  333. package/dist/Tree/typings.js +1 -17
  334. package/dist/Tree/useUnmount.js +21 -41
  335. package/dist/Tree/util.js +156 -134
  336. package/dist/Tree/utils/conductUtil.js +113 -104
  337. package/dist/Tree/utils/dictUtil.js +50 -78
  338. package/dist/Tree/utils/diffUtil.js +26 -43
  339. package/dist/Tree/utils/dropIndicator.js +23 -51
  340. package/dist/Tree/utils/iconUtil.js +44 -51
  341. package/dist/Tree/utils/keyUtil.js +2 -26
  342. package/dist/Tree/utils/motion.js +34 -72
  343. package/dist/Tree/utils/pickAttrs.js +30 -58
  344. package/dist/Tree/utils/treeUtil.js +263 -203
  345. package/dist/TreeSelect/TreeSelect.js +521 -459
  346. package/dist/TreeSelect/Utils.js +15 -36
  347. package/dist/TreeSelect/index.js +1 -39
  348. package/dist/TreeSelect/typings.d.ts +1 -1
  349. package/dist/TreeSelect/typings.js +1 -17
  350. package/dist/Upload/Upload.js +106 -109
  351. package/dist/Upload/UploadContent.js +227 -182
  352. package/dist/Upload/UploadContext.js +5 -33
  353. package/dist/Upload/UploadDrag.js +77 -97
  354. package/dist/Upload/UploadList.js +104 -73
  355. package/dist/Upload/ajax.js +45 -71
  356. package/dist/Upload/index.js +1 -39
  357. package/dist/Upload/typings.js +34 -36
  358. package/dist/Upload/use-handlers.js +182 -126
  359. package/dist/Util/Math.js +81 -78
  360. package/dist/Util/PopupManager.js +5 -27
  361. package/dist/Util/base.js +101 -171
  362. package/dist/Util/genFileId.js +3 -29
  363. package/dist/Util/index.js +6 -51
  364. package/dist/Util/resize-event.js +31 -54
  365. package/dist/Util/shallowEqual.js +30 -28
  366. package/dist/Util/treeUtils.js +68 -64
  367. package/dist/config/Constants.js +17 -47
  368. package/dist/display.css +1 -0
  369. package/dist/hooks/animationPropsUtils.js +25 -49
  370. package/dist/hooks/htmlPropsUtils.js +54 -121
  371. package/dist/hooks/index.js +14 -73
  372. package/dist/hooks/popperPropsUtils.js +25 -67
  373. package/dist/hooks/prefix.js +22 -55
  374. package/dist/hooks/treePropsUtils.js +24 -103
  375. package/dist/hooks/useChildrenInstance.js +51 -60
  376. package/dist/hooks/useClassNames.d.ts +2 -0
  377. package/dist/hooks/useClassNames.js +279 -197
  378. package/dist/hooks/useClickOutside.js +37 -62
  379. package/dist/hooks/useCommonProps.js +17 -53
  380. package/dist/hooks/useComponentWillMount.js +4 -28
  381. package/dist/hooks/useControlled.js +31 -37
  382. package/dist/hooks/useForceUpdate.js +16 -34
  383. package/dist/hooks/useUpdateEffect.js +6 -29
  384. package/dist/index.css +1 -57810
  385. package/dist/index.d.ts +0 -2
  386. package/dist/index.js +69 -237
  387. package/dist/theme-chalk/common/index.js +1 -2
  388. package/dist/theme-chalk/common/index.scss +2 -2
  389. package/dist/theme-chalk/date-picker/index.scss +1 -1
  390. package/dist/theme-chalk/display.scss +46 -0
  391. package/dist/theme-chalk/form/index.scss +21 -2
  392. package/dist/types/common.js +1 -17
  393. package/dist/types/type.js +16 -28
  394. package/package.json +6 -1
  395. package/theme-chalk/common/index.scss +2 -2
  396. package/theme-chalk/date-picker/index.scss +1 -1
  397. package/theme-chalk/display.scss +46 -0
  398. package/theme-chalk/form/index.scss +21 -2
@@ -1,463 +1,731 @@
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/FormItem.tsx
30
- var FormItem_exports = {};
31
- __export(FormItem_exports, {
32
- default: () => FormItem_default
33
- });
34
- module.exports = __toCommonJS(FormItem_exports);
35
- var import_classnames = __toESM(require("classnames"));
36
- var import_head = __toESM(require("lodash/head"));
37
- var import_react = __toESM(require("react"));
38
- var import_Icon = require("../Icon");
39
- var import_Tooltip = __toESM(require("../Tooltip/Tooltip"));
40
- var import_Transition = require("../Transition");
41
- var import_Util = require("../Util");
42
- var import_FieldContext = __toESM(require("./FieldContext"));
43
- var import_FormItemContext = require("./FormItemContext");
44
- var import_classUtil = require("./utils/classUtil");
45
- var import_typeUtil = require("./utils/typeUtil");
46
- var import_validateUtil = require("./utils/validateUtil");
47
- var import_valueUtil = require("./utils/valueUtil");
1
+ var _excluded = ["name", "rules"];
2
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
5
+ 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; }
6
+ 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; }
7
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
8
+ 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; }
9
+ 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; }
10
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
11
+ 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."); }
12
+ 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); }
13
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
14
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
15
+ 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; }
16
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
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 _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
20
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
21
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
22
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
23
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
24
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
25
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
26
+ 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; }
27
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
28
+ 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); }
29
+ import classNames from 'classnames';
30
+ import head from 'lodash/head';
31
+ import React, { Children, cloneElement, createRef, isValidElement, memo, useContext } from 'react';
32
+ import Icon from "../Icon/Icon";
33
+ import Tooltip from "../Tooltip/Tooltip";
34
+ import Transition from "../Transition/Transition";
35
+ import { addUnit, isNotEmpty, warning } from "../Util";
36
+ import FieldContext, { HOOK_MARK } from "./FieldContext";
37
+ import { FormItemContext } from "./FormItemContext";
38
+ import { b, e, m } from "./utils/classUtil";
39
+ import get from "./utils/get";
40
+ import { toArray } from "./utils/typeUtil";
41
+ import { validateRules } from "./utils/validateUtil";
42
+ import { containsNamePath, defaultGetValueFromEvent, getNamePath, getValue } from "./utils/valueUtil";
48
43
  var EMPTY_ERRORS = [];
49
44
  function requireUpdate(shouldUpdate, prev, next, prevValue, nextValue, info) {
50
- if (typeof shouldUpdate === "function") {
51
- return shouldUpdate(prev, next, "source" in info ? { source: info.source } : {});
45
+ if (typeof shouldUpdate === 'function') {
46
+ return shouldUpdate(prev, next, 'source' in info ? {
47
+ source: info.source
48
+ } : {});
52
49
  }
53
50
  return prevValue !== nextValue;
54
51
  }
55
- var Field = class extends import_react.default.Component {
52
+
53
+ // eslint-disable-next-line @typescript-eslint/consistent-indexed-object-style
54
+ // We use Class instead of Hooks here since it will cost much code by using Hooks.
55
+ var Field = /*#__PURE__*/function (_React$Component) {
56
+ _inherits(Field, _React$Component);
57
+ var _super = _createSuper(Field);
56
58
  // ============================== Subscriptions ==============================
57
- constructor(props) {
58
- super(props);
59
- this.state = {
59
+ function Field(props) {
60
+ var _this;
61
+ _classCallCheck(this, Field);
62
+ _this = _super.call(this, props);
63
+
64
+ // Register on init
65
+ _defineProperty(_assertThisInitialized(_this), "state", {
60
66
  resetCount: 0
61
- };
62
- this.cancelRegisterFunc = null;
63
- this.mounted = false;
64
- /**
65
- * Follow state should not management in State since it will async update by
66
- * This makes first render of form can not get correct state value.
67
+ });
68
+ _defineProperty(_assertThisInitialized(_this), "cancelRegisterFunc", null);
69
+ _defineProperty(_assertThisInitialized(_this), "mounted", false);
70
+ /**
71
+ * Follow state should not management in State since it will async update by
72
+ * This makes first render of form can not get correct state value.
67
73
  */
68
- this.touched = false;
69
- /**
70
- * Mark when touched & validated. Currently only used for `dependencies`.
71
- * Note that we do not think field with `initialValue` is dirty
72
- * but this will be by `isFieldDirty` func.
74
+ _defineProperty(_assertThisInitialized(_this), "touched", false);
75
+ /**
76
+ * Mark when touched & validated. Currently only used for `dependencies`.
77
+ * Note that we do not think field with `initialValue` is dirty
78
+ * but this will be by `isFieldDirty` func.
73
79
  */
74
- this.dirty = false;
75
- this.validatePromise = null;
76
- this.errors = EMPTY_ERRORS;
77
- this.warnings = EMPTY_ERRORS;
78
- this.cancelRegister = () => {
79
- const { preserve, isListField, name } = this.props;
80
- if (this.cancelRegisterFunc) {
81
- this.cancelRegisterFunc(isListField, preserve, (0, import_valueUtil.getNamePath)(name));
80
+ _defineProperty(_assertThisInitialized(_this), "dirty", false);
81
+ _defineProperty(_assertThisInitialized(_this), "validatePromise", null);
82
+ _defineProperty(_assertThisInitialized(_this), "prevValidating", void 0);
83
+ _defineProperty(_assertThisInitialized(_this), "errors", EMPTY_ERRORS);
84
+ _defineProperty(_assertThisInitialized(_this), "warnings", EMPTY_ERRORS);
85
+ _defineProperty(_assertThisInitialized(_this), "warningRef", void 0);
86
+ _defineProperty(_assertThisInitialized(_this), "errorRef", void 0);
87
+ _defineProperty(_assertThisInitialized(_this), "containerRef", void 0);
88
+ _defineProperty(_assertThisInitialized(_this), "cancelRegister", function () {
89
+ var _this$props = _this.props,
90
+ preserve = _this$props.preserve,
91
+ isListField = _this$props.isListField,
92
+ name = _this$props.name;
93
+ if (_this.cancelRegisterFunc) {
94
+ _this.cancelRegisterFunc(isListField, preserve, getNamePath(name));
82
95
  }
83
- this.cancelRegisterFunc = null;
84
- };
96
+ _this.cancelRegisterFunc = null;
97
+ });
85
98
  // ================================== Utils ==================================
86
- this.getNamePath = () => {
87
- const { name, fieldContext } = this.props;
88
- const { prefixName = [] } = fieldContext;
89
- return name !== void 0 ? [...prefixName, ...name] : [];
90
- };
91
- this.getRules = () => {
92
- const { rules = [], fieldContext } = this.props;
93
- return rules.map((rule) => {
94
- if (typeof rule === "function") {
99
+ _defineProperty(_assertThisInitialized(_this), "getNamePath", function () {
100
+ var _this$props2 = _this.props,
101
+ name = _this$props2.name,
102
+ fieldContext = _this$props2.fieldContext;
103
+ var _fieldContext$prefixN = fieldContext.prefixName,
104
+ prefixName = _fieldContext$prefixN === void 0 ? [] : _fieldContext$prefixN;
105
+ return name !== undefined ? [].concat(_toConsumableArray(prefixName), _toConsumableArray(name)) : [];
106
+ });
107
+ _defineProperty(_assertThisInitialized(_this), "getRules", function () {
108
+ var _this$props3 = _this.props,
109
+ _this$props3$rules = _this$props3.rules,
110
+ rules = _this$props3$rules === void 0 ? [] : _this$props3$rules,
111
+ fieldContext = _this$props3.fieldContext;
112
+ return rules.map(function (rule) {
113
+ if (typeof rule === 'function') {
95
114
  return rule(fieldContext);
96
115
  }
97
116
  return rule;
98
117
  });
99
- };
100
- this.refresh = () => {
101
- if (!this.mounted) {
118
+ });
119
+ _defineProperty(_assertThisInitialized(_this), "refresh", function () {
120
+ if (!_this.mounted) {
102
121
  return;
103
122
  }
104
- this.setState(({ resetCount }) => ({
105
- resetCount: resetCount + 1
123
+
124
+ /**
125
+ * Clean up current node.
126
+ */
127
+ _this.setState(function (_ref) {
128
+ var resetCount = _ref.resetCount;
129
+ return {
130
+ resetCount: resetCount + 1
131
+ };
132
+ });
133
+ });
134
+ _defineProperty(_assertThisInitialized(_this), "triggerMetaEvent", function (destroy) {
135
+ var onMetaChange = _this.props.onMetaChange;
136
+ onMetaChange === null || onMetaChange === void 0 || onMetaChange(_objectSpread(_objectSpread({}, _this.getMeta()), {}, {
137
+ destroy: destroy
106
138
  }));
107
- };
108
- this.triggerMetaEvent = (destroy) => {
109
- const { onMetaChange } = this.props;
110
- onMetaChange == null ? void 0 : onMetaChange({ ...this.getMeta(), destroy });
111
- };
139
+ });
112
140
  // ========================= Field Entity Interfaces =========================
113
141
  // Trigger by store update. Check if need update the component
114
- this.onStoreChange = (prevStore, namePathList, info) => {
115
- const { shouldUpdate, dependencies = [], onReset } = this.props;
116
- const { store } = info;
117
- const namePath = this.getNamePath();
118
- const prevValue = this.getValue(prevStore);
119
- const curValue = this.getValue(store);
120
- const namePathMatch = namePathList && (0, import_valueUtil.containsNamePath)(namePathList, namePath);
121
- if (info.type === "valueUpdate" && info.source === "external" && prevValue !== curValue) {
122
- this.touched = true;
123
- this.dirty = true;
124
- this.validatePromise = null;
125
- this.errors = EMPTY_ERRORS;
126
- this.warnings = EMPTY_ERRORS;
127
- this.triggerMetaEvent();
142
+ _defineProperty(_assertThisInitialized(_this), "onStoreChange", function (prevStore, namePathList, info) {
143
+ var _this$props4 = _this.props,
144
+ shouldUpdate = _this$props4.shouldUpdate,
145
+ _this$props4$dependen = _this$props4.dependencies,
146
+ dependencies = _this$props4$dependen === void 0 ? [] : _this$props4$dependen,
147
+ onReset = _this$props4.onReset;
148
+ var store = info.store;
149
+ var namePath = _this.getNamePath();
150
+ var prevValue = _this.getValue(prevStore);
151
+ var curValue = _this.getValue(store);
152
+ var namePathMatch = namePathList && containsNamePath(namePathList, namePath);
153
+
154
+ // `setFieldsValue` is a quick access to update related status
155
+ if (info.type === 'valueUpdate' && info.source === 'external' && prevValue !== curValue) {
156
+ _this.touched = true;
157
+ _this.dirty = true;
158
+ _this.validatePromise = null;
159
+ _this.errors = EMPTY_ERRORS;
160
+ _this.warnings = EMPTY_ERRORS;
161
+ _this.triggerMetaEvent();
128
162
  }
129
163
  switch (info.type) {
130
- case "reset":
164
+ case 'reset':
131
165
  if (!namePathList || namePathMatch) {
132
- this.touched = false;
133
- this.dirty = false;
134
- this.validatePromise = null;
135
- this.errors = EMPTY_ERRORS;
136
- this.warnings = EMPTY_ERRORS;
137
- this.triggerMetaEvent();
138
- onReset == null ? void 0 : onReset();
139
- this.refresh();
166
+ // Clean up state
167
+ _this.touched = false;
168
+ _this.dirty = false;
169
+ _this.validatePromise = null;
170
+ _this.errors = EMPTY_ERRORS;
171
+ _this.warnings = EMPTY_ERRORS;
172
+ _this.triggerMetaEvent();
173
+ onReset === null || onReset === void 0 || onReset();
174
+ _this.refresh();
140
175
  return;
141
176
  }
142
177
  break;
143
- case "remove": {
144
- if (shouldUpdate) {
145
- this.reRender();
146
- return;
147
- }
148
- break;
149
- }
150
- case "setField": {
151
- if (namePathMatch) {
152
- const { data } = info;
153
- if ("touched" in data) {
154
- this.touched = data.touched;
155
- }
156
- if ("validating" in data && !("originRCField" in data)) {
157
- this.validatePromise = data.validating ? Promise.resolve([]) : null;
178
+
179
+ /**
180
+ * In case field with `preserve = false` nest deps like:
181
+ * - A = 1 => show B
182
+ * - B = 1 => show C
183
+ * - Reset A, need clean B, C
184
+ */
185
+ case 'remove':
186
+ {
187
+ if (shouldUpdate) {
188
+ _this.reRender();
189
+ return;
158
190
  }
159
- if ("errors" in data) {
160
- this.errors = data.errors || EMPTY_ERRORS;
191
+ break;
192
+ }
193
+ case 'setField':
194
+ {
195
+ if (namePathMatch) {
196
+ var data = info.data;
197
+ if ('touched' in data) {
198
+ _this.touched = data.touched;
199
+ }
200
+ if ('validating' in data && !('originRCField' in data)) {
201
+ _this.validatePromise = data.validating ? Promise.resolve([]) : null;
202
+ }
203
+ if ('errors' in data) {
204
+ _this.errors = data.errors || EMPTY_ERRORS;
205
+ }
206
+ if ('warnings' in data) {
207
+ _this.warnings = data.warnings || EMPTY_ERRORS;
208
+ }
209
+ _this.dirty = true;
210
+ _this.triggerMetaEvent();
211
+ _this.reRender();
212
+ return;
161
213
  }
162
- if ("warnings" in data) {
163
- this.warnings = data.warnings || EMPTY_ERRORS;
214
+
215
+ // Handle update by `setField` with `shouldUpdate`
216
+ if (shouldUpdate && !namePath.length && requireUpdate(shouldUpdate, prevStore, store, prevValue, curValue, info)) {
217
+ _this.reRender();
218
+ return;
164
219
  }
165
- this.dirty = true;
166
- this.triggerMetaEvent();
167
- this.reRender();
168
- return;
220
+ break;
169
221
  }
170
- if (shouldUpdate && !namePath.length && requireUpdate(shouldUpdate, prevStore, store, prevValue, curValue, info)) {
171
- this.reRender();
172
- return;
173
- }
174
- break;
175
- }
176
- case "dependenciesUpdate": {
177
- const dependencyList = dependencies.map(import_valueUtil.getNamePath);
178
- if (dependencyList.some((dependency) => (0, import_valueUtil.containsNamePath)(info.relatedFields, dependency))) {
179
- this.reRender();
180
- return;
222
+ case 'dependenciesUpdate':
223
+ {
224
+ //
225
+ /**
226
+ * Trigger when marked `dependencies` updated. Related fields will all update
227
+ */
228
+ var dependencyList = dependencies.map(getNamePath);
229
+ // No need for `namePathMath` check and `shouldUpdate` check, since `valueUpdate` will be
230
+ // emitted earlier and they will work there
231
+ // If set it may cause unnecessary twice rerendering
232
+ if (dependencyList.some(function (dependency) {
233
+ return containsNamePath(info.relatedFields, dependency);
234
+ })) {
235
+ _this.reRender();
236
+ return;
237
+ }
238
+ break;
181
239
  }
182
- break;
183
- }
184
240
  default:
241
+ // 1. If `namePath` exists in `namePathList`, means it's related value and should update
242
+ // For example <List name="list"><Field name={['list', 0]}/>
243
+ // If `namePathList` is [['list']] (List value update), Field should be updated
244
+ // If `namePathList` is [['list', 0]] (Field value update), List shouldn't be updated
245
+ // 2.
246
+ // 2.1 If `dependencies` is set, `name` is not set and `shouldUpdate` is not set,
247
+ // don't use `shouldUpdate`. `dependencies` is view as a shortcut if `shouldUpdate`
248
+ // is not provided
249
+ // 2.2 If `shouldUpdate` provided, use customize logic to update the field
250
+ // else to check if value changed
185
251
  if (namePathMatch || (!dependencies.length || namePath.length || shouldUpdate) && requireUpdate(shouldUpdate, prevStore, store, prevValue, curValue, info)) {
186
- this.reRender();
252
+ _this.reRender();
187
253
  return;
188
254
  }
189
255
  break;
190
256
  }
191
257
  if (shouldUpdate === true) {
192
- this.reRender();
258
+ _this.reRender();
193
259
  }
194
- };
195
- this.validateRules = (options) => {
196
- const namePath = this.getNamePath();
197
- const currentValue = this.getValue();
198
- const rootPromise = Promise.resolve().then(() => {
199
- if (!this.mounted) {
260
+ });
261
+ _defineProperty(_assertThisInitialized(_this), "validateRules", function (options) {
262
+ // We should fixed namePath & value to avoid developer change then by form function
263
+ var namePath = _this.getNamePath();
264
+ var currentValue = _this.getValue();
265
+
266
+ // Force change to async to avoid rule OOD under renderProps field
267
+ var rootPromise = Promise.resolve().then(function () {
268
+ if (!_this.mounted) {
200
269
  return [];
201
270
  }
202
- const { validateFirst = false, messageVariables } = this.props;
203
- const { triggerName } = options || {};
204
- let filteredRules = this.getRules();
271
+ var _this$props5 = _this.props,
272
+ _this$props5$validate = _this$props5.validateFirst,
273
+ validateFirst = _this$props5$validate === void 0 ? false : _this$props5$validate,
274
+ messageVariables = _this$props5.messageVariables;
275
+ var _ref2 = options || {},
276
+ triggerName = _ref2.triggerName;
277
+ var filteredRules = _this.getRules();
205
278
  if (triggerName) {
206
- filteredRules = filteredRules.filter((rule) => rule).filter((rule) => {
207
- const { validateTrigger } = rule;
279
+ filteredRules = filteredRules.filter(function (rule) {
280
+ return rule;
281
+ }).filter(function (rule) {
282
+ var validateTrigger = rule.validateTrigger;
208
283
  if (!validateTrigger) {
209
284
  return true;
210
285
  }
211
- const triggerList = (0, import_typeUtil.toArray)(validateTrigger);
286
+ var triggerList = toArray(validateTrigger);
212
287
  return triggerList.includes(triggerName);
213
288
  });
214
289
  }
215
- const promise = (0, import_validateUtil.validateRules)(namePath, currentValue, filteredRules, options, validateFirst, messageVariables);
216
- promise.catch((e2) => e2).then((ruleErrors = EMPTY_ERRORS) => {
217
- var _a;
218
- if (this.validatePromise === rootPromise) {
219
- this.validatePromise = null;
220
- const nextErrors = [];
221
- const nextWarnings = [];
222
- (_a = ruleErrors.forEach) == null ? void 0 : _a.call(ruleErrors, ({ rule: { warningOnly }, errors = EMPTY_ERRORS }) => {
290
+ var promise = validateRules(namePath, currentValue, filteredRules, options, validateFirst, messageVariables);
291
+ promise.catch(function (e) {
292
+ return e;
293
+ }).then(function () {
294
+ var ruleErrors = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : EMPTY_ERRORS;
295
+ if (_this.validatePromise === rootPromise) {
296
+ var _ruleErrors$forEach;
297
+ _this.validatePromise = null;
298
+
299
+ // Get errors & warnings
300
+ var nextErrors = [];
301
+ var nextWarnings = [];
302
+ (_ruleErrors$forEach = ruleErrors.forEach) === null || _ruleErrors$forEach === void 0 || _ruleErrors$forEach.call(ruleErrors, function (_ref3) {
303
+ var warningOnly = _ref3.rule.warningOnly,
304
+ _ref3$errors = _ref3.errors,
305
+ errors = _ref3$errors === void 0 ? EMPTY_ERRORS : _ref3$errors;
223
306
  if (warningOnly) {
224
- nextWarnings.push(...errors);
307
+ nextWarnings.push.apply(nextWarnings, _toConsumableArray(errors));
225
308
  } else {
226
- nextErrors.push(...errors);
309
+ nextErrors.push.apply(nextErrors, _toConsumableArray(errors));
227
310
  }
228
311
  });
229
- this.errors = nextErrors;
230
- this.warnings = nextWarnings;
231
- this.triggerMetaEvent();
232
- this.reRender();
312
+ _this.errors = nextErrors;
313
+ _this.warnings = nextWarnings;
314
+ _this.triggerMetaEvent();
315
+ _this.reRender();
233
316
  }
234
317
  });
235
318
  return promise;
236
319
  });
237
- this.validatePromise = rootPromise;
238
- this.dirty = true;
239
- this.errors = EMPTY_ERRORS;
240
- this.warnings = EMPTY_ERRORS;
241
- this.triggerMetaEvent();
242
- this.reRender();
320
+ _this.validatePromise = rootPromise;
321
+ _this.dirty = true;
322
+ _this.errors = EMPTY_ERRORS;
323
+ _this.warnings = EMPTY_ERRORS;
324
+ _this.triggerMetaEvent();
325
+
326
+ // Force trigger re-render since we need sync renderProps with new meta
327
+ _this.reRender();
243
328
  return rootPromise;
244
- };
245
- this.isFieldValidating = () => !!this.validatePromise;
246
- this.isFieldTouched = () => this.touched;
247
- this.isFieldDirty = () => {
248
- if (this.dirty || this.props.initialValue !== void 0) {
329
+ });
330
+ _defineProperty(_assertThisInitialized(_this), "isFieldValidating", function () {
331
+ return !!_this.validatePromise;
332
+ });
333
+ _defineProperty(_assertThisInitialized(_this), "isFieldTouched", function () {
334
+ return _this.touched;
335
+ });
336
+ _defineProperty(_assertThisInitialized(_this), "isFieldDirty", function () {
337
+ // Touched or validate or has initialValue
338
+ if (_this.dirty || _this.props.initialValue !== undefined) {
249
339
  return true;
250
340
  }
251
- const { fieldContext } = this.props;
252
- const { getInitialValue } = fieldContext.getInternalHooks(import_FieldContext.HOOK_MARK);
253
- if (getInitialValue(this.getNamePath()) !== void 0) {
341
+
342
+ // Form set initialValue
343
+ var fieldContext = _this.props.fieldContext;
344
+ var _fieldContext$getInte = fieldContext.getInternalHooks(HOOK_MARK),
345
+ getInitialValue = _fieldContext$getInte.getInitialValue;
346
+ if (getInitialValue(_this.getNamePath()) !== undefined) {
254
347
  return true;
255
348
  }
256
349
  return false;
257
- };
258
- this.getErrors = () => this.errors;
259
- this.getWarnings = () => this.warnings;
260
- this.isListField = () => this.props.isListField;
261
- this.isList = () => this.props.isList;
262
- this.isPreserve = () => this.props.preserve;
350
+ });
351
+ _defineProperty(_assertThisInitialized(_this), "getErrors", function () {
352
+ return _this.errors;
353
+ });
354
+ _defineProperty(_assertThisInitialized(_this), "getWarnings", function () {
355
+ return _this.warnings;
356
+ });
357
+ _defineProperty(_assertThisInitialized(_this), "isListField", function () {
358
+ return _this.props.isListField;
359
+ });
360
+ _defineProperty(_assertThisInitialized(_this), "isList", function () {
361
+ return _this.props.isList;
362
+ });
363
+ _defineProperty(_assertThisInitialized(_this), "isPreserve", function () {
364
+ return _this.props.preserve;
365
+ });
263
366
  // ============================= Child Component =============================
264
- this.getMeta = () => {
265
- this.prevValidating = this.isFieldValidating();
266
- const meta = {
267
- touched: this.isFieldTouched(),
268
- validating: this.prevValidating,
269
- errors: this.errors,
270
- warnings: this.warnings,
271
- name: this.getNamePath()
367
+ _defineProperty(_assertThisInitialized(_this), "getMeta", function () {
368
+ // Make error & validating in cache to save perf
369
+ _this.prevValidating = _this.isFieldValidating();
370
+ var meta = {
371
+ touched: _this.isFieldTouched(),
372
+ validating: _this.prevValidating,
373
+ errors: _this.errors,
374
+ warnings: _this.warnings,
375
+ name: _this.getNamePath()
272
376
  };
273
377
  return meta;
274
- };
378
+ });
275
379
  // Only return validate child node. If invalidate, will do nothing about field.
276
- this.getOnlyChild = (children) => {
277
- if (typeof children === "function") {
278
- const meta = this.getMeta();
279
- return {
280
- ...this.getOnlyChild(children(this.getControlled(), meta, this.props.fieldContext)),
380
+ _defineProperty(_assertThisInitialized(_this), "getOnlyChild", function (children) {
381
+ // Support render props
382
+ if (typeof children === 'function') {
383
+ var _meta = _this.getMeta();
384
+ return _objectSpread(_objectSpread({}, _this.getOnlyChild(children(_this.getControlled(), _meta, _this.props.fieldContext))), {}, {
281
385
  isFunction: true
282
- };
386
+ });
283
387
  }
284
- const childList = import_react.Children.toArray(children);
285
- if (childList.length !== 1 || !(0, import_react.isValidElement)(childList[0])) {
286
- return { child: childList, isFunction: false };
388
+
389
+ // Filed element only
390
+ var childList = Children.toArray(children);
391
+ if (childList.length !== 1 || ! /*#__PURE__*/isValidElement(childList[0])) {
392
+ // @ts-ignore
393
+ return {
394
+ child: childList,
395
+ isFunction: false
396
+ };
287
397
  }
288
- return { child: childList[0], isFunction: false };
289
- };
398
+
399
+ // @ts-ignore
400
+ return {
401
+ child: childList[0],
402
+ isFunction: false
403
+ };
404
+ });
290
405
  // ============================== Field Control ==============================
291
- this.getValue = (store) => {
292
- const { getFieldsValue } = this.props.fieldContext;
293
- const namePath = this.getNamePath();
294
- return (0, import_valueUtil.getValue)(store || getFieldsValue(true), namePath);
295
- };
296
- this.getControlled = (childProps = {}) => {
297
- const { trigger, validateTrigger, getValueFromEvent, normalize, valuePropName, getValueProps, fieldContext } = this.props;
298
- const mergedValidateTrigger = validateTrigger !== void 0 ? validateTrigger : fieldContext.validateTrigger;
299
- const namePath = this.getNamePath();
300
- const { getInternalHooks, getFieldsValue } = fieldContext;
301
- const { dispatch } = getInternalHooks(import_FieldContext.HOOK_MARK);
302
- const value = this.getValue();
303
- const mergedGetValueProps = getValueProps || ((val) => ({ [valuePropName]: val }));
304
- const originTriggerFunc = childProps[trigger];
305
- const control = {
306
- ...childProps,
307
- ...mergedGetValueProps(value),
308
- error: this.errors.length > 0,
309
- warning: this.warnings.length > 0,
310
- onClear: this.onClear
406
+ _defineProperty(_assertThisInitialized(_this), "getValue", function (store) {
407
+ var getFieldsValue = _this.props.fieldContext.getFieldsValue;
408
+ var namePath = _this.getNamePath();
409
+ return getValue(store || getFieldsValue(true), namePath);
410
+ });
411
+ _defineProperty(_assertThisInitialized(_this), "getControlled", function () {
412
+ var childProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
413
+ var _this$props6 = _this.props,
414
+ trigger = _this$props6.trigger,
415
+ validateTrigger = _this$props6.validateTrigger,
416
+ getValueFromEvent = _this$props6.getValueFromEvent,
417
+ normalize = _this$props6.normalize,
418
+ valuePropName = _this$props6.valuePropName,
419
+ getValueProps = _this$props6.getValueProps,
420
+ fieldContext = _this$props6.fieldContext;
421
+ var mergedValidateTrigger = validateTrigger !== undefined ? validateTrigger : fieldContext.validateTrigger;
422
+ var namePath = _this.getNamePath();
423
+ var getInternalHooks = fieldContext.getInternalHooks,
424
+ getFieldsValue = fieldContext.getFieldsValue;
425
+ var _getInternalHooks = getInternalHooks(HOOK_MARK),
426
+ dispatch = _getInternalHooks.dispatch;
427
+ var value = _this.getValue();
428
+ var mergedGetValueProps = getValueProps || function (val) {
429
+ return _defineProperty({}, valuePropName, val);
311
430
  };
312
- control[trigger] = (...args) => {
313
- this.touched = true;
314
- this.dirty = true;
315
- this.triggerMetaEvent();
316
- let newValue;
431
+
432
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
433
+ var originTriggerFunc = childProps[trigger];
434
+ var control = _objectSpread(_objectSpread(_objectSpread({}, childProps), mergedGetValueProps(value)), {}, {
435
+ error: _this.errors.length > 0,
436
+ warning: _this.warnings.length > 0,
437
+ onClear: _this.onClear
438
+ });
439
+
440
+ // Add trigger
441
+ control[trigger] = function () {
442
+ // Mark as touched
443
+ _this.touched = true;
444
+ _this.dirty = true;
445
+ _this.triggerMetaEvent();
446
+ var newValue;
447
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
448
+ args[_key] = arguments[_key];
449
+ }
317
450
  if (getValueFromEvent) {
318
- newValue = getValueFromEvent(...args);
451
+ newValue = getValueFromEvent.apply(void 0, args);
319
452
  } else {
320
- newValue = (0, import_valueUtil.defaultGetValueFromEvent)(valuePropName, ...args);
453
+ newValue = defaultGetValueFromEvent.apply(void 0, [valuePropName].concat(args));
321
454
  }
322
455
  if (normalize) {
323
456
  newValue = normalize(newValue, value, getFieldsValue(true));
324
457
  }
325
458
  dispatch({
326
- type: "updateValue",
327
- namePath,
459
+ type: 'updateValue',
460
+ namePath: namePath,
328
461
  value: newValue
329
462
  });
330
463
  if (originTriggerFunc) {
331
- originTriggerFunc(...args);
464
+ originTriggerFunc.apply(void 0, args);
332
465
  }
333
466
  };
334
- const validateTriggerList = (0, import_typeUtil.toArray)(mergedValidateTrigger || []);
335
- validateTriggerList.forEach((triggerName) => {
336
- const originTrigger = control[triggerName];
337
- control[triggerName] = (...args) => {
467
+
468
+ // Add validateTrigger
469
+ var validateTriggerList = toArray(mergedValidateTrigger || []);
470
+ validateTriggerList.forEach(function (triggerName) {
471
+ // Wrap additional function of component, so that we can get latest value from store
472
+ var originTrigger = control[triggerName];
473
+ control[triggerName] = function () {
338
474
  if (originTrigger) {
339
- originTrigger(...args);
475
+ originTrigger.apply(void 0, arguments);
340
476
  }
341
- const { rules } = this.props;
477
+
478
+ // Always use latest rules
479
+ var rules = _this.props.rules;
342
480
  if (rules && rules.length) {
481
+ // We dispatch validate to root,
482
+ // since it will update related data with other field with same name
343
483
  dispatch({
344
- type: "validateField",
345
- namePath,
346
- triggerName
484
+ type: 'validateField',
485
+ namePath: namePath,
486
+ triggerName: triggerName
347
487
  });
348
488
  }
349
489
  };
350
490
  });
351
491
  return control;
352
- };
353
- this.onClear = () => {
354
- var _a, _b, _c, _d;
355
- this.touched = true;
356
- const { getInternalHooks } = this.props.fieldContext;
357
- const { dispatch } = getInternalHooks(import_FieldContext.HOOK_MARK);
492
+ });
493
+ _defineProperty(_assertThisInitialized(_this), "onClear", function () {
494
+ var _this$props7, _this$props7$onClear;
495
+ _this.touched = true;
496
+ var getInternalHooks = _this.props.fieldContext.getInternalHooks;
497
+ var _getInternalHooks2 = getInternalHooks(HOOK_MARK),
498
+ dispatch = _getInternalHooks2.dispatch;
358
499
  dispatch({
359
- type: "updateValue",
360
- namePath: this.getNamePath(),
361
- value: ""
500
+ type: 'updateValue',
501
+ namePath: _this.getNamePath(),
502
+ value: ''
362
503
  });
363
- (_d = (_c = (_b = (_a = this.props) == null ? void 0 : _a.children) == null ? void 0 : _b.props) == null ? void 0 : _c.onClear) == null ? void 0 : _d.call(_c);
364
- };
365
- this.getLabelWidth = () => {
366
- const { pure, fieldContext, labelWidth } = this.props;
367
- const { labelWidth: labelWidthContext, labelPosition } = fieldContext;
368
- if (labelPosition === "top") {
504
+ // @ts-ignore
505
+ (_this$props7 = _this.props) === null || _this$props7 === void 0 || (_this$props7 = _this$props7.children) === null || _this$props7 === void 0 || (_this$props7 = _this$props7.props) === null || _this$props7 === void 0 || (_this$props7$onClear = _this$props7.onClear) === null || _this$props7$onClear === void 0 || _this$props7$onClear.call(_this$props7);
506
+ });
507
+ _defineProperty(_assertThisInitialized(_this), "getLabelWidth", function () {
508
+ var _this$props$labelPosi;
509
+ var _this$props8 = _this.props,
510
+ pure = _this$props8.pure,
511
+ fieldContext = _this$props8.fieldContext,
512
+ labelWidth = _this$props8.labelWidth;
513
+ var labelWidthContext = fieldContext.labelWidth,
514
+ contextLabelPos = fieldContext.labelPosition;
515
+ var labelPosition = (_this$props$labelPosi = _this.props.labelPosition) !== null && _this$props$labelPosi !== void 0 ? _this$props$labelPosi : contextLabelPos;
516
+ if (labelPosition === 'top') {
369
517
  return 0;
370
- } else if ((0, import_Util.isNotEmpty)(labelWidth)) {
371
- return labelWidth;
518
+ } else if (isNotEmpty(labelWidth)) {
519
+ return addUnit(labelWidth);
372
520
  } else if (pure === true) {
373
521
  return 0;
374
522
  } else {
375
523
  return labelWidthContext;
376
524
  }
377
- };
378
- this.getValidateLable = () => {
379
- const { errorStyle, warningStyle } = this.props;
380
- return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(import_Transition.Transition, { nodeRef: this.errorRef, name: (0, import_classUtil.b)("slide-up"), visible: this.errors.length > 0, transitionAppear: true, unmountOnExit: true, display: "" }, /* @__PURE__ */ import_react.default.createElement("label", { ref: this.errorRef, className: import_classUtil.e`error`, style: errorStyle }, (0, import_head.default)(this.errors))), /* @__PURE__ */ import_react.default.createElement(import_Transition.Transition, { nodeRef: this.warningRef, name: (0, import_classUtil.b)("slide-up"), visible: this.warnings.length > 0, transitionAppear: true, unmountOnExit: true, display: "" }, /* @__PURE__ */ import_react.default.createElement("label", { ref: this.warningRef, className: import_classUtil.e`warning`, style: warningStyle }, (0, import_head.default)(this.warnings))));
381
- };
525
+ });
526
+ _defineProperty(_assertThisInitialized(_this), "getValidateLable", function () {
527
+ var _this$props9 = _this.props,
528
+ errorStyle = _this$props9.errorStyle,
529
+ warningStyle = _this$props9.warningStyle;
530
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Transition, {
531
+ nodeRef: _this.errorRef,
532
+ name: b('slide-up'),
533
+ visible: _this.errors.length > 0,
534
+ transitionAppear: true,
535
+ unmountOnExit: true,
536
+ display: ""
537
+ }, /*#__PURE__*/React.createElement("label", {
538
+ ref: _this.errorRef,
539
+ className: e(_templateObject || (_templateObject = _taggedTemplateLiteral(["error"]))),
540
+ style: errorStyle
541
+ }, head(_this.errors))), /*#__PURE__*/React.createElement(Transition, {
542
+ nodeRef: _this.warningRef,
543
+ name: b('slide-up'),
544
+ visible: _this.warnings.length > 0,
545
+ transitionAppear: true,
546
+ unmountOnExit: true,
547
+ display: ""
548
+ }, /*#__PURE__*/React.createElement("label", {
549
+ ref: _this.warningRef,
550
+ className: e(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["warning"]))),
551
+ style: warningStyle
552
+ }, head(_this.warnings))));
553
+ });
382
554
  if (props.fieldContext) {
383
- const { getInternalHooks } = props.fieldContext;
384
- const { initEntityValue } = getInternalHooks(import_FieldContext.HOOK_MARK);
385
- initEntityValue(this);
555
+ var getInternalHooks = props.fieldContext.getInternalHooks;
556
+ var _getInternalHooks3 = getInternalHooks(HOOK_MARK),
557
+ initEntityValue = _getInternalHooks3.initEntityValue;
558
+ initEntityValue(_assertThisInitialized(_this));
386
559
  }
387
- this.warningRef = (0, import_react.createRef)();
388
- this.errorRef = (0, import_react.createRef)();
560
+ _this.warningRef = /*#__PURE__*/createRef();
561
+ _this.errorRef = /*#__PURE__*/createRef();
562
+ _this.containerRef = /*#__PURE__*/createRef();
563
+ return _this;
389
564
  }
390
- componentDidMount() {
391
- const { shouldUpdate, fieldContext } = this.props;
392
- this.mounted = true;
393
- if (fieldContext) {
394
- const { getInternalHooks } = fieldContext;
395
- const { registerField } = getInternalHooks(import_FieldContext.HOOK_MARK);
396
- this.cancelRegisterFunc = registerField(this);
397
- }
398
- if (shouldUpdate === true) {
399
- this.reRender();
565
+ _createClass(Field, [{
566
+ key: "componentDidMount",
567
+ value: function componentDidMount() {
568
+ var _this$props10 = this.props,
569
+ shouldUpdate = _this$props10.shouldUpdate,
570
+ fieldContext = _this$props10.fieldContext;
571
+ this.mounted = true;
572
+
573
+ // Register on init
574
+ if (fieldContext) {
575
+ var getInternalHooks = fieldContext.getInternalHooks;
576
+ var _getInternalHooks4 = getInternalHooks(HOOK_MARK),
577
+ registerField = _getInternalHooks4.registerField;
578
+ this.cancelRegisterFunc = registerField(this);
579
+ }
580
+
581
+ // One more render for component in case fields not ready
582
+ if (shouldUpdate === true) {
583
+ this.reRender();
584
+ }
400
585
  }
401
- }
402
- componentWillUnmount() {
403
- this.cancelRegister();
404
- this.triggerMetaEvent(true);
405
- this.mounted = false;
406
- }
407
- reRender() {
408
- if (!this.mounted) {
409
- return;
586
+ }, {
587
+ key: "componentWillUnmount",
588
+ value: function componentWillUnmount() {
589
+ this.cancelRegister();
590
+ this.triggerMetaEvent(true);
591
+ this.mounted = false;
410
592
  }
411
- this.forceUpdate();
412
- }
413
- render() {
414
- const { resetCount } = this.state;
415
- const { children, label, center, className, style, noStyle, fieldContext, labelStyle = {}, colon = false, size, help, pure } = this.props;
416
- const { size: sizeContext, labelPosition, colon: colonContext } = fieldContext;
417
- const labelWidth = this.getLabelWidth();
418
- const { child, isFunction } = this.getOnlyChild(children);
419
- const isRequired = this.props.required || this.getRules().some((item) => item.required);
420
- let returnChildNode;
421
- if (isFunction) {
422
- returnChildNode = child;
423
- } else if ((0, import_react.isValidElement)(child)) {
424
- returnChildNode = (0, import_react.cloneElement)(child, this.getControlled(child.props));
425
- } else {
426
- returnChildNode = child;
593
+ }, {
594
+ key: "reRender",
595
+ value: function reRender() {
596
+ if (!this.mounted) {
597
+ return;
598
+ }
599
+ this.forceUpdate();
427
600
  }
428
- return noStyle ? /* @__PURE__ */ import_react.default.createElement(import_FormItemContext.FormItemContext.Provider, { key: resetCount, value: { size } }, returnChildNode, this.getValidateLable()) : /* @__PURE__ */ import_react.default.createElement(import_FormItemContext.FormItemContext.Provider, { key: resetCount, value: { size } }, /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)((0, import_classUtil.b)("form-item"), { "is-required": isRequired, [(0, import_classUtil.m)(sizeContext ?? size)]: sizeContext ?? size }, className), style }, label && !pure && /* @__PURE__ */ import_react.default.createElement("label", { className: import_classUtil.e`label`, style: ["left", "right"].includes(labelPosition) ? { width: labelWidth, ...labelStyle } : labelStyle }, typeof label === "string" || typeof label === "number" ? `${label}${colonContext ?? colon ? ":" : ""}` : label, help && /* @__PURE__ */ import_react.default.createElement(import_Tooltip.default, { className: import_classUtil.e`label--help`, content: help, placement: "top", enterable: true }, /* @__PURE__ */ import_react.default.createElement(import_Icon.Icon, { name: "circle-exclamation", prefix: "fas" }))), /* @__PURE__ */ import_react.default.createElement(
429
- "div",
430
- {
431
- className: (0, import_classnames.default)(import_classUtil.e`content`, { "is-center": center }),
432
- style: !label ? { marginLeft: labelWidth } : {}
433
- },
434
- /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, import_react.Children.map(
435
- returnChildNode,
436
- (item) => {
437
- return item;
601
+ }, {
602
+ key: "render",
603
+ value: function render() {
604
+ var _this$props$labelPosi2, _this$props$showMessa;
605
+ var resetCount = this.state.resetCount;
606
+ var _this$props11 = this.props,
607
+ children = _this$props11.children,
608
+ label = _this$props11.label,
609
+ center = _this$props11.center,
610
+ className = _this$props11.className,
611
+ style = _this$props11.style,
612
+ noStyle = _this$props11.noStyle,
613
+ fieldContext = _this$props11.fieldContext,
614
+ _this$props11$labelSt = _this$props11.labelStyle,
615
+ labelStyle = _this$props11$labelSt === void 0 ? {} : _this$props11$labelSt,
616
+ _this$props11$colon = _this$props11.colon,
617
+ colon = _this$props11$colon === void 0 ? false : _this$props11$colon,
618
+ size = _this$props11.size,
619
+ help = _this$props11.help,
620
+ pure = _this$props11.pure;
621
+ var sizeContext = fieldContext.size,
622
+ contextLabelPos = fieldContext.labelPosition,
623
+ colonContext = fieldContext.colon,
624
+ hideRequiredAsterisk = fieldContext.hideRequiredAsterisk,
625
+ requireAsteriskPosition = fieldContext.requireAsteriskPosition,
626
+ contextShowMessage = fieldContext.showMessage;
627
+ var labelWidth = this.getLabelWidth();
628
+ var labelPosition = (_this$props$labelPosi2 = this.props.labelPosition) !== null && _this$props$labelPosi2 !== void 0 ? _this$props$labelPosi2 : contextLabelPos;
629
+ var showMessage = (_this$props$showMessa = this.props.showMessage) !== null && _this$props$showMessa !== void 0 ? _this$props$showMessa : contextShowMessage;
630
+ var _this$getOnlyChild = this.getOnlyChild(children),
631
+ child = _this$getOnlyChild.child,
632
+ isFunction = _this$getOnlyChild.isFunction;
633
+
634
+ // 是否必输项
635
+ var isRequired = this.props.required || this.getRules().some(function (item) {
636
+ return item.required;
637
+ });
638
+
639
+ // Not need to `cloneElement` since user can handle this in render function self
640
+ var returnChildNode;
641
+ if (isFunction) {
642
+ returnChildNode = child;
643
+ } else if ( /*#__PURE__*/isValidElement(child)) {
644
+ returnChildNode = /*#__PURE__*/cloneElement(child, this.getControlled(child.props));
645
+ } else {
646
+ // warning(!child, '当前包裹的组件不是合法的表单组件!');
647
+ returnChildNode = child;
648
+ }
649
+ return noStyle ? /*#__PURE__*/React.createElement(FormItemContext.Provider, {
650
+ key: resetCount,
651
+ value: {
652
+ size: size
438
653
  }
439
- ), this.getValidateLable())
440
- )));
441
- }
442
- };
443
- Field.contextType = import_FieldContext.default;
444
- Field.defaultProps = {
445
- trigger: "onChange",
446
- valuePropName: "value"
447
- };
448
- function InternalFormItem({ name, rules = [], ...restProps }) {
449
- var _a;
450
- const fieldContext = (0, import_react.useContext)(import_FieldContext.default);
451
- const namePath = name !== void 0 ? (0, import_valueUtil.getNamePath)(name) : void 0;
452
- let key = "keep";
654
+ }, /*#__PURE__*/React.createElement("div", {
655
+ ref: this.containerRef,
656
+ className: e('nostyle')
657
+ }, returnChildNode, showMessage ? this.getValidateLable() : null)) : /*#__PURE__*/React.createElement(FormItemContext.Provider, {
658
+ key: resetCount,
659
+ value: {
660
+ size: size
661
+ }
662
+ }, /*#__PURE__*/React.createElement("div", {
663
+ ref: this.containerRef,
664
+ className: classNames(b('form-item'), _defineProperty(_defineProperty({
665
+ 'is-required': isRequired && !hideRequiredAsterisk
666
+ }, m("label-".concat(labelPosition)), this.props.labelPosition), m(sizeContext !== null && sizeContext !== void 0 ? sizeContext : size), sizeContext !== null && sizeContext !== void 0 ? sizeContext : size), 'asterisk-' + requireAsteriskPosition, className),
667
+ style: style
668
+ }, label && !pure && /*#__PURE__*/React.createElement("label", {
669
+ className: e(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["label"]))),
670
+ style: ['left', 'right'].includes(labelPosition) ? _objectSpread({
671
+ width: labelWidth
672
+ }, labelStyle) : labelStyle
673
+ }, typeof label === 'string' || typeof label === 'number' ? "".concat(label).concat((colonContext !== null && colonContext !== void 0 ? colonContext : colon) ? ':' : '') : label, help && /*#__PURE__*/React.createElement(Tooltip, {
674
+ className: e(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["label--help"]))),
675
+ content: help,
676
+ placement: "top",
677
+ enterable: true
678
+ }, /*#__PURE__*/React.createElement(Icon, {
679
+ name: "circle-exclamation",
680
+ prefix: "fas"
681
+ }))), /*#__PURE__*/React.createElement("div", {
682
+ className: classNames(e(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["content"]))), {
683
+ 'is-center': center
684
+ })
685
+ // 没有文本或者表单布局不是top的时候需要添加marginLeft
686
+ ,
687
+ style: !label ? {
688
+ marginLeft: labelWidth
689
+ } : {}
690
+ }, /*#__PURE__*/React.createElement(React.Fragment, null, Children.map(returnChildNode, function (item) {
691
+ return item;
692
+ }), showMessage ? this.getValidateLable() : null))));
693
+ }
694
+ }]);
695
+ return Field;
696
+ }(React.Component);
697
+ _defineProperty(Field, "contextType", FieldContext);
698
+ _defineProperty(Field, "defaultProps", {
699
+ trigger: 'onChange',
700
+ valuePropName: 'value'
701
+ });
702
+ function InternalFormItem(_ref5) {
703
+ var _fieldContext$rules;
704
+ var name = _ref5.name,
705
+ _ref5$rules = _ref5.rules,
706
+ rules = _ref5$rules === void 0 ? [] : _ref5$rules,
707
+ restProps = _objectWithoutProperties(_ref5, _excluded);
708
+ var fieldContext = useContext(FieldContext);
709
+ var namePath = name !== undefined ? getNamePath(name) : undefined;
710
+ var key = 'keep';
453
711
  if (!restProps.isListField) {
454
- key = `_${(namePath || []).join("_")}`;
712
+ key = "_".concat((namePath || []).join('_'));
455
713
  }
456
- if (process.env.NODE_ENV !== "production" && restProps.preserve === false && restProps.isListField && namePath.length <= 1) {
457
- (0, import_Util.warning)(false, "`preserve` should not apply on Form.List fields.");
714
+
715
+ // Warning if it's a directly list field.
716
+ // We can still support multiple level field preserve.
717
+ if (process.env.NODE_ENV !== 'production' && restProps.preserve === false && restProps.isListField && namePath.length <= 1) {
718
+ warning(false, '`preserve` should not apply on Form.List fields.');
458
719
  }
459
- return /* @__PURE__ */ import_react.default.createElement(Field, { key, name: namePath, rules: [...((_a = fieldContext.rules) == null ? void 0 : _a[name]) ?? [], ...rules], ...restProps, fieldContext });
720
+ var formRules = (namePath === null || namePath === void 0 ? void 0 : namePath.length) > 0 ? get((_fieldContext$rules = fieldContext === null || fieldContext === void 0 ? void 0 : fieldContext.rules) !== null && _fieldContext$rules !== void 0 ? _fieldContext$rules : {}, namePath) : undefined;
721
+ return /*#__PURE__*/React.createElement(Field, _extends({
722
+ key: key,
723
+ name: namePath,
724
+ rules: [].concat(_toConsumableArray(formRules || []), _toConsumableArray(rules))
725
+ }, restProps, {
726
+ fieldContext: fieldContext
727
+ }));
460
728
  }
461
- var FormItem = (0, import_react.memo)(InternalFormItem);
462
- FormItem.displayName = "ElFormItem";
463
- var FormItem_default = FormItem;
729
+ var FormItem = /*#__PURE__*/memo(InternalFormItem);
730
+ FormItem.displayName = 'ElFormItem';
731
+ export default FormItem;