@douyinfe/semi-ui 2.2.2 → 2.3.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (434) hide show
  1. package/_base/_story/a11y.jsx +6 -6
  2. package/_utils/hooks/usePrevFocus.ts +16 -0
  3. package/_utils/index.ts +4 -0
  4. package/anchor/_story/anchor.stories.js +1 -1
  5. package/anchor/index.tsx +5 -2
  6. package/anchor/link.tsx +29 -4
  7. package/autoComplete/index.tsx +28 -1
  8. package/avatar/_story/avatar.stories.js +4 -4
  9. package/avatar/avatarGroup.tsx +1 -1
  10. package/avatar/index.tsx +10 -4
  11. package/banner/index.tsx +2 -1
  12. package/breadcrumb/_story/breadcrumb.stories.js +22 -8
  13. package/breadcrumb/index.tsx +8 -1
  14. package/breadcrumb/item.tsx +1 -1
  15. package/button/Button.tsx +4 -0
  16. package/button/__test__/button.test.js +1 -1
  17. package/button/_story/button.stories.js +10 -10
  18. package/button/buttonGroup.tsx +4 -2
  19. package/button/splitButtonGroup.tsx +5 -2
  20. package/card/_story/card.stories.js +8 -1
  21. package/card/_story/card.stories.tsx +3 -0
  22. package/card/index.tsx +5 -2
  23. package/cascader/index.tsx +33 -5
  24. package/checkbox/_story/checkbox.stories.js +21 -14
  25. package/checkbox/checkbox.tsx +40 -5
  26. package/checkbox/checkboxGroup.tsx +30 -5
  27. package/checkbox/checkboxInner.tsx +25 -2
  28. package/collapse/index.tsx +2 -2
  29. package/collapse/item.tsx +15 -8
  30. package/collapsible/index.tsx +4 -2
  31. package/configProvider/_story/configProvider.stories.tsx +27 -0
  32. package/datePicker/datePicker.tsx +19 -0
  33. package/dist/css/semi.css +8 -3
  34. package/dist/css/semi.min.css +1 -1
  35. package/dist/umd/semi-ui.js +2470 -1242
  36. package/dist/umd/semi-ui.js.map +1 -1
  37. package/dist/umd/semi-ui.min.js +1 -1
  38. package/dist/umd/semi-ui.min.js.map +1 -1
  39. package/dropdown/dropdownItem.tsx +1 -1
  40. package/dropdown/dropdownMenu.tsx +1 -1
  41. package/empty/index.tsx +5 -5
  42. package/form/_story/FormApi/formApiDemo.jsx +3 -2
  43. package/form/_story/Validate/validateDemo.jsx +1 -1
  44. package/form/_story/demo.jsx +12 -3
  45. package/form/_story/form.stories.js +0 -7
  46. package/form/baseForm.tsx +2 -0
  47. package/form/errorMessage.tsx +13 -2
  48. package/form/hoc/withField.tsx +37 -8
  49. package/form/index.tsx +0 -2
  50. package/form/interface.ts +2 -0
  51. package/form/label.tsx +4 -2
  52. package/input/index.tsx +49 -4
  53. package/input/inputGroup.tsx +9 -4
  54. package/input/textarea.tsx +25 -6
  55. package/inputNumber/index.tsx +28 -1
  56. package/layout/Sider.tsx +6 -2
  57. package/layout/index.tsx +4 -3
  58. package/lib/cjs/_utils/hooks/usePrevFocus.d.ts +2 -0
  59. package/lib/cjs/_utils/hooks/usePrevFocus.js +30 -0
  60. package/lib/cjs/_utils/index.d.ts +1 -0
  61. package/lib/cjs/_utils/index.js +6 -1
  62. package/lib/cjs/anchor/index.d.ts +2 -0
  63. package/lib/cjs/anchor/index.js +6 -1
  64. package/lib/cjs/anchor/link.d.ts +4 -1
  65. package/lib/cjs/anchor/link.js +39 -5
  66. package/lib/cjs/autoComplete/index.d.ts +17 -0
  67. package/lib/cjs/autoComplete/index.js +21 -2
  68. package/lib/cjs/avatar/avatarGroup.js +2 -1
  69. package/lib/cjs/avatar/index.d.ts +4 -3
  70. package/lib/cjs/avatar/index.js +20 -11
  71. package/lib/cjs/banner/index.js +4 -2
  72. package/lib/cjs/breadcrumb/index.d.ts +3 -0
  73. package/lib/cjs/breadcrumb/index.js +10 -4
  74. package/lib/cjs/breadcrumb/item.js +2 -2
  75. package/lib/cjs/button/Button.d.ts +2 -0
  76. package/lib/cjs/button/Button.js +4 -2
  77. package/lib/cjs/button/buttonGroup.d.ts +3 -0
  78. package/lib/cjs/button/buttonGroup.js +8 -4
  79. package/lib/cjs/button/index.d.ts +1 -0
  80. package/lib/cjs/button/splitButtonGroup.d.ts +3 -0
  81. package/lib/cjs/button/splitButtonGroup.js +5 -2
  82. package/lib/cjs/card/index.d.ts +3 -0
  83. package/lib/cjs/card/index.js +3 -1
  84. package/lib/cjs/cascader/index.d.ts +14 -0
  85. package/lib/cjs/cascader/index.js +35 -7
  86. package/lib/cjs/checkbox/checkbox.d.ts +21 -1
  87. package/lib/cjs/checkbox/checkbox.js +51 -17
  88. package/lib/cjs/checkbox/checkboxGroup.d.ts +13 -1
  89. package/lib/cjs/checkbox/checkboxGroup.js +16 -3
  90. package/lib/cjs/checkbox/checkboxInner.d.ts +15 -0
  91. package/lib/cjs/checkbox/checkboxInner.js +20 -3
  92. package/lib/cjs/collapse/index.js +2 -1
  93. package/lib/cjs/collapse/item.d.ts +2 -1
  94. package/lib/cjs/collapse/item.js +17 -3
  95. package/lib/cjs/collapsible/index.d.ts +1 -0
  96. package/lib/cjs/collapsible/index.js +4 -2
  97. package/lib/cjs/datePicker/datePicker.d.ts +12 -0
  98. package/lib/cjs/datePicker/datePicker.js +14 -1
  99. package/lib/cjs/dropdown/dropdownItem.js +3 -1
  100. package/lib/cjs/dropdown/dropdownMenu.js +4 -1
  101. package/lib/cjs/empty/index.js +2 -1
  102. package/lib/cjs/form/baseForm.d.ts +9 -0
  103. package/lib/cjs/form/baseForm.js +3 -1
  104. package/lib/cjs/form/errorMessage.d.ts +4 -0
  105. package/lib/cjs/form/errorMessage.js +21 -3
  106. package/lib/cjs/form/field.d.ts +7 -0
  107. package/lib/cjs/form/hoc/withField.js +49 -16
  108. package/lib/cjs/form/index.d.ts +0 -1
  109. package/lib/cjs/form/interface.d.ts +2 -0
  110. package/lib/cjs/form/label.d.ts +2 -0
  111. package/lib/cjs/form/label.js +5 -2
  112. package/lib/cjs/input/index.d.ts +16 -0
  113. package/lib/cjs/input/index.js +51 -15
  114. package/lib/cjs/input/inputGroup.d.ts +2 -1
  115. package/lib/cjs/input/inputGroup.js +11 -1
  116. package/lib/cjs/input/textarea.js +12 -1
  117. package/lib/cjs/inputNumber/index.d.ts +8 -0
  118. package/lib/cjs/inputNumber/index.js +32 -2
  119. package/lib/cjs/layout/Sider.d.ts +4 -0
  120. package/lib/cjs/layout/Sider.js +4 -1
  121. package/lib/cjs/layout/index.js +2 -0
  122. package/lib/cjs/list/item.js +0 -1
  123. package/lib/cjs/modal/Modal.js +2 -0
  124. package/lib/cjs/modal/ModalContent.d.ts +3 -1
  125. package/lib/cjs/modal/ModalContent.js +47 -5
  126. package/lib/cjs/navigation/Item.d.ts +4 -2
  127. package/lib/cjs/navigation/Item.js +25 -5
  128. package/lib/cjs/navigation/SubNav.d.ts +4 -2
  129. package/lib/cjs/navigation/SubNav.js +8 -1
  130. package/lib/cjs/navigation/index.js +2 -0
  131. package/lib/cjs/notification/notice.d.ts +1 -1
  132. package/lib/cjs/notification/notice.js +32 -22
  133. package/lib/cjs/pagination/index.js +16 -6
  134. package/lib/cjs/popover/index.js +7 -3
  135. package/lib/cjs/progress/index.d.ts +8 -0
  136. package/lib/cjs/progress/index.js +42 -9
  137. package/lib/cjs/radio/radio.d.ts +6 -1
  138. package/lib/cjs/radio/radio.js +17 -5
  139. package/lib/cjs/radio/radioGroup.d.ts +16 -1
  140. package/lib/cjs/radio/radioGroup.js +18 -3
  141. package/lib/cjs/radio/radioInner.d.ts +6 -1
  142. package/lib/cjs/radio/radioInner.js +11 -3
  143. package/lib/cjs/rating/index.d.ts +14 -0
  144. package/lib/cjs/rating/index.js +14 -3
  145. package/lib/cjs/rating/item.d.ts +2 -0
  146. package/lib/cjs/rating/item.js +6 -1
  147. package/lib/cjs/select/index.d.ts +16 -0
  148. package/lib/cjs/select/index.js +65 -19
  149. package/lib/cjs/select/option.js +28 -22
  150. package/lib/cjs/sideSheet/SideSheetContent.d.ts +1 -0
  151. package/lib/cjs/sideSheet/SideSheetContent.js +12 -5
  152. package/lib/cjs/sideSheet/index.d.ts +1 -0
  153. package/lib/cjs/sideSheet/index.js +2 -1
  154. package/lib/cjs/slider/index.d.ts +2 -1
  155. package/lib/cjs/slider/index.js +64 -17
  156. package/lib/cjs/spin/icon.js +2 -4
  157. package/lib/cjs/steps/basicStep.d.ts +3 -0
  158. package/lib/cjs/steps/basicStep.js +23 -25
  159. package/lib/cjs/steps/basicSteps.d.ts +1 -0
  160. package/lib/cjs/steps/basicSteps.js +2 -1
  161. package/lib/cjs/steps/fillStep.d.ts +3 -0
  162. package/lib/cjs/steps/fillStep.js +19 -4
  163. package/lib/cjs/steps/fillSteps.d.ts +1 -0
  164. package/lib/cjs/steps/fillSteps.js +2 -1
  165. package/lib/cjs/steps/navStep.d.ts +3 -0
  166. package/lib/cjs/steps/navStep.js +22 -25
  167. package/lib/cjs/steps/navSteps.d.ts +1 -0
  168. package/lib/cjs/steps/navSteps.js +2 -1
  169. package/lib/cjs/switch/index.d.ts +12 -0
  170. package/lib/cjs/switch/index.js +19 -4
  171. package/lib/cjs/table/Body/BaseRow.js +35 -3
  172. package/lib/cjs/table/Body/index.js +9 -1
  173. package/lib/cjs/table/ColumnFilter.js +4 -0
  174. package/lib/cjs/table/ColumnSelection.d.ts +3 -0
  175. package/lib/cjs/table/ColumnSelection.js +6 -2
  176. package/lib/cjs/table/ColumnSorter.js +19 -3
  177. package/lib/cjs/table/CustomExpandIcon.js +7 -1
  178. package/lib/cjs/table/Table.d.ts +2 -0
  179. package/lib/cjs/table/Table.js +31 -15
  180. package/lib/cjs/table/TableCell.d.ts +2 -0
  181. package/lib/cjs/table/TableCell.js +6 -2
  182. package/lib/cjs/table/TableHeaderRow.js +8 -2
  183. package/lib/cjs/tabs/TabBar.js +11 -3
  184. package/lib/cjs/tabs/TabPane.js +3 -1
  185. package/lib/cjs/tabs/index.js +0 -1
  186. package/lib/cjs/tagInput/index.d.ts +4 -1
  187. package/lib/cjs/tagInput/index.js +29 -3
  188. package/lib/cjs/timePicker/TimePicker.d.ts +12 -0
  189. package/lib/cjs/timePicker/TimePicker.js +9 -1
  190. package/lib/cjs/timePicker/index.d.ts +6 -0
  191. package/lib/cjs/timeline/index.d.ts +1 -1
  192. package/lib/cjs/timeline/index.js +1 -0
  193. package/lib/cjs/timeline/item.js +4 -2
  194. package/lib/cjs/toast/toast.js +2 -0
  195. package/lib/cjs/tooltip/TriangleArrow.js +1 -0
  196. package/lib/cjs/tooltip/TriangleArrowVertical.js +1 -0
  197. package/lib/cjs/tooltip/index.d.ts +16 -12
  198. package/lib/cjs/tooltip/index.js +55 -39
  199. package/lib/cjs/transfer/index.js +32 -14
  200. package/lib/cjs/tree/index.d.ts +1 -0
  201. package/lib/cjs/tree/index.js +15 -6
  202. package/lib/cjs/tree/treeNode.d.ts +12 -4
  203. package/lib/cjs/tree/treeNode.js +44 -4
  204. package/lib/cjs/treeSelect/index.d.ts +16 -0
  205. package/lib/cjs/treeSelect/index.js +60 -12
  206. package/lib/cjs/typography/base.js +18 -7
  207. package/lib/cjs/typography/copyable.js +6 -1
  208. package/lib/cjs/upload/fileCard.js +23 -4
  209. package/lib/cjs/upload/index.js +19 -4
  210. package/lib/es/_utils/hooks/usePrevFocus.d.ts +2 -0
  211. package/lib/es/_utils/hooks/usePrevFocus.js +15 -0
  212. package/lib/es/_utils/index.d.ts +1 -0
  213. package/lib/es/_utils/index.js +4 -1
  214. package/lib/es/anchor/index.d.ts +2 -0
  215. package/lib/es/anchor/index.js +6 -1
  216. package/lib/es/anchor/link.d.ts +4 -1
  217. package/lib/es/anchor/link.js +38 -5
  218. package/lib/es/autoComplete/index.d.ts +17 -0
  219. package/lib/es/autoComplete/index.js +21 -2
  220. package/lib/es/avatar/avatarGroup.js +2 -1
  221. package/lib/es/avatar/index.d.ts +4 -3
  222. package/lib/es/avatar/index.js +20 -11
  223. package/lib/es/banner/index.js +4 -2
  224. package/lib/es/breadcrumb/index.d.ts +3 -0
  225. package/lib/es/breadcrumb/index.js +10 -4
  226. package/lib/es/breadcrumb/item.js +2 -2
  227. package/lib/es/button/Button.d.ts +2 -0
  228. package/lib/es/button/Button.js +4 -2
  229. package/lib/es/button/buttonGroup.d.ts +3 -0
  230. package/lib/es/button/buttonGroup.js +8 -4
  231. package/lib/es/button/index.d.ts +1 -0
  232. package/lib/es/button/splitButtonGroup.d.ts +3 -0
  233. package/lib/es/button/splitButtonGroup.js +5 -2
  234. package/lib/es/card/index.d.ts +3 -0
  235. package/lib/es/card/index.js +3 -1
  236. package/lib/es/cascader/index.d.ts +14 -0
  237. package/lib/es/cascader/index.js +35 -7
  238. package/lib/es/checkbox/checkbox.d.ts +21 -1
  239. package/lib/es/checkbox/checkbox.js +50 -17
  240. package/lib/es/checkbox/checkboxGroup.d.ts +13 -1
  241. package/lib/es/checkbox/checkboxGroup.js +18 -5
  242. package/lib/es/checkbox/checkboxInner.d.ts +15 -0
  243. package/lib/es/checkbox/checkboxInner.js +20 -3
  244. package/lib/es/collapse/index.js +2 -1
  245. package/lib/es/collapse/item.d.ts +2 -1
  246. package/lib/es/collapse/item.js +16 -3
  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/empty/index.js +2 -1
  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 +12 -1
  270. package/lib/es/inputNumber/index.d.ts +8 -0
  271. package/lib/es/inputNumber/index.js +33 -2
  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/item.js +0 -1
  276. package/lib/es/modal/Modal.js +2 -0
  277. package/lib/es/modal/ModalContent.d.ts +3 -1
  278. package/lib/es/modal/ModalContent.js +46 -5
  279. package/lib/es/navigation/Item.d.ts +4 -2
  280. package/lib/es/navigation/Item.js +25 -5
  281. package/lib/es/navigation/SubNav.d.ts +4 -2
  282. package/lib/es/navigation/SubNav.js +8 -1
  283. package/lib/es/navigation/index.js +2 -0
  284. package/lib/es/notification/notice.d.ts +1 -1
  285. package/lib/es/notification/notice.js +33 -24
  286. package/lib/es/pagination/index.js +16 -6
  287. package/lib/es/popover/index.js +7 -3
  288. package/lib/es/progress/index.d.ts +8 -0
  289. package/lib/es/progress/index.js +42 -9
  290. package/lib/es/radio/radio.d.ts +6 -1
  291. package/lib/es/radio/radio.js +16 -5
  292. package/lib/es/radio/radioGroup.d.ts +16 -1
  293. package/lib/es/radio/radioGroup.js +18 -3
  294. package/lib/es/radio/radioInner.d.ts +6 -1
  295. package/lib/es/radio/radioInner.js +11 -3
  296. package/lib/es/rating/index.d.ts +14 -0
  297. package/lib/es/rating/index.js +14 -3
  298. package/lib/es/rating/item.d.ts +2 -0
  299. package/lib/es/rating/item.js +6 -1
  300. package/lib/es/select/index.d.ts +16 -0
  301. package/lib/es/select/index.js +63 -17
  302. package/lib/es/select/option.js +28 -22
  303. package/lib/es/sideSheet/SideSheetContent.d.ts +1 -0
  304. package/lib/es/sideSheet/SideSheetContent.js +12 -5
  305. package/lib/es/sideSheet/index.d.ts +1 -0
  306. package/lib/es/sideSheet/index.js +2 -1
  307. package/lib/es/slider/index.d.ts +2 -1
  308. package/lib/es/slider/index.js +63 -16
  309. package/lib/es/spin/icon.js +2 -4
  310. package/lib/es/steps/basicStep.d.ts +3 -0
  311. package/lib/es/steps/basicStep.js +23 -23
  312. package/lib/es/steps/basicSteps.d.ts +1 -0
  313. package/lib/es/steps/basicSteps.js +2 -1
  314. package/lib/es/steps/fillStep.d.ts +3 -0
  315. package/lib/es/steps/fillStep.js +19 -4
  316. package/lib/es/steps/fillSteps.d.ts +1 -0
  317. package/lib/es/steps/fillSteps.js +2 -1
  318. package/lib/es/steps/navStep.d.ts +3 -0
  319. package/lib/es/steps/navStep.js +22 -23
  320. package/lib/es/steps/navSteps.d.ts +1 -0
  321. package/lib/es/steps/navSteps.js +2 -1
  322. package/lib/es/switch/index.d.ts +12 -0
  323. package/lib/es/switch/index.js +19 -4
  324. package/lib/es/table/Body/BaseRow.js +35 -3
  325. package/lib/es/table/Body/index.js +9 -2
  326. package/lib/es/table/ColumnFilter.js +4 -0
  327. package/lib/es/table/ColumnSelection.d.ts +3 -0
  328. package/lib/es/table/ColumnSelection.js +6 -2
  329. package/lib/es/table/ColumnSorter.js +17 -3
  330. package/lib/es/table/CustomExpandIcon.js +6 -1
  331. package/lib/es/table/Table.d.ts +2 -0
  332. package/lib/es/table/Table.js +31 -15
  333. package/lib/es/table/TableCell.d.ts +2 -0
  334. package/lib/es/table/TableCell.js +6 -2
  335. package/lib/es/table/TableHeaderRow.js +8 -2
  336. package/lib/es/tabs/TabBar.js +11 -3
  337. package/lib/es/tabs/TabPane.js +3 -1
  338. package/lib/es/tabs/index.js +0 -1
  339. package/lib/es/tagInput/index.d.ts +4 -1
  340. package/lib/es/tagInput/index.js +29 -3
  341. package/lib/es/timePicker/TimePicker.d.ts +12 -0
  342. package/lib/es/timePicker/TimePicker.js +9 -1
  343. package/lib/es/timePicker/index.d.ts +6 -0
  344. package/lib/es/timeline/index.d.ts +1 -1
  345. package/lib/es/timeline/index.js +1 -0
  346. package/lib/es/timeline/item.js +4 -2
  347. package/lib/es/toast/toast.js +2 -0
  348. package/lib/es/tooltip/TriangleArrow.js +1 -0
  349. package/lib/es/tooltip/TriangleArrowVertical.js +1 -0
  350. package/lib/es/tooltip/index.d.ts +16 -12
  351. package/lib/es/tooltip/index.js +53 -39
  352. package/lib/es/transfer/index.js +32 -14
  353. package/lib/es/tree/index.d.ts +1 -0
  354. package/lib/es/tree/index.js +15 -6
  355. package/lib/es/tree/treeNode.d.ts +12 -4
  356. package/lib/es/tree/treeNode.js +44 -4
  357. package/lib/es/treeSelect/index.d.ts +16 -0
  358. package/lib/es/treeSelect/index.js +57 -10
  359. package/lib/es/typography/base.js +17 -7
  360. package/lib/es/typography/copyable.js +5 -1
  361. package/lib/es/upload/fileCard.js +23 -4
  362. package/lib/es/upload/index.js +19 -4
  363. package/list/item.tsx +0 -1
  364. package/modal/Modal.tsx +2 -0
  365. package/modal/ModalContent.tsx +35 -5
  366. package/navigation/Item.tsx +15 -0
  367. package/navigation/SubNav.tsx +13 -1
  368. package/navigation/index.tsx +1 -1
  369. package/notification/notice.tsx +19 -14
  370. package/package.json +8 -8
  371. package/pagination/index.tsx +9 -5
  372. package/popover/index.tsx +5 -0
  373. package/progress/_story/progress.stories.js +18 -18
  374. package/progress/index.tsx +58 -20
  375. package/radio/radio.tsx +12 -2
  376. package/radio/radioGroup.tsx +29 -3
  377. package/radio/radioInner.tsx +10 -1
  378. package/rating/index.tsx +19 -2
  379. package/rating/item.tsx +6 -0
  380. package/select/__test__/select.test.js +45 -0
  381. package/select/_story/select.stories.js +29 -0
  382. package/select/index.tsx +52 -4
  383. package/select/option.tsx +3 -0
  384. package/sideSheet/SideSheetContent.tsx +13 -9
  385. package/sideSheet/index.tsx +3 -2
  386. package/slider/__test__/slider.test.js +9 -0
  387. package/slider/_story/slider.stories.js +1 -1
  388. package/slider/index.tsx +44 -7
  389. package/spin/icon.tsx +3 -3
  390. package/steps/basicStep.tsx +15 -4
  391. package/steps/basicSteps.tsx +3 -2
  392. package/steps/fillStep.tsx +27 -12
  393. package/steps/fillSteps.tsx +2 -0
  394. package/steps/navStep.tsx +15 -4
  395. package/steps/navSteps.tsx +3 -2
  396. package/switch/_story/switch.stories.js +20 -19
  397. package/switch/_story/switch.stories.tsx +13 -13
  398. package/switch/index.tsx +23 -5
  399. package/table/Body/BaseRow.tsx +25 -1
  400. package/table/Body/index.tsx +7 -2
  401. package/table/ColumnFilter.tsx +7 -1
  402. package/table/ColumnSelection.tsx +4 -1
  403. package/table/ColumnSorter.tsx +18 -1
  404. package/table/CustomExpandIcon.tsx +5 -0
  405. package/table/Table.tsx +26 -13
  406. package/table/TableCell.tsx +11 -1
  407. package/table/TableHeaderRow.tsx +16 -2
  408. package/table/__test__/table.test.js +46 -0
  409. package/tabs/TabBar.tsx +8 -5
  410. package/tabs/TabPane.tsx +3 -1
  411. package/tabs/index.tsx +0 -1
  412. package/tagInput/__test__/tagInput.test.js +46 -0
  413. package/tagInput/_story/tagInput.stories.js +2 -2
  414. package/tagInput/index.tsx +31 -8
  415. package/timePicker/TimePicker.tsx +14 -1
  416. package/timeline/_story/timeline.stories.js +1 -1
  417. package/timeline/index.tsx +2 -2
  418. package/timeline/item.tsx +2 -1
  419. package/toast/toast.tsx +2 -0
  420. package/tooltip/TriangleArrow.tsx +1 -1
  421. package/tooltip/TriangleArrowVertical.tsx +1 -1
  422. package/tooltip/_story/tooltip.stories.js +562 -514
  423. package/tooltip/index.tsx +50 -33
  424. package/transfer/index.tsx +29 -25
  425. package/tree/_story/tree.stories.js +3 -3
  426. package/tree/index.tsx +10 -2
  427. package/tree/treeNode.tsx +46 -10
  428. package/treeSelect/__test__/treeMultiple.test.js +5 -0
  429. package/treeSelect/_story/treeSelect.stories.js +12 -0
  430. package/treeSelect/index.tsx +58 -7
  431. package/typography/base.tsx +7 -1
  432. package/typography/copyable.tsx +10 -1
  433. package/upload/fileCard.tsx +13 -15
  434. package/upload/index.tsx +10 -6
@@ -1,10 +1,10 @@
1
1
  import _noop from "lodash/noop";
2
2
  import _isEqual from "lodash/isEqual";
3
+ import _Object$assign from "@babel/runtime-corejs3/core-js-stable/object/assign";
3
4
  import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
4
5
  import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
5
6
  import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
6
7
  import _Set from "@babel/runtime-corejs3/core-js-stable/set";
7
- import _Object$assign from "@babel/runtime-corejs3/core-js-stable/object/assign";
8
8
  import _forEachInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/for-each";
9
9
  import _Array$from from "@babel/runtime-corejs3/core-js-stable/array/from";
10
10
  import _Promise from "@babel/runtime-corejs3/core-js-stable/promise";
@@ -40,7 +40,12 @@ export default class Slider extends BaseComponent {
40
40
  vertical,
41
41
  range,
42
42
  tooltipVisible,
43
- tipFormatter
43
+ tipFormatter,
44
+ 'aria-label': ariaLabel,
45
+ 'aria-labelledby': ariaLabelledby,
46
+ 'aria-valuetext': ariaValueText,
47
+ getAriaValueText,
48
+ disabled
44
49
  } = this.props;
45
50
  const {
46
51
  chooseMovePos,
@@ -65,6 +70,19 @@ export default class Slider extends BaseComponent {
65
70
  const maxClass = cls(cssClasses.HANDLE, {
66
71
  ["".concat(cssClasses.HANDLE, "-clicked")]: chooseMovePos === 'max' && isDrag
67
72
  });
73
+ const {
74
+ min,
75
+ max,
76
+ currentValue
77
+ } = this.state;
78
+ const commonAria = {
79
+ 'aria-label': ariaLabel,
80
+ 'aria-labelledby': ariaLabelledby,
81
+ 'aria-disabled': disabled
82
+ };
83
+ vertical && _Object$assign(commonAria, {
84
+ 'aria-orientation': 'vertical'
85
+ });
68
86
  const handleContents = !range ? /*#__PURE__*/React.createElement(Tooltip, {
69
87
  content: tipChildren.min,
70
88
  position: "top",
@@ -72,7 +90,7 @@ export default class Slider extends BaseComponent {
72
90
  rePosKey: minPercent,
73
91
  visible: isInRenderTree && tipVisible.min,
74
92
  className: "".concat(cssClasses.HANDLE, "-tooltip")
75
- }, /*#__PURE__*/React.createElement("span", {
93
+ }, /*#__PURE__*/React.createElement("span", _Object$assign({
76
94
  onMouseOver: this.foundation.checkAndUpdateIsInRenderTreeState,
77
95
  ref: this.minHanleEl,
78
96
  className: minClass,
@@ -101,15 +119,23 @@ export default class Slider extends BaseComponent {
101
119
  },
102
120
  onTouchEnd: e => {
103
121
  this.foundation.onHandleUp(e);
104
- }
105
- })) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Tooltip, {
122
+ },
123
+ onFocus: e => this.foundation.onFocus(e, 'min'),
124
+ role: "slider",
125
+ tabIndex: 0
126
+ }, commonAria, {
127
+ "aria-valuenow": currentValue,
128
+ "aria-valuemax": max,
129
+ "aria-valuemin": min,
130
+ "aria-valuetext": getAriaValueText ? getAriaValueText(currentValue) : ariaValueText
131
+ }))) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Tooltip, {
106
132
  content: tipChildren.min,
107
133
  position: "top",
108
134
  trigger: "custom",
109
135
  rePosKey: minPercent,
110
136
  visible: isInRenderTree && tipVisible.min,
111
137
  className: "".concat(cssClasses.HANDLE, "-tooltip")
112
- }, /*#__PURE__*/React.createElement("span", {
138
+ }, /*#__PURE__*/React.createElement("span", _Object$assign({
113
139
  ref: this.minHanleEl,
114
140
  className: minClass,
115
141
  style: {
@@ -137,15 +163,23 @@ export default class Slider extends BaseComponent {
137
163
  },
138
164
  onTouchEnd: e => {
139
165
  this.foundation.onHandleUp(e);
140
- }
141
- })), /*#__PURE__*/React.createElement(Tooltip, {
166
+ },
167
+ onFocus: e => this.foundation.onFocus(e, 'min'),
168
+ role: "slider",
169
+ tabIndex: 0
170
+ }, commonAria, {
171
+ "aria-valuenow": currentValue[0],
172
+ "aria-valuetext": getAriaValueText ? getAriaValueText(currentValue[0]) : ariaValueText,
173
+ "aria-valuemax": currentValue[1],
174
+ "aria-valuemin": min
175
+ }))), /*#__PURE__*/React.createElement(Tooltip, {
142
176
  content: tipChildren.max,
143
177
  position: "top",
144
178
  trigger: "custom",
145
179
  rePosKey: maxPercent,
146
180
  visible: isInRenderTree && tipVisible.max,
147
181
  className: "".concat(cssClasses.HANDLE, "-tooltip")
148
- }, /*#__PURE__*/React.createElement("span", {
182
+ }, /*#__PURE__*/React.createElement("span", _Object$assign({
149
183
  ref: this.maxHanleEl,
150
184
  className: maxClass,
151
185
  style: {
@@ -173,8 +207,16 @@ export default class Slider extends BaseComponent {
173
207
  },
174
208
  onTouchEnd: e => {
175
209
  this.foundation.onHandleUp(e);
176
- }
177
- })));
210
+ },
211
+ onFocus: e => this.foundation.onFocus(e, 'min'),
212
+ role: "slider",
213
+ tabIndex: 0
214
+ }, commonAria, {
215
+ "aria-valuenow": currentValue[1],
216
+ "aria-valuetext": getAriaValueText ? getAriaValueText(currentValue[1]) : ariaValueText,
217
+ "aria-valuemax": max,
218
+ "aria-valuemin": currentValue[0]
219
+ }))));
178
220
  return handleContents;
179
221
  };
180
222
 
@@ -195,11 +237,15 @@ export default class Slider extends BaseComponent {
195
237
  top: range ? "".concat(minPercent * 100, "%") : 0
196
238
  };
197
239
  trackStyle = included ? trackStyle : {};
198
- return /*#__PURE__*/React.createElement("div", {
199
- className: cssClasses.TRACK,
200
- style: trackStyle,
201
- onClick: e => this.foundation.handleWrapClick(e)
202
- });
240
+ return (
241
+ /*#__PURE__*/
242
+ // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions
243
+ React.createElement("div", {
244
+ className: cssClasses.TRACK,
245
+ style: trackStyle,
246
+ onClick: e => this.foundation.handleWrapClick(e)
247
+ })
248
+ );
203
249
  };
204
250
 
205
251
  this.renderStepDot = () => {
@@ -222,6 +268,7 @@ export default class Slider extends BaseComponent {
222
268
  const markPercent = (Number(mark) - min) / (max - min);
223
269
  return activeResult ? /*#__PURE__*/React.createElement("span", {
224
270
  key: mark,
271
+ onClick: e => this.foundation.handleWrapClick(e),
225
272
  className: markClass,
226
273
  style: {
227
274
  [stylePos]: "calc(".concat(markPercent * 100, "% - 2px)")
@@ -43,7 +43,8 @@ function Icon() {
43
43
  height: "48",
44
44
  viewBox: "0 0 36 36",
45
45
  version: "1.1",
46
- xmlns: "http://www.w3.org/2000/svg"
46
+ xmlns: "http://www.w3.org/2000/svg",
47
+ "aria-label": "spin"
47
48
  }), /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("linearGradient", {
48
49
  x1: "0%",
49
50
  y1: "100%",
@@ -62,13 +63,11 @@ function Icon() {
62
63
  stopColor: "currentColor",
63
64
  offset: "100%"
64
65
  }))), /*#__PURE__*/React.createElement("g", {
65
- id: "Artboard",
66
66
  stroke: "none",
67
67
  strokeWidth: "1",
68
68
  fill: "none",
69
69
  fillRule: "evenodd"
70
70
  }, /*#__PURE__*/React.createElement("rect", {
71
- id: "Rectangle",
72
71
  fillOpacity: "0.01",
73
72
  fill: "#FFFFFF",
74
73
  x: "0",
@@ -77,7 +76,6 @@ function Icon() {
77
76
  height: "36"
78
77
  }), /*#__PURE__*/React.createElement("path", {
79
78
  d: "M34,18 C34,9.163444 26.836556,2 18,2 C11.6597233,2 6.18078805,5.68784135 3.59122325,11.0354951",
80
- id: "Path",
81
79
  stroke: "url(#".concat(id, ")"),
82
80
  strokeWidth: "4",
83
81
  strokeLinecap: "round"
@@ -16,6 +16,9 @@ export interface BasicStepProps {
16
16
  done?: boolean;
17
17
  onChange?: () => void;
18
18
  onClick?: React.MouseEventHandler<HTMLDivElement>;
19
+ onKeyDown?: React.KeyboardEventHandler<HTMLDivElement>;
20
+ "role"?: React.AriaRole;
21
+ "aria-label"?: React.AriaAttributes["aria-label"];
19
22
  }
20
23
  export declare enum stepSizeMapIconSize {
21
24
  small = "large",
@@ -1,20 +1,5 @@
1
1
  import _isFunction from "lodash/isFunction";
2
- import _indexOfInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/index-of";
3
- import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
4
2
  import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
5
- import _Object$assign from "@babel/runtime-corejs3/core-js-stable/object/assign";
6
-
7
- var __rest = this && this.__rest || function (s, e) {
8
- var t = {};
9
-
10
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && _indexOfInstanceProperty(e).call(e, p) < 0) t[p] = s[p];
11
-
12
- if (s != null && typeof _Object$getOwnPropertySymbols === "function") for (var i = 0, p = _Object$getOwnPropertySymbols(s); i < p.length; i++) {
13
- if (_indexOfInstanceProperty(e).call(e, p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
14
- }
15
- return t;
16
- };
17
-
18
3
  import React from 'react';
19
4
  import PropTypes from 'prop-types';
20
5
  import classnames from 'classnames';
@@ -43,9 +28,9 @@ const BasicStep = props => {
43
28
  icon,
44
29
  stepNumber,
45
30
  onClick,
46
- onChange
47
- } = props,
48
- restProps = __rest(props, ["prefixCls", "className", "size", "title", "description", "status", "style", "active", "done", "icon", "stepNumber", "onClick", "onChange"]);
31
+ onChange,
32
+ onKeyDown
33
+ } = props;
49
34
 
50
35
  const renderIcon = () => {
51
36
  let inner, progress;
@@ -103,10 +88,10 @@ const BasicStep = props => {
103
88
  }, inner) : null;
104
89
  };
105
90
 
106
- const classString = classnames(prefixCls, className, _concatInstanceProperty(_context = "".concat(prefixCls, "-")).call(_context, status), {
91
+ const classString = classnames(prefixCls, _concatInstanceProperty(_context = "".concat(prefixCls, "-")).call(_context, status), {
107
92
  ["".concat(prefixCls, "-active")]: active,
108
93
  ["".concat(prefixCls, "-done")]: done
109
- });
94
+ }, className);
110
95
 
111
96
  const handleClick = e => {
112
97
  if (_isFunction(onClick)) {
@@ -116,11 +101,26 @@ const BasicStep = props => {
116
101
  onChange();
117
102
  };
118
103
 
119
- return /*#__PURE__*/React.createElement("div", _Object$assign({}, restProps, {
104
+ const handleKeyDown = e => {
105
+ if (e.key === 'Enter') {
106
+ if (_isFunction(onKeyDown)) {
107
+ onKeyDown(e);
108
+ }
109
+
110
+ onChange();
111
+ }
112
+ };
113
+
114
+ return /*#__PURE__*/React.createElement("div", {
115
+ role: props["role"],
116
+ "aria-label": props["aria-label"],
117
+ tabIndex: 0,
118
+ "aria-current": "step",
120
119
  className: classString,
121
120
  style: style,
122
- onClick: e => handleClick(e)
123
- }), /*#__PURE__*/React.createElement("div", {
121
+ onClick: e => handleClick(e),
122
+ onKeyDown: handleKeyDown
123
+ }, /*#__PURE__*/React.createElement("div", {
124
124
  className: "".concat(prefixCls, "-container")
125
125
  }, /*#__PURE__*/React.createElement("div", {
126
126
  className: "".concat(prefixCls, "-left")
@@ -15,6 +15,7 @@ export interface BasicStepsProps {
15
15
  hasLine?: boolean;
16
16
  children?: React.ReactNode;
17
17
  onChange?: (current: number) => void;
18
+ "aria-label"?: string;
18
19
  }
19
20
  declare const Steps: {
20
21
  (props: BasicStepsProps): JSX.Element;
@@ -67,7 +67,7 @@ const Steps = props => {
67
67
  });
68
68
 
69
69
  return content;
70
- }, [children, initial, prefixCls, direction, status, current, size]);
70
+ }, [children, initial, prefixCls, direction, status, current, size, onChange]);
71
71
  const wrapperCls = cls(className, {
72
72
  ["".concat(prefixCls, "-basic")]: true,
73
73
  [_concatInstanceProperty(_context2 = "".concat(prefixCls, "-")).call(_context2, direction)]: true,
@@ -75,6 +75,7 @@ const Steps = props => {
75
75
  ["".concat(prefixCls, "-hasline")]: hasLine
76
76
  });
77
77
  return /*#__PURE__*/React.createElement("div", {
78
+ "aria-label": props["aria-label"],
78
79
  className: wrapperCls,
79
80
  style: style
80
81
  }, 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;
@@ -19,7 +19,8 @@ const FillStep = props => {
19
19
  onClick,
20
20
  icon,
21
21
  onChange,
22
- stepNumber
22
+ stepNumber,
23
+ onKeyDown
23
24
  } = props;
24
25
 
25
26
  const renderIcon = () => {
@@ -81,17 +82,31 @@ const FillStep = props => {
81
82
  onChange();
82
83
  };
83
84
 
85
+ const handleKeyDown = e => {
86
+ if (e.key === 'Enter') {
87
+ if (_isFunction(onKeyDown)) {
88
+ onKeyDown(e);
89
+ }
90
+
91
+ onChange();
92
+ }
93
+ };
94
+
84
95
  return /*#__PURE__*/React.createElement("div", {
96
+ role: props["role"],
97
+ "aria-label": props["aria-label"],
98
+ "aria-current": "step",
99
+ tabIndex: 0,
85
100
  className: classnames({
86
- [className]: Boolean(className),
87
101
  [prefixCls]: true,
88
102
  [_concatInstanceProperty(_context = "".concat(prefixCls, "-")).call(_context, status)]: Boolean(status),
89
103
  ["".concat(prefixCls, "-clickable")]: onClick
90
- }),
104
+ }, className),
91
105
  style: style,
92
106
  onClick: e => {
93
107
  handleClick(e);
94
- }
108
+ },
109
+ onKeyDown: handleKeyDown
95
110
  }, renderIcon(), /*#__PURE__*/React.createElement("div", {
96
111
  className: "".concat(prefixCls, "-content")
97
112
  }, /*#__PURE__*/React.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;
@@ -76,7 +76,8 @@ const Steps = props => {
76
76
  });
77
77
  return /*#__PURE__*/React.createElement("div", {
78
78
  className: wrapperCls,
79
- style: style
79
+ style: style,
80
+ "aria-label": props["aria-label"]
80
81
  }, /*#__PURE__*/React.createElement(Row, {
81
82
  type: "flex",
82
83
  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;
@@ -1,19 +1,4 @@
1
1
  import _isFunction from "lodash/isFunction";
2
- import _indexOfInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/index-of";
3
- import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
4
- import _Object$assign from "@babel/runtime-corejs3/core-js-stable/object/assign";
5
-
6
- var __rest = this && this.__rest || function (s, e) {
7
- var t = {};
8
-
9
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && _indexOfInstanceProperty(e).call(e, p) < 0) t[p] = s[p];
10
-
11
- if (s != null && typeof _Object$getOwnPropertySymbols === "function") for (var i = 0, p = _Object$getOwnPropertySymbols(s); i < p.length; i++) {
12
- if (_indexOfInstanceProperty(e).call(e, p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
13
- }
14
- return t;
15
- };
16
-
17
2
  import React from 'react';
18
3
  import PropTypes from 'prop-types';
19
4
  import classnames from 'classnames';
@@ -30,13 +15,12 @@ const NavStep = props => {
30
15
  index,
31
16
  total,
32
17
  onClick,
18
+ onKeyDown,
33
19
  onChange
34
- } = props,
35
- restProps = __rest(props, ["prefixCls", "className", "title", "style", "active", "index", "total", "onClick", "onChange"]);
36
-
37
- const classString = classnames(prefixCls, className, {
20
+ } = props;
21
+ const classString = classnames(prefixCls, {
38
22
  ["".concat(prefixCls, "-active")]: active
39
- });
23
+ }, className);
40
24
 
41
25
  const handleClick = e => {
42
26
  if (_isFunction(onClick)) {
@@ -46,11 +30,26 @@ const NavStep = props => {
46
30
  onChange();
47
31
  };
48
32
 
49
- return /*#__PURE__*/React.createElement("div", _Object$assign({}, restProps, {
33
+ const handleKeyDown = e => {
34
+ if (e.key === 'Enter') {
35
+ if (_isFunction(onKeyDown)) {
36
+ onKeyDown(e);
37
+ }
38
+
39
+ onChange();
40
+ }
41
+ };
42
+
43
+ return /*#__PURE__*/React.createElement("div", {
44
+ role: props["role"],
45
+ "aria-label": props["aria-label"],
46
+ "aria-current": "step",
47
+ tabIndex: 0,
50
48
  className: classString,
51
49
  style: style,
52
- onClick: e => handleClick(e)
53
- }), /*#__PURE__*/React.createElement("div", {
50
+ onClick: e => handleClick(e),
51
+ onKeyDown: handleKeyDown
52
+ }, /*#__PURE__*/React.createElement("div", {
54
53
  className: "".concat(prefixCls, "-container")
55
54
  }, /*#__PURE__*/React.createElement("div", {
56
55
  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;
@@ -49,12 +49,13 @@ const Steps = props => {
49
49
  });
50
50
 
51
51
  return content;
52
- }, [children, prefixCls, current, size]);
52
+ }, [children, prefixCls, current, size, initial, onChange]);
53
53
  const wrapperCls = cls(className, {
54
54
  ["".concat(prefixCls, "-nav")]: true,
55
55
  [_concatInstanceProperty(_context2 = "".concat(prefixCls, "-")).call(_context2, size)]: size !== 'default'
56
56
  });
57
57
  return /*#__PURE__*/React.createElement("div", {
58
+ "aria-label": props["aria-label"],
58
59
  className: wrapperCls,
59
60
  style: style
60
61
  }, inner);
@@ -4,6 +4,11 @@ import { SwitchAdapter } from '@douyinfe/semi-foundation/lib/es/switch/foundatio
4
4
  import BaseComponent from '../_base/baseComponent';
5
5
  import '@douyinfe/semi-foundation/lib/es/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;
@@ -1,7 +1,7 @@
1
1
  import _noop from "lodash/noop";
2
2
  import _Object$assign from "@babel/runtime-corejs3/core-js-stable/object/assign";
3
3
 
4
- /* eslint-disable max-len */
4
+ /* eslint-disable max-len, jsx-a11y/role-supports-aria-props */
5
5
  import React from 'react';
6
6
  import cls from 'classnames';
7
7
  import PropTypes from 'prop-types';
@@ -71,7 +71,8 @@ class Switch extends BaseComponent {
71
71
  size,
72
72
  checkedText,
73
73
  uncheckedText,
74
- loading
74
+ loading,
75
+ id
75
76
  } = this.props;
76
77
  const wrapperCls = cls(className, {
77
78
  [cssClasses.PREFIX]: true,
@@ -99,13 +100,21 @@ class Switch extends BaseComponent {
99
100
  wrapperClassName: cssClasses.LOADING_SPIN,
100
101
  size: size === 'default' ? 'middle' : size
101
102
  }) : /*#__PURE__*/React.createElement("div", {
102
- className: cssClasses.KNOB
103
+ className: cssClasses.KNOB,
104
+ "aria-hidden": true
103
105
  }), showCheckedText ? /*#__PURE__*/React.createElement("div", {
104
106
  className: cssClasses.CHECKED_TEXT
105
107
  }, checkedText) : null, showUncheckedText ? /*#__PURE__*/React.createElement("div", {
106
108
  className: cssClasses.UNCHECKED_TEXT
107
109
  }, uncheckedText) : null, /*#__PURE__*/React.createElement("input", _Object$assign({}, switchProps, {
108
110
  ref: this.switchRef,
111
+ id: id,
112
+ "aria-checked": nativeControlChecked,
113
+ "aria-invalid": this.props['aria-invalid'],
114
+ "aria-errormessage": this.props['aria-errormessage'],
115
+ "aria-label": this.props['aria-label'],
116
+ "aria-labelledby": this.props['aria-labelledby'],
117
+ "aria-describedby": this.props["aria-describedby"],
109
118
  onChange: e => this.foundation.handleChange(e.target.checked, e)
110
119
  })));
111
120
  }
@@ -113,6 +122,11 @@ class Switch extends BaseComponent {
113
122
  }
114
123
 
115
124
  Switch.propTypes = {
125
+ 'aria-label': PropTypes.string,
126
+ 'aria-labelledby': PropTypes.string,
127
+ 'aria-invalid': PropTypes.bool,
128
+ 'aria-errormessage': PropTypes.string,
129
+ 'aria-describedby': PropTypes.string,
116
130
  className: PropTypes.string,
117
131
  checked: PropTypes.bool,
118
132
  checkedText: PropTypes.node,
@@ -124,7 +138,8 @@ Switch.propTypes = {
124
138
  onMouseLeave: PropTypes.func,
125
139
  style: PropTypes.object,
126
140
  size: PropTypes.oneOf(strings.SIZE_MAP),
127
- uncheckedText: PropTypes.node
141
+ uncheckedText: PropTypes.node,
142
+ id: PropTypes.string
128
143
  };
129
144
  Switch.defaultProps = {
130
145
  disabled: false,
@@ -182,6 +182,7 @@ export default class TableRow extends BaseComponent {
182
182
  if (isExpandedColumn(column) && !displayExpandedColumn) {
183
183
  cells.push( /*#__PURE__*/React.createElement(TableCell, {
184
184
  key: columnIndex,
185
+ colIndex: columnIndex,
185
186
  isSection: isSection
186
187
  }));
187
188
  } else if (!isScrollbarColumn(column)) {
@@ -191,7 +192,9 @@ export default class TableRow extends BaseComponent {
191
192
  diyProps.width = _get(cellWidths, columnIndex);
192
193
  }
193
194
 
194
- cells.push( /*#__PURE__*/React.createElement(TableCell, _Object$assign({}, expandableProps, diyProps, {
195
+ cells.push( /*#__PURE__*/React.createElement(TableCell, _Object$assign({
196
+ colIndex: columnIndex
197
+ }, expandableProps, diyProps, {
195
198
  hideExpandedColumn: hideExpandedColumn,
196
199
  indentSize: indentSize,
197
200
  isSection: isSection,
@@ -230,7 +233,11 @@ export default class TableRow extends BaseComponent {
230
233
  replaceClassName,
231
234
  record,
232
235
  hovered,
233
- expanded
236
+ expanded,
237
+ expandableRow,
238
+ level,
239
+ expandedRow,
240
+ isSection
234
241
  } = this.props;
235
242
  const BodyRow = components.body.row;
236
243
 
@@ -250,7 +257,32 @@ export default class TableRow extends BaseComponent {
250
257
  ["".concat(prefixCls, "-row-expanded")]: expanded,
251
258
  ["".concat(prefixCls, "-row-hovered")]: hovered
252
259
  }, customClassName);
253
- return /*#__PURE__*/React.createElement(BodyRow, _Object$assign({}, rowProps, {
260
+ const ariaProps = {};
261
+
262
+ if (typeof index === 'number') {
263
+ ariaProps['aria-rowindex'] = index + 1;
264
+ }
265
+
266
+ if (expandableRow) {
267
+ ariaProps['aria-expanded'] = expanded;
268
+ } // if row is expandedRow, set it's level to 2
269
+
270
+
271
+ if (expanded || expandedRow) {
272
+ ariaProps['aria-level'] = 2;
273
+ }
274
+
275
+ if (typeof level === 'number') {
276
+ ariaProps['aria-level'] = level + 1;
277
+ }
278
+
279
+ if (isSection) {
280
+ ariaProps['aria-level'] = 1;
281
+ }
282
+
283
+ return /*#__PURE__*/React.createElement(BodyRow, _Object$assign({
284
+ role: "row"
285
+ }, ariaProps, rowProps, {
254
286
  style: baseRowStyle,
255
287
  className: rowCls,
256
288
  ref: this._cacheNode,