@douyinfe/semi-ui 2.36.0-beta.0 → 2.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (698) hide show
  1. package/dist/umd/semi-ui.js +45123 -59672
  2. package/dist/umd/semi-ui.js.map +1 -1
  3. package/dist/umd/semi-ui.min.js +1 -1
  4. package/dist/umd/semi-ui.min.js.LICENSE.txt +3 -3
  5. package/dist/umd/semi-ui.min.js.map +1 -1
  6. package/lib/cjs/_base/base.d.ts +3 -3
  7. package/lib/cjs/_base/baseComponent.d.ts +1 -1
  8. package/lib/cjs/_base/baseComponent.js +5 -16
  9. package/lib/cjs/_base/reactUtils.js +3 -9
  10. package/lib/cjs/_cssAnimation/index.js +4 -25
  11. package/lib/cjs/_portal/index.js +0 -31
  12. package/lib/cjs/_utils/hooks/usePrevFocus.js +0 -6
  13. package/lib/cjs/_utils/index.js +6 -45
  14. package/lib/cjs/anchor/anchor-context.d.ts +1 -1
  15. package/lib/cjs/anchor/anchor-context.js +0 -4
  16. package/lib/cjs/anchor/index.js +2 -48
  17. package/lib/cjs/anchor/link.js +4 -36
  18. package/lib/cjs/autoComplete/index.d.ts +1 -1
  19. package/lib/cjs/autoComplete/index.js +3 -42
  20. package/lib/cjs/autoComplete/option.js +26 -54
  21. package/lib/cjs/avatar/avatarGroup.js +9 -42
  22. package/lib/cjs/avatar/index.js +15 -56
  23. package/lib/cjs/avatar/interface.d.ts +6 -6
  24. package/lib/cjs/backtop/index.js +9 -34
  25. package/lib/cjs/badge/index.d.ts +3 -3
  26. package/lib/cjs/badge/index.js +16 -38
  27. package/lib/cjs/banner/index.d.ts +1 -1
  28. package/lib/cjs/banner/index.js +3 -31
  29. package/lib/cjs/breadcrumb/bread-context.js +0 -4
  30. package/lib/cjs/breadcrumb/index.d.ts +1 -1
  31. package/lib/cjs/breadcrumb/index.js +1 -45
  32. package/lib/cjs/breadcrumb/item.d.ts +1 -1
  33. package/lib/cjs/breadcrumb/item.js +16 -56
  34. package/lib/cjs/button/Button.d.ts +4 -4
  35. package/lib/cjs/button/Button.js +18 -37
  36. package/lib/cjs/button/buttonGroup.d.ts +1 -1
  37. package/lib/cjs/button/buttonGroup.js +10 -35
  38. package/lib/cjs/button/index.js +0 -9
  39. package/lib/cjs/button/splitButtonGroup.js +0 -11
  40. package/lib/cjs/calendar/dayCalendar.js +0 -29
  41. package/lib/cjs/calendar/dayCol.js +1 -28
  42. package/lib/cjs/calendar/index.js +4 -22
  43. package/lib/cjs/calendar/interface.d.ts +5 -5
  44. package/lib/cjs/calendar/monthCalendar.js +6 -62
  45. package/lib/cjs/calendar/rangeCalendar.js +1 -34
  46. package/lib/cjs/calendar/timeCol.js +0 -20
  47. package/lib/cjs/calendar/weekCalendar.js +0 -35
  48. package/lib/cjs/card/cardGroup.d.ts +1 -1
  49. package/lib/cjs/card/cardGroup.js +8 -24
  50. package/lib/cjs/card/index.d.ts +1 -1
  51. package/lib/cjs/card/index.js +7 -38
  52. package/lib/cjs/card/meta.d.ts +1 -1
  53. package/lib/cjs/card/meta.js +8 -27
  54. package/lib/cjs/carousel/CarouselArrow.d.ts +2 -2
  55. package/lib/cjs/carousel/CarouselArrow.js +1 -13
  56. package/lib/cjs/carousel/CarouselIndicator.js +9 -33
  57. package/lib/cjs/carousel/index.js +1 -49
  58. package/lib/cjs/cascader/index.d.ts +2 -2
  59. package/lib/cjs/cascader/index.js +12 -144
  60. package/lib/cjs/cascader/item.js +2 -63
  61. package/lib/cjs/checkbox/checkbox.d.ts +1 -1
  62. package/lib/cjs/checkbox/checkbox.js +21 -55
  63. package/lib/cjs/checkbox/checkboxGroup.d.ts +4 -4
  64. package/lib/cjs/checkbox/checkboxGroup.js +9 -29
  65. package/lib/cjs/checkbox/checkboxInner.js +1 -15
  66. package/lib/cjs/checkbox/context.d.ts +1 -1
  67. package/lib/cjs/checkbox/context.js +0 -4
  68. package/lib/cjs/checkbox/index.js +0 -5
  69. package/lib/cjs/collapse/collapse-context.js +0 -4
  70. package/lib/cjs/collapse/index.js +14 -42
  71. package/lib/cjs/collapse/item.js +13 -41
  72. package/lib/cjs/collapsible/index.js +0 -34
  73. package/lib/cjs/configProvider/context.js +0 -4
  74. package/lib/cjs/configProvider/index.js +5 -21
  75. package/lib/cjs/datePicker/dateInput.js +39 -93
  76. package/lib/cjs/datePicker/datePicker.d.ts +1 -1
  77. package/lib/cjs/datePicker/datePicker.js +11 -119
  78. package/lib/cjs/datePicker/footer.js +0 -6
  79. package/lib/cjs/datePicker/index.js +2 -17
  80. package/lib/cjs/datePicker/insetInput.js +0 -9
  81. package/lib/cjs/datePicker/month.d.ts +1 -1
  82. package/lib/cjs/datePicker/month.js +25 -90
  83. package/lib/cjs/datePicker/monthsGrid.d.ts +1 -1
  84. package/lib/cjs/datePicker/monthsGrid.js +21 -96
  85. package/lib/cjs/datePicker/navigation.js +7 -24
  86. package/lib/cjs/datePicker/quickControl.js +1 -17
  87. package/lib/cjs/datePicker/yearAndMonth.d.ts +1 -1
  88. package/lib/cjs/datePicker/yearAndMonth.js +6 -52
  89. package/lib/cjs/descriptions/descriptions-context.d.ts +1 -1
  90. package/lib/cjs/descriptions/descriptions-context.js +0 -4
  91. package/lib/cjs/descriptions/index.d.ts +1 -1
  92. package/lib/cjs/descriptions/index.js +0 -15
  93. package/lib/cjs/descriptions/item.js +0 -14
  94. package/lib/cjs/divider/index.js +9 -23
  95. package/lib/cjs/dropdown/context.js +0 -4
  96. package/lib/cjs/dropdown/dropdownDivider.d.ts +1 -1
  97. package/lib/cjs/dropdown/dropdownDivider.js +0 -8
  98. package/lib/cjs/dropdown/dropdownItem.d.ts +1 -1
  99. package/lib/cjs/dropdown/dropdownItem.js +0 -21
  100. package/lib/cjs/dropdown/dropdownMenu.d.ts +1 -1
  101. package/lib/cjs/dropdown/dropdownMenu.js +6 -24
  102. package/lib/cjs/dropdown/dropdownTitle.d.ts +1 -1
  103. package/lib/cjs/dropdown/dropdownTitle.js +0 -12
  104. package/lib/cjs/dropdown/index.d.ts +1 -1
  105. package/lib/cjs/dropdown/index.js +21 -62
  106. package/lib/cjs/empty/index.js +0 -20
  107. package/lib/cjs/form/arrayField.js +15 -47
  108. package/lib/cjs/form/baseForm.js +26 -72
  109. package/lib/cjs/form/context.js +1 -10
  110. package/lib/cjs/form/errorMessage.d.ts +1 -1
  111. package/lib/cjs/form/errorMessage.js +1 -20
  112. package/lib/cjs/form/field.js +4 -23
  113. package/lib/cjs/form/group.js +11 -48
  114. package/lib/cjs/form/hoc/withField.js +69 -144
  115. package/lib/cjs/form/hoc/withFormApi.js +0 -7
  116. package/lib/cjs/form/hoc/withFormState.js +0 -7
  117. package/lib/cjs/form/hooks/index.js +0 -8
  118. package/lib/cjs/form/hooks/useArrayFieldState.js +0 -4
  119. package/lib/cjs/form/hooks/useFieldApi.js +0 -5
  120. package/lib/cjs/form/hooks/useFieldState.js +0 -8
  121. package/lib/cjs/form/hooks/useFormApi.js +0 -3
  122. package/lib/cjs/form/hooks/useFormState.js +0 -4
  123. package/lib/cjs/form/hooks/useFormUpdater.js +0 -3
  124. package/lib/cjs/form/hooks/useStateWithGetter.js +0 -5
  125. package/lib/cjs/form/index.js +0 -9
  126. package/lib/cjs/form/interface.d.ts +4 -4
  127. package/lib/cjs/form/interface.js +1 -8
  128. package/lib/cjs/form/label.js +0 -16
  129. package/lib/cjs/form/section.js +1 -11
  130. package/lib/cjs/form/slot.js +10 -51
  131. package/lib/cjs/grid/col.js +10 -29
  132. package/lib/cjs/grid/index.js +0 -3
  133. package/lib/cjs/grid/row.d.ts +2 -2
  134. package/lib/cjs/grid/row.js +10 -34
  135. package/lib/cjs/highlight/index.js +0 -11
  136. package/lib/cjs/iconButton/index.d.ts +1 -1
  137. package/lib/cjs/iconButton/index.js +18 -42
  138. package/lib/cjs/icons/index.js +0 -3
  139. package/lib/cjs/image/image.d.ts +0 -3
  140. package/lib/cjs/image/image.js +19 -88
  141. package/lib/cjs/image/index.js +0 -6
  142. package/lib/cjs/image/interface.d.ts +1 -1
  143. package/lib/cjs/image/preview.d.ts +4 -0
  144. package/lib/cjs/image/preview.js +53 -61
  145. package/lib/cjs/image/previewContext.js +0 -2
  146. package/lib/cjs/image/previewFooter.js +9 -62
  147. package/lib/cjs/image/previewHeader.js +0 -13
  148. package/lib/cjs/image/previewImage.js +46 -79
  149. package/lib/cjs/image/previewInner.js +70 -126
  150. package/lib/cjs/index.js +0 -86
  151. package/lib/cjs/input/index.d.ts +3 -3
  152. package/lib/cjs/input/index.js +35 -103
  153. package/lib/cjs/input/inputGroup.d.ts +1 -1
  154. package/lib/cjs/input/inputGroup.js +20 -44
  155. package/lib/cjs/input/textarea.d.ts +1 -1
  156. package/lib/cjs/input/textarea.js +33 -77
  157. package/lib/cjs/inputNumber/index.js +127 -199
  158. package/lib/cjs/layout/Sider.js +7 -32
  159. package/lib/cjs/layout/index.js +16 -40
  160. package/lib/cjs/layout/layout-context.js +0 -5
  161. package/lib/cjs/list/index.js +0 -26
  162. package/lib/cjs/list/item.js +6 -30
  163. package/lib/cjs/list/list-context.js +0 -4
  164. package/lib/cjs/locale/context.js +0 -4
  165. package/lib/cjs/locale/localeConsumer.d.ts +1 -1
  166. package/lib/cjs/locale/localeConsumer.js +0 -16
  167. package/lib/cjs/locale/localeProvider.js +0 -11
  168. package/lib/cjs/locale/source/ar.js +2 -4
  169. package/lib/cjs/locale/source/de.js +2 -4
  170. package/lib/cjs/locale/source/en_GB.js +2 -4
  171. package/lib/cjs/locale/source/en_US.js +2 -4
  172. package/lib/cjs/locale/source/es.js +0 -2
  173. package/lib/cjs/locale/source/fr.js +2 -4
  174. package/lib/cjs/locale/source/id_ID.js +2 -4
  175. package/lib/cjs/locale/source/it.js +2 -4
  176. package/lib/cjs/locale/source/ja_JP.js +2 -4
  177. package/lib/cjs/locale/source/ko_KR.js +2 -4
  178. package/lib/cjs/locale/source/ms_MY.js +2 -4
  179. package/lib/cjs/locale/source/nl_NL.js +0 -2
  180. package/lib/cjs/locale/source/pl_PL.js +0 -2
  181. package/lib/cjs/locale/source/pt_BR.js +2 -4
  182. package/lib/cjs/locale/source/ro.js +0 -2
  183. package/lib/cjs/locale/source/ru_RU.js +2 -4
  184. package/lib/cjs/locale/source/sv_SE.js +0 -2
  185. package/lib/cjs/locale/source/th_TH.js +2 -4
  186. package/lib/cjs/locale/source/tr_TR.js +2 -4
  187. package/lib/cjs/locale/source/vi_VN.js +2 -4
  188. package/lib/cjs/locale/source/zh_CN.js +2 -4
  189. package/lib/cjs/locale/source/zh_TW.js +2 -4
  190. package/lib/cjs/modal/ConfirmModal.js +9 -29
  191. package/lib/cjs/modal/Modal.d.ts +2 -2
  192. package/lib/cjs/modal/Modal.js +17 -80
  193. package/lib/cjs/modal/ModalContent.js +13 -72
  194. package/lib/cjs/modal/confirm.d.ts +9 -3
  195. package/lib/cjs/modal/confirm.js +4 -28
  196. package/lib/cjs/modal/index.d.ts +1 -1
  197. package/lib/cjs/modal/index.js +0 -4
  198. package/lib/cjs/modal/useModal/HookModal.js +4 -18
  199. package/lib/cjs/modal/useModal/index.d.ts +1 -1
  200. package/lib/cjs/modal/useModal/index.js +4 -18
  201. package/lib/cjs/navigation/CollapseButton.js +0 -11
  202. package/lib/cjs/navigation/Footer.js +0 -20
  203. package/lib/cjs/navigation/Header.d.ts +1 -1
  204. package/lib/cjs/navigation/Header.js +0 -18
  205. package/lib/cjs/navigation/Item.js +3 -51
  206. package/lib/cjs/navigation/SubNav.js +7 -67
  207. package/lib/cjs/navigation/index.d.ts +2 -2
  208. package/lib/cjs/navigation/index.js +5 -60
  209. package/lib/cjs/navigation/nav-context.js +0 -4
  210. package/lib/cjs/notification/index.d.ts +1 -1
  211. package/lib/cjs/notification/index.js +4 -56
  212. package/lib/cjs/notification/notice.js +24 -58
  213. package/lib/cjs/notification/useNotification/HookNotice.js +3 -18
  214. package/lib/cjs/notification/useNotification/index.js +4 -25
  215. package/lib/cjs/overflowList/index.d.ts +41 -24
  216. package/lib/cjs/overflowList/index.js +7 -65
  217. package/lib/cjs/overflowList/intersectionObserver.js +2 -21
  218. package/lib/cjs/pagination/index.d.ts +2 -2
  219. package/lib/cjs/pagination/index.js +7 -59
  220. package/lib/cjs/popconfirm/index.js +9 -54
  221. package/lib/cjs/popover/Arrow.js +6 -19
  222. package/lib/cjs/popover/index.js +11 -38
  223. package/lib/cjs/progress/index.js +8 -48
  224. package/lib/cjs/radio/context.d.ts +2 -2
  225. package/lib/cjs/radio/context.js +0 -4
  226. package/lib/cjs/radio/index.js +0 -5
  227. package/lib/cjs/radio/radio.d.ts +3 -3
  228. package/lib/cjs/radio/radio.js +1 -36
  229. package/lib/cjs/radio/radioGroup.d.ts +2 -2
  230. package/lib/cjs/radio/radioGroup.js +0 -24
  231. package/lib/cjs/radio/radioInner.d.ts +1 -1
  232. package/lib/cjs/radio/radioInner.js +0 -21
  233. package/lib/cjs/rating/index.js +4 -51
  234. package/lib/cjs/rating/item.d.ts +1 -1
  235. package/lib/cjs/rating/item.js +2 -27
  236. package/lib/cjs/resizeObserver/index.js +4 -28
  237. package/lib/cjs/scrollList/index.js +0 -13
  238. package/lib/cjs/scrollList/scrollItem.js +15 -113
  239. package/lib/cjs/select/index.d.ts +6 -6
  240. package/lib/cjs/select/index.js +27 -164
  241. package/lib/cjs/select/option.js +27 -55
  242. package/lib/cjs/select/optionGroup.js +0 -12
  243. package/lib/cjs/select/utils.js +8 -24
  244. package/lib/cjs/select/virtualRow.js +0 -2
  245. package/lib/cjs/sideSheet/SideSheetContent.js +2 -40
  246. package/lib/cjs/sideSheet/index.js +21 -66
  247. package/lib/cjs/skeleton/index.js +9 -28
  248. package/lib/cjs/skeleton/item.d.ts +2 -2
  249. package/lib/cjs/skeleton/item.js +8 -29
  250. package/lib/cjs/slider/index.js +7 -68
  251. package/lib/cjs/space/index.d.ts +3 -3
  252. package/lib/cjs/space/index.js +0 -20
  253. package/lib/cjs/space/utils.js +0 -9
  254. package/lib/cjs/spin/icon.js +4 -17
  255. package/lib/cjs/spin/index.d.ts +1 -1
  256. package/lib/cjs/spin/index.js +0 -20
  257. package/lib/cjs/steps/basicStep.d.ts +2 -2
  258. package/lib/cjs/steps/basicStep.js +0 -22
  259. package/lib/cjs/steps/basicSteps.d.ts +3 -3
  260. package/lib/cjs/steps/basicSteps.js +0 -15
  261. package/lib/cjs/steps/context.js +0 -4
  262. package/lib/cjs/steps/fillStep.d.ts +1 -1
  263. package/lib/cjs/steps/fillStep.js +0 -19
  264. package/lib/cjs/steps/fillSteps.d.ts +2 -2
  265. package/lib/cjs/steps/fillSteps.js +0 -17
  266. package/lib/cjs/steps/index.d.ts +1 -1
  267. package/lib/cjs/steps/index.js +4 -26
  268. package/lib/cjs/steps/navStep.js +0 -11
  269. package/lib/cjs/steps/navSteps.d.ts +1 -1
  270. package/lib/cjs/steps/navSteps.js +0 -13
  271. package/lib/cjs/steps/step.d.ts +1 -1
  272. package/lib/cjs/steps/step.js +0 -15
  273. package/lib/cjs/switch/index.js +1 -22
  274. package/lib/cjs/table/Body/BaseRow.d.ts +1 -1
  275. package/lib/cjs/table/Body/BaseRow.js +37 -101
  276. package/lib/cjs/table/Body/ExpandedRow.d.ts +1 -1
  277. package/lib/cjs/table/Body/ExpandedRow.js +5 -30
  278. package/lib/cjs/table/Body/SectionRow.js +8 -46
  279. package/lib/cjs/table/Body/index.js +38 -153
  280. package/lib/cjs/table/ColGroup.js +2 -14
  281. package/lib/cjs/table/Column.js +0 -7
  282. package/lib/cjs/table/ColumnFilter.js +4 -30
  283. package/lib/cjs/table/ColumnSelection.js +5 -24
  284. package/lib/cjs/table/ColumnShape.js +0 -4
  285. package/lib/cjs/table/ColumnSorter.js +0 -13
  286. package/lib/cjs/table/CustomExpandIcon.js +0 -16
  287. package/lib/cjs/table/HeadTable.js +0 -23
  288. package/lib/cjs/table/ResizableHeaderCell.d.ts +1 -1
  289. package/lib/cjs/table/ResizableHeaderCell.js +9 -20
  290. package/lib/cjs/table/ResizableTable.js +5 -47
  291. package/lib/cjs/table/Table.d.ts +2 -2
  292. package/lib/cjs/table/Table.js +534 -771
  293. package/lib/cjs/table/TableCell.js +20 -81
  294. package/lib/cjs/table/TableContextProvider.js +0 -7
  295. package/lib/cjs/table/TableHeader.js +5 -33
  296. package/lib/cjs/table/TableHeaderRow.js +8 -45
  297. package/lib/cjs/table/TablePagination.js +1 -12
  298. package/lib/cjs/table/getColumns.js +0 -11
  299. package/lib/cjs/table/index.js +2 -20
  300. package/lib/cjs/table/interface.d.ts +58 -58
  301. package/lib/cjs/table/table-context.js +1 -5
  302. package/lib/cjs/table/utils.js +6 -30
  303. package/lib/cjs/tabs/TabBar.js +13 -61
  304. package/lib/cjs/tabs/TabItem.js +18 -31
  305. package/lib/cjs/tabs/TabPane.js +10 -35
  306. package/lib/cjs/tabs/index.js +20 -83
  307. package/lib/cjs/tabs/interface.d.ts +3 -3
  308. package/lib/cjs/tabs/tabs-context.js +0 -4
  309. package/lib/cjs/tag/group.js +0 -27
  310. package/lib/cjs/tag/index.js +23 -60
  311. package/lib/cjs/tag/interface.d.ts +5 -5
  312. package/lib/cjs/tagInput/index.d.ts +3 -3
  313. package/lib/cjs/tagInput/index.js +2 -77
  314. package/lib/cjs/timePicker/Combobox.d.ts +2 -2
  315. package/lib/cjs/timePicker/Combobox.js +7 -54
  316. package/lib/cjs/timePicker/PanelShape.js +0 -3
  317. package/lib/cjs/timePicker/TimeInput.d.ts +1 -1
  318. package/lib/cjs/timePicker/TimeInput.js +32 -64
  319. package/lib/cjs/timePicker/TimePicker.d.ts +3 -3
  320. package/lib/cjs/timePicker/TimePicker.js +39 -99
  321. package/lib/cjs/timePicker/TimeShape.js +0 -5
  322. package/lib/cjs/timePicker/index.d.ts +1 -1
  323. package/lib/cjs/timePicker/index.js +0 -9
  324. package/lib/cjs/timeline/index.js +0 -27
  325. package/lib/cjs/timeline/item.js +0 -13
  326. package/lib/cjs/toast/index.js +5 -59
  327. package/lib/cjs/toast/toast.js +1 -29
  328. package/lib/cjs/toast/useToast/HookToast.js +3 -18
  329. package/lib/cjs/toast/useToast/index.js +2 -17
  330. package/lib/cjs/tooltip/ArrowBoundingShape.js +0 -4
  331. package/lib/cjs/tooltip/TriangleArrow.js +4 -12
  332. package/lib/cjs/tooltip/TriangleArrowVertical.js +4 -12
  333. package/lib/cjs/tooltip/index.d.ts +2 -2
  334. package/lib/cjs/tooltip/index.js +24 -134
  335. package/lib/cjs/transfer/index.d.ts +5 -5
  336. package/lib/cjs/transfer/index.js +10 -93
  337. package/lib/cjs/tree/autoSizer.js +4 -24
  338. package/lib/cjs/tree/index.js +31 -122
  339. package/lib/cjs/tree/interface.d.ts +2 -2
  340. package/lib/cjs/tree/nodeCollapsible.js +4 -15
  341. package/lib/cjs/tree/nodeList.js +0 -22
  342. package/lib/cjs/tree/treeContext.js +0 -4
  343. package/lib/cjs/tree/treeNode.js +21 -94
  344. package/lib/cjs/tree/treeUtil.js +0 -6
  345. package/lib/cjs/treeSelect/index.d.ts +6 -6
  346. package/lib/cjs/treeSelect/index.js +46 -196
  347. package/lib/cjs/trigger/index.js +5 -16
  348. package/lib/cjs/typography/base.js +35 -130
  349. package/lib/cjs/typography/copyable.js +2 -30
  350. package/lib/cjs/typography/index.d.ts +1 -1
  351. package/lib/cjs/typography/index.js +0 -9
  352. package/lib/cjs/typography/interface.d.ts +9 -9
  353. package/lib/cjs/typography/numeral.d.ts +1 -1
  354. package/lib/cjs/typography/numeral.js +4 -20
  355. package/lib/cjs/typography/paragraph.d.ts +1 -1
  356. package/lib/cjs/typography/paragraph.js +0 -12
  357. package/lib/cjs/typography/text.d.ts +1 -1
  358. package/lib/cjs/typography/text.js +0 -10
  359. package/lib/cjs/typography/title.d.ts +2 -2
  360. package/lib/cjs/typography/title.js +6 -20
  361. package/lib/cjs/typography/typography.js +7 -23
  362. package/lib/cjs/typography/util.js +22 -50
  363. package/lib/cjs/upload/fileCard.js +2 -52
  364. package/lib/cjs/upload/index.js +1 -70
  365. package/lib/cjs/upload/interface.d.ts +5 -5
  366. package/lib/es/_base/base.d.ts +3 -3
  367. package/lib/es/_base/baseComponent.d.ts +1 -1
  368. package/lib/es/_base/baseComponent.js +4 -11
  369. package/lib/es/_base/reactUtils.js +4 -8
  370. package/lib/es/_cssAnimation/index.js +4 -22
  371. package/lib/es/_portal/index.js +0 -23
  372. package/lib/es/_utils/hooks/usePrevFocus.js +0 -2
  373. package/lib/es/_utils/index.js +6 -28
  374. package/lib/es/anchor/anchor-context.d.ts +1 -1
  375. package/lib/es/anchor/index.js +2 -32
  376. package/lib/es/anchor/link.js +4 -24
  377. package/lib/es/autoComplete/index.d.ts +1 -1
  378. package/lib/es/autoComplete/index.js +3 -25
  379. package/lib/es/autoComplete/option.js +26 -45
  380. package/lib/es/avatar/avatarGroup.js +9 -28
  381. package/lib/es/avatar/index.js +15 -41
  382. package/lib/es/avatar/interface.d.ts +6 -6
  383. package/lib/es/backtop/index.js +9 -22
  384. package/lib/es/badge/index.d.ts +3 -3
  385. package/lib/es/badge/index.js +16 -24
  386. package/lib/es/banner/index.d.ts +1 -1
  387. package/lib/es/banner/index.js +2 -15
  388. package/lib/es/breadcrumb/index.d.ts +1 -1
  389. package/lib/es/breadcrumb/index.js +0 -31
  390. package/lib/es/breadcrumb/item.d.ts +1 -1
  391. package/lib/es/breadcrumb/item.js +16 -38
  392. package/lib/es/button/Button.d.ts +4 -4
  393. package/lib/es/button/Button.js +18 -27
  394. package/lib/es/button/buttonGroup.d.ts +1 -1
  395. package/lib/es/button/buttonGroup.js +10 -24
  396. package/lib/es/button/index.js +0 -5
  397. package/lib/es/button/splitButtonGroup.js +0 -1
  398. package/lib/es/calendar/dayCalendar.js +0 -13
  399. package/lib/es/calendar/dayCol.js +0 -14
  400. package/lib/es/calendar/index.js +6 -12
  401. package/lib/es/calendar/interface.d.ts +5 -5
  402. package/lib/es/calendar/monthCalendar.js +6 -41
  403. package/lib/es/calendar/rangeCalendar.js +2 -18
  404. package/lib/es/calendar/timeCol.js +0 -7
  405. package/lib/es/calendar/weekCalendar.js +0 -17
  406. package/lib/es/card/cardGroup.d.ts +1 -1
  407. package/lib/es/card/cardGroup.js +8 -15
  408. package/lib/es/card/index.d.ts +1 -1
  409. package/lib/es/card/index.js +7 -23
  410. package/lib/es/card/meta.d.ts +1 -1
  411. package/lib/es/card/meta.js +8 -15
  412. package/lib/es/carousel/CarouselArrow.d.ts +2 -2
  413. package/lib/es/carousel/CarouselArrow.js +0 -8
  414. package/lib/es/carousel/CarouselIndicator.js +9 -27
  415. package/lib/es/carousel/index.js +0 -34
  416. package/lib/es/cascader/index.d.ts +2 -2
  417. package/lib/es/cascader/index.js +12 -105
  418. package/lib/es/cascader/item.js +2 -44
  419. package/lib/es/checkbox/checkbox.d.ts +1 -1
  420. package/lib/es/checkbox/checkbox.js +20 -42
  421. package/lib/es/checkbox/checkboxGroup.d.ts +4 -4
  422. package/lib/es/checkbox/checkboxGroup.js +8 -20
  423. package/lib/es/checkbox/checkboxInner.js +0 -6
  424. package/lib/es/checkbox/context.d.ts +1 -1
  425. package/lib/es/checkbox/index.js +0 -2
  426. package/lib/es/collapse/index.js +14 -31
  427. package/lib/es/collapse/item.js +13 -27
  428. package/lib/es/collapsible/index.js +0 -25
  429. package/lib/es/configProvider/index.js +5 -13
  430. package/lib/es/datePicker/dateInput.js +41 -81
  431. package/lib/es/datePicker/datePicker.d.ts +1 -1
  432. package/lib/es/datePicker/datePicker.js +10 -103
  433. package/lib/es/datePicker/index.js +2 -8
  434. package/lib/es/datePicker/insetInput.js +0 -6
  435. package/lib/es/datePicker/month.d.ts +1 -1
  436. package/lib/es/datePicker/month.js +24 -78
  437. package/lib/es/datePicker/monthsGrid.d.ts +1 -1
  438. package/lib/es/datePicker/monthsGrid.js +20 -76
  439. package/lib/es/datePicker/navigation.js +8 -13
  440. package/lib/es/datePicker/quickControl.js +0 -6
  441. package/lib/es/datePicker/yearAndMonth.d.ts +1 -1
  442. package/lib/es/datePicker/yearAndMonth.js +5 -36
  443. package/lib/es/descriptions/descriptions-context.d.ts +1 -1
  444. package/lib/es/descriptions/index.d.ts +1 -1
  445. package/lib/es/descriptions/index.js +0 -3
  446. package/lib/es/descriptions/item.js +0 -3
  447. package/lib/es/divider/index.js +9 -17
  448. package/lib/es/dropdown/dropdownDivider.d.ts +1 -1
  449. package/lib/es/dropdown/dropdownDivider.js +0 -2
  450. package/lib/es/dropdown/dropdownItem.d.ts +1 -1
  451. package/lib/es/dropdown/dropdownItem.js +0 -11
  452. package/lib/es/dropdown/dropdownMenu.d.ts +1 -1
  453. package/lib/es/dropdown/dropdownMenu.js +6 -15
  454. package/lib/es/dropdown/dropdownTitle.d.ts +1 -1
  455. package/lib/es/dropdown/dropdownTitle.js +0 -3
  456. package/lib/es/dropdown/index.d.ts +1 -1
  457. package/lib/es/dropdown/index.js +21 -47
  458. package/lib/es/empty/index.js +0 -10
  459. package/lib/es/form/arrayField.js +14 -41
  460. package/lib/es/form/baseForm.js +26 -49
  461. package/lib/es/form/errorMessage.d.ts +1 -1
  462. package/lib/es/form/errorMessage.js +0 -9
  463. package/lib/es/form/field.js +4 -4
  464. package/lib/es/form/group.js +11 -29
  465. package/lib/es/form/hoc/withField.js +68 -125
  466. package/lib/es/form/hoc/withFormApi.js +0 -3
  467. package/lib/es/form/hoc/withFormState.js +0 -3
  468. package/lib/es/form/hooks/index.js +2 -2
  469. package/lib/es/form/hooks/useArrayFieldState.js +0 -2
  470. package/lib/es/form/hooks/useFieldApi.js +0 -3
  471. package/lib/es/form/hooks/useFieldState.js +0 -3
  472. package/lib/es/form/hooks/useFormState.js +0 -2
  473. package/lib/es/form/hooks/useStateWithGetter.js +2 -5
  474. package/lib/es/form/index.js +4 -4
  475. package/lib/es/form/interface.d.ts +4 -4
  476. package/lib/es/form/interface.js +0 -1
  477. package/lib/es/form/label.js +0 -1
  478. package/lib/es/form/section.js +0 -1
  479. package/lib/es/form/slot.js +10 -39
  480. package/lib/es/grid/col.js +10 -23
  481. package/lib/es/grid/row.d.ts +2 -2
  482. package/lib/es/grid/row.js +10 -25
  483. package/lib/es/highlight/index.js +0 -3
  484. package/lib/es/iconButton/index.d.ts +1 -1
  485. package/lib/es/iconButton/index.js +18 -31
  486. package/lib/es/image/image.d.ts +0 -3
  487. package/lib/es/image/image.js +19 -70
  488. package/lib/es/image/interface.d.ts +1 -1
  489. package/lib/es/image/preview.d.ts +4 -0
  490. package/lib/es/image/preview.js +51 -48
  491. package/lib/es/image/previewFooter.js +9 -34
  492. package/lib/es/image/previewHeader.js +0 -4
  493. package/lib/es/image/previewImage.js +46 -69
  494. package/lib/es/image/previewInner.js +69 -110
  495. package/lib/es/index.js +0 -1
  496. package/lib/es/input/index.d.ts +3 -3
  497. package/lib/es/input/index.js +35 -88
  498. package/lib/es/input/inputGroup.d.ts +1 -1
  499. package/lib/es/input/inputGroup.js +20 -33
  500. package/lib/es/input/textarea.d.ts +1 -1
  501. package/lib/es/input/textarea.js +34 -65
  502. package/lib/es/inputNumber/index.js +127 -181
  503. package/lib/es/layout/Sider.js +7 -23
  504. package/lib/es/layout/index.js +16 -31
  505. package/lib/es/list/index.js +0 -11
  506. package/lib/es/list/item.js +6 -18
  507. package/lib/es/locale/localeConsumer.d.ts +1 -1
  508. package/lib/es/locale/localeConsumer.js +0 -7
  509. package/lib/es/locale/localeProvider.js +0 -2
  510. package/lib/es/locale/source/ar.js +2 -2
  511. package/lib/es/locale/source/de.js +2 -2
  512. package/lib/es/locale/source/en_GB.js +2 -2
  513. package/lib/es/locale/source/en_US.js +2 -2
  514. package/lib/es/locale/source/es.js +0 -1
  515. package/lib/es/locale/source/fr.js +2 -2
  516. package/lib/es/locale/source/id_ID.js +2 -2
  517. package/lib/es/locale/source/it.js +2 -2
  518. package/lib/es/locale/source/ja_JP.js +2 -2
  519. package/lib/es/locale/source/ko_KR.js +2 -2
  520. package/lib/es/locale/source/ms_MY.js +2 -2
  521. package/lib/es/locale/source/nl_NL.js +0 -1
  522. package/lib/es/locale/source/pl_PL.js +0 -1
  523. package/lib/es/locale/source/pt_BR.js +2 -2
  524. package/lib/es/locale/source/ro.js +0 -1
  525. package/lib/es/locale/source/ru_RU.js +2 -2
  526. package/lib/es/locale/source/sv_SE.js +0 -1
  527. package/lib/es/locale/source/th_TH.js +2 -2
  528. package/lib/es/locale/source/tr_TR.js +2 -2
  529. package/lib/es/locale/source/vi_VN.js +2 -2
  530. package/lib/es/locale/source/zh_CN.js +2 -2
  531. package/lib/es/locale/source/zh_TW.js +2 -2
  532. package/lib/es/modal/ConfirmModal.js +9 -20
  533. package/lib/es/modal/Modal.d.ts +2 -2
  534. package/lib/es/modal/Modal.js +17 -63
  535. package/lib/es/modal/ModalContent.js +14 -54
  536. package/lib/es/modal/confirm.d.ts +9 -3
  537. package/lib/es/modal/confirm.js +4 -11
  538. package/lib/es/modal/index.d.ts +1 -1
  539. package/lib/es/modal/useModal/HookModal.js +6 -14
  540. package/lib/es/modal/useModal/index.d.ts +1 -1
  541. package/lib/es/modal/useModal/index.js +4 -9
  542. package/lib/es/navigation/CollapseButton.js +0 -4
  543. package/lib/es/navigation/Footer.js +0 -7
  544. package/lib/es/navigation/Header.d.ts +1 -1
  545. package/lib/es/navigation/Header.js +0 -5
  546. package/lib/es/navigation/Item.js +2 -35
  547. package/lib/es/navigation/SubNav.js +6 -45
  548. package/lib/es/navigation/index.d.ts +2 -2
  549. package/lib/es/navigation/index.js +5 -38
  550. package/lib/es/notification/index.d.ts +1 -1
  551. package/lib/es/notification/index.js +4 -39
  552. package/lib/es/notification/notice.js +24 -46
  553. package/lib/es/notification/useNotification/HookNotice.js +3 -11
  554. package/lib/es/notification/useNotification/index.js +6 -16
  555. package/lib/es/overflowList/index.d.ts +41 -24
  556. package/lib/es/overflowList/index.js +6 -46
  557. package/lib/es/overflowList/intersectionObserver.js +2 -13
  558. package/lib/es/pagination/index.d.ts +2 -2
  559. package/lib/es/pagination/index.js +7 -37
  560. package/lib/es/popconfirm/index.js +9 -37
  561. package/lib/es/popover/Arrow.js +6 -18
  562. package/lib/es/popover/index.js +11 -27
  563. package/lib/es/progress/index.js +8 -37
  564. package/lib/es/radio/context.d.ts +2 -2
  565. package/lib/es/radio/index.js +0 -2
  566. package/lib/es/radio/radio.d.ts +3 -3
  567. package/lib/es/radio/radio.js +0 -23
  568. package/lib/es/radio/radioGroup.d.ts +2 -2
  569. package/lib/es/radio/radioGroup.js +0 -14
  570. package/lib/es/radio/radioInner.d.ts +1 -1
  571. package/lib/es/radio/radioInner.js +0 -11
  572. package/lib/es/rating/index.js +4 -36
  573. package/lib/es/rating/item.d.ts +1 -1
  574. package/lib/es/rating/item.js +2 -16
  575. package/lib/es/resizeObserver/index.js +4 -19
  576. package/lib/es/scrollList/index.js +2 -5
  577. package/lib/es/scrollList/scrollItem.js +15 -104
  578. package/lib/es/select/index.d.ts +6 -6
  579. package/lib/es/select/index.js +27 -123
  580. package/lib/es/select/option.js +27 -46
  581. package/lib/es/select/optionGroup.js +0 -5
  582. package/lib/es/select/utils.js +8 -19
  583. package/lib/es/select/virtualRow.js +0 -1
  584. package/lib/es/sideSheet/SideSheetContent.js +2 -28
  585. package/lib/es/sideSheet/index.js +21 -52
  586. package/lib/es/skeleton/index.js +9 -18
  587. package/lib/es/skeleton/item.d.ts +2 -2
  588. package/lib/es/skeleton/item.js +8 -17
  589. package/lib/es/slider/index.js +6 -53
  590. package/lib/es/space/index.d.ts +3 -3
  591. package/lib/es/space/index.js +0 -6
  592. package/lib/es/space/utils.js +0 -2
  593. package/lib/es/spin/icon.js +4 -15
  594. package/lib/es/spin/index.d.ts +1 -1
  595. package/lib/es/spin/index.js +0 -10
  596. package/lib/es/steps/basicStep.d.ts +2 -2
  597. package/lib/es/steps/basicStep.js +0 -15
  598. package/lib/es/steps/basicSteps.d.ts +3 -3
  599. package/lib/es/steps/basicSteps.js +0 -6
  600. package/lib/es/steps/fillStep.d.ts +1 -1
  601. package/lib/es/steps/fillStep.js +0 -13
  602. package/lib/es/steps/fillSteps.d.ts +2 -2
  603. package/lib/es/steps/fillSteps.js +0 -6
  604. package/lib/es/steps/index.d.ts +1 -1
  605. package/lib/es/steps/index.js +4 -15
  606. package/lib/es/steps/navStep.js +0 -5
  607. package/lib/es/steps/navSteps.d.ts +1 -1
  608. package/lib/es/steps/navSteps.js +0 -3
  609. package/lib/es/steps/step.d.ts +1 -1
  610. package/lib/es/steps/step.js +0 -7
  611. package/lib/es/switch/index.js +0 -13
  612. package/lib/es/table/Body/BaseRow.d.ts +1 -1
  613. package/lib/es/table/Body/BaseRow.js +37 -85
  614. package/lib/es/table/Body/ExpandedRow.d.ts +1 -1
  615. package/lib/es/table/Body/ExpandedRow.js +5 -18
  616. package/lib/es/table/Body/SectionRow.js +8 -35
  617. package/lib/es/table/Body/index.js +38 -149
  618. package/lib/es/table/ColGroup.js +2 -7
  619. package/lib/es/table/Column.js +0 -2
  620. package/lib/es/table/ColumnFilter.js +3 -20
  621. package/lib/es/table/ColumnSelection.js +5 -15
  622. package/lib/es/table/ColumnSorter.js +0 -1
  623. package/lib/es/table/CustomExpandIcon.js +0 -6
  624. package/lib/es/table/HeadTable.js +0 -15
  625. package/lib/es/table/ResizableHeaderCell.d.ts +1 -1
  626. package/lib/es/table/ResizableHeaderCell.js +9 -17
  627. package/lib/es/table/ResizableTable.js +5 -37
  628. package/lib/es/table/Table.d.ts +2 -2
  629. package/lib/es/table/Table.js +457 -664
  630. package/lib/es/table/TableCell.js +19 -65
  631. package/lib/es/table/TableContextProvider.js +0 -2
  632. package/lib/es/table/TableHeader.js +4 -23
  633. package/lib/es/table/TableHeaderRow.js +8 -39
  634. package/lib/es/table/TablePagination.js +0 -4
  635. package/lib/es/table/getColumns.js +0 -4
  636. package/lib/es/table/index.js +2 -10
  637. package/lib/es/table/interface.d.ts +58 -58
  638. package/lib/es/table/table-context.js +0 -1
  639. package/lib/es/table/utils.js +6 -19
  640. package/lib/es/tabs/TabBar.js +13 -46
  641. package/lib/es/tabs/TabItem.js +18 -24
  642. package/lib/es/tabs/TabPane.js +10 -25
  643. package/lib/es/tabs/index.js +20 -59
  644. package/lib/es/tabs/interface.d.ts +3 -3
  645. package/lib/es/tag/group.js +0 -14
  646. package/lib/es/tag/index.js +23 -45
  647. package/lib/es/tag/interface.d.ts +5 -5
  648. package/lib/es/tagInput/index.d.ts +3 -3
  649. package/lib/es/tagInput/index.js +2 -54
  650. package/lib/es/timePicker/Combobox.d.ts +2 -2
  651. package/lib/es/timePicker/Combobox.js +6 -42
  652. package/lib/es/timePicker/TimeInput.d.ts +1 -1
  653. package/lib/es/timePicker/TimeInput.js +32 -56
  654. package/lib/es/timePicker/TimePicker.d.ts +3 -3
  655. package/lib/es/timePicker/TimePicker.js +39 -80
  656. package/lib/es/timePicker/TimeShape.js +0 -1
  657. package/lib/es/timePicker/index.d.ts +1 -1
  658. package/lib/es/timePicker/index.js +0 -1
  659. package/lib/es/timeline/index.js +0 -16
  660. package/lib/es/timeline/item.js +0 -1
  661. package/lib/es/toast/index.js +4 -41
  662. package/lib/es/toast/toast.js +0 -17
  663. package/lib/es/toast/useToast/HookToast.js +3 -11
  664. package/lib/es/toast/useToast/index.js +4 -13
  665. package/lib/es/tooltip/TriangleArrow.js +4 -10
  666. package/lib/es/tooltip/TriangleArrowVertical.js +4 -10
  667. package/lib/es/tooltip/index.d.ts +2 -2
  668. package/lib/es/tooltip/index.js +24 -112
  669. package/lib/es/transfer/index.d.ts +5 -5
  670. package/lib/es/transfer/index.js +10 -67
  671. package/lib/es/tree/autoSizer.js +4 -13
  672. package/lib/es/tree/index.js +30 -96
  673. package/lib/es/tree/interface.d.ts +2 -2
  674. package/lib/es/tree/nodeCollapsible.js +4 -10
  675. package/lib/es/tree/nodeList.js +0 -14
  676. package/lib/es/tree/treeNode.js +21 -76
  677. package/lib/es/tree/treeUtil.js +0 -1
  678. package/lib/es/treeSelect/index.d.ts +6 -6
  679. package/lib/es/treeSelect/index.js +46 -156
  680. package/lib/es/trigger/index.js +5 -13
  681. package/lib/es/typography/base.js +35 -113
  682. package/lib/es/typography/copyable.js +2 -14
  683. package/lib/es/typography/index.d.ts +1 -1
  684. package/lib/es/typography/interface.d.ts +9 -9
  685. package/lib/es/typography/numeral.d.ts +1 -1
  686. package/lib/es/typography/numeral.js +4 -10
  687. package/lib/es/typography/paragraph.d.ts +1 -1
  688. package/lib/es/typography/paragraph.js +0 -1
  689. package/lib/es/typography/text.d.ts +1 -1
  690. package/lib/es/typography/text.js +0 -1
  691. package/lib/es/typography/title.d.ts +2 -2
  692. package/lib/es/typography/title.js +6 -11
  693. package/lib/es/typography/typography.js +7 -14
  694. package/lib/es/typography/util.js +22 -45
  695. package/lib/es/upload/fileCard.js +2 -31
  696. package/lib/es/upload/index.js +0 -57
  697. package/lib/es/upload/interface.d.ts +5 -5
  698. package/package.json +8 -8
@@ -11,9 +11,9 @@ import ErrorMessage from '../errorMessage';
11
11
  import { isElement } from '../../_base/reactUtils';
12
12
  import Label from '../label';
13
13
  import { Col } from '../../grid';
14
- const prefix = cssClasses.PREFIX; // To avoid useLayoutEffect warning when ssr, refer: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85
14
+ const prefix = cssClasses.PREFIX;
15
+ // To avoid useLayoutEffect warning when ssr, refer: https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85
15
16
  // Fix issue 1140
16
-
17
17
  const useIsomorphicEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;
18
18
  /**
19
19
  * withFiled is used to inject components
@@ -21,7 +21,6 @@ const useIsomorphicEffect = typeof window !== 'undefined' ? useLayoutEffect : us
21
21
  * 2. Insert <Label>
22
22
  * 3. Insert <ErrorMessage>
23
23
  */
24
-
25
24
  function withField(Component, opts) {
26
25
  let SemiField = (props, ref) => {
27
26
  let {
@@ -63,60 +62,51 @@ function withField(Component, opts) {
63
62
  options,
64
63
  shouldInject
65
64
  } = mergeOptions(opts, props);
66
- warning(typeof field === 'undefined' && options.shouldInject, "[Semi Form]: 'field' is required, please check your props of Field Component"); // 无需注入的直接返回,eg:Group内的checkbox、radio
65
+ warning(typeof field === 'undefined' && options.shouldInject, "[Semi Form]: 'field' is required, please check your props of Field Component");
66
+ // 无需注入的直接返回,eg:Group内的checkbox、radio
67
67
  // Return without injection, eg: <Checkbox> / <Radio> inside CheckboxGroup/RadioGroup
68
-
69
68
  if (!shouldInject) {
70
69
  return /*#__PURE__*/React.createElement(Component, Object.assign({}, rest, {
71
70
  ref: ref
72
71
  }));
73
- } // grab formState from context
74
-
75
-
76
- const formState = useFormState(); // grab formUpdater (the api for field to read/modify FormState) from context
77
-
72
+ }
73
+ // grab formState from context
74
+ const formState = useFormState();
75
+ // grab formUpdater (the api for field to read/modify FormState) from context
78
76
  const updater = useFormUpdater();
79
-
80
77
  if (!updater.getFormProps) {
81
78
  warning(true, '[Semi Form]: Field Component must be use inside the Form, please check your dom declaration');
82
79
  return null;
83
- } // To prevent user forgetting to pass the field, use undefined as the key, and updater.getValue will get the wrong value.
84
-
85
-
80
+ }
81
+ // To prevent user forgetting to pass the field, use undefined as the key, and updater.getValue will get the wrong value.
86
82
  let initValueInFormOpts = typeof field !== 'undefined' ? updater.getValue(field) : undefined; // Get the init value of form from formP rops.init Values Get the initial value set in the initValues of Form
87
-
88
- let initVal = typeof initValue !== 'undefined' ? initValue : initValueInFormOpts; // use arrayFieldState to fix issue 615
89
-
83
+ let initVal = typeof initValue !== 'undefined' ? initValue : initValueInFormOpts;
84
+ // use arrayFieldState to fix issue 615
90
85
  let arrayFieldState;
91
-
92
86
  try {
93
87
  arrayFieldState = useArrayFieldState();
94
-
95
88
  if (arrayFieldState) {
96
89
  initVal = arrayFieldState.shouldUseInitValue && typeof initValue !== 'undefined' ? initValue : initValueInFormOpts;
97
90
  }
98
- } catch (err) {} // FIXME typeof initVal
99
-
100
-
91
+ } catch (err) {}
92
+ // FIXME typeof initVal
101
93
  const [value, setValue, getVal] = useStateWithGetter(typeof initVal !== undefined ? initVal : null);
102
94
  const validateOnMount = trigger.includes('mount');
103
- allowEmpty = allowEmpty || updater.getFormProps().allowEmpty; // Error information: Array, String, undefined
104
-
95
+ allowEmpty = allowEmpty || updater.getFormProps().allowEmpty;
96
+ // Error information: Array, String, undefined
105
97
  const [error, setError, getError] = useStateWithGetter();
106
98
  const [touched, setTouched] = useState();
107
99
  const [cursor, setCursor, getCursor] = useStateWithGetter(0);
108
100
  const [status, setStatus] = useState(validateStatus); // use props.validateStatus to init
109
-
110
101
  const rulesRef = useRef(rules);
111
102
  const validateRef = useRef(validate);
112
- const validatePromise = useRef(null); // notNotify is true means that the onChange of the Form does not need to be triggered
103
+ const validatePromise = useRef(null);
104
+ // notNotify is true means that the onChange of the Form does not need to be triggered
113
105
  // notUpdate is true means that this operation does not need to trigger the forceUpdate
114
-
115
106
  const updateTouched = (isTouched, callOpts) => {
116
107
  setTouched(isTouched);
117
108
  updater.updateStateTouched(field, isTouched, callOpts);
118
109
  };
119
-
120
110
  const updateError = (errors, callOpts) => {
121
111
  if (errors === getError()) {
122
112
  // When the inspection result is unchanged, no need to update, saving a forceUpdate overhead
@@ -125,17 +115,14 @@ function withField(Component, opts) {
125
115
  // errors为数组时,不做deepEqual,始终当做需要更新处理
126
116
  return;
127
117
  }
128
-
129
118
  setError(errors);
130
119
  updater.updateStateError(field, errors, callOpts);
131
-
132
120
  if (!isValid(errors)) {
133
121
  setStatus('error');
134
122
  } else {
135
123
  setStatus('success');
136
124
  }
137
125
  };
138
-
139
126
  const updateValue = (val, callOpts) => {
140
127
  setValue(val);
141
128
  let newOpts = Object.assign(Object.assign({}, callOpts), {
@@ -143,20 +130,18 @@ function withField(Component, opts) {
143
130
  });
144
131
  updater.updateStateValue(field, val, newOpts);
145
132
  };
146
-
147
133
  const reset = () => {
148
134
  let callOpts = {
149
135
  notNotify: true,
150
136
  notUpdate: true
151
- }; // reset is called by the FormFoundaion uniformly. The field level does not need to trigger notify and update.
152
-
137
+ };
138
+ // reset is called by the FormFoundaion uniformly. The field level does not need to trigger notify and update.
153
139
  updateValue(initVal !== null ? initVal : undefined, callOpts);
154
140
  updateError(undefined, callOpts);
155
141
  updateTouched(undefined, callOpts);
156
142
  setStatus('default');
157
- }; // Execute the validation rules specified by rules
158
-
159
-
143
+ };
144
+ // Execute the validation rules specified by rules
160
145
  const _validateInternal = (val, callOpts) => {
161
146
  let latestRules = rulesRef.current || [];
162
147
  const validator = generateValidatesFromRules(field, latestRules);
@@ -166,13 +151,13 @@ function withField(Component, opts) {
166
151
  const rootPromise = new Promise((resolve, reject) => {
167
152
  validator.validate(model, {
168
153
  first: stopValidateWithError
169
- }, // eslint-disable-next-line @typescript-eslint/no-empty-function
154
+ },
155
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
170
156
  (errors, fields) => {}).then(res => {
171
157
  if (validatePromise.current !== rootPromise) {
172
158
  return;
173
- } // validation passed
174
-
175
-
159
+ }
160
+ // validation passed
176
161
  setStatus('success');
177
162
  updateError(undefined, callOpts);
178
163
  resolve({});
@@ -180,22 +165,17 @@ function withField(Component, opts) {
180
165
  if (validatePromise.current !== rootPromise) {
181
166
  return;
182
167
  }
183
-
184
168
  let {
185
169
  errors,
186
170
  fields
187
171
  } = err;
188
-
189
172
  if (errors && fields) {
190
173
  let messages = errors.map(e => e.message);
191
-
192
174
  if (messages.length === 1) {
193
175
  // eslint-disable-next-line prefer-destructuring
194
176
  messages = messages[0];
195
177
  }
196
-
197
178
  updateError(messages, callOpts);
198
-
199
179
  if (!isValid(messages)) {
200
180
  setStatus('error');
201
181
  resolve(errors);
@@ -211,20 +191,18 @@ function withField(Component, opts) {
211
191
  });
212
192
  validatePromise.current = rootPromise;
213
193
  return rootPromise;
214
- }; // execute custom validate function
215
-
216
-
194
+ };
195
+ // execute custom validate function
217
196
  const _validate = (val, values, callOpts) => {
218
197
  const rootPromise = new Promise(resolve => {
219
- let maybePromisedErrors; // let errorThrowSync;
220
-
198
+ let maybePromisedErrors;
199
+ // let errorThrowSync;
221
200
  try {
222
201
  maybePromisedErrors = validateRef.current(val, values);
223
202
  } catch (err) {
224
203
  // error throw by syncValidate
225
204
  maybePromisedErrors = err;
226
205
  }
227
-
228
206
  if (maybePromisedErrors === undefined) {
229
207
  resolve({});
230
208
  updateError(undefined, callOpts);
@@ -234,7 +212,6 @@ function withField(Component, opts) {
234
212
  if (validatePromise.current !== rootPromise) {
235
213
  return;
236
214
  }
237
-
238
215
  if (isValid(result)) {
239
216
  // validate success,no need to do anything with result
240
217
  updateError(undefined, callOpts);
@@ -258,21 +235,17 @@ function withField(Component, opts) {
258
235
  validatePromise.current = rootPromise;
259
236
  return rootPromise;
260
237
  };
261
-
262
238
  const fieldValidate = (val, callOpts) => {
263
239
  let finalVal = val;
264
240
  let latestRules = rulesRef.current;
265
-
266
241
  if (transform) {
267
242
  finalVal = transform(val);
268
243
  }
269
-
270
244
  if (validateRef.current) {
271
245
  return _validate(finalVal, updater.getValue(), callOpts);
272
246
  } else if (latestRules) {
273
247
  return _validateInternal(finalVal, callOpts);
274
248
  }
275
-
276
249
  return null;
277
250
  };
278
251
  /**
@@ -280,32 +253,26 @@ function withField(Component, opts) {
280
253
  * validate when trigger
281
254
  *
282
255
  */
283
-
284
-
285
256
  const handleChange = function (newValue, e) {
286
257
  let fnKey = options.onKeyChangeFnName;
287
-
288
258
  if (fnKey in props && typeof props[options.onKeyChangeFnName] === 'function') {
289
259
  for (var _len = arguments.length, other = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
290
260
  other[_key - 2] = arguments[_key];
291
261
  }
292
-
293
262
  props[options.onKeyChangeFnName](newValue, e, ...other);
294
- } // support various type component
295
-
296
-
263
+ }
264
+ // support various type component
297
265
  let val;
298
-
299
266
  if (!options.valuePath) {
300
267
  val = newValue;
301
268
  } else {
302
269
  val = ObjectUtil.get(newValue, options.valuePath);
303
- } // User can use convert function to updateValue before Component UI render
304
-
305
-
270
+ }
271
+ // User can use convert function to updateValue before Component UI render
306
272
  if (typeof convert === 'function') {
307
273
  val = convert(val);
308
- } // TODO: allowEmptyString split into allowEmpty, emptyValue
274
+ }
275
+ // TODO: allowEmptyString split into allowEmpty, emptyValue
309
276
  // Added abandonment warning
310
277
  // if (process.env.NODE_ENV !== 'production') {
311
278
  // warning(allowEmptyString, `'allowEmptyString' will be de deprecated in next version, please replace with 'allowEmpty' & 'emptyValue'
@@ -313,44 +280,38 @@ function withField(Component, opts) {
313
280
  // }
314
281
  // set value to undefined if it's an empty string
315
282
  // allowEmptyString={true} is equivalent to allowEmpty = {true} emptyValue = "
316
-
317
-
318
283
  if (allowEmptyString || allowEmpty) {
319
- if (val === '') {// do nothing
284
+ if (val === '') {
285
+ // do nothing
320
286
  }
321
287
  } else {
322
288
  if (val === emptyValue) {
323
289
  val = undefined;
324
290
  }
325
- } // maintain compoent cursor if needed
326
-
327
-
291
+ }
292
+ // maintain compoent cursor if needed
328
293
  try {
329
294
  if (e && e.target && e.target.selectionStart) {
330
295
  setCursor(e.target.selectionStart);
331
296
  }
332
297
  } catch (err) {}
333
-
334
298
  updateTouched(true, {
335
299
  notNotify: true,
336
300
  notUpdate: true
337
301
  });
338
- updateValue(val); // only validate when trigger includes change
339
-
302
+ updateValue(val);
303
+ // only validate when trigger includes change
340
304
  if (trigger.includes('change')) {
341
305
  fieldValidate(val);
342
306
  }
343
307
  };
344
-
345
308
  const handleBlur = function () {
346
309
  if (props.onBlur) {
347
310
  props.onBlur(...arguments);
348
311
  }
349
-
350
312
  if (!touched) {
351
313
  updateTouched(true);
352
314
  }
353
-
354
315
  if (trigger.includes('blur')) {
355
316
  let val = getVal();
356
317
  fieldValidate(val);
@@ -358,8 +319,6 @@ function withField(Component, opts) {
358
319
  };
359
320
  /** Field level maintains a separate layer of data, which is convenient for Form to control Field to update the UI */
360
321
  // The field level maintains a separate layer of data, which is convenient for the Form to control the Field for UI updates.
361
-
362
-
363
322
  const fieldApi = {
364
323
  setValue: updateValue,
365
324
  setTouched: updateTouched,
@@ -372,30 +331,29 @@ function withField(Component, opts) {
372
331
  error,
373
332
  touched,
374
333
  status
375
- }; // avoid hooks capture value, fixed issue 346
376
-
334
+ };
335
+ // avoid hooks capture value, fixed issue 346
377
336
  useIsomorphicEffect(() => {
378
337
  rulesRef.current = rules;
379
338
  validateRef.current = validate;
380
- }, [rules, validate]); // exec validate once when trigger inlcude 'mount'
381
-
339
+ }, [rules, validate]);
340
+ // exec validate once when trigger inlcude 'mount'
382
341
  useIsomorphicEffect(() => {
383
342
  if (validateOnMount) {
384
343
  fieldValidate(value);
385
- } // eslint-disable-next-line react-hooks/exhaustive-deps
386
-
387
- }, []); // register when mounted,unregister when unmounted
344
+ }
345
+ // eslint-disable-next-line react-hooks/exhaustive-deps
346
+ }, []);
347
+ // register when mounted,unregister when unmounted
388
348
  // register again when field change
389
-
390
349
  useIsomorphicEffect(() => {
391
350
  // register
392
351
  if (typeof field === 'undefined') {
393
352
  // eslint-disable-next-line @typescript-eslint/no-empty-function
394
353
  return () => {};
395
- } // log('register: ' + field);
354
+ }
355
+ // log('register: ' + field);
396
356
  // field value may change after field component mounted, we use ref value here to get changed value
397
-
398
-
399
357
  const refValue = getVal();
400
358
  updater.register(field, {
401
359
  value: refValue,
@@ -407,11 +365,13 @@ function withField(Component, opts) {
407
365
  fieldApi,
408
366
  keepState,
409
367
  allowEmpty: allowEmpty || allowEmptyString
410
- }); // return unRegister cb
411
-
368
+ });
369
+ // return unRegister cb
412
370
  return () => {
413
- updater.unRegister(field); // log('unRegister: ' + field);
414
- }; // eslint-disable-next-line react-hooks/exhaustive-deps
371
+ updater.unRegister(field);
372
+ // log('unRegister: ' + field);
373
+ };
374
+ // eslint-disable-next-line react-hooks/exhaustive-deps
415
375
  }, [field]);
416
376
  let formProps = updater.getFormProps(['labelPosition', 'labelWidth', 'labelAlign', 'labelCol', 'wrapperCol', 'disabled', 'showValidateIcon', 'extraTextPosition']);
417
377
  let mergeLabelPos = labelPosition || formProps.labelPosition;
@@ -419,14 +379,13 @@ function withField(Component, opts) {
419
379
  let mergeLabelAlign = labelAlign || formProps.labelAlign;
420
380
  let mergeLabelCol = labelCol || formProps.labelCol;
421
381
  let mergeWrapperCol = wrapperCol || formProps.wrapperCol;
422
- let mergeExtraPos = extraTextPosition || formProps.extraTextPosition || 'bottom'; // id attribute to improve a11y
423
-
382
+ let mergeExtraPos = extraTextPosition || formProps.extraTextPosition || 'bottom';
383
+ // id attribute to improve a11y
424
384
  const a11yId = id ? id : field;
425
385
  const labelId = `${a11yId}-label`;
426
386
  const helpTextId = `${a11yId}-helpText`;
427
387
  const extraTextId = `${a11yId}-extraText`;
428
388
  const errorMessageId = `${a11yId}-errormessage`;
429
-
430
389
  const FieldComponent = () => {
431
390
  // prefer to use validateStatus which pass by user throught props
432
391
  let blockStatus = validateStatus ? validateStatus : status;
@@ -452,24 +411,19 @@ function withField(Component, opts) {
452
411
  'aria-required': required,
453
412
  'aria-labelledby': labelId
454
413
  });
455
-
456
414
  if (name) {
457
415
  newProps['name'] = name;
458
416
  }
459
-
460
417
  if (helpText) {
461
418
  newProps['aria-describedby'] = extraText ? `${helpTextId} ${extraTextId}` : helpTextId;
462
419
  }
463
-
464
420
  if (extraText) {
465
421
  newProps['aria-describedby'] = helpText ? `${helpTextId} ${extraTextId}` : extraTextId;
466
422
  }
467
-
468
423
  if (status === 'error') {
469
424
  newProps['aria-errormessage'] = errorMessageId;
470
425
  newProps['aria-invalid'] = true;
471
426
  }
472
-
473
427
  const fieldCls = classNames({
474
428
  [`${prefix}-field`]: true,
475
429
  [`${prefix}-field-${name}`]: Boolean(name),
@@ -478,23 +432,19 @@ function withField(Component, opts) {
478
432
  const fieldMaincls = classNames({
479
433
  [`${prefix}-field-main`]: true
480
434
  });
481
-
482
435
  if (mergeLabelPos === 'inset' && !noLabel) {
483
436
  newProps.insetLabel = label || field;
484
437
  newProps.insetLabelId = labelId;
485
-
486
438
  if (typeof label === 'object' && !isElement(label)) {
487
439
  newProps.insetLabel = label.text;
488
440
  newProps.insetLabelId = labelId;
489
441
  }
490
442
  }
491
-
492
- const com = /*#__PURE__*/React.createElement(Component, Object.assign({}, newProps)); // when use in InputGroup, no need to insert <Label>、<ErrorMessage> inside Field, just add it at Group
493
-
443
+ const com = /*#__PURE__*/React.createElement(Component, Object.assign({}, newProps));
444
+ // when use in InputGroup, no need to insert <Label>、<ErrorMessage> inside Field, just add it at Group
494
445
  if (isInInputGroup) {
495
446
  return com;
496
447
  }
497
-
498
448
  if (pure) {
499
449
  let pureCls = classNames(rest.className, {
500
450
  [`${prefix}-field-pure`]: true,
@@ -504,12 +454,10 @@ function withField(Component, opts) {
504
454
  newProps.className = pureCls;
505
455
  return /*#__PURE__*/React.createElement(Component, Object.assign({}, newProps));
506
456
  }
507
-
508
457
  let withCol = mergeLabelCol && mergeWrapperCol;
509
- const labelColCls = mergeLabelAlign ? `${prefix}-col-${mergeLabelAlign}` : ''; // get label
510
-
458
+ const labelColCls = mergeLabelAlign ? `${prefix}-col-${mergeLabelAlign}` : '';
459
+ // get label
511
460
  let labelContent = null;
512
-
513
461
  if (!noLabel && mergeLabelPos !== 'inset') {
514
462
  let needSpread = typeof label === 'object' && !isElement(label) ? label : {};
515
463
  labelContent = /*#__PURE__*/React.createElement(Label, Object.assign({
@@ -521,7 +469,6 @@ function withField(Component, opts) {
521
469
  align: mergeLabelAlign
522
470
  }, needSpread));
523
471
  }
524
-
525
472
  const fieldMainContent = /*#__PURE__*/React.createElement("div", {
526
473
  className: fieldMaincls
527
474
  }, mergeExtraPos === 'middle' ? extraContent : null, com, !noErrorMessage ? /*#__PURE__*/React.createElement(ErrorMessage, {
@@ -548,11 +495,9 @@ function withField(Component, opts) {
548
495
  "x-field-id": field,
549
496
  "x-extra-pos": mergeExtraPos
550
497
  }, withCol ? withColContent : /*#__PURE__*/React.createElement(React.Fragment, null, labelContent, fieldMainContent));
551
- }; // !important optimization
552
-
553
-
498
+ };
499
+ // !important optimization
554
500
  const shouldUpdate = [...Object.values(fieldState), ...Object.values(props), field, mergeLabelPos, mergeLabelAlign, formProps.disabled];
555
-
556
501
  if (options.shouldMemo) {
557
502
  // eslint-disable-next-line react-hooks/exhaustive-deps
558
503
  return useMemo(FieldComponent, [...shouldUpdate]);
@@ -561,11 +506,9 @@ function withField(Component, opts) {
561
506
  return FieldComponent();
562
507
  }
563
508
  };
564
-
565
509
  SemiField = /*#__PURE__*/forwardRef(SemiField);
566
510
  SemiField.displayName = getDisplayName(Component);
567
511
  return SemiField;
568
- } // eslint-disable-next-line
569
-
570
-
512
+ }
513
+ // eslint-disable-next-line
571
514
  export default withField;
@@ -1,6 +1,5 @@
1
1
  import React, { forwardRef } from 'react';
2
2
  import { FormApiContext } from '../context';
3
-
4
3
  function withFormApi(Component) {
5
4
  let WithApiCom = (props, ref) => {
6
5
  return /*#__PURE__*/React.createElement(FormApiContext.Consumer, null, formApi => /*#__PURE__*/React.createElement(Component, Object.assign({
@@ -8,9 +7,7 @@ function withFormApi(Component) {
8
7
  ref: ref
9
8
  }, props)));
10
9
  };
11
-
12
10
  WithApiCom = /*#__PURE__*/forwardRef(WithApiCom);
13
11
  return WithApiCom;
14
12
  }
15
-
16
13
  export default withFormApi;
@@ -1,6 +1,5 @@
1
1
  import React, { forwardRef } from 'react';
2
2
  import { FormStateContext } from '../context';
3
-
4
3
  function withFormState(Component) {
5
4
  let WithStateCom = (props, ref) => {
6
5
  return /*#__PURE__*/React.createElement(FormStateContext.Consumer, null, formState => /*#__PURE__*/React.createElement(Component, Object.assign({
@@ -8,9 +7,7 @@ function withFormState(Component) {
8
7
  ref: ref
9
8
  }, props)));
10
9
  };
11
-
12
10
  WithStateCom = /*#__PURE__*/forwardRef(WithStateCom);
13
11
  return WithStateCom;
14
12
  }
15
-
16
13
  export default withFormState;
@@ -2,8 +2,8 @@
2
2
  import useFormApi from './useFormApi';
3
3
  import useFormState from './useFormState';
4
4
  import useFieldState from './useFieldState';
5
- import useFieldApi from './useFieldApi'; // hooks only use internal
6
-
5
+ import useFieldApi from './useFieldApi';
6
+ // hooks only use internal
7
7
  import useFormUpdater from './useFormUpdater';
8
8
  import useStateWithGetter from './useStateWithGetter';
9
9
  import useArrayFieldState from './useArrayFieldState';
@@ -1,9 +1,7 @@
1
1
  import { useContext } from 'react';
2
2
  import { ArrayFieldContext } from '../context';
3
-
4
3
  function useArrayFieldState() {
5
4
  const arrayFieldContext = useContext(ArrayFieldContext);
6
5
  return arrayFieldContext;
7
6
  }
8
-
9
7
  export default useArrayFieldState;
@@ -1,5 +1,4 @@
1
1
  import useFormApi from './useFormApi';
2
-
3
2
  const buildFieldApi = (formApi, field) => ({
4
3
  getError: () => formApi.getError(field),
5
4
  setError: error => formApi.setError(field, error),
@@ -8,11 +7,9 @@ const buildFieldApi = (formApi, field) => ({
8
7
  getValue: () => formApi.getValue(field),
9
8
  setValue: value => formApi.setValue(field, value)
10
9
  });
11
-
12
10
  function useFieldApi(field) {
13
11
  const formApi = useFormApi();
14
12
  const fieldApi = buildFieldApi(formApi, field);
15
13
  return fieldApi;
16
14
  }
17
-
18
15
  export default useFieldApi;
@@ -1,16 +1,13 @@
1
1
  import useFormState from './useFormState';
2
2
  import * as ObjectUtil from '@douyinfe/semi-foundation/lib/es/utils/object';
3
-
4
3
  const buildFieldState = (formState, field) => ({
5
4
  value: ObjectUtil.get(formState.values, field),
6
5
  error: ObjectUtil.get(formState.errors, field),
7
6
  touched: ObjectUtil.get(formState.touched, field)
8
7
  });
9
-
10
8
  function useFieldState(field) {
11
9
  const formState = useFormState();
12
10
  const fieldState = buildFieldState(formState, field);
13
11
  return fieldState;
14
12
  }
15
-
16
13
  export default useFieldState;
@@ -1,9 +1,7 @@
1
1
  import { useContext } from 'react';
2
2
  import { FormStateContext } from '../context';
3
-
4
3
  function useFormState() {
5
4
  const formState = useContext(FormStateContext);
6
5
  return formState;
7
6
  }
8
-
9
7
  export default useFormState;
@@ -1,16 +1,13 @@
1
- import { useRef, useState } from 'react'; // https://github.com/facebook/react/issues/14543
2
-
1
+ import { useRef, useState } from 'react';
2
+ // https://github.com/facebook/react/issues/14543
3
3
  export default function useStateWithGetter(initial) {
4
4
  const ref = useRef();
5
5
  const [state, setState] = useState(initial);
6
6
  ref.current = state;
7
-
8
7
  const set = value => {
9
8
  ref.current = value;
10
9
  setState(value);
11
10
  };
12
-
13
11
  const get = () => ref.current;
14
-
15
12
  return [state, set, get];
16
13
  }
@@ -7,10 +7,10 @@
7
7
  */
8
8
  // FormComponent
9
9
  import Form from './baseForm';
10
- import ArrayField from './arrayField'; // Form Hooks
11
-
12
- import { useFormApi, useFormState, useFieldState, useFieldApi } from './hooks/index'; // Form Hoc
13
-
10
+ import ArrayField from './arrayField';
11
+ // Form Hooks
12
+ import { useFormApi, useFormState, useFieldState, useFieldApi } from './hooks/index';
13
+ // Form Hoc
14
14
  import withField from './hoc/withField';
15
15
  import withFormState from './hoc/withFormState';
16
16
  import withFormApi from './hoc/withFormApi';
@@ -11,7 +11,7 @@ import type { RadioProps } from '../radio/index';
11
11
  import { ReactFieldError as FieldError } from './errorMessage';
12
12
  import type { LabelProps } from './label';
13
13
  export type { FormState, FormApi, WithFieldOption, RuleItem };
14
- export declare type CommonFieldProps = {
14
+ export type CommonFieldProps = {
15
15
  /** Field is required (except Form. Checkbox within the Group, Form. Radio) */
16
16
  field: string;
17
17
  /** The label text of the form control is the same name as the field by default when it is not passed */
@@ -45,19 +45,19 @@ export declare type CommonFieldProps = {
45
45
  /** Whether to take over only the data stream, when true, it will not automatically insert modules such as ErrorMessage, Label, extraText, etc. The style and DOM structure are consistent with the original component */
46
46
  pure?: boolean;
47
47
  };
48
- export declare type CommonexcludeType = {
48
+ export type CommonexcludeType = {
49
49
  defaultValue?: any;
50
50
  value?: any;
51
51
  checked?: boolean;
52
52
  defaultChecked?: boolean;
53
53
  };
54
- export declare type RadioCheckboxExcludeProps = {
54
+ export type RadioCheckboxExcludeProps = {
55
55
  defaultValue?: any;
56
56
  chekced?: boolean;
57
57
  defaultChecked?: boolean;
58
58
  field: string;
59
59
  };
60
- export declare type RCIncludeType = {
60
+ export type RCIncludeType = {
61
61
  field?: string;
62
62
  };
63
63
  export declare class FormSelect extends React.Component<Subtract<SelectProps & CommonFieldProps, CommonexcludeType>> {