@douyinfe/semi-ui 2.2.0-beta.1 → 2.3.0-beta.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 (444) hide show
  1. package/_base/_story/a11y.jsx +6 -6
  2. package/_utils/hooks/usePrevFocus.ts +16 -0
  3. package/_utils/index.ts +4 -0
  4. package/anchor/_story/anchor.stories.js +1 -1
  5. package/anchor/index.tsx +5 -2
  6. package/anchor/link.tsx +29 -4
  7. package/autoComplete/index.tsx +28 -1
  8. package/avatar/_story/avatar.stories.js +4 -4
  9. package/avatar/avatarGroup.tsx +1 -1
  10. package/avatar/index.tsx +10 -4
  11. package/banner/index.tsx +2 -1
  12. package/breadcrumb/_story/breadcrumb.stories.js +22 -8
  13. package/breadcrumb/index.tsx +8 -1
  14. package/breadcrumb/item.tsx +1 -1
  15. package/button/Button.tsx +4 -0
  16. package/button/__test__/button.test.js +1 -1
  17. package/button/_story/button.stories.js +10 -10
  18. package/button/buttonGroup.tsx +4 -2
  19. package/button/splitButtonGroup.tsx +5 -2
  20. package/card/_story/card.stories.js +8 -1
  21. package/card/_story/card.stories.tsx +3 -0
  22. package/card/index.tsx +5 -2
  23. package/cascader/index.tsx +33 -5
  24. package/checkbox/_story/checkbox.stories.js +21 -14
  25. package/checkbox/checkbox.tsx +40 -5
  26. package/checkbox/checkboxGroup.tsx +30 -5
  27. package/checkbox/checkboxInner.tsx +25 -2
  28. package/collapse/index.tsx +2 -2
  29. package/collapse/item.tsx +15 -8
  30. package/collapsible/index.tsx +4 -2
  31. package/configProvider/_story/configProvider.stories.tsx +27 -0
  32. package/datePicker/__test__/datePicker.test.js +108 -0
  33. package/datePicker/_story/datePicker.stories.js +146 -2
  34. package/datePicker/datePicker.tsx +24 -0
  35. package/datePicker/monthsGrid.tsx +2 -1
  36. package/dist/css/semi.css +34 -7
  37. package/dist/css/semi.min.css +1 -1
  38. package/dist/umd/semi-ui.js +2785 -1508
  39. package/dist/umd/semi-ui.js.map +1 -1
  40. package/dist/umd/semi-ui.min.js +1 -1
  41. package/dist/umd/semi-ui.min.js.map +1 -1
  42. package/dropdown/dropdownItem.tsx +1 -1
  43. package/dropdown/dropdownMenu.tsx +1 -1
  44. package/empty/index.tsx +5 -5
  45. package/form/_story/FormApi/formApiDemo.jsx +3 -2
  46. package/form/_story/Validate/validateDemo.jsx +1 -1
  47. package/form/_story/demo.jsx +12 -3
  48. package/form/_story/form.stories.js +0 -7
  49. package/form/baseForm.tsx +2 -0
  50. package/form/errorMessage.tsx +13 -2
  51. package/form/hoc/withField.tsx +37 -8
  52. package/form/index.tsx +0 -2
  53. package/form/interface.ts +2 -0
  54. package/form/label.tsx +4 -2
  55. package/input/index.tsx +49 -4
  56. package/input/inputGroup.tsx +9 -4
  57. package/input/textarea.tsx +25 -6
  58. package/inputNumber/_story/inputNumber.stories.js +12 -0
  59. package/inputNumber/index.tsx +33 -2
  60. package/layout/Sider.tsx +6 -2
  61. package/layout/index.tsx +4 -3
  62. package/lib/cjs/_utils/hooks/usePrevFocus.d.ts +2 -0
  63. package/lib/cjs/_utils/hooks/usePrevFocus.js +30 -0
  64. package/lib/cjs/_utils/index.d.ts +1 -0
  65. package/lib/cjs/_utils/index.js +6 -1
  66. package/lib/cjs/anchor/index.d.ts +2 -0
  67. package/lib/cjs/anchor/index.js +6 -1
  68. package/lib/cjs/anchor/link.d.ts +4 -1
  69. package/lib/cjs/anchor/link.js +39 -5
  70. package/lib/cjs/autoComplete/index.d.ts +17 -0
  71. package/lib/cjs/autoComplete/index.js +21 -2
  72. package/lib/cjs/avatar/avatarGroup.js +2 -1
  73. package/lib/cjs/avatar/index.d.ts +4 -3
  74. package/lib/cjs/avatar/index.js +20 -11
  75. package/lib/cjs/banner/index.js +4 -2
  76. package/lib/cjs/breadcrumb/index.d.ts +3 -0
  77. package/lib/cjs/breadcrumb/index.js +10 -4
  78. package/lib/cjs/breadcrumb/item.js +2 -2
  79. package/lib/cjs/button/Button.d.ts +2 -0
  80. package/lib/cjs/button/Button.js +4 -2
  81. package/lib/cjs/button/buttonGroup.d.ts +3 -0
  82. package/lib/cjs/button/buttonGroup.js +8 -4
  83. package/lib/cjs/button/index.d.ts +1 -0
  84. package/lib/cjs/button/splitButtonGroup.d.ts +3 -0
  85. package/lib/cjs/button/splitButtonGroup.js +5 -2
  86. package/lib/cjs/card/index.d.ts +3 -0
  87. package/lib/cjs/card/index.js +3 -1
  88. package/lib/cjs/cascader/index.d.ts +14 -0
  89. package/lib/cjs/cascader/index.js +35 -7
  90. package/lib/cjs/checkbox/checkbox.d.ts +21 -1
  91. package/lib/cjs/checkbox/checkbox.js +51 -17
  92. package/lib/cjs/checkbox/checkboxGroup.d.ts +13 -1
  93. package/lib/cjs/checkbox/checkboxGroup.js +16 -3
  94. package/lib/cjs/checkbox/checkboxInner.d.ts +15 -0
  95. package/lib/cjs/checkbox/checkboxInner.js +20 -3
  96. package/lib/cjs/collapse/index.js +2 -1
  97. package/lib/cjs/collapse/item.d.ts +2 -1
  98. package/lib/cjs/collapse/item.js +17 -3
  99. package/lib/cjs/collapsible/index.d.ts +1 -0
  100. package/lib/cjs/collapsible/index.js +4 -2
  101. package/lib/cjs/datePicker/datePicker.d.ts +12 -0
  102. package/lib/cjs/datePicker/datePicker.js +22 -3
  103. package/lib/cjs/datePicker/monthsGrid.d.ts +1 -0
  104. package/lib/cjs/datePicker/monthsGrid.js +2 -1
  105. package/lib/cjs/dropdown/dropdownItem.js +3 -1
  106. package/lib/cjs/dropdown/dropdownMenu.js +4 -1
  107. package/lib/cjs/empty/index.js +2 -1
  108. package/lib/cjs/form/baseForm.d.ts +9 -0
  109. package/lib/cjs/form/baseForm.js +3 -1
  110. package/lib/cjs/form/errorMessage.d.ts +4 -0
  111. package/lib/cjs/form/errorMessage.js +21 -3
  112. package/lib/cjs/form/field.d.ts +7 -0
  113. package/lib/cjs/form/hoc/withField.js +49 -16
  114. package/lib/cjs/form/index.d.ts +0 -1
  115. package/lib/cjs/form/interface.d.ts +2 -0
  116. package/lib/cjs/form/label.d.ts +2 -0
  117. package/lib/cjs/form/label.js +5 -2
  118. package/lib/cjs/input/index.d.ts +16 -0
  119. package/lib/cjs/input/index.js +51 -15
  120. package/lib/cjs/input/inputGroup.d.ts +2 -1
  121. package/lib/cjs/input/inputGroup.js +11 -1
  122. package/lib/cjs/input/textarea.js +12 -1
  123. package/lib/cjs/inputNumber/index.d.ts +21 -12
  124. package/lib/cjs/inputNumber/index.js +37 -3
  125. package/lib/cjs/layout/Sider.d.ts +4 -0
  126. package/lib/cjs/layout/Sider.js +4 -1
  127. package/lib/cjs/layout/index.js +2 -0
  128. package/lib/cjs/list/item.js +0 -1
  129. package/lib/cjs/modal/Modal.js +2 -0
  130. package/lib/cjs/modal/ModalContent.d.ts +3 -1
  131. package/lib/cjs/modal/ModalContent.js +47 -5
  132. package/lib/cjs/navigation/Item.d.ts +4 -2
  133. package/lib/cjs/navigation/Item.js +25 -5
  134. package/lib/cjs/navigation/SubNav.d.ts +4 -2
  135. package/lib/cjs/navigation/SubNav.js +8 -1
  136. package/lib/cjs/navigation/index.js +2 -0
  137. package/lib/cjs/notification/notice.d.ts +1 -1
  138. package/lib/cjs/notification/notice.js +32 -22
  139. package/lib/cjs/pagination/index.js +16 -6
  140. package/lib/cjs/popover/index.js +7 -3
  141. package/lib/cjs/progress/index.d.ts +8 -0
  142. package/lib/cjs/progress/index.js +42 -9
  143. package/lib/cjs/radio/radio.d.ts +6 -1
  144. package/lib/cjs/radio/radio.js +17 -5
  145. package/lib/cjs/radio/radioGroup.d.ts +16 -1
  146. package/lib/cjs/radio/radioGroup.js +18 -3
  147. package/lib/cjs/radio/radioInner.d.ts +6 -1
  148. package/lib/cjs/radio/radioInner.js +11 -3
  149. package/lib/cjs/rating/index.d.ts +14 -0
  150. package/lib/cjs/rating/index.js +14 -3
  151. package/lib/cjs/rating/item.d.ts +2 -0
  152. package/lib/cjs/rating/item.js +6 -1
  153. package/lib/cjs/select/index.d.ts +16 -0
  154. package/lib/cjs/select/index.js +65 -19
  155. package/lib/cjs/select/option.js +28 -22
  156. package/lib/cjs/sideSheet/SideSheetContent.d.ts +1 -0
  157. package/lib/cjs/sideSheet/SideSheetContent.js +12 -5
  158. package/lib/cjs/sideSheet/index.d.ts +1 -0
  159. package/lib/cjs/sideSheet/index.js +2 -1
  160. package/lib/cjs/slider/index.d.ts +2 -1
  161. package/lib/cjs/slider/index.js +64 -17
  162. package/lib/cjs/spin/icon.js +2 -4
  163. package/lib/cjs/steps/basicStep.d.ts +3 -0
  164. package/lib/cjs/steps/basicStep.js +23 -25
  165. package/lib/cjs/steps/basicSteps.d.ts +1 -0
  166. package/lib/cjs/steps/basicSteps.js +2 -1
  167. package/lib/cjs/steps/fillStep.d.ts +3 -0
  168. package/lib/cjs/steps/fillStep.js +19 -4
  169. package/lib/cjs/steps/fillSteps.d.ts +1 -0
  170. package/lib/cjs/steps/fillSteps.js +2 -1
  171. package/lib/cjs/steps/navStep.d.ts +3 -0
  172. package/lib/cjs/steps/navStep.js +22 -25
  173. package/lib/cjs/steps/navSteps.d.ts +1 -0
  174. package/lib/cjs/steps/navSteps.js +2 -1
  175. package/lib/cjs/switch/index.d.ts +12 -0
  176. package/lib/cjs/switch/index.js +19 -4
  177. package/lib/cjs/table/Body/BaseRow.js +35 -3
  178. package/lib/cjs/table/Body/index.js +9 -1
  179. package/lib/cjs/table/ColumnFilter.js +4 -0
  180. package/lib/cjs/table/ColumnSelection.d.ts +3 -0
  181. package/lib/cjs/table/ColumnSelection.js +6 -2
  182. package/lib/cjs/table/ColumnSorter.js +19 -3
  183. package/lib/cjs/table/CustomExpandIcon.js +7 -1
  184. package/lib/cjs/table/Table.d.ts +2 -0
  185. package/lib/cjs/table/Table.js +31 -15
  186. package/lib/cjs/table/TableCell.d.ts +2 -0
  187. package/lib/cjs/table/TableCell.js +6 -2
  188. package/lib/cjs/table/TableHeaderRow.js +8 -2
  189. package/lib/cjs/tabs/TabBar.js +11 -3
  190. package/lib/cjs/tabs/TabPane.js +3 -1
  191. package/lib/cjs/tabs/index.js +3 -8
  192. package/lib/cjs/tagInput/index.d.ts +4 -1
  193. package/lib/cjs/tagInput/index.js +29 -3
  194. package/lib/cjs/timePicker/TimePicker.d.ts +12 -0
  195. package/lib/cjs/timePicker/TimePicker.js +9 -1
  196. package/lib/cjs/timePicker/index.d.ts +6 -0
  197. package/lib/cjs/timeline/index.d.ts +1 -1
  198. package/lib/cjs/timeline/index.js +1 -0
  199. package/lib/cjs/timeline/item.js +4 -2
  200. package/lib/cjs/toast/toast.js +2 -0
  201. package/lib/cjs/tooltip/TriangleArrow.js +1 -0
  202. package/lib/cjs/tooltip/TriangleArrowVertical.js +1 -0
  203. package/lib/cjs/tooltip/index.d.ts +16 -12
  204. package/lib/cjs/tooltip/index.js +55 -39
  205. package/lib/cjs/transfer/index.d.ts +1 -1
  206. package/lib/cjs/transfer/index.js +35 -17
  207. package/lib/cjs/tree/index.d.ts +1 -0
  208. package/lib/cjs/tree/index.js +15 -6
  209. package/lib/cjs/tree/treeNode.d.ts +12 -4
  210. package/lib/cjs/tree/treeNode.js +44 -4
  211. package/lib/cjs/treeSelect/index.d.ts +16 -0
  212. package/lib/cjs/treeSelect/index.js +60 -12
  213. package/lib/cjs/typography/base.js +18 -7
  214. package/lib/cjs/typography/copyable.js +6 -1
  215. package/lib/cjs/upload/fileCard.js +23 -4
  216. package/lib/cjs/upload/index.js +19 -4
  217. package/lib/es/_utils/hooks/usePrevFocus.d.ts +2 -0
  218. package/lib/es/_utils/hooks/usePrevFocus.js +15 -0
  219. package/lib/es/_utils/index.d.ts +1 -0
  220. package/lib/es/_utils/index.js +4 -1
  221. package/lib/es/anchor/index.d.ts +2 -0
  222. package/lib/es/anchor/index.js +6 -1
  223. package/lib/es/anchor/link.d.ts +4 -1
  224. package/lib/es/anchor/link.js +38 -5
  225. package/lib/es/autoComplete/index.d.ts +17 -0
  226. package/lib/es/autoComplete/index.js +21 -2
  227. package/lib/es/avatar/avatarGroup.js +2 -1
  228. package/lib/es/avatar/index.d.ts +4 -3
  229. package/lib/es/avatar/index.js +20 -11
  230. package/lib/es/banner/index.js +4 -2
  231. package/lib/es/breadcrumb/index.d.ts +3 -0
  232. package/lib/es/breadcrumb/index.js +10 -4
  233. package/lib/es/breadcrumb/item.js +2 -2
  234. package/lib/es/button/Button.d.ts +2 -0
  235. package/lib/es/button/Button.js +4 -2
  236. package/lib/es/button/buttonGroup.d.ts +3 -0
  237. package/lib/es/button/buttonGroup.js +8 -4
  238. package/lib/es/button/index.d.ts +1 -0
  239. package/lib/es/button/splitButtonGroup.d.ts +3 -0
  240. package/lib/es/button/splitButtonGroup.js +5 -2
  241. package/lib/es/card/index.d.ts +3 -0
  242. package/lib/es/card/index.js +3 -1
  243. package/lib/es/cascader/index.d.ts +14 -0
  244. package/lib/es/cascader/index.js +35 -7
  245. package/lib/es/checkbox/checkbox.d.ts +21 -1
  246. package/lib/es/checkbox/checkbox.js +50 -17
  247. package/lib/es/checkbox/checkboxGroup.d.ts +13 -1
  248. package/lib/es/checkbox/checkboxGroup.js +18 -5
  249. package/lib/es/checkbox/checkboxInner.d.ts +15 -0
  250. package/lib/es/checkbox/checkboxInner.js +20 -3
  251. package/lib/es/collapse/index.js +2 -1
  252. package/lib/es/collapse/item.d.ts +2 -1
  253. package/lib/es/collapse/item.js +16 -3
  254. package/lib/es/collapsible/index.d.ts +1 -0
  255. package/lib/es/collapsible/index.js +4 -2
  256. package/lib/es/datePicker/datePicker.d.ts +12 -0
  257. package/lib/es/datePicker/datePicker.js +22 -3
  258. package/lib/es/datePicker/monthsGrid.d.ts +1 -0
  259. package/lib/es/datePicker/monthsGrid.js +2 -1
  260. package/lib/es/dropdown/dropdownItem.js +3 -1
  261. package/lib/es/dropdown/dropdownMenu.js +4 -1
  262. package/lib/es/empty/index.js +2 -1
  263. package/lib/es/form/baseForm.d.ts +9 -0
  264. package/lib/es/form/baseForm.js +3 -1
  265. package/lib/es/form/errorMessage.d.ts +4 -0
  266. package/lib/es/form/errorMessage.js +21 -3
  267. package/lib/es/form/field.d.ts +7 -0
  268. package/lib/es/form/hoc/withField.js +48 -15
  269. package/lib/es/form/index.d.ts +0 -1
  270. package/lib/es/form/index.js +0 -1
  271. package/lib/es/form/interface.d.ts +2 -0
  272. package/lib/es/form/label.d.ts +2 -0
  273. package/lib/es/form/label.js +5 -2
  274. package/lib/es/input/index.d.ts +16 -0
  275. package/lib/es/input/index.js +51 -15
  276. package/lib/es/input/inputGroup.d.ts +2 -1
  277. package/lib/es/input/inputGroup.js +11 -1
  278. package/lib/es/input/textarea.js +12 -1
  279. package/lib/es/inputNumber/index.d.ts +21 -12
  280. package/lib/es/inputNumber/index.js +38 -3
  281. package/lib/es/layout/Sider.d.ts +4 -0
  282. package/lib/es/layout/Sider.js +4 -1
  283. package/lib/es/layout/index.js +2 -0
  284. package/lib/es/list/item.js +0 -1
  285. package/lib/es/modal/Modal.js +2 -0
  286. package/lib/es/modal/ModalContent.d.ts +3 -1
  287. package/lib/es/modal/ModalContent.js +46 -5
  288. package/lib/es/navigation/Item.d.ts +4 -2
  289. package/lib/es/navigation/Item.js +25 -5
  290. package/lib/es/navigation/SubNav.d.ts +4 -2
  291. package/lib/es/navigation/SubNav.js +8 -1
  292. package/lib/es/navigation/index.js +2 -0
  293. package/lib/es/notification/notice.d.ts +1 -1
  294. package/lib/es/notification/notice.js +33 -24
  295. package/lib/es/pagination/index.js +16 -6
  296. package/lib/es/popover/index.js +7 -3
  297. package/lib/es/progress/index.d.ts +8 -0
  298. package/lib/es/progress/index.js +42 -9
  299. package/lib/es/radio/radio.d.ts +6 -1
  300. package/lib/es/radio/radio.js +16 -5
  301. package/lib/es/radio/radioGroup.d.ts +16 -1
  302. package/lib/es/radio/radioGroup.js +18 -3
  303. package/lib/es/radio/radioInner.d.ts +6 -1
  304. package/lib/es/radio/radioInner.js +11 -3
  305. package/lib/es/rating/index.d.ts +14 -0
  306. package/lib/es/rating/index.js +14 -3
  307. package/lib/es/rating/item.d.ts +2 -0
  308. package/lib/es/rating/item.js +6 -1
  309. package/lib/es/select/index.d.ts +16 -0
  310. package/lib/es/select/index.js +63 -17
  311. package/lib/es/select/option.js +28 -22
  312. package/lib/es/sideSheet/SideSheetContent.d.ts +1 -0
  313. package/lib/es/sideSheet/SideSheetContent.js +12 -5
  314. package/lib/es/sideSheet/index.d.ts +1 -0
  315. package/lib/es/sideSheet/index.js +2 -1
  316. package/lib/es/slider/index.d.ts +2 -1
  317. package/lib/es/slider/index.js +63 -16
  318. package/lib/es/spin/icon.js +2 -4
  319. package/lib/es/steps/basicStep.d.ts +3 -0
  320. package/lib/es/steps/basicStep.js +23 -23
  321. package/lib/es/steps/basicSteps.d.ts +1 -0
  322. package/lib/es/steps/basicSteps.js +2 -1
  323. package/lib/es/steps/fillStep.d.ts +3 -0
  324. package/lib/es/steps/fillStep.js +19 -4
  325. package/lib/es/steps/fillSteps.d.ts +1 -0
  326. package/lib/es/steps/fillSteps.js +2 -1
  327. package/lib/es/steps/navStep.d.ts +3 -0
  328. package/lib/es/steps/navStep.js +22 -23
  329. package/lib/es/steps/navSteps.d.ts +1 -0
  330. package/lib/es/steps/navSteps.js +2 -1
  331. package/lib/es/switch/index.d.ts +12 -0
  332. package/lib/es/switch/index.js +19 -4
  333. package/lib/es/table/Body/BaseRow.js +35 -3
  334. package/lib/es/table/Body/index.js +9 -2
  335. package/lib/es/table/ColumnFilter.js +4 -0
  336. package/lib/es/table/ColumnSelection.d.ts +3 -0
  337. package/lib/es/table/ColumnSelection.js +6 -2
  338. package/lib/es/table/ColumnSorter.js +17 -3
  339. package/lib/es/table/CustomExpandIcon.js +6 -1
  340. package/lib/es/table/Table.d.ts +2 -0
  341. package/lib/es/table/Table.js +31 -15
  342. package/lib/es/table/TableCell.d.ts +2 -0
  343. package/lib/es/table/TableCell.js +6 -2
  344. package/lib/es/table/TableHeaderRow.js +8 -2
  345. package/lib/es/tabs/TabBar.js +11 -3
  346. package/lib/es/tabs/TabPane.js +3 -1
  347. package/lib/es/tabs/index.js +1 -6
  348. package/lib/es/tagInput/index.d.ts +4 -1
  349. package/lib/es/tagInput/index.js +29 -3
  350. package/lib/es/timePicker/TimePicker.d.ts +12 -0
  351. package/lib/es/timePicker/TimePicker.js +9 -1
  352. package/lib/es/timePicker/index.d.ts +6 -0
  353. package/lib/es/timeline/index.d.ts +1 -1
  354. package/lib/es/timeline/index.js +1 -0
  355. package/lib/es/timeline/item.js +4 -2
  356. package/lib/es/toast/toast.js +2 -0
  357. package/lib/es/tooltip/TriangleArrow.js +1 -0
  358. package/lib/es/tooltip/TriangleArrowVertical.js +1 -0
  359. package/lib/es/tooltip/index.d.ts +16 -12
  360. package/lib/es/tooltip/index.js +53 -39
  361. package/lib/es/transfer/index.d.ts +1 -1
  362. package/lib/es/transfer/index.js +35 -17
  363. package/lib/es/tree/index.d.ts +1 -0
  364. package/lib/es/tree/index.js +15 -6
  365. package/lib/es/tree/treeNode.d.ts +12 -4
  366. package/lib/es/tree/treeNode.js +44 -4
  367. package/lib/es/treeSelect/index.d.ts +16 -0
  368. package/lib/es/treeSelect/index.js +57 -10
  369. package/lib/es/typography/base.js +17 -7
  370. package/lib/es/typography/copyable.js +5 -1
  371. package/lib/es/upload/fileCard.js +23 -4
  372. package/lib/es/upload/index.js +19 -4
  373. package/list/item.tsx +0 -1
  374. package/modal/Modal.tsx +2 -0
  375. package/modal/ModalContent.tsx +35 -5
  376. package/navigation/Item.tsx +15 -0
  377. package/navigation/SubNav.tsx +13 -1
  378. package/navigation/index.tsx +1 -1
  379. package/notification/notice.tsx +19 -14
  380. package/package.json +8 -8
  381. package/pagination/index.tsx +9 -5
  382. package/popover/index.tsx +5 -0
  383. package/progress/_story/progress.stories.js +18 -18
  384. package/progress/index.tsx +58 -20
  385. package/radio/radio.tsx +12 -2
  386. package/radio/radioGroup.tsx +29 -3
  387. package/radio/radioInner.tsx +10 -1
  388. package/rating/index.tsx +19 -2
  389. package/rating/item.tsx +6 -0
  390. package/select/__test__/select.test.js +45 -0
  391. package/select/_story/select.stories.js +29 -0
  392. package/select/index.tsx +52 -4
  393. package/select/option.tsx +3 -0
  394. package/sideSheet/SideSheetContent.tsx +13 -9
  395. package/sideSheet/index.tsx +3 -2
  396. package/slider/__test__/slider.test.js +9 -0
  397. package/slider/_story/slider.stories.js +1 -1
  398. package/slider/index.tsx +44 -7
  399. package/spin/icon.tsx +3 -3
  400. package/steps/basicStep.tsx +15 -4
  401. package/steps/basicSteps.tsx +3 -2
  402. package/steps/fillStep.tsx +27 -12
  403. package/steps/fillSteps.tsx +2 -0
  404. package/steps/navStep.tsx +15 -4
  405. package/steps/navSteps.tsx +3 -2
  406. package/switch/_story/switch.stories.js +20 -19
  407. package/switch/_story/switch.stories.tsx +13 -13
  408. package/switch/index.tsx +23 -5
  409. package/table/Body/BaseRow.tsx +25 -1
  410. package/table/Body/index.tsx +7 -2
  411. package/table/ColumnFilter.tsx +7 -1
  412. package/table/ColumnSelection.tsx +4 -1
  413. package/table/ColumnSorter.tsx +18 -1
  414. package/table/CustomExpandIcon.tsx +5 -0
  415. package/table/Table.tsx +26 -13
  416. package/table/TableCell.tsx +11 -1
  417. package/table/TableHeaderRow.tsx +16 -2
  418. package/table/__test__/table.test.js +46 -0
  419. package/tabs/TabBar.tsx +8 -5
  420. package/tabs/TabPane.tsx +3 -1
  421. package/tabs/index.tsx +1 -2
  422. package/tagInput/__test__/tagInput.test.js +46 -0
  423. package/tagInput/_story/tagInput.stories.js +2 -2
  424. package/tagInput/index.tsx +31 -8
  425. package/timePicker/TimePicker.tsx +14 -1
  426. package/timeline/_story/timeline.stories.js +1 -1
  427. package/timeline/index.tsx +2 -2
  428. package/timeline/item.tsx +2 -1
  429. package/toast/toast.tsx +2 -0
  430. package/tooltip/TriangleArrow.tsx +1 -1
  431. package/tooltip/TriangleArrowVertical.tsx +1 -1
  432. package/tooltip/_story/tooltip.stories.js +562 -514
  433. package/tooltip/index.tsx +50 -33
  434. package/transfer/index.tsx +32 -28
  435. package/tree/_story/tree.stories.js +3 -3
  436. package/tree/index.tsx +10 -2
  437. package/tree/treeNode.tsx +46 -10
  438. package/treeSelect/__test__/treeMultiple.test.js +5 -0
  439. package/treeSelect/_story/treeSelect.stories.js +12 -0
  440. package/treeSelect/index.tsx +58 -7
  441. package/typography/base.tsx +7 -1
  442. package/typography/copyable.tsx +10 -1
  443. package/upload/fileCard.tsx +13 -15
  444. package/upload/index.tsx +10 -6
@@ -93,7 +93,8 @@ class CheckboxGroup extends _baseComponent.default {
93
93
  className,
94
94
  id,
95
95
  style,
96
- type
96
+ type,
97
+ disabled
97
98
  } = this.props;
98
99
  const isPureCardType = type === _constants.strings.TYPE_PURECARD;
99
100
  const isCardType = type === _constants.strings.TYPE_CARD || isPureCardType;
@@ -113,6 +114,7 @@ class CheckboxGroup extends _baseComponent.default {
113
114
  inner = (0, _map.default)(_context5 = options || []).call(_context5, (option, index) => {
114
115
  if (typeof option === 'string') {
115
116
  return /*#__PURE__*/_react.default.createElement(_checkbox.default, {
117
+ role: "listitem",
116
118
  key: index,
117
119
  disabled: this.props.disabled,
118
120
  value: option,
@@ -120,6 +122,7 @@ class CheckboxGroup extends _baseComponent.default {
120
122
  }, option);
121
123
  } else {
122
124
  return /*#__PURE__*/_react.default.createElement(_checkbox.default, {
125
+ role: "listitem",
123
126
  key: index,
124
127
  disabled: option.disabled || this.props.disabled,
125
128
  value: option.value,
@@ -135,14 +138,19 @@ class CheckboxGroup extends _baseComponent.default {
135
138
  var _context6;
136
139
 
137
140
  inner = (0, _map.default)(_context6 = _react.default.Children.toArray(children)).call(_context6, (itm, index) => /*#__PURE__*/_react.default.cloneElement(itm, {
138
- key: index
141
+ key: index,
142
+ role: 'listitem'
139
143
  }));
140
144
  }
141
145
 
142
146
  return /*#__PURE__*/_react.default.createElement("div", {
147
+ id: id,
148
+ role: "list",
149
+ "aria-label": this.props['aria-label'],
143
150
  className: prefixClsDisplay,
144
151
  style: style,
145
- id: id
152
+ "aria-labelledby": this.props['aria-labelledby'],
153
+ "aria-describedby": this.props['aria-describedby']
146
154
  }, /*#__PURE__*/_react.default.createElement(_context7.Context.Provider, {
147
155
  value: {
148
156
  checkboxGroup: {
@@ -160,6 +168,11 @@ class CheckboxGroup extends _baseComponent.default {
160
168
  }
161
169
 
162
170
  CheckboxGroup.propTypes = {
171
+ 'aria-describedby': _propTypes.default.string,
172
+ 'aria-errormessage': _propTypes.default.string,
173
+ 'aria-invalid': _propTypes.default.bool,
174
+ 'aria-labelledby': _propTypes.default.string,
175
+ 'aria-required': _propTypes.default.bool,
163
176
  defaultValue: _propTypes.default.array,
164
177
  disabled: _propTypes.default.bool,
165
178
  name: _propTypes.default.string,
@@ -1,6 +1,11 @@
1
1
  import React, { PureComponent } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  export interface CheckboxInnerProps {
4
+ 'aria-describedby'?: React.AriaAttributes['aria-describedby'];
5
+ 'aria-errormessage'?: React.AriaAttributes['aria-errormessage'];
6
+ 'aria-invalid'?: React.AriaAttributes['aria-invalid'];
7
+ 'aria-labelledby'?: React.AriaAttributes['aria-labelledby'];
8
+ 'aria-required'?: React.AriaAttributes['aria-required'];
4
9
  indeterminate?: boolean;
5
10
  checked?: boolean;
6
11
  disabled?: boolean;
@@ -8,6 +13,9 @@ export interface CheckboxInnerProps {
8
13
  name?: string;
9
14
  isPureCardType?: boolean;
10
15
  ref?: React.MutableRefObject<CheckboxInner> | ((ref: CheckboxInner) => void);
16
+ addonId?: string;
17
+ extraId?: string;
18
+ 'aria-label'?: React.AriaAttributes['aria-label'];
11
19
  }
12
20
  declare class CheckboxInner extends PureComponent<CheckboxInnerProps> {
13
21
  static contextType: React.Context<{
@@ -21,6 +29,11 @@ declare class CheckboxInner extends PureComponent<CheckboxInnerProps> {
21
29
  };
22
30
  }>;
23
31
  static propTypes: {
32
+ 'aria-describedby': PropTypes.Requireable<string>;
33
+ 'aria-errormessage': PropTypes.Requireable<string>;
34
+ 'aria-invalid': PropTypes.Requireable<boolean>;
35
+ 'aria-labelledby': PropTypes.Requireable<string>;
36
+ 'aria-required': PropTypes.Requireable<boolean>;
24
37
  checked: PropTypes.Requireable<boolean>;
25
38
  disabled: PropTypes.Requireable<boolean>;
26
39
  onChange: PropTypes.Requireable<(...args: any[]) => any>;
@@ -28,6 +41,8 @@ declare class CheckboxInner extends PureComponent<CheckboxInnerProps> {
28
41
  grouped: PropTypes.Requireable<boolean>;
29
42
  value: PropTypes.Requireable<any>;
30
43
  isPureCardType: PropTypes.Requireable<boolean>;
44
+ addonId: PropTypes.Requireable<string>;
45
+ extraId: PropTypes.Requireable<string>;
31
46
  };
32
47
  static defaultProps: {
33
48
  onChange: (...args: any[]) => void;
@@ -49,7 +49,9 @@ class CheckboxInner extends _react.PureComponent {
49
49
  disabled,
50
50
  prefixCls,
51
51
  name,
52
- isPureCardType
52
+ isPureCardType,
53
+ addonId,
54
+ extraId
53
55
  } = this.props;
54
56
  const prefix = prefixCls || _constants.checkboxClasses.PREFIX;
55
57
  const wrapper = (0, _classnames.default)({
@@ -64,10 +66,18 @@ class CheckboxInner extends _react.PureComponent {
64
66
  return /*#__PURE__*/_react.default.createElement("span", {
65
67
  className: wrapper
66
68
  }, /*#__PURE__*/_react.default.createElement("input", {
69
+ type: "checkbox",
70
+ "aria-label": this.props['aria-label'],
71
+ "aria-disabled": disabled,
72
+ "aria-checked": checked,
73
+ "aria-labelledby": addonId,
74
+ "aria-describedby": extraId || this.props['aria-describedby'],
75
+ "aria-invalid": this.props['aria-invalid'],
76
+ "aria-errormessage": this.props['aria-errormessage'],
77
+ "aria-required": this.props['aria-required'],
67
78
  ref: ref => {
68
79
  this.inputEntity = ref;
69
80
  },
70
- type: "checkbox",
71
81
  className: _constants.checkboxClasses.INPUT,
72
82
  onChange: _noop2.default,
73
83
  checked: checked,
@@ -82,13 +92,20 @@ class CheckboxInner extends _react.PureComponent {
82
92
 
83
93
  CheckboxInner.contextType = _context.Context;
84
94
  CheckboxInner.propTypes = {
95
+ 'aria-describedby': _propTypes.default.string,
96
+ 'aria-errormessage': _propTypes.default.string,
97
+ 'aria-invalid': _propTypes.default.bool,
98
+ 'aria-labelledby': _propTypes.default.string,
99
+ 'aria-required': _propTypes.default.bool,
85
100
  checked: _propTypes.default.bool,
86
101
  disabled: _propTypes.default.bool,
87
102
  onChange: _propTypes.default.func,
88
103
  children: _propTypes.default.node,
89
104
  grouped: _propTypes.default.bool,
90
105
  value: _propTypes.default.any,
91
- isPureCardType: _propTypes.default.bool
106
+ isPureCardType: _propTypes.default.bool,
107
+ addonId: _propTypes.default.string,
108
+ extraId: _propTypes.default.string
92
109
  };
93
110
  CheckboxInner.defaultProps = {
94
111
  onChange: _noop2.default
@@ -126,7 +126,8 @@ class Collapse extends _baseComponent.default {
126
126
  } = this.state;
127
127
  return /*#__PURE__*/_react.default.createElement("div", {
128
128
  className: clsPrefix,
129
- style: style
129
+ style: style,
130
+ "aria-label": "Collapse"
130
131
  }, /*#__PURE__*/_react.default.createElement(_collapseContext.default.Provider, {
131
132
  value: {
132
133
  activeSet,
@@ -1,4 +1,4 @@
1
- import React, { PureComponent, ReactNode, CSSProperties } from 'react';
1
+ import React, { CSSProperties, PureComponent, ReactNode } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { CollapseContextType } from './collapse-context';
4
4
  export interface CollapsePanelProps {
@@ -18,6 +18,7 @@ export default class CollapsePanel extends PureComponent<CollapsePanelProps> {
18
18
  className: PropTypes.Requireable<string>;
19
19
  reCalcKey: PropTypes.Requireable<string | number>;
20
20
  };
21
+ private ariaID;
21
22
  renderHeader(active: boolean, expandIconEnable?: boolean): JSX.Element;
22
23
  render(): JSX.Element;
23
24
  }
@@ -34,6 +34,8 @@ var _collapseContext = _interopRequireDefault(require("./collapse-context"));
34
34
 
35
35
  var _semiIcons = require("@douyinfe/semi-icons");
36
36
 
37
+ var _uuid = require("@douyinfe/semi-foundation/lib/cjs/utils/uuid");
38
+
37
39
  function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
38
40
 
39
41
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -50,6 +52,11 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
50
52
  };
51
53
 
52
54
  class CollapsePanel extends _react.PureComponent {
55
+ constructor() {
56
+ super(...arguments);
57
+ this.ariaID = (0, _uuid.getUuidShort)({});
58
+ }
59
+
53
60
  renderHeader(active) {
54
61
  let expandIconEnable = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
55
62
  const {
@@ -73,6 +80,7 @@ class CollapsePanel extends _react.PureComponent {
73
80
  }
74
81
 
75
82
  const icon = /*#__PURE__*/_react.default.createElement("span", {
83
+ "aria-hidden": 'true',
76
84
  className: (0, _classnames.default)(["".concat(_constants.cssClasses.PREFIX, "-header-icon"), {
77
85
  ["".concat(_constants.cssClasses.PREFIX, "-header-iconDisabled")]: !expandIconEnable
78
86
  }])
@@ -83,7 +91,9 @@ class CollapsePanel extends _react.PureComponent {
83
91
  if (typeof header === 'string') {
84
92
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, iconPosLeft ? icon : null, /*#__PURE__*/_react.default.createElement("span", null, header), /*#__PURE__*/_react.default.createElement("span", {
85
93
  className: "".concat(_constants.cssClasses.PREFIX, "-header-right")
86
- }, /*#__PURE__*/_react.default.createElement("span", null, extra), iconPosLeft ? null : icon));
94
+ }, /*#__PURE__*/_react.default.createElement("span", {
95
+ "aria-label": 'Extra of collapse header'
96
+ }, extra), iconPosLeft ? null : icon));
87
97
  }
88
98
 
89
99
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, iconPosLeft ? icon : null, header, iconPosLeft ? null : icon);
@@ -118,13 +128,14 @@ class CollapsePanel extends _react.PureComponent {
118
128
  ["".concat(_constants.cssClasses.PREFIX, "-content")]: true
119
129
  });
120
130
  return /*#__PURE__*/_react.default.createElement("div", (0, _assign.default)({
121
- role: "Collapse-panel",
131
+ "aria-label": 'Collapse panel',
122
132
  className: itemCls
123
133
  }, restProps), /*#__PURE__*/_react.default.createElement("div", {
124
134
  role: "button",
125
135
  tabIndex: 0,
126
136
  className: headerCls,
127
137
  "aria-expanded": active ? 'true' : 'false',
138
+ "aria-owns": this.ariaID,
128
139
  onClick: e => onClick(itemKey, e)
129
140
  }, this.renderHeader(active, children !== undefined)), children && /*#__PURE__*/_react.default.createElement(_collapsible.default, {
130
141
  isOpen: active,
@@ -132,7 +143,10 @@ class CollapsePanel extends _react.PureComponent {
132
143
  motion: motion,
133
144
  reCalcKey: reCalcKey
134
145
  }, /*#__PURE__*/_react.default.createElement("div", {
135
- className: contentCls
146
+ className: contentCls,
147
+ "aria-label": 'Collapse content',
148
+ "aria-hidden": !active,
149
+ id: this.ariaID
136
150
  }, /*#__PURE__*/_react.default.createElement("div", {
137
151
  className: "".concat(_constants.cssClasses.PREFIX, "-content-wrapper")
138
152
  }, children))));
@@ -11,6 +11,7 @@ export interface CollapsibleProps {
11
11
  style?: React.CSSProperties;
12
12
  collapseHeight?: number;
13
13
  reCalcKey?: number | string;
14
+ id?: string;
14
15
  }
15
16
  declare const Collapsible: {
16
17
  (props: CollapsibleProps): JSX.Element;
@@ -45,7 +45,8 @@ const Collapsible = props => {
45
45
  collapseHeight,
46
46
  style,
47
47
  className,
48
- reCalcKey
48
+ reCalcKey,
49
+ id
49
50
  } = props;
50
51
  const ref = (0, _react.useRef)(null);
51
52
  const [maxHeight, setMaxHeight] = (0, _react.useState)(0);
@@ -113,7 +114,8 @@ const Collapsible = props => {
113
114
  ref: setHeight,
114
115
  style: {
115
116
  overflow: 'hidden'
116
- }
117
+ },
118
+ id: id
117
119
  }, children));
118
120
  };
119
121
 
@@ -10,9 +10,15 @@ import { Locale } from '../locale/interface';
10
10
  import { RangeType } from '@douyinfe/semi-foundation/lib/cjs/datePicker/inputFoundation';
11
11
  import { TimePickerProps } from '../timePicker/TimePicker';
12
12
  export interface DatePickerProps extends DatePickerFoundationProps {
13
+ 'aria-describedby'?: React.AriaAttributes['aria-describedby'];
14
+ 'aria-errormessage'?: React.AriaAttributes['aria-errormessage'];
15
+ 'aria-invalid'?: React.AriaAttributes['aria-invalid'];
16
+ 'aria-labelledby'?: React.AriaAttributes['aria-labelledby'];
17
+ 'aria-required'?: React.AriaAttributes['aria-required'];
13
18
  timePickerOpts?: TimePickerProps;
14
19
  bottomSlot?: React.ReactNode;
15
20
  insetLabel?: React.ReactNode;
21
+ insetLabelId?: string;
16
22
  prefix?: React.ReactNode;
17
23
  topSlot?: React.ReactNode;
18
24
  renderDate?: (dayNumber?: number, fullDate?: string) => React.ReactNode;
@@ -29,6 +35,11 @@ export declare type DatePickerState = DatePickerFoundationState;
29
35
  export default class DatePicker extends BaseComponent<DatePickerProps, DatePickerState> {
30
36
  static contextType: React.Context<import("../configProvider/context").ContextValue>;
31
37
  static propTypes: {
38
+ 'aria-describedby': PropTypes.Requireable<string>;
39
+ 'aria-errormessage': PropTypes.Requireable<string>;
40
+ 'aria-invalid': PropTypes.Requireable<boolean>;
41
+ 'aria-labelledby': PropTypes.Requireable<string>;
42
+ 'aria-required': PropTypes.Requireable<boolean>;
32
43
  type: PropTypes.Requireable<"dateTime" | "date" | "month" | "dateRange" | "year" | "dateTimeRange">;
33
44
  size: PropTypes.Requireable<"default" | "small" | "large">;
34
45
  density: PropTypes.Requireable<"default" | "compact">;
@@ -58,6 +69,7 @@ export default class DatePicker extends BaseComponent<DatePickerProps, DatePicke
58
69
  prefixCls: PropTypes.Requireable<string>;
59
70
  prefix: PropTypes.Requireable<PropTypes.ReactNodeLike>;
60
71
  insetLabel: PropTypes.Requireable<PropTypes.ReactNodeLike>;
72
+ insetLabelId: PropTypes.Requireable<string>;
61
73
  zIndex: PropTypes.Requireable<number>;
62
74
  position: PropTypes.Requireable<"top" | "topLeft" | "topRight" | "left" | "leftTop" | "leftBottom" | "right" | "rightTop" | "rightBottom" | "bottom" | "bottomLeft" | "bottomRight" | "leftTopOver" | "rightTopOver">;
63
75
  getPopupContainer: PropTypes.Requireable<(...args: any[]) => any>;
@@ -278,6 +278,10 @@ class DatePicker extends _baseComponent.default {
278
278
  }
279
279
 
280
280
  this.clickOutSideHandler = e => {
281
+ if (this.adapter.needConfirm()) {
282
+ return;
283
+ }
284
+
281
285
  const triggerEl = this.triggerElRef && this.triggerElRef.current;
282
286
  const panelEl = this.panelRef && this.panelRef.current;
283
287
  const isInTrigger = triggerEl && triggerEl.contains(e.target);
@@ -462,7 +466,8 @@ class DatePicker extends _baseComponent.default {
462
466
  density,
463
467
  syncSwitchMonth,
464
468
  onPanelChange,
465
- timeZone
469
+ timeZone,
470
+ triggerRender
466
471
  } = this.props;
467
472
  const {
468
473
  value,
@@ -509,7 +514,8 @@ class DatePicker extends _baseComponent.default {
509
514
  syncSwitchMonth: syncSwitchMonth,
510
515
  onPanelChange: onPanelChange,
511
516
  timeZone: timeZone,
512
- focusRecordsRef: this.focusRecordsRef
517
+ focusRecordsRef: this.focusRecordsRef,
518
+ triggerRender: triggerRender
513
519
  });
514
520
  }
515
521
 
@@ -535,6 +541,7 @@ class DatePicker extends _baseComponent.default {
535
541
  disabled,
536
542
  showClear,
537
543
  insetLabel,
544
+ insetLabelId,
538
545
  placeholder,
539
546
  validateStatus,
540
547
  inputStyle,
@@ -575,6 +582,7 @@ class DatePicker extends _baseComponent.default {
575
582
  inputStyle,
576
583
  showClear,
577
584
  insetLabel,
585
+ insetLabelId,
578
586
  type,
579
587
  format,
580
588
  multiple,
@@ -617,7 +625,12 @@ class DatePicker extends _baseComponent.default {
617
625
  className: (0, _classnames.default)(className, {
618
626
  [prefixCls]: true
619
627
  }),
620
- ref: this.setTriggerRef
628
+ ref: this.setTriggerRef,
629
+ 'aria-invalid': this.props['aria-invalid'],
630
+ 'aria-errormessage': this.props['aria-errormessage'],
631
+ 'aria-labelledby': this.props['aria-labelledby'],
632
+ 'aria-describedby': this.props['aria-describedby'],
633
+ 'aria-required': this.props['aria-required']
621
634
  };
622
635
  const inner = this.renderInner();
623
636
  const wrappedInner = this.wrapPopover(inner);
@@ -629,6 +642,11 @@ class DatePicker extends _baseComponent.default {
629
642
  exports.default = DatePicker;
630
643
  DatePicker.contextType = _context5.default;
631
644
  DatePicker.propTypes = {
645
+ 'aria-describedby': _propTypes.default.string,
646
+ 'aria-errormessage': _propTypes.default.string,
647
+ 'aria-invalid': _propTypes.default.bool,
648
+ 'aria-labelledby': _propTypes.default.string,
649
+ 'aria-required': _propTypes.default.bool,
632
650
  type: _propTypes.default.oneOf(_constants.strings.TYPE_SET),
633
651
  size: _propTypes.default.oneOf(_constants.strings.SIZE_SET),
634
652
  density: _propTypes.default.oneOf(_constants.strings.DENSITY_SET),
@@ -658,6 +676,7 @@ DatePicker.propTypes = {
658
676
  prefixCls: _propTypes.default.string,
659
677
  prefix: _propTypes.default.node,
660
678
  insetLabel: _propTypes.default.node,
679
+ insetLabelId: _propTypes.default.string,
661
680
  zIndex: _propTypes.default.number,
662
681
  position: _propTypes.default.oneOf(_constants2.strings.POSITION_SET),
663
682
  getPopupContainer: _propTypes.default.func,
@@ -49,6 +49,7 @@ export default class MonthsGrid extends BaseComponent<MonthsGridProps, MonthsGri
49
49
  syncSwitchMonth: PropTypes.Requireable<boolean>;
50
50
  onPanelChange: PropTypes.Requireable<(...args: any[]) => any>;
51
51
  focusRecordsRef: PropTypes.Requireable<object>;
52
+ triggerRender: PropTypes.Requireable<(...args: any[]) => any>;
52
53
  };
53
54
  static defaultProps: {
54
55
  type: string;
@@ -695,7 +695,8 @@ MonthsGrid.propTypes = {
695
695
  syncSwitchMonth: _propTypes.default.bool,
696
696
  // Callback function for panel date switching
697
697
  onPanelChange: _propTypes.default.func,
698
- focusRecordsRef: _propTypes.default.object
698
+ focusRecordsRef: _propTypes.default.object,
699
+ triggerRender: _propTypes.default.func
699
700
  };
700
701
  MonthsGrid.defaultProps = {
701
702
  type: 'date',
@@ -96,7 +96,9 @@ class DropdownItem extends _baseComponent.default {
96
96
  }, icon);
97
97
  }
98
98
 
99
- return /*#__PURE__*/_react.default.createElement("li", (0, _assign.default)({}, events, {
99
+ return /*#__PURE__*/_react.default.createElement("li", (0, _assign.default)({
100
+ role: "menuitem"
101
+ }, events, {
100
102
  ref: ref => forwardRef(ref),
101
103
  className: itemclass,
102
104
  style: style
@@ -49,7 +49,10 @@ class DropdownMenu extends _baseComponent.default {
49
49
  } = _a,
50
50
  rest = __rest(_a, ["children", "className", "style"]);
51
51
 
52
- return /*#__PURE__*/_react.default.createElement("ul", (0, _assign.default)({}, rest, {
52
+ return /*#__PURE__*/_react.default.createElement("ul", (0, _assign.default)({
53
+ role: "menu",
54
+ "aria-orientation": "vertical"
55
+ }, rest, {
53
56
  className: (0, _classnames.default)("".concat(prefixCls, "-menu"), className),
54
57
  style: style
55
58
  }), children);
@@ -119,7 +119,8 @@ class Empty extends _baseComponent.default {
119
119
  };
120
120
  return /*#__PURE__*/_react.default.createElement("div", {
121
121
  className: wrapperCls,
122
- style: style
122
+ style: style,
123
+ "aria-label": "empty placeholder image"
123
124
  }, /*#__PURE__*/_react.default.createElement("div", {
124
125
  className: "".concat(prefixCls, "-image"),
125
126
  style: imageStyle
@@ -13,6 +13,7 @@ interface BaseFormState {
13
13
  }
14
14
  declare class Form extends BaseComponent<BaseFormProps, BaseFormState> {
15
15
  static propTypes: {
16
+ 'aria-label': PropTypes.Requireable<string>;
16
17
  onSubmit: PropTypes.Requireable<(...args: any[]) => any>;
17
18
  onSubmitFail: PropTypes.Requireable<(...args: any[]) => any>;
18
19
  onChange: PropTypes.Requireable<(...args: any[]) => any>;
@@ -36,6 +37,7 @@ declare class Form extends BaseComponent<BaseFormProps, BaseFormState> {
36
37
  disabled: PropTypes.Requireable<boolean>;
37
38
  showValidateIcon: PropTypes.Requireable<boolean>;
38
39
  extraTextPosition: PropTypes.Requireable<string>;
40
+ id: PropTypes.Requireable<string>;
39
41
  };
40
42
  static defaultProps: {
41
43
  onChange: (...args: any[]) => void;
@@ -53,8 +55,14 @@ declare class Form extends BaseComponent<BaseFormProps, BaseFormState> {
53
55
  static TextArea: React.ComponentType<import("utility-types").Subtract<Omit<import("../input").TextAreaProps, "forwardRef"> & React.RefAttributes<HTMLTextAreaElement>, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
54
56
  static InputNumber: React.ComponentType<import("utility-types").Subtract<import("../inputNumber").InputNumberProps & React.RefAttributes<HTMLInputElement>, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
55
57
  static Select: React.ComponentType<import("utility-types").Subtract<{
58
+ 'aria-describedby'?: string;
59
+ 'aria-errormessage'?: string;
60
+ 'aria-invalid'?: boolean | "true" | "false" | "grammar" | "spelling";
61
+ 'aria-labelledby'?: string;
62
+ 'aria-required'?: boolean | "true" | "false";
56
63
  id?: string;
57
64
  autoFocus?: boolean;
65
+ autoClearSearchValue?: boolean;
58
66
  arrowIcon?: React.ReactNode;
59
67
  defaultValue?: string | number | any[] | Record<string, any>;
60
68
  value?: string | number | any[] | Record<string, any>;
@@ -90,6 +98,7 @@ declare class Form extends BaseComponent<BaseFormProps, BaseFormState> {
90
98
  suffix?: React.ReactNode;
91
99
  prefix?: React.ReactNode;
92
100
  insetLabel?: React.ReactNode;
101
+ insetLabelId?: string;
93
102
  inputProps?: import("utility-types").Subtract<import("../input").InputProps, {
94
103
  value?: React.ReactText;
95
104
  onFocus?: (e: React.FocusEvent<HTMLInputElement, Element>) => void;
@@ -259,6 +259,7 @@ class Form extends _baseComponent.default {
259
259
  }
260
260
 
261
261
  Form.propTypes = {
262
+ 'aria-label': _propTypes.default.string,
262
263
  onSubmit: _propTypes.default.func,
263
264
  onSubmitFail: _propTypes.default.func,
264
265
 
@@ -284,7 +285,8 @@ Form.propTypes = {
284
285
  autoScrollToError: _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.object]),
285
286
  disabled: _propTypes.default.bool,
286
287
  showValidateIcon: _propTypes.default.bool,
287
- extraTextPosition: _propTypes.default.oneOf(_constants.strings.EXTRA_POS)
288
+ extraTextPosition: _propTypes.default.oneOf(_constants.strings.EXTRA_POS),
289
+ id: _propTypes.default.string
288
290
  };
289
291
  Form.defaultProps = {
290
292
  onChange: _noop2.default,
@@ -9,6 +9,8 @@ export interface ErrorMessageProps {
9
9
  validateStatus?: string;
10
10
  helpText?: React.ReactNode;
11
11
  isInInputGroup?: boolean;
12
+ errorMessageId?: string;
13
+ helpTextId?: string;
12
14
  }
13
15
  export default class ErrorMessage extends PureComponent<ErrorMessageProps> {
14
16
  static propTypes: {
@@ -19,6 +21,8 @@ export default class ErrorMessage extends PureComponent<ErrorMessageProps> {
19
21
  showValidateIcon: PropTypes.Requireable<boolean>;
20
22
  helpText: PropTypes.Requireable<PropTypes.ReactNodeLike>;
21
23
  isInInputGroup: PropTypes.Requireable<boolean>;
24
+ errorMessageId: PropTypes.Requireable<string>;
25
+ helpTextId: PropTypes.Requireable<string>;
22
26
  };
23
27
  generatorText(error: ReactFieldError): JSX.Element;
24
28
  render(): JSX.Element;
@@ -37,11 +37,26 @@ const prefix = _constants.cssClasses.PREFIX;
37
37
 
38
38
  class ErrorMessage extends _react.PureComponent {
39
39
  generatorText(error) {
40
+ const {
41
+ helpTextId,
42
+ errorMessageId
43
+ } = this.props;
44
+ const propsError = this.props.error;
45
+ let id = errorMessageId;
46
+
47
+ if (!propsError) {
48
+ id = helpTextId;
49
+ }
50
+
40
51
  if (typeof error === 'string') {
41
- return /*#__PURE__*/_react.default.createElement("span", null, error);
52
+ return /*#__PURE__*/_react.default.createElement("span", {
53
+ id: id
54
+ }, error);
42
55
  } else if ((0, _isArray.default)(error)) {
43
56
  const err = (0, _filter.default)(error).call(error, e => e);
44
- return err.length ? /*#__PURE__*/_react.default.createElement("span", null, err.join(', ')) : null;
57
+ return err.length ? /*#__PURE__*/_react.default.createElement("span", {
58
+ id: id
59
+ }, err.join(', ')) : null;
45
60
  } else if ( /*#__PURE__*/_react.default.isValidElement(error)) {
46
61
  return error;
47
62
  }
@@ -104,5 +119,8 @@ ErrorMessage.propTypes = {
104
119
  validateStatus: _propTypes.default.string,
105
120
  showValidateIcon: _propTypes.default.bool,
106
121
  helpText: _propTypes.default.node,
107
- isInInputGroup: _propTypes.default.bool
122
+ isInInputGroup: _propTypes.default.bool,
123
+ // internal props
124
+ errorMessageId: _propTypes.default.string,
125
+ helpTextId: _propTypes.default.string
108
126
  };
@@ -3,8 +3,14 @@ declare const FormInput: import("react").ComponentType<import("utility-types").S
3
3
  declare const FormInputNumber: import("react").ComponentType<import("utility-types").Subtract<import("../inputNumber/index").InputNumberProps & import("react").RefAttributes<HTMLInputElement>, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
4
4
  declare const FormTextArea: import("react").ComponentType<import("utility-types").Subtract<Omit<import("../input/textarea").TextAreaProps, "forwardRef"> & import("react").RefAttributes<HTMLTextAreaElement>, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps>;
5
5
  declare const FormSelect: import("react").ComponentType<import("utility-types").Subtract<{
6
+ 'aria-describedby'?: string;
7
+ 'aria-errormessage'?: string;
8
+ 'aria-invalid'?: boolean | "true" | "false" | "grammar" | "spelling";
9
+ 'aria-labelledby'?: string;
10
+ 'aria-required'?: boolean | "true" | "false";
6
11
  id?: string;
7
12
  autoFocus?: boolean;
13
+ autoClearSearchValue?: boolean;
8
14
  arrowIcon?: import("react").ReactNode;
9
15
  defaultValue?: string | number | any[] | Record<string, any>;
10
16
  value?: string | number | any[] | Record<string, any>;
@@ -40,6 +46,7 @@ declare const FormSelect: import("react").ComponentType<import("utility-types").
40
46
  suffix?: import("react").ReactNode;
41
47
  prefix?: import("react").ReactNode;
42
48
  insetLabel?: import("react").ReactNode;
49
+ insetLabelId?: string;
43
50
  inputProps?: import("utility-types").Subtract<import("../input/index").InputProps, {
44
51
  value?: import("react").ReactText;
45
52
  onFocus?: (e: import("react").FocusEvent<HTMLInputElement, Element>) => void;