@douyinfe/semi-ui 2.2.2 → 2.4.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 (441) hide show
  1. package/_base/_story/a11y.jsx +6 -6
  2. package/_base/_story/a11y.scss +0 -1
  3. package/_base/_story/index.scss +2 -5
  4. package/_utils/hooks/usePrevFocus.ts +16 -0
  5. package/_utils/index.ts +4 -0
  6. package/anchor/_story/anchor.stories.js +1 -1
  7. package/anchor/index.tsx +5 -2
  8. package/anchor/link.tsx +29 -4
  9. package/autoComplete/index.tsx +28 -1
  10. package/avatar/_story/avatar.stories.js +4 -4
  11. package/avatar/index.tsx +6 -4
  12. package/banner/index.tsx +2 -1
  13. package/breadcrumb/_story/breadcrumb.stories.js +22 -8
  14. package/breadcrumb/index.tsx +8 -1
  15. package/breadcrumb/item.tsx +1 -1
  16. package/button/Button.tsx +4 -0
  17. package/button/__test__/button.test.js +1 -1
  18. package/button/_story/button.stories.js +10 -10
  19. package/button/buttonGroup.tsx +4 -2
  20. package/button/splitButtonGroup.tsx +5 -2
  21. package/card/_story/card.stories.js +8 -1
  22. package/card/_story/card.stories.tsx +3 -0
  23. package/card/index.tsx +5 -2
  24. package/cascader/index.tsx +33 -5
  25. package/checkbox/_story/checkbox.stories.js +19 -12
  26. package/checkbox/checkbox.tsx +40 -5
  27. package/checkbox/checkboxGroup.tsx +30 -5
  28. package/checkbox/checkboxInner.tsx +25 -2
  29. package/collapse/index.tsx +1 -1
  30. package/collapse/item.tsx +12 -7
  31. package/collapsible/index.tsx +4 -2
  32. package/configProvider/_story/configProvider.stories.tsx +27 -0
  33. package/datePicker/datePicker.tsx +19 -0
  34. package/dist/css/semi.css +23 -12
  35. package/dist/css/semi.min.css +1 -1
  36. package/dist/umd/semi-ui.js +2502 -1249
  37. package/dist/umd/semi-ui.js.map +1 -1
  38. package/dist/umd/semi-ui.min.js +1 -1
  39. package/dist/umd/semi-ui.min.js.map +1 -1
  40. package/dropdown/dropdownItem.tsx +1 -1
  41. package/dropdown/dropdownMenu.tsx +1 -1
  42. package/dropdown/index.tsx +11 -3
  43. package/empty/index.tsx +4 -4
  44. package/form/_story/FormApi/formApiDemo.jsx +3 -2
  45. package/form/_story/Validate/validateDemo.jsx +1 -1
  46. package/form/_story/demo.jsx +12 -3
  47. package/form/_story/form.stories.js +0 -7
  48. package/form/baseForm.tsx +2 -0
  49. package/form/errorMessage.tsx +13 -2
  50. package/form/hoc/withField.tsx +37 -8
  51. package/form/index.tsx +0 -2
  52. package/form/interface.ts +2 -0
  53. package/form/label.tsx +4 -2
  54. package/input/index.tsx +49 -4
  55. package/input/inputGroup.tsx +9 -4
  56. package/input/textarea.tsx +30 -9
  57. package/inputNumber/__test__/inputNumber.test.js +36 -8
  58. package/inputNumber/index.tsx +30 -2
  59. package/layout/Sider.tsx +6 -2
  60. package/layout/index.tsx +4 -3
  61. package/lib/cjs/_utils/hooks/usePrevFocus.d.ts +2 -0
  62. package/lib/cjs/_utils/hooks/usePrevFocus.js +30 -0
  63. package/lib/cjs/_utils/index.d.ts +1 -0
  64. package/lib/cjs/_utils/index.js +6 -1
  65. package/lib/cjs/anchor/index.d.ts +2 -0
  66. package/lib/cjs/anchor/index.js +6 -1
  67. package/lib/cjs/anchor/link.d.ts +4 -1
  68. package/lib/cjs/anchor/link.js +39 -5
  69. package/lib/cjs/autoComplete/index.d.ts +17 -0
  70. package/lib/cjs/autoComplete/index.js +21 -2
  71. package/lib/cjs/avatar/index.d.ts +4 -3
  72. package/lib/cjs/avatar/index.js +15 -11
  73. package/lib/cjs/banner/index.js +4 -2
  74. package/lib/cjs/breadcrumb/index.d.ts +3 -0
  75. package/lib/cjs/breadcrumb/index.js +10 -4
  76. package/lib/cjs/breadcrumb/item.js +2 -2
  77. package/lib/cjs/button/Button.d.ts +2 -0
  78. package/lib/cjs/button/Button.js +4 -2
  79. package/lib/cjs/button/buttonGroup.d.ts +3 -0
  80. package/lib/cjs/button/buttonGroup.js +8 -4
  81. package/lib/cjs/button/index.d.ts +1 -0
  82. package/lib/cjs/button/splitButtonGroup.d.ts +3 -0
  83. package/lib/cjs/button/splitButtonGroup.js +5 -2
  84. package/lib/cjs/card/index.d.ts +3 -0
  85. package/lib/cjs/card/index.js +3 -1
  86. package/lib/cjs/cascader/index.d.ts +14 -0
  87. package/lib/cjs/cascader/index.js +35 -7
  88. package/lib/cjs/checkbox/checkbox.d.ts +21 -1
  89. package/lib/cjs/checkbox/checkbox.js +51 -17
  90. package/lib/cjs/checkbox/checkboxGroup.d.ts +13 -1
  91. package/lib/cjs/checkbox/checkboxGroup.js +16 -3
  92. package/lib/cjs/checkbox/checkboxInner.d.ts +15 -0
  93. package/lib/cjs/checkbox/checkboxInner.js +20 -3
  94. package/lib/cjs/collapse/item.d.ts +2 -1
  95. package/lib/cjs/collapse/item.js +12 -2
  96. package/lib/cjs/collapsible/index.d.ts +1 -0
  97. package/lib/cjs/collapsible/index.js +4 -2
  98. package/lib/cjs/datePicker/datePicker.d.ts +12 -0
  99. package/lib/cjs/datePicker/datePicker.js +14 -1
  100. package/lib/cjs/dropdown/dropdownItem.js +3 -1
  101. package/lib/cjs/dropdown/dropdownMenu.js +4 -1
  102. package/lib/cjs/dropdown/index.d.ts +10 -3
  103. package/lib/cjs/form/baseForm.d.ts +9 -0
  104. package/lib/cjs/form/baseForm.js +3 -1
  105. package/lib/cjs/form/errorMessage.d.ts +4 -0
  106. package/lib/cjs/form/errorMessage.js +21 -3
  107. package/lib/cjs/form/field.d.ts +7 -0
  108. package/lib/cjs/form/hoc/withField.js +49 -16
  109. package/lib/cjs/form/index.d.ts +0 -1
  110. package/lib/cjs/form/interface.d.ts +2 -0
  111. package/lib/cjs/form/label.d.ts +2 -0
  112. package/lib/cjs/form/label.js +5 -2
  113. package/lib/cjs/input/index.d.ts +16 -0
  114. package/lib/cjs/input/index.js +51 -15
  115. package/lib/cjs/input/inputGroup.d.ts +2 -1
  116. package/lib/cjs/input/inputGroup.js +11 -1
  117. package/lib/cjs/input/textarea.js +16 -3
  118. package/lib/cjs/inputNumber/index.d.ts +8 -0
  119. package/lib/cjs/inputNumber/index.js +35 -4
  120. package/lib/cjs/layout/Sider.d.ts +4 -0
  121. package/lib/cjs/layout/Sider.js +4 -1
  122. package/lib/cjs/layout/index.js +2 -0
  123. package/lib/cjs/list/index.d.ts +4 -4
  124. package/lib/cjs/list/item.js +0 -1
  125. package/lib/cjs/modal/Modal.js +2 -0
  126. package/lib/cjs/modal/ModalContent.d.ts +3 -1
  127. package/lib/cjs/modal/ModalContent.js +47 -5
  128. package/lib/cjs/navigation/Item.d.ts +4 -2
  129. package/lib/cjs/navigation/Item.js +25 -5
  130. package/lib/cjs/navigation/SubNav.d.ts +4 -2
  131. package/lib/cjs/navigation/SubNav.js +8 -1
  132. package/lib/cjs/navigation/index.js +2 -0
  133. package/lib/cjs/notification/notice.d.ts +1 -1
  134. package/lib/cjs/notification/notice.js +32 -22
  135. package/lib/cjs/pagination/index.js +16 -6
  136. package/lib/cjs/popover/index.js +7 -3
  137. package/lib/cjs/progress/index.d.ts +8 -0
  138. package/lib/cjs/progress/index.js +42 -9
  139. package/lib/cjs/radio/radio.d.ts +6 -1
  140. package/lib/cjs/radio/radio.js +17 -5
  141. package/lib/cjs/radio/radioGroup.d.ts +16 -1
  142. package/lib/cjs/radio/radioGroup.js +18 -3
  143. package/lib/cjs/radio/radioInner.d.ts +6 -1
  144. package/lib/cjs/radio/radioInner.js +11 -3
  145. package/lib/cjs/rating/index.d.ts +14 -0
  146. package/lib/cjs/rating/index.js +14 -3
  147. package/lib/cjs/rating/item.d.ts +2 -0
  148. package/lib/cjs/rating/item.js +6 -1
  149. package/lib/cjs/select/index.d.ts +16 -0
  150. package/lib/cjs/select/index.js +65 -19
  151. package/lib/cjs/select/option.js +28 -22
  152. package/lib/cjs/sideSheet/SideSheetContent.d.ts +1 -0
  153. package/lib/cjs/sideSheet/SideSheetContent.js +4 -1
  154. package/lib/cjs/sideSheet/index.d.ts +1 -0
  155. package/lib/cjs/sideSheet/index.js +2 -1
  156. package/lib/cjs/slider/index.d.ts +2 -1
  157. package/lib/cjs/slider/index.js +64 -17
  158. package/lib/cjs/spin/icon.js +3 -4
  159. package/lib/cjs/steps/basicStep.d.ts +3 -0
  160. package/lib/cjs/steps/basicStep.js +23 -25
  161. package/lib/cjs/steps/basicSteps.d.ts +1 -0
  162. package/lib/cjs/steps/basicSteps.js +2 -1
  163. package/lib/cjs/steps/fillStep.d.ts +3 -0
  164. package/lib/cjs/steps/fillStep.js +19 -4
  165. package/lib/cjs/steps/fillSteps.d.ts +1 -0
  166. package/lib/cjs/steps/fillSteps.js +2 -1
  167. package/lib/cjs/steps/navStep.d.ts +3 -0
  168. package/lib/cjs/steps/navStep.js +22 -25
  169. package/lib/cjs/steps/navSteps.d.ts +1 -0
  170. package/lib/cjs/steps/navSteps.js +2 -1
  171. package/lib/cjs/switch/index.d.ts +12 -0
  172. package/lib/cjs/switch/index.js +19 -4
  173. package/lib/cjs/table/Body/BaseRow.js +35 -3
  174. package/lib/cjs/table/Body/index.js +9 -1
  175. package/lib/cjs/table/ColumnFilter.js +4 -0
  176. package/lib/cjs/table/ColumnSelection.d.ts +3 -0
  177. package/lib/cjs/table/ColumnSelection.js +6 -2
  178. package/lib/cjs/table/ColumnSorter.js +19 -3
  179. package/lib/cjs/table/CustomExpandIcon.js +7 -1
  180. package/lib/cjs/table/Table.d.ts +2 -0
  181. package/lib/cjs/table/Table.js +35 -15
  182. package/lib/cjs/table/TableCell.d.ts +2 -0
  183. package/lib/cjs/table/TableCell.js +6 -2
  184. package/lib/cjs/table/TableHeaderRow.js +8 -2
  185. package/lib/cjs/tabs/TabBar.js +11 -3
  186. package/lib/cjs/tabs/TabPane.js +3 -1
  187. package/lib/cjs/tabs/index.js +0 -1
  188. package/lib/cjs/tagInput/index.d.ts +4 -1
  189. package/lib/cjs/tagInput/index.js +29 -3
  190. package/lib/cjs/timePicker/TimePicker.d.ts +14 -0
  191. package/lib/cjs/timePicker/TimePicker.js +11 -4
  192. package/lib/cjs/timePicker/index.d.ts +7 -0
  193. package/lib/cjs/timeline/index.d.ts +1 -1
  194. package/lib/cjs/timeline/index.js +1 -0
  195. package/lib/cjs/timeline/item.js +4 -2
  196. package/lib/cjs/toast/toast.js +2 -0
  197. package/lib/cjs/tooltip/TriangleArrow.js +1 -0
  198. package/lib/cjs/tooltip/TriangleArrowVertical.js +1 -0
  199. package/lib/cjs/tooltip/index.d.ts +16 -12
  200. package/lib/cjs/tooltip/index.js +55 -39
  201. package/lib/cjs/transfer/index.js +32 -14
  202. package/lib/cjs/tree/index.d.ts +1 -0
  203. package/lib/cjs/tree/index.js +15 -6
  204. package/lib/cjs/tree/treeNode.d.ts +12 -4
  205. package/lib/cjs/tree/treeNode.js +54 -5
  206. package/lib/cjs/treeSelect/index.d.ts +16 -0
  207. package/lib/cjs/treeSelect/index.js +60 -12
  208. package/lib/cjs/typography/base.js +18 -7
  209. package/lib/cjs/typography/copyable.js +6 -1
  210. package/lib/cjs/upload/fileCard.js +26 -7
  211. package/lib/cjs/upload/index.js +19 -4
  212. package/lib/es/_utils/hooks/usePrevFocus.d.ts +2 -0
  213. package/lib/es/_utils/hooks/usePrevFocus.js +15 -0
  214. package/lib/es/_utils/index.d.ts +1 -0
  215. package/lib/es/_utils/index.js +4 -1
  216. package/lib/es/anchor/index.d.ts +2 -0
  217. package/lib/es/anchor/index.js +6 -1
  218. package/lib/es/anchor/link.d.ts +4 -1
  219. package/lib/es/anchor/link.js +38 -5
  220. package/lib/es/autoComplete/index.d.ts +17 -0
  221. package/lib/es/autoComplete/index.js +21 -2
  222. package/lib/es/avatar/index.d.ts +4 -3
  223. package/lib/es/avatar/index.js +15 -11
  224. package/lib/es/banner/index.js +4 -2
  225. package/lib/es/breadcrumb/index.d.ts +3 -0
  226. package/lib/es/breadcrumb/index.js +10 -4
  227. package/lib/es/breadcrumb/item.js +2 -2
  228. package/lib/es/button/Button.d.ts +2 -0
  229. package/lib/es/button/Button.js +4 -2
  230. package/lib/es/button/buttonGroup.d.ts +3 -0
  231. package/lib/es/button/buttonGroup.js +8 -4
  232. package/lib/es/button/index.d.ts +1 -0
  233. package/lib/es/button/splitButtonGroup.d.ts +3 -0
  234. package/lib/es/button/splitButtonGroup.js +5 -2
  235. package/lib/es/card/index.d.ts +3 -0
  236. package/lib/es/card/index.js +3 -1
  237. package/lib/es/cascader/index.d.ts +14 -0
  238. package/lib/es/cascader/index.js +35 -7
  239. package/lib/es/checkbox/checkbox.d.ts +21 -1
  240. package/lib/es/checkbox/checkbox.js +50 -17
  241. package/lib/es/checkbox/checkboxGroup.d.ts +13 -1
  242. package/lib/es/checkbox/checkboxGroup.js +18 -5
  243. package/lib/es/checkbox/checkboxInner.d.ts +15 -0
  244. package/lib/es/checkbox/checkboxInner.js +20 -3
  245. package/lib/es/collapse/item.d.ts +2 -1
  246. package/lib/es/collapse/item.js +11 -2
  247. package/lib/es/collapsible/index.d.ts +1 -0
  248. package/lib/es/collapsible/index.js +4 -2
  249. package/lib/es/datePicker/datePicker.d.ts +12 -0
  250. package/lib/es/datePicker/datePicker.js +14 -1
  251. package/lib/es/dropdown/dropdownItem.js +3 -1
  252. package/lib/es/dropdown/dropdownMenu.js +4 -1
  253. package/lib/es/dropdown/index.d.ts +10 -3
  254. package/lib/es/form/baseForm.d.ts +9 -0
  255. package/lib/es/form/baseForm.js +3 -1
  256. package/lib/es/form/errorMessage.d.ts +4 -0
  257. package/lib/es/form/errorMessage.js +21 -3
  258. package/lib/es/form/field.d.ts +7 -0
  259. package/lib/es/form/hoc/withField.js +48 -15
  260. package/lib/es/form/index.d.ts +0 -1
  261. package/lib/es/form/index.js +0 -1
  262. package/lib/es/form/interface.d.ts +2 -0
  263. package/lib/es/form/label.d.ts +2 -0
  264. package/lib/es/form/label.js +5 -2
  265. package/lib/es/input/index.d.ts +16 -0
  266. package/lib/es/input/index.js +51 -15
  267. package/lib/es/input/inputGroup.d.ts +2 -1
  268. package/lib/es/input/inputGroup.js +11 -1
  269. package/lib/es/input/textarea.js +16 -3
  270. package/lib/es/inputNumber/index.d.ts +8 -0
  271. package/lib/es/inputNumber/index.js +36 -4
  272. package/lib/es/layout/Sider.d.ts +4 -0
  273. package/lib/es/layout/Sider.js +4 -1
  274. package/lib/es/layout/index.js +2 -0
  275. package/lib/es/list/index.d.ts +4 -4
  276. package/lib/es/list/item.js +0 -1
  277. package/lib/es/modal/Modal.js +2 -0
  278. package/lib/es/modal/ModalContent.d.ts +3 -1
  279. package/lib/es/modal/ModalContent.js +46 -5
  280. package/lib/es/navigation/Item.d.ts +4 -2
  281. package/lib/es/navigation/Item.js +25 -5
  282. package/lib/es/navigation/SubNav.d.ts +4 -2
  283. package/lib/es/navigation/SubNav.js +8 -1
  284. package/lib/es/navigation/index.js +2 -0
  285. package/lib/es/notification/notice.d.ts +1 -1
  286. package/lib/es/notification/notice.js +33 -24
  287. package/lib/es/pagination/index.js +16 -6
  288. package/lib/es/popover/index.js +7 -3
  289. package/lib/es/progress/index.d.ts +8 -0
  290. package/lib/es/progress/index.js +42 -9
  291. package/lib/es/radio/radio.d.ts +6 -1
  292. package/lib/es/radio/radio.js +16 -5
  293. package/lib/es/radio/radioGroup.d.ts +16 -1
  294. package/lib/es/radio/radioGroup.js +18 -3
  295. package/lib/es/radio/radioInner.d.ts +6 -1
  296. package/lib/es/radio/radioInner.js +11 -3
  297. package/lib/es/rating/index.d.ts +14 -0
  298. package/lib/es/rating/index.js +14 -3
  299. package/lib/es/rating/item.d.ts +2 -0
  300. package/lib/es/rating/item.js +6 -1
  301. package/lib/es/select/index.d.ts +16 -0
  302. package/lib/es/select/index.js +63 -17
  303. package/lib/es/select/option.js +28 -22
  304. package/lib/es/sideSheet/SideSheetContent.d.ts +1 -0
  305. package/lib/es/sideSheet/SideSheetContent.js +4 -1
  306. package/lib/es/sideSheet/index.d.ts +1 -0
  307. package/lib/es/sideSheet/index.js +2 -1
  308. package/lib/es/slider/index.d.ts +2 -1
  309. package/lib/es/slider/index.js +63 -16
  310. package/lib/es/spin/icon.js +3 -4
  311. package/lib/es/steps/basicStep.d.ts +3 -0
  312. package/lib/es/steps/basicStep.js +23 -23
  313. package/lib/es/steps/basicSteps.d.ts +1 -0
  314. package/lib/es/steps/basicSteps.js +2 -1
  315. package/lib/es/steps/fillStep.d.ts +3 -0
  316. package/lib/es/steps/fillStep.js +19 -4
  317. package/lib/es/steps/fillSteps.d.ts +1 -0
  318. package/lib/es/steps/fillSteps.js +2 -1
  319. package/lib/es/steps/navStep.d.ts +3 -0
  320. package/lib/es/steps/navStep.js +22 -23
  321. package/lib/es/steps/navSteps.d.ts +1 -0
  322. package/lib/es/steps/navSteps.js +2 -1
  323. package/lib/es/switch/index.d.ts +12 -0
  324. package/lib/es/switch/index.js +19 -4
  325. package/lib/es/table/Body/BaseRow.js +35 -3
  326. package/lib/es/table/Body/index.js +9 -2
  327. package/lib/es/table/ColumnFilter.js +4 -0
  328. package/lib/es/table/ColumnSelection.d.ts +3 -0
  329. package/lib/es/table/ColumnSelection.js +6 -2
  330. package/lib/es/table/ColumnSorter.js +17 -3
  331. package/lib/es/table/CustomExpandIcon.js +6 -1
  332. package/lib/es/table/Table.d.ts +2 -0
  333. package/lib/es/table/Table.js +35 -15
  334. package/lib/es/table/TableCell.d.ts +2 -0
  335. package/lib/es/table/TableCell.js +6 -2
  336. package/lib/es/table/TableHeaderRow.js +8 -2
  337. package/lib/es/tabs/TabBar.js +11 -3
  338. package/lib/es/tabs/TabPane.js +3 -1
  339. package/lib/es/tabs/index.js +0 -1
  340. package/lib/es/tagInput/index.d.ts +4 -1
  341. package/lib/es/tagInput/index.js +29 -3
  342. package/lib/es/timePicker/TimePicker.d.ts +14 -0
  343. package/lib/es/timePicker/TimePicker.js +11 -4
  344. package/lib/es/timePicker/index.d.ts +7 -0
  345. package/lib/es/timeline/index.d.ts +1 -1
  346. package/lib/es/timeline/index.js +1 -0
  347. package/lib/es/timeline/item.js +4 -2
  348. package/lib/es/toast/toast.js +2 -0
  349. package/lib/es/tooltip/TriangleArrow.js +1 -0
  350. package/lib/es/tooltip/TriangleArrowVertical.js +1 -0
  351. package/lib/es/tooltip/index.d.ts +16 -12
  352. package/lib/es/tooltip/index.js +53 -39
  353. package/lib/es/transfer/index.js +32 -14
  354. package/lib/es/tree/index.d.ts +1 -0
  355. package/lib/es/tree/index.js +15 -6
  356. package/lib/es/tree/treeNode.d.ts +12 -4
  357. package/lib/es/tree/treeNode.js +53 -5
  358. package/lib/es/treeSelect/index.d.ts +16 -0
  359. package/lib/es/treeSelect/index.js +57 -10
  360. package/lib/es/typography/base.js +17 -7
  361. package/lib/es/typography/copyable.js +5 -1
  362. package/lib/es/upload/fileCard.js +26 -7
  363. package/lib/es/upload/index.js +19 -4
  364. package/list/index.tsx +5 -5
  365. package/list/item.tsx +0 -1
  366. package/modal/Modal.tsx +2 -0
  367. package/modal/ModalContent.tsx +35 -5
  368. package/navigation/Item.tsx +15 -0
  369. package/navigation/SubNav.tsx +13 -1
  370. package/navigation/index.tsx +1 -1
  371. package/notification/notice.tsx +19 -14
  372. package/package.json +8 -8
  373. package/pagination/index.tsx +9 -5
  374. package/popover/index.tsx +5 -0
  375. package/progress/_story/progress.stories.js +18 -18
  376. package/progress/index.tsx +58 -20
  377. package/radio/radio.tsx +12 -2
  378. package/radio/radioGroup.tsx +29 -3
  379. package/radio/radioInner.tsx +10 -1
  380. package/rating/index.tsx +19 -2
  381. package/rating/item.tsx +6 -0
  382. package/select/__test__/select.test.js +45 -0
  383. package/select/_story/select.stories.js +29 -0
  384. package/select/index.tsx +57 -4
  385. package/select/option.tsx +3 -0
  386. package/sideSheet/SideSheetContent.tsx +6 -4
  387. package/sideSheet/index.tsx +3 -2
  388. package/slider/__test__/slider.test.js +9 -0
  389. package/slider/_story/slider.stories.js +1 -1
  390. package/slider/index.tsx +44 -7
  391. package/spin/icon.tsx +4 -3
  392. package/steps/basicStep.tsx +15 -4
  393. package/steps/basicSteps.tsx +3 -2
  394. package/steps/fillStep.tsx +27 -12
  395. package/steps/fillSteps.tsx +2 -0
  396. package/steps/navStep.tsx +15 -4
  397. package/steps/navSteps.tsx +3 -2
  398. package/switch/_story/switch.stories.js +20 -19
  399. package/switch/_story/switch.stories.tsx +13 -13
  400. package/switch/index.tsx +23 -5
  401. package/table/Body/BaseRow.tsx +25 -1
  402. package/table/Body/index.tsx +7 -2
  403. package/table/ColumnFilter.tsx +7 -1
  404. package/table/ColumnSelection.tsx +4 -1
  405. package/table/ColumnSorter.tsx +18 -1
  406. package/table/CustomExpandIcon.tsx +5 -0
  407. package/table/Table.tsx +30 -14
  408. package/table/TableCell.tsx +11 -1
  409. package/table/TableHeaderRow.tsx +16 -2
  410. package/table/__test__/table.test.js +46 -0
  411. package/table/_story/table.stories.js +2 -0
  412. package/table/_story/v2/FixedColumnsChange/index.jsx +104 -0
  413. package/table/_story/v2/FixedZIndex/index.jsx +87 -0
  414. package/tabs/TabBar.tsx +8 -5
  415. package/tabs/TabPane.tsx +3 -1
  416. package/tabs/index.tsx +0 -1
  417. package/tagInput/__test__/tagInput.test.js +46 -0
  418. package/tagInput/_story/tagInput.stories.js +2 -2
  419. package/tagInput/index.tsx +31 -8
  420. package/timePicker/TimePicker.tsx +17 -2
  421. package/timePicker/__test__/timePicker.test.js +34 -3
  422. package/timePicker/_story/timepicker.stories.js +18 -0
  423. package/timeline/_story/timeline.stories.js +1 -1
  424. package/timeline/index.tsx +2 -2
  425. package/timeline/item.tsx +2 -1
  426. package/toast/toast.tsx +2 -0
  427. package/tooltip/TriangleArrow.tsx +1 -1
  428. package/tooltip/TriangleArrowVertical.tsx +1 -1
  429. package/tooltip/_story/tooltip.stories.js +562 -514
  430. package/tooltip/index.tsx +51 -33
  431. package/transfer/index.tsx +29 -25
  432. package/tree/_story/tree.stories.js +3 -3
  433. package/tree/index.tsx +10 -2
  434. package/tree/treeNode.tsx +54 -11
  435. package/treeSelect/__test__/treeMultiple.test.js +5 -0
  436. package/treeSelect/_story/treeSelect.stories.js +12 -0
  437. package/treeSelect/index.tsx +58 -7
  438. package/typography/base.tsx +7 -1
  439. package/typography/copyable.tsx +10 -1
  440. package/upload/fileCard.tsx +14 -16
  441. package/upload/index.tsx +10 -6
@@ -14,6 +14,7 @@ import CheckboxInner from './checkboxInner';
14
14
  import BaseComponent from '../_base/baseComponent';
15
15
  import '@douyinfe/semi-foundation/lib/es/checkbox/checkbox.css';
16
16
  import { Context } from './context';
17
+ import { getUuidShort } from '@douyinfe/semi-foundation/lib/es/utils/uuid';
17
18
 
18
19
  class Checkbox extends BaseComponent {
19
20
  constructor(props) {
@@ -21,11 +22,19 @@ class Checkbox extends BaseComponent {
21
22
 
22
23
  this.handleChange = e => this.foundation.handleChange(e);
23
24
 
25
+ this.handleEnterPress = e => this.foundation.handleEnterPress(e);
26
+
24
27
  const checked = false;
25
28
  this.state = {
26
29
  checked: props.checked || props.defaultChecked || checked
27
30
  };
28
31
  this.checkboxEntity = null;
32
+ this.addonId = getUuidShort({
33
+ prefix: 'addon'
34
+ });
35
+ this.extraId = getUuidShort({
36
+ prefix: 'extra'
37
+ });
29
38
  this.foundation = new CheckboxFoundation(this.adapter);
30
39
  }
31
40
 
@@ -85,6 +94,8 @@ class Checkbox extends BaseComponent {
85
94
  onMouseLeave,
86
95
  extra,
87
96
  value,
97
+ role,
98
+ tabIndex,
88
99
  id
89
100
  } = this.props;
90
101
  const {
@@ -94,8 +105,9 @@ class Checkbox extends BaseComponent {
94
105
  checked,
95
106
  disabled
96
107
  };
108
+ const inGroup = this.isInGroup();
97
109
 
98
- if (this.isInGroup()) {
110
+ if (inGroup) {
99
111
  if (this.context.checkboxGroup.value) {
100
112
  var _context;
101
113
 
@@ -132,34 +144,52 @@ class Checkbox extends BaseComponent {
132
144
  const extraCls = classnames("".concat(prefix, "-extra"), {
133
145
  ["".concat(prefix, "-cardType_extra_noChildren")]: props.isCardType && !children
134
146
  });
135
- const name = this.isInGroup() && this.context.checkboxGroup.name;
147
+ const name = inGroup && this.context.checkboxGroup.name;
136
148
 
137
149
  const renderContent = () => /*#__PURE__*/React.createElement(React.Fragment, null, children ? /*#__PURE__*/React.createElement("span", {
150
+ id: this.addonId,
138
151
  className: "".concat(prefix, "-addon")
139
152
  }, children) : null, extra ? /*#__PURE__*/React.createElement("div", {
153
+ id: this.extraId,
140
154
  className: extraCls
141
155
  }, extra) : null);
142
156
 
143
- return /*#__PURE__*/React.createElement("span", {
144
- style: style,
145
- className: wrapper,
146
- id: id,
147
- onMouseEnter: onMouseEnter,
148
- onMouseLeave: onMouseLeave,
149
- onClick: this.handleChange
150
- }, /*#__PURE__*/React.createElement(CheckboxInner, _Object$assign({}, this.props, props, {
151
- name: name,
152
- isPureCardType: props.isPureCardType,
153
- ref: ref => {
154
- this.checkboxEntity = ref;
155
- }
156
- })), props.isCardType ? /*#__PURE__*/React.createElement("div", null, renderContent()) : renderContent());
157
+ return (
158
+ /*#__PURE__*/
159
+ // label is better than span, however span is here which is to solve gitlab issue #364
160
+ // eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions
161
+ React.createElement("span", {
162
+ role: role,
163
+ tabIndex: tabIndex,
164
+ style: style,
165
+ className: wrapper,
166
+ id: id,
167
+ onMouseEnter: onMouseEnter,
168
+ onMouseLeave: onMouseLeave,
169
+ onClick: this.handleChange,
170
+ onKeyPress: this.handleEnterPress,
171
+ "aria-labelledby": this.props['aria-labelledby']
172
+ }, /*#__PURE__*/React.createElement(CheckboxInner, _Object$assign({}, this.props, props, {
173
+ addonId: children && this.addonId,
174
+ extraId: extra && this.extraId,
175
+ name: name,
176
+ isPureCardType: props.isPureCardType,
177
+ ref: ref => {
178
+ this.checkboxEntity = ref;
179
+ }
180
+ })), props.isCardType ? /*#__PURE__*/React.createElement("div", null, renderContent()) : renderContent())
181
+ );
157
182
  }
158
183
 
159
184
  }
160
185
 
161
186
  Checkbox.contextType = Context;
162
187
  Checkbox.propTypes = {
188
+ 'aria-describedby': PropTypes.string,
189
+ 'aria-errormessage': PropTypes.string,
190
+ 'aria-invalid': PropTypes.bool,
191
+ 'aria-labelledby': PropTypes.string,
192
+ 'aria-required': PropTypes.bool,
163
193
  // Specifies whether it is currently selected
164
194
  checked: PropTypes.bool,
165
195
  // Initial check
@@ -176,7 +206,10 @@ Checkbox.propTypes = {
176
206
  prefixCls: PropTypes.string,
177
207
  onMouseEnter: PropTypes.func,
178
208
  onMouseLeave: PropTypes.func,
179
- extra: PropTypes.node
209
+ extra: PropTypes.node,
210
+ index: PropTypes.number,
211
+ 'aria-label': PropTypes.string,
212
+ tabIndex: PropTypes.number
180
213
  };
181
214
  Checkbox.defaultProps = {
182
215
  defaultChecked: false,
@@ -1,11 +1,16 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
- import { CheckboxGroupAdapter } from '@douyinfe/semi-foundation/lib/es/checkbox/checkboxGroupFoundation';
3
+ import CheckboxGroupFoundation, { CheckboxGroupAdapter } from '@douyinfe/semi-foundation/lib/es/checkbox/checkboxGroupFoundation';
4
4
  import BaseComponent from '../_base/baseComponent';
5
5
  import { CheckboxEvent } from './checkbox';
6
6
  export declare type CheckboxDirection = 'horizontal' | 'vertical';
7
7
  export declare type CheckboxType = 'default' | 'card' | 'pureCard';
8
8
  export declare type CheckboxGroupProps = {
9
+ 'aria-describedby'?: React.AriaAttributes['aria-describedby'];
10
+ 'aria-errormessage'?: React.AriaAttributes['aria-errormessage'];
11
+ 'aria-invalid'?: React.AriaAttributes['aria-invalid'];
12
+ 'aria-labelledby'?: React.AriaAttributes['aria-labelledby'];
13
+ 'aria-required'?: React.AriaAttributes['aria-required'];
9
14
  defaultValue?: any[];
10
15
  disabled?: boolean;
11
16
  name?: string;
@@ -19,12 +24,18 @@ export declare type CheckboxGroupProps = {
19
24
  className?: string;
20
25
  type?: CheckboxType;
21
26
  id?: string;
27
+ 'aria-label'?: React.AriaAttributes['aria-label'];
22
28
  };
23
29
  export declare type CheckboxGroupState = {
24
30
  value?: any[];
25
31
  };
26
32
  declare class CheckboxGroup extends BaseComponent<CheckboxGroupProps, CheckboxGroupState> {
27
33
  static propTypes: {
34
+ 'aria-describedby': PropTypes.Requireable<string>;
35
+ 'aria-errormessage': PropTypes.Requireable<string>;
36
+ 'aria-invalid': PropTypes.Requireable<boolean>;
37
+ 'aria-labelledby': PropTypes.Requireable<string>;
38
+ 'aria-required': PropTypes.Requireable<boolean>;
28
39
  defaultValue: PropTypes.Requireable<any[]>;
29
40
  disabled: PropTypes.Requireable<boolean>;
30
41
  name: PropTypes.Requireable<string>;
@@ -40,6 +51,7 @@ declare class CheckboxGroup extends BaseComponent<CheckboxGroupProps, CheckboxGr
40
51
  };
41
52
  static defaultProps: Partial<CheckboxGroupProps>;
42
53
  get adapter(): CheckboxGroupAdapter;
54
+ foundation: CheckboxGroupFoundation;
43
55
  constructor(props: CheckboxGroupProps);
44
56
  componentDidMount(): void;
45
57
  componentDidUpdate(prevProps: CheckboxGroupProps): void;
@@ -10,7 +10,7 @@ import React from 'react';
10
10
  import PropTypes from 'prop-types';
11
11
  import classnames from 'classnames';
12
12
  import { checkboxGroupClasses as css, strings } from '@douyinfe/semi-foundation/lib/es/checkbox/constants';
13
- import CheckboxGroupFoudation from '@douyinfe/semi-foundation/lib/es/checkbox/checkboxGroupFoundation';
13
+ import CheckboxGroupFoundation from '@douyinfe/semi-foundation/lib/es/checkbox/checkboxGroupFoundation';
14
14
  import BaseComponent from '../_base/baseComponent';
15
15
  import { Context } from './context';
16
16
  import Checkbox from './checkbox';
@@ -23,7 +23,7 @@ class CheckboxGroup extends BaseComponent {
23
23
  this.state = {
24
24
  value: props.value || props.defaultValue
25
25
  };
26
- this.foundation = new CheckboxGroupFoudation(this.adapter);
26
+ this.foundation = new CheckboxGroupFoundation(this.adapter);
27
27
  this.onChange = _bindInstanceProperty(_context = this.onChange).call(_context, this);
28
28
  }
29
29
 
@@ -69,7 +69,8 @@ class CheckboxGroup extends BaseComponent {
69
69
  className,
70
70
  id,
71
71
  style,
72
- type
72
+ type,
73
+ disabled
73
74
  } = this.props;
74
75
  const isPureCardType = type === strings.TYPE_PURECARD;
75
76
  const isCardType = type === strings.TYPE_CARD || isPureCardType;
@@ -91,6 +92,7 @@ class CheckboxGroup extends BaseComponent {
91
92
  inner = _mapInstanceProperty(_context5 = options || []).call(_context5, (option, index) => {
92
93
  if (typeof option === 'string') {
93
94
  return /*#__PURE__*/React.createElement(Checkbox, {
95
+ role: "listitem",
94
96
  key: index,
95
97
  disabled: this.props.disabled,
96
98
  value: option,
@@ -98,6 +100,7 @@ class CheckboxGroup extends BaseComponent {
98
100
  }, option);
99
101
  } else {
100
102
  return /*#__PURE__*/React.createElement(Checkbox, {
103
+ role: "listitem",
101
104
  key: index,
102
105
  disabled: option.disabled || this.props.disabled,
103
106
  value: option.value,
@@ -113,14 +116,19 @@ class CheckboxGroup extends BaseComponent {
113
116
  var _context6;
114
117
 
115
118
  inner = _mapInstanceProperty(_context6 = React.Children.toArray(children)).call(_context6, (itm, index) => /*#__PURE__*/React.cloneElement(itm, {
116
- key: index
119
+ key: index,
120
+ role: 'listitem'
117
121
  }));
118
122
  }
119
123
 
120
124
  return /*#__PURE__*/React.createElement("div", {
125
+ id: id,
126
+ role: "list",
127
+ "aria-label": this.props['aria-label'],
121
128
  className: prefixClsDisplay,
122
129
  style: style,
123
- id: id
130
+ "aria-labelledby": this.props['aria-labelledby'],
131
+ "aria-describedby": this.props['aria-describedby']
124
132
  }, /*#__PURE__*/React.createElement(Context.Provider, {
125
133
  value: {
126
134
  checkboxGroup: {
@@ -138,6 +146,11 @@ class CheckboxGroup extends BaseComponent {
138
146
  }
139
147
 
140
148
  CheckboxGroup.propTypes = {
149
+ 'aria-describedby': PropTypes.string,
150
+ 'aria-errormessage': PropTypes.string,
151
+ 'aria-invalid': PropTypes.bool,
152
+ 'aria-labelledby': PropTypes.string,
153
+ 'aria-required': PropTypes.bool,
141
154
  defaultValue: PropTypes.array,
142
155
  disabled: PropTypes.bool,
143
156
  name: PropTypes.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;
@@ -24,7 +24,9 @@ class CheckboxInner extends PureComponent {
24
24
  disabled,
25
25
  prefixCls,
26
26
  name,
27
- isPureCardType
27
+ isPureCardType,
28
+ addonId,
29
+ extraId
28
30
  } = this.props;
29
31
  const prefix = prefixCls || css.PREFIX;
30
32
  const wrapper = classnames({
@@ -39,10 +41,18 @@ class CheckboxInner extends PureComponent {
39
41
  return /*#__PURE__*/React.createElement("span", {
40
42
  className: wrapper
41
43
  }, /*#__PURE__*/React.createElement("input", {
44
+ type: "checkbox",
45
+ "aria-label": this.props['aria-label'],
46
+ "aria-disabled": disabled,
47
+ "aria-checked": checked,
48
+ "aria-labelledby": addonId,
49
+ "aria-describedby": extraId || this.props['aria-describedby'],
50
+ "aria-invalid": this.props['aria-invalid'],
51
+ "aria-errormessage": this.props['aria-errormessage'],
52
+ "aria-required": this.props['aria-required'],
42
53
  ref: ref => {
43
54
  this.inputEntity = ref;
44
55
  },
45
- type: "checkbox",
46
56
  className: css.INPUT,
47
57
  onChange: _noop,
48
58
  checked: checked,
@@ -57,13 +67,20 @@ class CheckboxInner extends PureComponent {
57
67
 
58
68
  CheckboxInner.contextType = Context;
59
69
  CheckboxInner.propTypes = {
70
+ 'aria-describedby': PropTypes.string,
71
+ 'aria-errormessage': PropTypes.string,
72
+ 'aria-invalid': PropTypes.bool,
73
+ 'aria-labelledby': PropTypes.string,
74
+ 'aria-required': PropTypes.bool,
60
75
  checked: PropTypes.bool,
61
76
  disabled: PropTypes.bool,
62
77
  onChange: PropTypes.func,
63
78
  children: PropTypes.node,
64
79
  grouped: PropTypes.bool,
65
80
  value: PropTypes.any,
66
- isPureCardType: PropTypes.bool
81
+ isPureCardType: PropTypes.bool,
82
+ addonId: PropTypes.string,
83
+ extraId: PropTypes.string
67
84
  };
68
85
  CheckboxInner.defaultProps = {
69
86
  onChange: _noop
@@ -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
  }
@@ -20,7 +20,13 @@ import { cssClasses } from '@douyinfe/semi-foundation/lib/es/collapse/constants'
20
20
  import Collapsible from '../collapsible';
21
21
  import CollapseContext from './collapse-context';
22
22
  import { IconChevronDown, IconChevronUp } from '@douyinfe/semi-icons';
23
+ import { getUuidShort } from '@douyinfe/semi-foundation/lib/es/utils/uuid';
23
24
  export default class CollapsePanel extends PureComponent {
25
+ constructor() {
26
+ super(...arguments);
27
+ this.ariaID = getUuidShort({});
28
+ }
29
+
24
30
  renderHeader(active) {
25
31
  let expandIconEnable = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
26
32
  const {
@@ -44,6 +50,7 @@ export default class CollapsePanel extends PureComponent {
44
50
  }
45
51
 
46
52
  const icon = /*#__PURE__*/React.createElement("span", {
53
+ "aria-hidden": 'true',
47
54
  className: cls(["".concat(cssClasses.PREFIX, "-header-icon"), {
48
55
  ["".concat(cssClasses.PREFIX, "-header-iconDisabled")]: !expandIconEnable
49
56
  }])
@@ -88,13 +95,13 @@ export default class CollapsePanel extends PureComponent {
88
95
  ["".concat(cssClasses.PREFIX, "-content")]: true
89
96
  });
90
97
  return /*#__PURE__*/React.createElement("div", _Object$assign({
91
- role: "Collapse-panel",
92
98
  className: itemCls
93
99
  }, restProps), /*#__PURE__*/React.createElement("div", {
94
100
  role: "button",
95
101
  tabIndex: 0,
96
102
  className: headerCls,
97
103
  "aria-expanded": active ? 'true' : 'false',
104
+ "aria-owns": this.ariaID,
98
105
  onClick: e => onClick(itemKey, e)
99
106
  }, this.renderHeader(active, children !== undefined)), children && /*#__PURE__*/React.createElement(Collapsible, {
100
107
  isOpen: active,
@@ -102,7 +109,9 @@ export default class CollapsePanel extends PureComponent {
102
109
  motion: motion,
103
110
  reCalcKey: reCalcKey
104
111
  }, /*#__PURE__*/React.createElement("div", {
105
- className: contentCls
112
+ className: contentCls,
113
+ "aria-hidden": !active,
114
+ id: this.ariaID
106
115
  }, /*#__PURE__*/React.createElement("div", {
107
116
  className: "".concat(cssClasses.PREFIX, "-content-wrapper")
108
117
  }, 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;
@@ -18,7 +18,8 @@ const Collapsible = props => {
18
18
  collapseHeight,
19
19
  style,
20
20
  className,
21
- reCalcKey
21
+ reCalcKey,
22
+ id
22
23
  } = props;
23
24
  const ref = useRef(null);
24
25
  const [maxHeight, setMaxHeight] = useState(0);
@@ -87,7 +88,8 @@ const Collapsible = props => {
87
88
  ref: setHeight,
88
89
  style: {
89
90
  overflow: 'hidden'
90
- }
91
+ },
92
+ id: id
91
93
  }, children));
92
94
  };
93
95
 
@@ -10,9 +10,15 @@ import { Locale } from '../locale/interface';
10
10
  import { RangeType } from '@douyinfe/semi-foundation/lib/es/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>;
@@ -508,6 +508,7 @@ export default class DatePicker extends BaseComponent {
508
508
  disabled,
509
509
  showClear,
510
510
  insetLabel,
511
+ insetLabelId,
511
512
  placeholder,
512
513
  validateStatus,
513
514
  inputStyle,
@@ -548,6 +549,7 @@ export default class DatePicker extends BaseComponent {
548
549
  inputStyle,
549
550
  showClear,
550
551
  insetLabel,
552
+ insetLabelId,
551
553
  type,
552
554
  format,
553
555
  multiple,
@@ -591,7 +593,12 @@ export default class DatePicker extends BaseComponent {
591
593
  className: classnames(className, {
592
594
  [prefixCls]: true
593
595
  }),
594
- ref: this.setTriggerRef
596
+ ref: this.setTriggerRef,
597
+ 'aria-invalid': this.props['aria-invalid'],
598
+ 'aria-errormessage': this.props['aria-errormessage'],
599
+ 'aria-labelledby': this.props['aria-labelledby'],
600
+ 'aria-describedby': this.props['aria-describedby'],
601
+ 'aria-required': this.props['aria-required']
595
602
  };
596
603
  const inner = this.renderInner();
597
604
  const wrappedInner = this.wrapPopover(inner);
@@ -601,6 +608,11 @@ export default class DatePicker extends BaseComponent {
601
608
  }
602
609
  DatePicker.contextType = ConfigContext;
603
610
  DatePicker.propTypes = {
611
+ 'aria-describedby': PropTypes.string,
612
+ 'aria-errormessage': PropTypes.string,
613
+ 'aria-invalid': PropTypes.bool,
614
+ 'aria-labelledby': PropTypes.string,
615
+ 'aria-required': PropTypes.bool,
604
616
  type: PropTypes.oneOf(strings.TYPE_SET),
605
617
  size: PropTypes.oneOf(strings.SIZE_SET),
606
618
  density: PropTypes.oneOf(strings.DENSITY_SET),
@@ -630,6 +642,7 @@ DatePicker.propTypes = {
630
642
  prefixCls: PropTypes.string,
631
643
  prefix: PropTypes.node,
632
644
  insetLabel: PropTypes.node,
645
+ insetLabelId: PropTypes.string,
633
646
  zIndex: PropTypes.number,
634
647
  position: PropTypes.oneOf(popoverStrings.POSITION_SET),
635
648
  getPopupContainer: PropTypes.func,
@@ -73,7 +73,9 @@ class DropdownItem extends BaseComponent {
73
73
  }, icon);
74
74
  }
75
75
 
76
- return /*#__PURE__*/React.createElement("li", _Object$assign({}, events, {
76
+ return /*#__PURE__*/React.createElement("li", _Object$assign({
77
+ role: "menuitem"
78
+ }, events, {
77
79
  ref: ref => forwardRef(ref),
78
80
  className: itemclass,
79
81
  style: style
@@ -30,7 +30,10 @@ class DropdownMenu extends BaseComponent {
30
30
  } = _a,
31
31
  rest = __rest(_a, ["children", "className", "style"]);
32
32
 
33
- return /*#__PURE__*/React.createElement("ul", _Object$assign({}, rest, {
33
+ return /*#__PURE__*/React.createElement("ul", _Object$assign({
34
+ role: "menu",
35
+ "aria-orientation": "vertical"
36
+ }, rest, {
34
37
  className: classnames("".concat(prefixCls, "-menu"), className),
35
38
  style: style
36
39
  }), children);
@@ -12,11 +12,18 @@ export { DropdownDividerProps } from './dropdownDivider';
12
12
  export { DropdownItemProps, Type } from './dropdownItem';
13
13
  export { DropdownMenuProps } from './dropdownMenu';
14
14
  export { DropdownTitleProps } from './dropdownTitle';
15
- export interface DropDownMenuItemBasic {
16
- node: 'title' | 'item' | 'divider';
15
+ export interface DropDownMenuItemItem extends DropdownItemProps {
16
+ node: 'item';
17
17
  name?: string;
18
18
  }
19
- export declare type DropDownMenuItem = DropDownMenuItemBasic & DropdownItemProps & DropdownDividerProps & DropdownTitleProps;
19
+ export interface DropDownMenuItemDivider extends DropdownDividerProps {
20
+ node: 'divider';
21
+ }
22
+ export interface DropDownMenuItemTitle extends DropdownTitleProps {
23
+ node: 'title';
24
+ name?: string;
25
+ }
26
+ export declare type DropDownMenuItem = DropDownMenuItemItem | DropDownMenuItemDivider | DropDownMenuItemTitle;
20
27
  export interface DropdownProps extends TooltipProps {
21
28
  render?: React.ReactNode;
22
29
  children?: React.ReactNode;
@@ -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;
@@ -220,6 +220,7 @@ class Form extends BaseComponent {
220
220
  }
221
221
 
222
222
  Form.propTypes = {
223
+ 'aria-label': PropTypes.string,
223
224
  onSubmit: PropTypes.func,
224
225
  onSubmitFail: PropTypes.func,
225
226
 
@@ -245,7 +246,8 @@ Form.propTypes = {
245
246
  autoScrollToError: PropTypes.oneOfType([PropTypes.bool, PropTypes.object]),
246
247
  disabled: PropTypes.bool,
247
248
  showValidateIcon: PropTypes.bool,
248
- extraTextPosition: PropTypes.oneOf(strings.EXTRA_POS)
249
+ extraTextPosition: PropTypes.oneOf(strings.EXTRA_POS),
250
+ id: PropTypes.string
249
251
  };
250
252
  Form.defaultProps = {
251
253
  onChange: _noop,
@@ -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;