@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
@@ -91,7 +91,7 @@ const Steps = props => {
91
91
  return /*#__PURE__*/(0, _react.cloneElement)(child, (0, _assign.default)({}, childProps));
92
92
  });
93
93
  return content;
94
- }, [children, initial, prefixCls, direction, status, current, size]);
94
+ }, [children, initial, prefixCls, direction, status, current, size, onChange]);
95
95
  const wrapperCls = (0, _classnames.default)(className, {
96
96
  ["".concat(prefixCls, "-basic")]: true,
97
97
  [(0, _concat.default)(_context2 = "".concat(prefixCls, "-")).call(_context2, direction)]: true,
@@ -99,6 +99,7 @@ const Steps = props => {
99
99
  ["".concat(prefixCls, "-hasline")]: hasLine
100
100
  });
101
101
  return /*#__PURE__*/_react.default.createElement("div", {
102
+ "aria-label": props["aria-label"],
102
103
  className: wrapperCls,
103
104
  style: style
104
105
  }, inner);
@@ -12,6 +12,9 @@ export interface FillStepProps {
12
12
  stepNumber?: string;
13
13
  onChange?: () => void;
14
14
  onClick?: React.MouseEventHandler<HTMLDivElement>;
15
+ onKeyDown?: React.KeyboardEventHandler<HTMLDivElement>;
16
+ "role"?: React.AriaRole;
17
+ "aria-label"?: React.AriaAttributes["aria-label"];
15
18
  }
16
19
  declare const FillStep: {
17
20
  (props: FillStepProps): JSX.Element;
@@ -37,7 +37,8 @@ const FillStep = props => {
37
37
  onClick,
38
38
  icon,
39
39
  onChange,
40
- stepNumber
40
+ stepNumber,
41
+ onKeyDown
41
42
  } = props;
42
43
 
43
44
  const renderIcon = () => {
@@ -99,17 +100,31 @@ const FillStep = props => {
99
100
  onChange();
100
101
  };
101
102
 
103
+ const handleKeyDown = e => {
104
+ if (e.key === 'Enter') {
105
+ if ((0, _isFunction2.default)(onKeyDown)) {
106
+ onKeyDown(e);
107
+ }
108
+
109
+ onChange();
110
+ }
111
+ };
112
+
102
113
  return /*#__PURE__*/_react.default.createElement("div", {
114
+ role: props["role"],
115
+ "aria-label": props["aria-label"],
116
+ "aria-current": "step",
117
+ tabIndex: 0,
103
118
  className: (0, _classnames.default)({
104
- [className]: Boolean(className),
105
119
  [prefixCls]: true,
106
120
  [(0, _concat.default)(_context = "".concat(prefixCls, "-")).call(_context, status)]: Boolean(status),
107
121
  ["".concat(prefixCls, "-clickable")]: onClick
108
- }),
122
+ }, className),
109
123
  style: style,
110
124
  onClick: e => {
111
125
  handleClick(e);
112
- }
126
+ },
127
+ onKeyDown: handleKeyDown
113
128
  }, renderIcon(), /*#__PURE__*/_react.default.createElement("div", {
114
129
  className: "".concat(prefixCls, "-content")
115
130
  }, /*#__PURE__*/_react.default.createElement("div", {
@@ -12,6 +12,7 @@ export interface FillStepsProps {
12
12
  style?: React.CSSProperties;
13
13
  children?: React.ReactNode;
14
14
  onChange?: (current: number) => void;
15
+ "aria-label"?: string;
15
16
  }
16
17
  declare const Steps: {
17
18
  (props: FillStepsProps): JSX.Element;
@@ -100,7 +100,8 @@ const Steps = props => {
100
100
  });
101
101
  return /*#__PURE__*/_react.default.createElement("div", {
102
102
  className: wrapperCls,
103
- style: style
103
+ style: style,
104
+ "aria-label": props["aria-label"]
104
105
  }, /*#__PURE__*/_react.default.createElement(_grid.Row, {
105
106
  type: "flex",
106
107
  justify: "start"
@@ -10,6 +10,9 @@ export interface NavStepProps {
10
10
  prefixCls?: string;
11
11
  onChange?: () => void;
12
12
  onClick?: React.MouseEventHandler<HTMLDivElement>;
13
+ onKeyDown?: React.KeyboardEventHandler<HTMLDivElement>;
14
+ "role"?: React.AriaRole;
15
+ "aria-label"?: React.AriaAttributes["aria-label"];
13
16
  }
14
17
  declare const NavStep: {
15
18
  (props: NavStepProps): JSX.Element;
@@ -10,12 +10,6 @@ _Object$defineProperty(exports, "__esModule", {
10
10
 
11
11
  exports.default = void 0;
12
12
 
13
- var _indexOf = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/index-of"));
14
-
15
- var _getOwnPropertySymbols = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols"));
16
-
17
- var _assign = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/assign"));
18
-
19
13
  var _isFunction2 = _interopRequireDefault(require("lodash/isFunction"));
20
14
 
21
15
  var _react = _interopRequireDefault(require("react"));
@@ -28,17 +22,6 @@ var _constants = require("@douyinfe/semi-foundation/lib/cjs/steps/constants");
28
22
 
29
23
  var _semiIcons = require("@douyinfe/semi-icons");
30
24
 
31
- var __rest = void 0 && (void 0).__rest || function (s, e) {
32
- var t = {};
33
-
34
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && (0, _indexOf.default)(e).call(e, p) < 0) t[p] = s[p];
35
-
36
- if (s != null && typeof _getOwnPropertySymbols.default === "function") for (var i = 0, p = (0, _getOwnPropertySymbols.default)(s); i < p.length; i++) {
37
- if ((0, _indexOf.default)(e).call(e, p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
38
- }
39
- return t;
40
- };
41
-
42
25
  const NavStep = props => {
43
26
  const {
44
27
  prefixCls,
@@ -49,13 +32,12 @@ const NavStep = props => {
49
32
  index,
50
33
  total,
51
34
  onClick,
35
+ onKeyDown,
52
36
  onChange
53
- } = props,
54
- restProps = __rest(props, ["prefixCls", "className", "title", "style", "active", "index", "total", "onClick", "onChange"]);
55
-
56
- const classString = (0, _classnames.default)(prefixCls, className, {
37
+ } = props;
38
+ const classString = (0, _classnames.default)(prefixCls, {
57
39
  ["".concat(prefixCls, "-active")]: active
58
- });
40
+ }, className);
59
41
 
60
42
  const handleClick = e => {
61
43
  if ((0, _isFunction2.default)(onClick)) {
@@ -65,11 +47,26 @@ const NavStep = props => {
65
47
  onChange();
66
48
  };
67
49
 
68
- return /*#__PURE__*/_react.default.createElement("div", (0, _assign.default)({}, restProps, {
50
+ const handleKeyDown = e => {
51
+ if (e.key === 'Enter') {
52
+ if ((0, _isFunction2.default)(onKeyDown)) {
53
+ onKeyDown(e);
54
+ }
55
+
56
+ onChange();
57
+ }
58
+ };
59
+
60
+ return /*#__PURE__*/_react.default.createElement("div", {
61
+ role: props["role"],
62
+ "aria-label": props["aria-label"],
63
+ "aria-current": "step",
64
+ tabIndex: 0,
69
65
  className: classString,
70
66
  style: style,
71
- onClick: e => handleClick(e)
72
- }), /*#__PURE__*/_react.default.createElement("div", {
67
+ onClick: e => handleClick(e),
68
+ onKeyDown: handleKeyDown
69
+ }, /*#__PURE__*/_react.default.createElement("div", {
73
70
  className: "".concat(prefixCls, "-container")
74
71
  }, /*#__PURE__*/_react.default.createElement("div", {
75
72
  className: "".concat(prefixCls, "-content")
@@ -10,6 +10,7 @@ export interface NavStepsProps {
10
10
  size?: Size;
11
11
  children?: React.ReactNode;
12
12
  onChange?: (current: number) => void;
13
+ "aria-label"?: string;
13
14
  }
14
15
  declare const Steps: {
15
16
  (props: NavStepsProps): JSX.Element;
@@ -72,12 +72,13 @@ const Steps = props => {
72
72
  return /*#__PURE__*/(0, _react.cloneElement)(child, (0, _assign.default)({}, childProps));
73
73
  });
74
74
  return content;
75
- }, [children, prefixCls, current, size]);
75
+ }, [children, prefixCls, current, size, initial, onChange]);
76
76
  const wrapperCls = (0, _classnames.default)(className, {
77
77
  ["".concat(prefixCls, "-nav")]: true,
78
78
  [(0, _concat.default)(_context2 = "".concat(prefixCls, "-")).call(_context2, size)]: size !== 'default'
79
79
  });
80
80
  return /*#__PURE__*/_react.default.createElement("div", {
81
+ "aria-label": props["aria-label"],
81
82
  className: wrapperCls,
82
83
  style: style
83
84
  }, inner);
@@ -4,6 +4,11 @@ import { SwitchAdapter } from '@douyinfe/semi-foundation/lib/cjs/switch/foundati
4
4
  import BaseComponent from '../_base/baseComponent';
5
5
  import '@douyinfe/semi-foundation/lib/cjs/switch/switch.css';
6
6
  export interface SwitchProps {
7
+ 'aria-label'?: React.AriaAttributes['aria-label'];
8
+ 'aria-describedby'?: React.AriaAttributes['aria-describedby'];
9
+ 'aria-errormessage'?: React.AriaAttributes['aria-errormessage'];
10
+ 'aria-invalid'?: React.AriaAttributes['aria-invalid'];
11
+ 'aria-labelledby'?: React.AriaAttributes['aria-labelledby'];
7
12
  defaultChecked?: boolean;
8
13
  checked?: boolean;
9
14
  disabled?: boolean;
@@ -16,6 +21,7 @@ export interface SwitchProps {
16
21
  size?: 'large' | 'default' | 'small';
17
22
  checkedText?: React.ReactNode;
18
23
  uncheckedText?: React.ReactNode;
24
+ id?: string;
19
25
  }
20
26
  export interface SwitchState {
21
27
  nativeControlChecked: boolean;
@@ -23,6 +29,11 @@ export interface SwitchState {
23
29
  }
24
30
  declare class Switch extends BaseComponent<SwitchProps, SwitchState> {
25
31
  static propTypes: {
32
+ 'aria-label': PropTypes.Requireable<string>;
33
+ 'aria-labelledby': PropTypes.Requireable<string>;
34
+ 'aria-invalid': PropTypes.Requireable<boolean>;
35
+ 'aria-errormessage': PropTypes.Requireable<string>;
36
+ 'aria-describedby': PropTypes.Requireable<string>;
26
37
  className: PropTypes.Requireable<string>;
27
38
  checked: PropTypes.Requireable<boolean>;
28
39
  checkedText: PropTypes.Requireable<PropTypes.ReactNodeLike>;
@@ -35,6 +46,7 @@ declare class Switch extends BaseComponent<SwitchProps, SwitchState> {
35
46
  style: PropTypes.Requireable<object>;
36
47
  size: PropTypes.Requireable<"default" | "small" | "large">;
37
48
  uncheckedText: PropTypes.Requireable<PropTypes.ReactNodeLike>;
49
+ id: PropTypes.Requireable<string>;
38
50
  };
39
51
  static defaultProps: Partial<SwitchProps>;
40
52
  private switchRef;
@@ -30,7 +30,7 @@ require("@douyinfe/semi-foundation/lib/cjs/switch/switch.css");
30
30
 
31
31
  var _spin = _interopRequireDefault(require("../spin"));
32
32
 
33
- /* eslint-disable max-len */
33
+ /* eslint-disable max-len, jsx-a11y/role-supports-aria-props */
34
34
  class Switch extends _baseComponent.default {
35
35
  constructor(props) {
36
36
  super(props);
@@ -91,7 +91,8 @@ class Switch extends _baseComponent.default {
91
91
  size,
92
92
  checkedText,
93
93
  uncheckedText,
94
- loading
94
+ loading,
95
+ id
95
96
  } = this.props;
96
97
  const wrapperCls = (0, _classnames.default)(className, {
97
98
  [_constants.cssClasses.PREFIX]: true,
@@ -119,13 +120,21 @@ class Switch extends _baseComponent.default {
119
120
  wrapperClassName: _constants.cssClasses.LOADING_SPIN,
120
121
  size: size === 'default' ? 'middle' : size
121
122
  }) : /*#__PURE__*/_react.default.createElement("div", {
122
- className: _constants.cssClasses.KNOB
123
+ className: _constants.cssClasses.KNOB,
124
+ "aria-hidden": true
123
125
  }), showCheckedText ? /*#__PURE__*/_react.default.createElement("div", {
124
126
  className: _constants.cssClasses.CHECKED_TEXT
125
127
  }, checkedText) : null, showUncheckedText ? /*#__PURE__*/_react.default.createElement("div", {
126
128
  className: _constants.cssClasses.UNCHECKED_TEXT
127
129
  }, uncheckedText) : null, /*#__PURE__*/_react.default.createElement("input", (0, _assign.default)({}, switchProps, {
128
130
  ref: this.switchRef,
131
+ id: id,
132
+ "aria-checked": nativeControlChecked,
133
+ "aria-invalid": this.props['aria-invalid'],
134
+ "aria-errormessage": this.props['aria-errormessage'],
135
+ "aria-label": this.props['aria-label'],
136
+ "aria-labelledby": this.props['aria-labelledby'],
137
+ "aria-describedby": this.props["aria-describedby"],
129
138
  onChange: e => this.foundation.handleChange(e.target.checked, e)
130
139
  })));
131
140
  }
@@ -133,6 +142,11 @@ class Switch extends _baseComponent.default {
133
142
  }
134
143
 
135
144
  Switch.propTypes = {
145
+ 'aria-label': _propTypes.default.string,
146
+ 'aria-labelledby': _propTypes.default.string,
147
+ 'aria-invalid': _propTypes.default.bool,
148
+ 'aria-errormessage': _propTypes.default.string,
149
+ 'aria-describedby': _propTypes.default.string,
136
150
  className: _propTypes.default.string,
137
151
  checked: _propTypes.default.bool,
138
152
  checkedText: _propTypes.default.node,
@@ -144,7 +158,8 @@ Switch.propTypes = {
144
158
  onMouseLeave: _propTypes.default.func,
145
159
  style: _propTypes.default.object,
146
160
  size: _propTypes.default.oneOf(_constants.strings.SIZE_MAP),
147
- uncheckedText: _propTypes.default.node
161
+ uncheckedText: _propTypes.default.node,
162
+ id: _propTypes.default.string
148
163
  };
149
164
  Switch.defaultProps = {
150
165
  disabled: false,
@@ -217,6 +217,7 @@ class TableRow extends _baseComponent.default {
217
217
  if ((0, _utils.isExpandedColumn)(column) && !displayExpandedColumn) {
218
218
  cells.push( /*#__PURE__*/_react.default.createElement(_TableCell.default, {
219
219
  key: columnIndex,
220
+ colIndex: columnIndex,
220
221
  isSection: isSection
221
222
  }));
222
223
  } else if (!(0, _utils.isScrollbarColumn)(column)) {
@@ -226,7 +227,9 @@ class TableRow extends _baseComponent.default {
226
227
  diyProps.width = (0, _get2.default)(cellWidths, columnIndex);
227
228
  }
228
229
 
229
- cells.push( /*#__PURE__*/_react.default.createElement(_TableCell.default, (0, _assign.default)({}, expandableProps, diyProps, {
230
+ cells.push( /*#__PURE__*/_react.default.createElement(_TableCell.default, (0, _assign.default)({
231
+ colIndex: columnIndex
232
+ }, expandableProps, diyProps, {
230
233
  hideExpandedColumn: hideExpandedColumn,
231
234
  indentSize: indentSize,
232
235
  isSection: isSection,
@@ -264,7 +267,11 @@ class TableRow extends _baseComponent.default {
264
267
  replaceClassName,
265
268
  record,
266
269
  hovered,
267
- expanded
270
+ expanded,
271
+ expandableRow,
272
+ level,
273
+ expandedRow,
274
+ isSection
268
275
  } = this.props;
269
276
  const BodyRow = components.body.row;
270
277
 
@@ -282,7 +289,32 @@ class TableRow extends _baseComponent.default {
282
289
  ["".concat(prefixCls, "-row-expanded")]: expanded,
283
290
  ["".concat(prefixCls, "-row-hovered")]: hovered
284
291
  }, customClassName);
285
- return /*#__PURE__*/_react.default.createElement(BodyRow, (0, _assign.default)({}, rowProps, {
292
+ const ariaProps = {};
293
+
294
+ if (typeof index === 'number') {
295
+ ariaProps['aria-rowindex'] = index + 1;
296
+ }
297
+
298
+ if (expandableRow) {
299
+ ariaProps['aria-expanded'] = expanded;
300
+ } // if row is expandedRow, set it's level to 2
301
+
302
+
303
+ if (expanded || expandedRow) {
304
+ ariaProps['aria-level'] = 2;
305
+ }
306
+
307
+ if (typeof level === 'number') {
308
+ ariaProps['aria-level'] = level + 1;
309
+ }
310
+
311
+ if (isSection) {
312
+ ariaProps['aria-level'] = 1;
313
+ }
314
+
315
+ return /*#__PURE__*/_react.default.createElement(BodyRow, (0, _assign.default)({
316
+ role: "row"
317
+ }, ariaProps, rowProps, {
286
318
  style: baseRowStyle,
287
319
  className: rowCls,
288
320
  ref: this._cacheNode,
@@ -30,6 +30,8 @@ var _set = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable
30
30
 
31
31
  var _setTimeout2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/set-timeout"));
32
32
 
33
+ var _isFunction2 = _interopRequireDefault(require("lodash/isFunction"));
34
+
33
35
  var _isNull2 = _interopRequireDefault(require("lodash/isNull"));
34
36
 
35
37
  var _pick2 = _interopRequireDefault(require("lodash/pick"));
@@ -517,7 +519,8 @@ class Body extends _baseComponent.default {
517
519
  includeHeader,
518
520
  dataSource,
519
521
  onScroll,
520
- groups
522
+ groups,
523
+ expandedRowRender
521
524
  } = this.props;
522
525
  const x = (0, _get2.default)(scroll, 'x');
523
526
  const y = (0, _get2.default)(scroll, 'y');
@@ -558,6 +561,11 @@ class Body extends _baseComponent.default {
558
561
  onWheel: handleWheel,
559
562
  onScroll: handleBodyScroll
560
563
  }, /*#__PURE__*/_react.default.createElement(Table, {
564
+ role: (0, _isMap2.default)(groups) || (0, _isFunction2.default)(expandedRowRender) || (0, _utils.isTreeTable)({
565
+ dataSource
566
+ }) ? 'treegrid' : 'grid',
567
+ "aria-rowcount": dataSource && dataSource.length,
568
+ "aria-colcount": columns && columns.length,
561
569
  style: tableStyle,
562
570
  className: (0, _classnames.default)(prefixCls, {
563
571
  ["".concat(prefixCls, "-fixed")]: anyColumnFixed
@@ -180,6 +180,10 @@ function ColumnFilter() {
180
180
  iconElem = /*#__PURE__*/_react.default.createElement("div", {
181
181
  className: finalCls
182
182
  }, /*#__PURE__*/_react.default.createElement(_semiIcons.IconFilter, {
183
+ role: "button",
184
+ "aria-label": "Filter data with this column",
185
+ "aria-haspopup": "listbox",
186
+ tabIndex: -1,
183
187
  size: "small"
184
188
  }));
185
189
  }
@@ -1,3 +1,4 @@
1
+ import React from 'react';
1
2
  import BaseComponent from '../_base/baseComponent';
2
3
  import PropTypes from 'prop-types';
3
4
  import { TableSelectionCellAdapter, TableSelectionCellEvent } from '@douyinfe/semi-foundation/lib/cjs/table/tableSelectionCellFoundation';
@@ -12,6 +13,7 @@ export interface TableSelectionCellProps {
12
13
  indeterminate?: boolean;
13
14
  prefixCls?: string;
14
15
  className?: string;
16
+ 'aria-label'?: React.AriaAttributes['aria-label'];
15
17
  }
16
18
  /**
17
19
  * render selection cell
@@ -27,6 +29,7 @@ export default class TableSelectionCell extends BaseComponent<TableSelectionCell
27
29
  indeterminate: PropTypes.Requireable<boolean>;
28
30
  prefixCls: PropTypes.Requireable<string>;
29
31
  className: PropTypes.Requireable<string>;
32
+ 'aria-label': PropTypes.Requireable<string>;
30
33
  };
31
34
  static defaultProps: {
32
35
  disabled: boolean;
@@ -61,6 +61,7 @@ class TableSelectionCell extends _baseComponent.default {
61
61
  prefixCls,
62
62
  className
63
63
  } = this.props;
64
+ const ariaLabel = this.props['aria-label'];
64
65
  let checkboxProps = {
65
66
  onChange: this.handleChange,
66
67
  disabled,
@@ -77,7 +78,9 @@ class TableSelectionCell extends _baseComponent.default {
77
78
  }, className);
78
79
  return /*#__PURE__*/_react.default.createElement("span", {
79
80
  className: wrapCls
80
- }, /*#__PURE__*/_react.default.createElement(_checkbox.Checkbox, (0, _assign.default)({}, checkboxProps)));
81
+ }, /*#__PURE__*/_react.default.createElement(_checkbox.Checkbox, (0, _assign.default)({
82
+ "aria-label": ariaLabel
83
+ }, checkboxProps)));
81
84
  }
82
85
 
83
86
  }
@@ -92,7 +95,8 @@ TableSelectionCell.propTypes = {
92
95
  disabled: _propTypes.default.bool,
93
96
  indeterminate: _propTypes.default.bool,
94
97
  prefixCls: _propTypes.default.string,
95
- className: _propTypes.default.string
98
+ className: _propTypes.default.string,
99
+ 'aria-label': _propTypes.default.string
96
100
  };
97
101
  TableSelectionCell.defaultProps = {
98
102
  disabled: false,
@@ -14,6 +14,8 @@ _Object$defineProperty(exports, "__esModule", {
14
14
 
15
15
  exports.default = void 0;
16
16
 
17
+ var _assign = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/assign"));
18
+
17
19
  var _noop2 = _interopRequireDefault(require("lodash/noop"));
18
20
 
19
21
  var _react = _interopRequireWildcard(require("react"));
@@ -26,6 +28,8 @@ var _semiIcons = require("@douyinfe/semi-icons");
26
28
 
27
29
  var _constants = require("@douyinfe/semi-foundation/lib/cjs/table/constants");
28
30
 
31
+ var _isEnterPress = _interopRequireDefault(require("@douyinfe/semi-foundation/lib/cjs/utils/isEnterPress"));
32
+
29
33
  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); }
30
34
 
31
35
  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; }
@@ -45,11 +49,23 @@ class ColumnSorter extends _react.PureComponent {
45
49
  const downCls = (0, _classnames.default)("".concat(prefixCls, "-column-sorter-down"), {
46
50
  on: sortOrder === _constants.strings.SORT_DIRECTIONS[1]
47
51
  });
48
- return /*#__PURE__*/_react.default.createElement("div", {
52
+ const ariaProps = {
53
+ /**
54
+ * Set 'aria-sort' to aria-columnheader is difficult, so set 'aria-label' about sort info to sorter
55
+ * reference: https://developer.mozilla.org/en-US/docs/Web/API/Element/ariaSort
56
+ */
57
+ 'aria-label': "Current sort order is ".concat(sortOrder ? "".concat(sortOrder, "ing") : 'none'),
58
+ 'aria-roledescription': 'Sort data with this column'
59
+ };
60
+ return /*#__PURE__*/_react.default.createElement("div", (0, _assign.default)({
61
+ role: 'button'
62
+ }, ariaProps, {
63
+ tabIndex: -1,
49
64
  style: style,
50
65
  className: "".concat(prefixCls, "-column-sorter"),
51
- onClick: onClick
52
- }, /*#__PURE__*/_react.default.createElement("span", {
66
+ onClick: onClick,
67
+ onKeyPress: e => (0, _isEnterPress.default)(e) && onClick(e)
68
+ }), /*#__PURE__*/_react.default.createElement("span", {
53
69
  className: "".concat(upCls)
54
70
  }, /*#__PURE__*/_react.default.createElement(_semiIcons.IconCaretup, {
55
71
  size: iconBtnSize
@@ -24,6 +24,8 @@ var _semiIcons = require("@douyinfe/semi-icons");
24
24
 
25
25
  var _constants = require("@douyinfe/semi-foundation/lib/cjs/table/constants");
26
26
 
27
+ var _isEnterPress = _interopRequireDefault(require("@douyinfe/semi-foundation/lib/cjs/utils/isEnterPress"));
28
+
27
29
  var _Rotate = _interopRequireDefault(require("../motions/Rotate"));
28
30
 
29
31
  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); }
@@ -76,10 +78,14 @@ function CustomExpandIcon(props) {
76
78
  }
77
79
 
78
80
  return /*#__PURE__*/_react.default.createElement("span", {
81
+ role: "button",
82
+ "aria-label": "Expand this row",
83
+ tabIndex: -1,
79
84
  onClick: handleClick,
80
85
  onMouseEnter: onMouseEnter,
81
86
  onMouseLeave: onMouseLeave,
82
- className: "".concat(prefixCls, "-expand-icon")
87
+ className: "".concat(prefixCls, "-expand-icon"),
88
+ onKeyPress: e => (0, _isEnterPress.default)(e) && handleClick(e)
83
89
  }, icon);
84
90
  }
85
91
 
@@ -31,6 +31,7 @@ export interface NormalTableState<RecordType extends Record<string, any> = Data>
31
31
  bodyHasScrollBar?: boolean;
32
32
  prePropRowSelection?: TableStateRowSelection<RecordType>;
33
33
  tableWidth?: number;
34
+ prePagination?: Pagination;
34
35
  }
35
36
  export declare type TableStateRowSelection<RecordType extends Record<string, any> = Data> = (RowSelectionProps<RecordType> & {
36
37
  selectedRowKeysSet?: Set<(string | number)>;
@@ -229,6 +230,7 @@ declare class Table<RecordType extends Record<string, any>> extends BaseComponen
229
230
  /**
230
231
  * render pagination
231
232
  * @param {object} pagination
233
+ * @param {object} propRenderPagination
232
234
  */
233
235
  renderPagination: (pagination: TablePaginationProps, propRenderPagination: RenderPagination) => JSX.Element;
234
236
  renderTitle: (props?: {