@douyinfe/semi-ui 2.2.0-beta.1 → 2.3.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (444) hide show
  1. package/_base/_story/a11y.jsx +6 -6
  2. package/_utils/hooks/usePrevFocus.ts +16 -0
  3. package/_utils/index.ts +4 -0
  4. package/anchor/_story/anchor.stories.js +1 -1
  5. package/anchor/index.tsx +5 -2
  6. package/anchor/link.tsx +29 -4
  7. package/autoComplete/index.tsx +28 -1
  8. package/avatar/_story/avatar.stories.js +4 -4
  9. package/avatar/avatarGroup.tsx +1 -1
  10. package/avatar/index.tsx +10 -4
  11. package/banner/index.tsx +2 -1
  12. package/breadcrumb/_story/breadcrumb.stories.js +22 -8
  13. package/breadcrumb/index.tsx +8 -1
  14. package/breadcrumb/item.tsx +1 -1
  15. package/button/Button.tsx +4 -0
  16. package/button/__test__/button.test.js +1 -1
  17. package/button/_story/button.stories.js +10 -10
  18. package/button/buttonGroup.tsx +4 -2
  19. package/button/splitButtonGroup.tsx +5 -2
  20. package/card/_story/card.stories.js +8 -1
  21. package/card/_story/card.stories.tsx +3 -0
  22. package/card/index.tsx +5 -2
  23. package/cascader/index.tsx +33 -5
  24. package/checkbox/_story/checkbox.stories.js +21 -14
  25. package/checkbox/checkbox.tsx +40 -5
  26. package/checkbox/checkboxGroup.tsx +30 -5
  27. package/checkbox/checkboxInner.tsx +25 -2
  28. package/collapse/index.tsx +2 -2
  29. package/collapse/item.tsx +15 -8
  30. package/collapsible/index.tsx +4 -2
  31. package/configProvider/_story/configProvider.stories.tsx +27 -0
  32. package/datePicker/__test__/datePicker.test.js +108 -0
  33. package/datePicker/_story/datePicker.stories.js +146 -2
  34. package/datePicker/datePicker.tsx +24 -0
  35. package/datePicker/monthsGrid.tsx +2 -1
  36. package/dist/css/semi.css +34 -7
  37. package/dist/css/semi.min.css +1 -1
  38. package/dist/umd/semi-ui.js +2785 -1508
  39. package/dist/umd/semi-ui.js.map +1 -1
  40. package/dist/umd/semi-ui.min.js +1 -1
  41. package/dist/umd/semi-ui.min.js.map +1 -1
  42. package/dropdown/dropdownItem.tsx +1 -1
  43. package/dropdown/dropdownMenu.tsx +1 -1
  44. package/empty/index.tsx +5 -5
  45. package/form/_story/FormApi/formApiDemo.jsx +3 -2
  46. package/form/_story/Validate/validateDemo.jsx +1 -1
  47. package/form/_story/demo.jsx +12 -3
  48. package/form/_story/form.stories.js +0 -7
  49. package/form/baseForm.tsx +2 -0
  50. package/form/errorMessage.tsx +13 -2
  51. package/form/hoc/withField.tsx +37 -8
  52. package/form/index.tsx +0 -2
  53. package/form/interface.ts +2 -0
  54. package/form/label.tsx +4 -2
  55. package/input/index.tsx +49 -4
  56. package/input/inputGroup.tsx +9 -4
  57. package/input/textarea.tsx +25 -6
  58. package/inputNumber/_story/inputNumber.stories.js +12 -0
  59. package/inputNumber/index.tsx +33 -2
  60. package/layout/Sider.tsx +6 -2
  61. package/layout/index.tsx +4 -3
  62. package/lib/cjs/_utils/hooks/usePrevFocus.d.ts +2 -0
  63. package/lib/cjs/_utils/hooks/usePrevFocus.js +30 -0
  64. package/lib/cjs/_utils/index.d.ts +1 -0
  65. package/lib/cjs/_utils/index.js +6 -1
  66. package/lib/cjs/anchor/index.d.ts +2 -0
  67. package/lib/cjs/anchor/index.js +6 -1
  68. package/lib/cjs/anchor/link.d.ts +4 -1
  69. package/lib/cjs/anchor/link.js +39 -5
  70. package/lib/cjs/autoComplete/index.d.ts +17 -0
  71. package/lib/cjs/autoComplete/index.js +21 -2
  72. package/lib/cjs/avatar/avatarGroup.js +2 -1
  73. package/lib/cjs/avatar/index.d.ts +4 -3
  74. package/lib/cjs/avatar/index.js +20 -11
  75. package/lib/cjs/banner/index.js +4 -2
  76. package/lib/cjs/breadcrumb/index.d.ts +3 -0
  77. package/lib/cjs/breadcrumb/index.js +10 -4
  78. package/lib/cjs/breadcrumb/item.js +2 -2
  79. package/lib/cjs/button/Button.d.ts +2 -0
  80. package/lib/cjs/button/Button.js +4 -2
  81. package/lib/cjs/button/buttonGroup.d.ts +3 -0
  82. package/lib/cjs/button/buttonGroup.js +8 -4
  83. package/lib/cjs/button/index.d.ts +1 -0
  84. package/lib/cjs/button/splitButtonGroup.d.ts +3 -0
  85. package/lib/cjs/button/splitButtonGroup.js +5 -2
  86. package/lib/cjs/card/index.d.ts +3 -0
  87. package/lib/cjs/card/index.js +3 -1
  88. package/lib/cjs/cascader/index.d.ts +14 -0
  89. package/lib/cjs/cascader/index.js +35 -7
  90. package/lib/cjs/checkbox/checkbox.d.ts +21 -1
  91. package/lib/cjs/checkbox/checkbox.js +51 -17
  92. package/lib/cjs/checkbox/checkboxGroup.d.ts +13 -1
  93. package/lib/cjs/checkbox/checkboxGroup.js +16 -3
  94. package/lib/cjs/checkbox/checkboxInner.d.ts +15 -0
  95. package/lib/cjs/checkbox/checkboxInner.js +20 -3
  96. package/lib/cjs/collapse/index.js +2 -1
  97. package/lib/cjs/collapse/item.d.ts +2 -1
  98. package/lib/cjs/collapse/item.js +17 -3
  99. package/lib/cjs/collapsible/index.d.ts +1 -0
  100. package/lib/cjs/collapsible/index.js +4 -2
  101. package/lib/cjs/datePicker/datePicker.d.ts +12 -0
  102. package/lib/cjs/datePicker/datePicker.js +22 -3
  103. package/lib/cjs/datePicker/monthsGrid.d.ts +1 -0
  104. package/lib/cjs/datePicker/monthsGrid.js +2 -1
  105. package/lib/cjs/dropdown/dropdownItem.js +3 -1
  106. package/lib/cjs/dropdown/dropdownMenu.js +4 -1
  107. package/lib/cjs/empty/index.js +2 -1
  108. package/lib/cjs/form/baseForm.d.ts +9 -0
  109. package/lib/cjs/form/baseForm.js +3 -1
  110. package/lib/cjs/form/errorMessage.d.ts +4 -0
  111. package/lib/cjs/form/errorMessage.js +21 -3
  112. package/lib/cjs/form/field.d.ts +7 -0
  113. package/lib/cjs/form/hoc/withField.js +49 -16
  114. package/lib/cjs/form/index.d.ts +0 -1
  115. package/lib/cjs/form/interface.d.ts +2 -0
  116. package/lib/cjs/form/label.d.ts +2 -0
  117. package/lib/cjs/form/label.js +5 -2
  118. package/lib/cjs/input/index.d.ts +16 -0
  119. package/lib/cjs/input/index.js +51 -15
  120. package/lib/cjs/input/inputGroup.d.ts +2 -1
  121. package/lib/cjs/input/inputGroup.js +11 -1
  122. package/lib/cjs/input/textarea.js +12 -1
  123. package/lib/cjs/inputNumber/index.d.ts +21 -12
  124. package/lib/cjs/inputNumber/index.js +37 -3
  125. package/lib/cjs/layout/Sider.d.ts +4 -0
  126. package/lib/cjs/layout/Sider.js +4 -1
  127. package/lib/cjs/layout/index.js +2 -0
  128. package/lib/cjs/list/item.js +0 -1
  129. package/lib/cjs/modal/Modal.js +2 -0
  130. package/lib/cjs/modal/ModalContent.d.ts +3 -1
  131. package/lib/cjs/modal/ModalContent.js +47 -5
  132. package/lib/cjs/navigation/Item.d.ts +4 -2
  133. package/lib/cjs/navigation/Item.js +25 -5
  134. package/lib/cjs/navigation/SubNav.d.ts +4 -2
  135. package/lib/cjs/navigation/SubNav.js +8 -1
  136. package/lib/cjs/navigation/index.js +2 -0
  137. package/lib/cjs/notification/notice.d.ts +1 -1
  138. package/lib/cjs/notification/notice.js +32 -22
  139. package/lib/cjs/pagination/index.js +16 -6
  140. package/lib/cjs/popover/index.js +7 -3
  141. package/lib/cjs/progress/index.d.ts +8 -0
  142. package/lib/cjs/progress/index.js +42 -9
  143. package/lib/cjs/radio/radio.d.ts +6 -1
  144. package/lib/cjs/radio/radio.js +17 -5
  145. package/lib/cjs/radio/radioGroup.d.ts +16 -1
  146. package/lib/cjs/radio/radioGroup.js +18 -3
  147. package/lib/cjs/radio/radioInner.d.ts +6 -1
  148. package/lib/cjs/radio/radioInner.js +11 -3
  149. package/lib/cjs/rating/index.d.ts +14 -0
  150. package/lib/cjs/rating/index.js +14 -3
  151. package/lib/cjs/rating/item.d.ts +2 -0
  152. package/lib/cjs/rating/item.js +6 -1
  153. package/lib/cjs/select/index.d.ts +16 -0
  154. package/lib/cjs/select/index.js +65 -19
  155. package/lib/cjs/select/option.js +28 -22
  156. package/lib/cjs/sideSheet/SideSheetContent.d.ts +1 -0
  157. package/lib/cjs/sideSheet/SideSheetContent.js +12 -5
  158. package/lib/cjs/sideSheet/index.d.ts +1 -0
  159. package/lib/cjs/sideSheet/index.js +2 -1
  160. package/lib/cjs/slider/index.d.ts +2 -1
  161. package/lib/cjs/slider/index.js +64 -17
  162. package/lib/cjs/spin/icon.js +2 -4
  163. package/lib/cjs/steps/basicStep.d.ts +3 -0
  164. package/lib/cjs/steps/basicStep.js +23 -25
  165. package/lib/cjs/steps/basicSteps.d.ts +1 -0
  166. package/lib/cjs/steps/basicSteps.js +2 -1
  167. package/lib/cjs/steps/fillStep.d.ts +3 -0
  168. package/lib/cjs/steps/fillStep.js +19 -4
  169. package/lib/cjs/steps/fillSteps.d.ts +1 -0
  170. package/lib/cjs/steps/fillSteps.js +2 -1
  171. package/lib/cjs/steps/navStep.d.ts +3 -0
  172. package/lib/cjs/steps/navStep.js +22 -25
  173. package/lib/cjs/steps/navSteps.d.ts +1 -0
  174. package/lib/cjs/steps/navSteps.js +2 -1
  175. package/lib/cjs/switch/index.d.ts +12 -0
  176. package/lib/cjs/switch/index.js +19 -4
  177. package/lib/cjs/table/Body/BaseRow.js +35 -3
  178. package/lib/cjs/table/Body/index.js +9 -1
  179. package/lib/cjs/table/ColumnFilter.js +4 -0
  180. package/lib/cjs/table/ColumnSelection.d.ts +3 -0
  181. package/lib/cjs/table/ColumnSelection.js +6 -2
  182. package/lib/cjs/table/ColumnSorter.js +19 -3
  183. package/lib/cjs/table/CustomExpandIcon.js +7 -1
  184. package/lib/cjs/table/Table.d.ts +2 -0
  185. package/lib/cjs/table/Table.js +31 -15
  186. package/lib/cjs/table/TableCell.d.ts +2 -0
  187. package/lib/cjs/table/TableCell.js +6 -2
  188. package/lib/cjs/table/TableHeaderRow.js +8 -2
  189. package/lib/cjs/tabs/TabBar.js +11 -3
  190. package/lib/cjs/tabs/TabPane.js +3 -1
  191. package/lib/cjs/tabs/index.js +3 -8
  192. package/lib/cjs/tagInput/index.d.ts +4 -1
  193. package/lib/cjs/tagInput/index.js +29 -3
  194. package/lib/cjs/timePicker/TimePicker.d.ts +12 -0
  195. package/lib/cjs/timePicker/TimePicker.js +9 -1
  196. package/lib/cjs/timePicker/index.d.ts +6 -0
  197. package/lib/cjs/timeline/index.d.ts +1 -1
  198. package/lib/cjs/timeline/index.js +1 -0
  199. package/lib/cjs/timeline/item.js +4 -2
  200. package/lib/cjs/toast/toast.js +2 -0
  201. package/lib/cjs/tooltip/TriangleArrow.js +1 -0
  202. package/lib/cjs/tooltip/TriangleArrowVertical.js +1 -0
  203. package/lib/cjs/tooltip/index.d.ts +16 -12
  204. package/lib/cjs/tooltip/index.js +55 -39
  205. package/lib/cjs/transfer/index.d.ts +1 -1
  206. package/lib/cjs/transfer/index.js +35 -17
  207. package/lib/cjs/tree/index.d.ts +1 -0
  208. package/lib/cjs/tree/index.js +15 -6
  209. package/lib/cjs/tree/treeNode.d.ts +12 -4
  210. package/lib/cjs/tree/treeNode.js +44 -4
  211. package/lib/cjs/treeSelect/index.d.ts +16 -0
  212. package/lib/cjs/treeSelect/index.js +60 -12
  213. package/lib/cjs/typography/base.js +18 -7
  214. package/lib/cjs/typography/copyable.js +6 -1
  215. package/lib/cjs/upload/fileCard.js +23 -4
  216. package/lib/cjs/upload/index.js +19 -4
  217. package/lib/es/_utils/hooks/usePrevFocus.d.ts +2 -0
  218. package/lib/es/_utils/hooks/usePrevFocus.js +15 -0
  219. package/lib/es/_utils/index.d.ts +1 -0
  220. package/lib/es/_utils/index.js +4 -1
  221. package/lib/es/anchor/index.d.ts +2 -0
  222. package/lib/es/anchor/index.js +6 -1
  223. package/lib/es/anchor/link.d.ts +4 -1
  224. package/lib/es/anchor/link.js +38 -5
  225. package/lib/es/autoComplete/index.d.ts +17 -0
  226. package/lib/es/autoComplete/index.js +21 -2
  227. package/lib/es/avatar/avatarGroup.js +2 -1
  228. package/lib/es/avatar/index.d.ts +4 -3
  229. package/lib/es/avatar/index.js +20 -11
  230. package/lib/es/banner/index.js +4 -2
  231. package/lib/es/breadcrumb/index.d.ts +3 -0
  232. package/lib/es/breadcrumb/index.js +10 -4
  233. package/lib/es/breadcrumb/item.js +2 -2
  234. package/lib/es/button/Button.d.ts +2 -0
  235. package/lib/es/button/Button.js +4 -2
  236. package/lib/es/button/buttonGroup.d.ts +3 -0
  237. package/lib/es/button/buttonGroup.js +8 -4
  238. package/lib/es/button/index.d.ts +1 -0
  239. package/lib/es/button/splitButtonGroup.d.ts +3 -0
  240. package/lib/es/button/splitButtonGroup.js +5 -2
  241. package/lib/es/card/index.d.ts +3 -0
  242. package/lib/es/card/index.js +3 -1
  243. package/lib/es/cascader/index.d.ts +14 -0
  244. package/lib/es/cascader/index.js +35 -7
  245. package/lib/es/checkbox/checkbox.d.ts +21 -1
  246. package/lib/es/checkbox/checkbox.js +50 -17
  247. package/lib/es/checkbox/checkboxGroup.d.ts +13 -1
  248. package/lib/es/checkbox/checkboxGroup.js +18 -5
  249. package/lib/es/checkbox/checkboxInner.d.ts +15 -0
  250. package/lib/es/checkbox/checkboxInner.js +20 -3
  251. package/lib/es/collapse/index.js +2 -1
  252. package/lib/es/collapse/item.d.ts +2 -1
  253. package/lib/es/collapse/item.js +16 -3
  254. package/lib/es/collapsible/index.d.ts +1 -0
  255. package/lib/es/collapsible/index.js +4 -2
  256. package/lib/es/datePicker/datePicker.d.ts +12 -0
  257. package/lib/es/datePicker/datePicker.js +22 -3
  258. package/lib/es/datePicker/monthsGrid.d.ts +1 -0
  259. package/lib/es/datePicker/monthsGrid.js +2 -1
  260. package/lib/es/dropdown/dropdownItem.js +3 -1
  261. package/lib/es/dropdown/dropdownMenu.js +4 -1
  262. package/lib/es/empty/index.js +2 -1
  263. package/lib/es/form/baseForm.d.ts +9 -0
  264. package/lib/es/form/baseForm.js +3 -1
  265. package/lib/es/form/errorMessage.d.ts +4 -0
  266. package/lib/es/form/errorMessage.js +21 -3
  267. package/lib/es/form/field.d.ts +7 -0
  268. package/lib/es/form/hoc/withField.js +48 -15
  269. package/lib/es/form/index.d.ts +0 -1
  270. package/lib/es/form/index.js +0 -1
  271. package/lib/es/form/interface.d.ts +2 -0
  272. package/lib/es/form/label.d.ts +2 -0
  273. package/lib/es/form/label.js +5 -2
  274. package/lib/es/input/index.d.ts +16 -0
  275. package/lib/es/input/index.js +51 -15
  276. package/lib/es/input/inputGroup.d.ts +2 -1
  277. package/lib/es/input/inputGroup.js +11 -1
  278. package/lib/es/input/textarea.js +12 -1
  279. package/lib/es/inputNumber/index.d.ts +21 -12
  280. package/lib/es/inputNumber/index.js +38 -3
  281. package/lib/es/layout/Sider.d.ts +4 -0
  282. package/lib/es/layout/Sider.js +4 -1
  283. package/lib/es/layout/index.js +2 -0
  284. package/lib/es/list/item.js +0 -1
  285. package/lib/es/modal/Modal.js +2 -0
  286. package/lib/es/modal/ModalContent.d.ts +3 -1
  287. package/lib/es/modal/ModalContent.js +46 -5
  288. package/lib/es/navigation/Item.d.ts +4 -2
  289. package/lib/es/navigation/Item.js +25 -5
  290. package/lib/es/navigation/SubNav.d.ts +4 -2
  291. package/lib/es/navigation/SubNav.js +8 -1
  292. package/lib/es/navigation/index.js +2 -0
  293. package/lib/es/notification/notice.d.ts +1 -1
  294. package/lib/es/notification/notice.js +33 -24
  295. package/lib/es/pagination/index.js +16 -6
  296. package/lib/es/popover/index.js +7 -3
  297. package/lib/es/progress/index.d.ts +8 -0
  298. package/lib/es/progress/index.js +42 -9
  299. package/lib/es/radio/radio.d.ts +6 -1
  300. package/lib/es/radio/radio.js +16 -5
  301. package/lib/es/radio/radioGroup.d.ts +16 -1
  302. package/lib/es/radio/radioGroup.js +18 -3
  303. package/lib/es/radio/radioInner.d.ts +6 -1
  304. package/lib/es/radio/radioInner.js +11 -3
  305. package/lib/es/rating/index.d.ts +14 -0
  306. package/lib/es/rating/index.js +14 -3
  307. package/lib/es/rating/item.d.ts +2 -0
  308. package/lib/es/rating/item.js +6 -1
  309. package/lib/es/select/index.d.ts +16 -0
  310. package/lib/es/select/index.js +63 -17
  311. package/lib/es/select/option.js +28 -22
  312. package/lib/es/sideSheet/SideSheetContent.d.ts +1 -0
  313. package/lib/es/sideSheet/SideSheetContent.js +12 -5
  314. package/lib/es/sideSheet/index.d.ts +1 -0
  315. package/lib/es/sideSheet/index.js +2 -1
  316. package/lib/es/slider/index.d.ts +2 -1
  317. package/lib/es/slider/index.js +63 -16
  318. package/lib/es/spin/icon.js +2 -4
  319. package/lib/es/steps/basicStep.d.ts +3 -0
  320. package/lib/es/steps/basicStep.js +23 -23
  321. package/lib/es/steps/basicSteps.d.ts +1 -0
  322. package/lib/es/steps/basicSteps.js +2 -1
  323. package/lib/es/steps/fillStep.d.ts +3 -0
  324. package/lib/es/steps/fillStep.js +19 -4
  325. package/lib/es/steps/fillSteps.d.ts +1 -0
  326. package/lib/es/steps/fillSteps.js +2 -1
  327. package/lib/es/steps/navStep.d.ts +3 -0
  328. package/lib/es/steps/navStep.js +22 -23
  329. package/lib/es/steps/navSteps.d.ts +1 -0
  330. package/lib/es/steps/navSteps.js +2 -1
  331. package/lib/es/switch/index.d.ts +12 -0
  332. package/lib/es/switch/index.js +19 -4
  333. package/lib/es/table/Body/BaseRow.js +35 -3
  334. package/lib/es/table/Body/index.js +9 -2
  335. package/lib/es/table/ColumnFilter.js +4 -0
  336. package/lib/es/table/ColumnSelection.d.ts +3 -0
  337. package/lib/es/table/ColumnSelection.js +6 -2
  338. package/lib/es/table/ColumnSorter.js +17 -3
  339. package/lib/es/table/CustomExpandIcon.js +6 -1
  340. package/lib/es/table/Table.d.ts +2 -0
  341. package/lib/es/table/Table.js +31 -15
  342. package/lib/es/table/TableCell.d.ts +2 -0
  343. package/lib/es/table/TableCell.js +6 -2
  344. package/lib/es/table/TableHeaderRow.js +8 -2
  345. package/lib/es/tabs/TabBar.js +11 -3
  346. package/lib/es/tabs/TabPane.js +3 -1
  347. package/lib/es/tabs/index.js +1 -6
  348. package/lib/es/tagInput/index.d.ts +4 -1
  349. package/lib/es/tagInput/index.js +29 -3
  350. package/lib/es/timePicker/TimePicker.d.ts +12 -0
  351. package/lib/es/timePicker/TimePicker.js +9 -1
  352. package/lib/es/timePicker/index.d.ts +6 -0
  353. package/lib/es/timeline/index.d.ts +1 -1
  354. package/lib/es/timeline/index.js +1 -0
  355. package/lib/es/timeline/item.js +4 -2
  356. package/lib/es/toast/toast.js +2 -0
  357. package/lib/es/tooltip/TriangleArrow.js +1 -0
  358. package/lib/es/tooltip/TriangleArrowVertical.js +1 -0
  359. package/lib/es/tooltip/index.d.ts +16 -12
  360. package/lib/es/tooltip/index.js +53 -39
  361. package/lib/es/transfer/index.d.ts +1 -1
  362. package/lib/es/transfer/index.js +35 -17
  363. package/lib/es/tree/index.d.ts +1 -0
  364. package/lib/es/tree/index.js +15 -6
  365. package/lib/es/tree/treeNode.d.ts +12 -4
  366. package/lib/es/tree/treeNode.js +44 -4
  367. package/lib/es/treeSelect/index.d.ts +16 -0
  368. package/lib/es/treeSelect/index.js +57 -10
  369. package/lib/es/typography/base.js +17 -7
  370. package/lib/es/typography/copyable.js +5 -1
  371. package/lib/es/upload/fileCard.js +23 -4
  372. package/lib/es/upload/index.js +19 -4
  373. package/list/item.tsx +0 -1
  374. package/modal/Modal.tsx +2 -0
  375. package/modal/ModalContent.tsx +35 -5
  376. package/navigation/Item.tsx +15 -0
  377. package/navigation/SubNav.tsx +13 -1
  378. package/navigation/index.tsx +1 -1
  379. package/notification/notice.tsx +19 -14
  380. package/package.json +8 -8
  381. package/pagination/index.tsx +9 -5
  382. package/popover/index.tsx +5 -0
  383. package/progress/_story/progress.stories.js +18 -18
  384. package/progress/index.tsx +58 -20
  385. package/radio/radio.tsx +12 -2
  386. package/radio/radioGroup.tsx +29 -3
  387. package/radio/radioInner.tsx +10 -1
  388. package/rating/index.tsx +19 -2
  389. package/rating/item.tsx +6 -0
  390. package/select/__test__/select.test.js +45 -0
  391. package/select/_story/select.stories.js +29 -0
  392. package/select/index.tsx +52 -4
  393. package/select/option.tsx +3 -0
  394. package/sideSheet/SideSheetContent.tsx +13 -9
  395. package/sideSheet/index.tsx +3 -2
  396. package/slider/__test__/slider.test.js +9 -0
  397. package/slider/_story/slider.stories.js +1 -1
  398. package/slider/index.tsx +44 -7
  399. package/spin/icon.tsx +3 -3
  400. package/steps/basicStep.tsx +15 -4
  401. package/steps/basicSteps.tsx +3 -2
  402. package/steps/fillStep.tsx +27 -12
  403. package/steps/fillSteps.tsx +2 -0
  404. package/steps/navStep.tsx +15 -4
  405. package/steps/navSteps.tsx +3 -2
  406. package/switch/_story/switch.stories.js +20 -19
  407. package/switch/_story/switch.stories.tsx +13 -13
  408. package/switch/index.tsx +23 -5
  409. package/table/Body/BaseRow.tsx +25 -1
  410. package/table/Body/index.tsx +7 -2
  411. package/table/ColumnFilter.tsx +7 -1
  412. package/table/ColumnSelection.tsx +4 -1
  413. package/table/ColumnSorter.tsx +18 -1
  414. package/table/CustomExpandIcon.tsx +5 -0
  415. package/table/Table.tsx +26 -13
  416. package/table/TableCell.tsx +11 -1
  417. package/table/TableHeaderRow.tsx +16 -2
  418. package/table/__test__/table.test.js +46 -0
  419. package/tabs/TabBar.tsx +8 -5
  420. package/tabs/TabPane.tsx +3 -1
  421. package/tabs/index.tsx +1 -2
  422. package/tagInput/__test__/tagInput.test.js +46 -0
  423. package/tagInput/_story/tagInput.stories.js +2 -2
  424. package/tagInput/index.tsx +31 -8
  425. package/timePicker/TimePicker.tsx +14 -1
  426. package/timeline/_story/timeline.stories.js +1 -1
  427. package/timeline/index.tsx +2 -2
  428. package/timeline/item.tsx +2 -1
  429. package/toast/toast.tsx +2 -0
  430. package/tooltip/TriangleArrow.tsx +1 -1
  431. package/tooltip/TriangleArrowVertical.tsx +1 -1
  432. package/tooltip/_story/tooltip.stories.js +562 -514
  433. package/tooltip/index.tsx +50 -33
  434. package/transfer/index.tsx +32 -28
  435. package/tree/_story/tree.stories.js +3 -3
  436. package/tree/index.tsx +10 -2
  437. package/tree/treeNode.tsx +46 -10
  438. package/treeSelect/__test__/treeMultiple.test.js +5 -0
  439. package/treeSelect/_story/treeSelect.stories.js +12 -0
  440. package/treeSelect/index.tsx +58 -7
  441. package/typography/base.tsx +7 -1
  442. package/typography/copyable.tsx +10 -1
  443. package/upload/fileCard.tsx +13 -15
  444. package/upload/index.tsx +10 -6
@@ -55,8 +55,14 @@ export declare type RenderMultipleSelectedItemFn = (optionNode: Record<string, a
55
55
  };
56
56
  export declare type RenderSelectedItemFn = RenderSingleSelectedItemFn | RenderMultipleSelectedItemFn;
57
57
  export declare type SelectProps = {
58
+ 'aria-describedby'?: React.AriaAttributes['aria-describedby'];
59
+ 'aria-errormessage'?: React.AriaAttributes['aria-errormessage'];
60
+ 'aria-invalid'?: React.AriaAttributes['aria-invalid'];
61
+ 'aria-labelledby'?: React.AriaAttributes['aria-labelledby'];
62
+ 'aria-required'?: React.AriaAttributes['aria-required'];
58
63
  id?: string;
59
64
  autoFocus?: boolean;
65
+ autoClearSearchValue?: boolean;
60
66
  arrowIcon?: React.ReactNode;
61
67
  defaultValue?: string | number | any[] | Record<string, any>;
62
68
  value?: string | number | any[] | Record<string, any>;
@@ -92,6 +98,7 @@ export declare type SelectProps = {
92
98
  suffix?: React.ReactNode;
93
99
  prefix?: React.ReactNode;
94
100
  insetLabel?: React.ReactNode;
101
+ insetLabelId?: string;
95
102
  inputProps?: Subtract<InputProps, ExcludeInputType>;
96
103
  showClear?: boolean;
97
104
  showArrow?: boolean;
@@ -134,7 +141,13 @@ declare class Select extends BaseComponent<SelectProps, SelectState> {
134
141
  static Option: typeof Option;
135
142
  static OptGroup: typeof OptionGroup;
136
143
  static propTypes: {
144
+ 'aria-describedby': PropTypes.Requireable<string>;
145
+ 'aria-errormessage': PropTypes.Requireable<string>;
146
+ 'aria-invalid': PropTypes.Requireable<boolean>;
147
+ 'aria-labelledby': PropTypes.Requireable<string>;
148
+ 'aria-required': PropTypes.Requireable<boolean>;
137
149
  autoFocus: PropTypes.Requireable<boolean>;
150
+ autoClearSearchValue: PropTypes.Requireable<boolean>;
138
151
  children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
139
152
  defaultValue: PropTypes.Requireable<string | number | object>;
140
153
  value: PropTypes.Requireable<string | number | object>;
@@ -175,6 +188,7 @@ declare class Select extends BaseComponent<SelectProps, SelectState> {
175
188
  suffix: PropTypes.Requireable<PropTypes.ReactNodeLike>;
176
189
  prefix: PropTypes.Requireable<PropTypes.ReactNodeLike>;
177
190
  insetLabel: PropTypes.Requireable<PropTypes.ReactNodeLike>;
191
+ insetLabelId: PropTypes.Requireable<string>;
178
192
  showClear: PropTypes.Requireable<boolean>;
179
193
  showArrow: PropTypes.Requireable<boolean>;
180
194
  renderSelectedItem: PropTypes.Requireable<(...args: any[]) => any>;
@@ -223,6 +237,7 @@ declare class Select extends BaseComponent<SelectProps, SelectState> {
223
237
  focus(): void;
224
238
  onSelect(option: OptionProps, optionIndex: number, e: any): void;
225
239
  onClear(e: React.MouseEvent): void;
240
+ onClearBtnEnterPress(e: React.KeyboardEvent): void;
226
241
  renderEmpty(): JSX.Element;
227
242
  renderLoading(): JSX.Element;
228
243
  renderOption(option: OptionProps, optionIndex: number, style?: React.CSSProperties): any;
@@ -235,6 +250,7 @@ declare class Select extends BaseComponent<SelectProps, SelectState> {
235
250
  renderMultipleSelection(selections: Map<OptionProps['label'], any>, filterable: boolean): JSX.Element;
236
251
  onMouseEnter(e: MouseEvent): void;
237
252
  onMouseLeave(e: MouseEvent): void;
253
+ onKeyPress(e: React.KeyboardEvent): void;
238
254
  handlePopoverVisibleChange(status: any): void;
239
255
  renderSuffix(): JSX.Element;
240
256
  renderPrefix(): JSX.Element;
@@ -49,7 +49,7 @@ const key = 0; // Notes: Use the label of the option as the identifier, that is,
49
49
 
50
50
  class Select extends BaseComponent {
51
51
  constructor(props) {
52
- var _context, _context2, _context3, _context4, _context5, _context6;
52
+ var _context, _context2, _context3, _context4, _context5, _context6, _context7, _context8;
53
53
 
54
54
  super(props);
55
55
 
@@ -82,6 +82,8 @@ class Select extends BaseComponent {
82
82
  this.onMouseEnter = _bindInstanceProperty(_context4 = this.onMouseEnter).call(_context4, this);
83
83
  this.onMouseLeave = _bindInstanceProperty(_context5 = this.onMouseLeave).call(_context5, this);
84
84
  this.renderOption = _bindInstanceProperty(_context6 = this.renderOption).call(_context6, this);
85
+ this.onKeyPress = _bindInstanceProperty(_context7 = this.onKeyPress).call(_context7, this);
86
+ this.onClearBtnEnterPress = _bindInstanceProperty(_context8 = this.onClearBtnEnterPress).call(_context8, this);
85
87
  this.foundation = new SelectFoundation(this.adapter);
86
88
  warning('optionLabelProp' in this.props, '[Semi Select] \'optionLabelProp\' has already been deprecated, please use \'renderSelectedItem\' instead.');
87
89
  warning('labelInValue' in this.props, '[Semi Select] \'labelInValue\' has already been deprecated, please use \'onChangeWithObject\' instead.');
@@ -284,10 +286,10 @@ class Select extends BaseComponent {
284
286
  } catch (error) {}
285
287
  },
286
288
  updateScrollTop: () => {
287
- var _context7, _context8;
289
+ var _context9, _context10;
288
290
 
289
291
  // eslint-disable-next-line max-len
290
- let destNode = document.querySelector(_concatInstanceProperty(_context7 = _concatInstanceProperty(_context8 = "#".concat(prefixcls, "-")).call(_context8, this.selectOptionListID, " .")).call(_context7, prefixcls, "-option-selected"));
292
+ let destNode = document.querySelector(_concatInstanceProperty(_context9 = _concatInstanceProperty(_context10 = "#".concat(prefixcls, "-")).call(_context10, this.selectOptionListID, " .")).call(_context9, prefixcls, "-option-selected"));
291
293
 
292
294
  if (_Array$isArray(destNode)) {
293
295
  // eslint-disable-next-line prefer-destructuring
@@ -315,11 +317,11 @@ class Select extends BaseComponent {
315
317
  }
316
318
 
317
319
  componentDidUpdate(prevProps, prevState) {
318
- var _context9, _context10;
320
+ var _context11, _context12;
319
321
 
320
- const prevChildrenKeys = _mapInstanceProperty(_context9 = React.Children.toArray(prevProps.children)).call(_context9, child => child.key);
322
+ const prevChildrenKeys = _mapInstanceProperty(_context11 = React.Children.toArray(prevProps.children)).call(_context11, child => child.key);
321
323
 
322
- const nowChildrenKeys = _mapInstanceProperty(_context10 = React.Children.toArray(this.props.children)).call(_context10, child => child.key);
324
+ const nowChildrenKeys = _mapInstanceProperty(_context12 = React.Children.toArray(this.props.children)).call(_context12, child => child.key);
323
325
 
324
326
  let isOptionsChanged = false;
325
327
 
@@ -415,6 +417,10 @@ class Select extends BaseComponent {
415
417
  this.foundation.handleClearClick(e);
416
418
  }
417
419
 
420
+ onClearBtnEnterPress(e) {
421
+ this.foundation.handleClearBtnEnterPress(e);
422
+ }
423
+
418
424
  renderEmpty() {
419
425
  return /*#__PURE__*/React.createElement(Option, {
420
426
  empty: true,
@@ -493,10 +499,16 @@ class Select extends BaseComponent {
493
499
  }
494
500
 
495
501
  const customCreateItem = renderCreateItem(option.value, isFocused);
496
- return /*#__PURE__*/React.createElement("div", {
497
- onClick: e => this.onSelect(option, optionIndex, e),
498
- key: new Date().valueOf()
499
- }, customCreateItem);
502
+ return (
503
+ /*#__PURE__*/
504
+ // eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/interactive-supports-focus
505
+ React.createElement("div", {
506
+ role: "button",
507
+ "aria-label": "Use the input box to create an optional item",
508
+ onClick: e => this.onSelect(option, optionIndex, e),
509
+ key: new Date().valueOf()
510
+ }, customCreateItem)
511
+ );
500
512
  }
501
513
 
502
514
  onOptionHover(optionIndex) {
@@ -559,7 +571,7 @@ class Select extends BaseComponent {
559
571
  }
560
572
 
561
573
  renderOptions(children) {
562
- var _context11;
574
+ var _context13;
563
575
 
564
576
  const {
565
577
  dropdownMinWidth,
@@ -575,7 +587,8 @@ class Select extends BaseComponent {
575
587
  outerBottomSlot,
576
588
  innerBottomSlot,
577
589
  loading,
578
- virtualize
590
+ virtualize,
591
+ multiple
579
592
  } = this.props; // Do a filter first, instead of directly judging in forEach, so that the focusIndex can correspond to
580
593
 
581
594
  const visibileOptions = _filterInstanceProperty(options).call(options, item => item._show);
@@ -596,7 +609,7 @@ class Select extends BaseComponent {
596
609
  });
597
610
  const isEmpty = !options.length || !_someInstanceProperty(options).call(options, item => item._show);
598
611
  return /*#__PURE__*/React.createElement("div", {
599
- id: _concatInstanceProperty(_context11 = "".concat(prefixcls, "-")).call(_context11, this.selectOptionListID),
612
+ id: _concatInstanceProperty(_context13 = "".concat(prefixcls, "-")).call(_context13, this.selectOptionListID),
600
613
  className: dropdownClassName,
601
614
  style: style
602
615
  }, outerTopSlot, /*#__PURE__*/React.createElement("div", {
@@ -605,6 +618,7 @@ class Select extends BaseComponent {
605
618
  },
606
619
  className: optionListCls,
607
620
  role: "listbox",
621
+ "aria-multiselectable": multiple,
608
622
  onScroll: e => this.foundation.handleListScroll(e)
609
623
  }, innerTopSlot, !loading ? listContent : this.renderLoading(), isEmpty && !loading ? this.renderEmpty() : null, innerBottomSlot), outerBottomSlot);
610
624
  }
@@ -750,6 +764,10 @@ class Select extends BaseComponent {
750
764
  onMouseLeave(e) {
751
765
  this.foundation.handleMouseLeave(e);
752
766
  }
767
+
768
+ onKeyPress(e) {
769
+ this.foundation.handleKeyPress(e);
770
+ }
753
771
  /* Processing logic when popover visible changes */
754
772
 
755
773
 
@@ -805,7 +823,8 @@ class Select extends BaseComponent {
805
823
  renderPrefix() {
806
824
  const {
807
825
  prefix,
808
- insetLabel
826
+ insetLabel,
827
+ insetLabelId
809
828
  } = this.props;
810
829
  const labelNode = prefix || insetLabel;
811
830
  const prefixWrapperCls = cls({
@@ -815,11 +834,14 @@ class Select extends BaseComponent {
815
834
  ["".concat(prefixcls, "-prefix-icon")]: isSemiIcon(labelNode)
816
835
  });
817
836
  return /*#__PURE__*/React.createElement("div", {
818
- className: prefixWrapperCls
837
+ className: prefixWrapperCls,
838
+ id: insetLabelId
819
839
  }, labelNode);
820
840
  }
821
841
 
822
842
  renderSelection() {
843
+ var _context14;
844
+
823
845
  const {
824
846
  disabled,
825
847
  multiple,
@@ -888,13 +910,28 @@ class Select extends BaseComponent {
888
910
  }, multiple ? this.renderMultipleSelection(selections, filterable) : this.renderSingleSelection(selections, filterable))), /*#__PURE__*/React.createElement(Fragment, {
889
911
  key: "clearicon"
890
912
  }, showClear ? /*#__PURE__*/React.createElement("div", {
913
+ role: "button",
914
+ "aria-label": "Clear selected value",
915
+ tabIndex: 0,
891
916
  className: cls("".concat(prefixcls, "-clear")),
892
- onClick: this.onClear
917
+ onClick: this.onClear,
918
+ onKeyPress: this.onClearBtnEnterPress
893
919
  }, /*#__PURE__*/React.createElement(IconClear, null)) : arrowContent), /*#__PURE__*/React.createElement(Fragment, {
894
920
  key: "suffix"
895
921
  }, suffix ? this.renderSuffix() : null)];
896
922
  const tabIndex = disabled ? null : 0;
897
923
  return /*#__PURE__*/React.createElement("div", _Object$assign({
924
+ role: "combobox",
925
+ "aria-disabled": disabled,
926
+ "aria-expanded": isOpen,
927
+ "aria-controls": _concatInstanceProperty(_context14 = "".concat(prefixcls, "-")).call(_context14, this.selectOptionListID),
928
+ "aria-haspopup": "listbox",
929
+ "aria-label": "select value",
930
+ "aria-invalid": this.props['aria-invalid'],
931
+ "aria-errormessage": this.props['aria-errormessage'],
932
+ "aria-labelledby": this.props['aria-labelledby'],
933
+ "aria-describedby": this.props['aria-describedby'],
934
+ "aria-required": this.props['aria-required'],
898
935
  className: selectionCls,
899
936
  ref: ref => this.triggerRef.current = ref,
900
937
  onClick: e => this.foundation.handleClick(e),
@@ -904,7 +941,8 @@ class Select extends BaseComponent {
904
941
  onMouseEnter: this.onMouseEnter,
905
942
  onMouseLeave: this.onMouseLeave,
906
943
  // onFocus={e => this.foundation.handleTriggerFocus(e)}
907
- onBlur: e => this.foundation.handleTriggerBlur(e)
944
+ onBlur: e => this.foundation.handleTriggerBlur(e),
945
+ onKeyPress: this.onKeyPress
908
946
  }, keyboardEventSet), inner);
909
947
  }
910
948
 
@@ -957,7 +995,13 @@ Select.contextType = ConfigContext;
957
995
  Select.Option = Option;
958
996
  Select.OptGroup = OptionGroup;
959
997
  Select.propTypes = {
998
+ 'aria-describedby': PropTypes.string,
999
+ 'aria-errormessage': PropTypes.string,
1000
+ 'aria-invalid': PropTypes.bool,
1001
+ 'aria-labelledby': PropTypes.string,
1002
+ 'aria-required': PropTypes.bool,
960
1003
  autoFocus: PropTypes.bool,
1004
+ autoClearSearchValue: PropTypes.bool,
961
1005
  children: PropTypes.node,
962
1006
  defaultValue: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.array, PropTypes.object]),
963
1007
  value: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.array, PropTypes.object]),
@@ -1002,6 +1046,7 @@ Select.propTypes = {
1002
1046
  suffix: PropTypes.node,
1003
1047
  prefix: PropTypes.node,
1004
1048
  insetLabel: PropTypes.node,
1049
+ insetLabelId: PropTypes.string,
1005
1050
  showClear: PropTypes.bool,
1006
1051
  showArrow: PropTypes.bool,
1007
1052
  renderSelectedItem: PropTypes.func,
@@ -1062,6 +1107,7 @@ Select.defaultProps = {
1062
1107
  showClear: false,
1063
1108
  remote: false,
1064
1109
  autoAdjustOverflow: true,
1110
+ autoClearSearchValue: true,
1065
1111
  arrowIcon: /*#__PURE__*/React.createElement(IconChevronDown, null) // Radio selection is different from the default renderSelectedItem for multiple selection, so it is not declared here
1066
1112
  // renderSelectedItem: (optionNode) => optionNode.label,
1067
1113
  // The default creator rendering is related to i18, so it is not declared here
@@ -130,28 +130,34 @@ class Option extends PureComponent {
130
130
  highlightClassName: "".concat(prefixCls, "-keyword")
131
131
  }
132
132
  };
133
- return /*#__PURE__*/React.createElement("div", {
134
- className: optionClassName,
135
- onClick: e => {
136
- this.onClick(_Object$assign({
137
- value,
138
- label,
139
- children
140
- }, rest), e);
141
- },
142
- onMouseEnter: e => onMouseEnter && onMouseEnter(e),
143
- role: "option",
144
- style: style
145
- }, showTick ? /*#__PURE__*/React.createElement("div", {
146
- className: selectedIconClassName
147
- }, /*#__PURE__*/React.createElement(IconTick, null)) : null, _isString(children) ? /*#__PURE__*/React.createElement("div", {
148
- className: "".concat(prefixCls, "-text")
149
- }, this.renderOptionContent({
150
- children,
151
- config,
152
- inputValue,
153
- prefixCls
154
- })) : children);
133
+ return (
134
+ /*#__PURE__*/
135
+ // eslint-disable-next-line jsx-a11y/interactive-supports-focus,jsx-a11y/click-events-have-key-events
136
+ React.createElement("div", {
137
+ className: optionClassName,
138
+ onClick: e => {
139
+ this.onClick(_Object$assign({
140
+ value,
141
+ label,
142
+ children
143
+ }, rest), e);
144
+ },
145
+ onMouseEnter: e => onMouseEnter && onMouseEnter(e),
146
+ role: "option",
147
+ "aria-selected": selected ? "true" : "false",
148
+ "aria-disabled": disabled ? "true" : "false",
149
+ style: style
150
+ }, showTick ? /*#__PURE__*/React.createElement("div", {
151
+ className: selectedIconClassName
152
+ }, /*#__PURE__*/React.createElement(IconTick, null)) : null, _isString(children) ? /*#__PURE__*/React.createElement("div", {
153
+ className: "".concat(prefixCls, "-text")
154
+ }, this.renderOptionContent({
155
+ children,
156
+ config,
157
+ inputValue,
158
+ prefixCls
159
+ })) : children)
160
+ );
155
161
  }
156
162
 
157
163
  }
@@ -14,6 +14,7 @@ export interface SideSheetContentProps {
14
14
  bodyStyle?: CSSProperties;
15
15
  className: string;
16
16
  footer?: React.ReactNode;
17
+ 'aria-label'?: string;
17
18
  }
18
19
  export default class SideSheetContent extends React.PureComponent<SideSheetContentProps> {
19
20
  static propTypes: {
@@ -58,6 +58,7 @@ export default class SideSheetContent extends React.PureComponent {
58
58
 
59
59
  if (mask) {
60
60
  return /*#__PURE__*/React.createElement("div", {
61
+ "aria-hidden": true,
61
62
  key: "mask",
62
63
  className: "".concat(prefixCls, "-mask"),
63
64
  style: maskStyle,
@@ -78,7 +79,8 @@ export default class SideSheetContent extends React.PureComponent {
78
79
 
79
80
  if (title) {
80
81
  header = /*#__PURE__*/React.createElement("div", {
81
- className: "".concat(prefixCls, "-title")
82
+ className: "".concat(prefixCls, "-title"),
83
+ "aria-label": 'Sidesheet title'
82
84
  }, this.props.title);
83
85
  }
84
86
 
@@ -96,6 +98,7 @@ export default class SideSheetContent extends React.PureComponent {
96
98
 
97
99
  return /*#__PURE__*/React.createElement("div", {
98
100
  className: "".concat(prefixCls, "-header"),
101
+ role: 'heading',
99
102
  style: _Object$assign({}, headerStyle)
100
103
  }, header, closer);
101
104
  }
@@ -122,18 +125,21 @@ export default class SideSheetContent extends React.PureComponent {
122
125
  const header = this.renderHeader();
123
126
  const dialogElement = /*#__PURE__*/React.createElement("div", {
124
127
  key: "dialog-element",
125
- role: "sidesheet",
128
+ role: "dialog",
126
129
  tabIndex: -1,
127
130
  className: _concatInstanceProperty(_context = "".concat(prefixCls, "-inner ")).call(_context, prefixCls, "-inner-wrap"),
128
131
  // onMouseDown={this.onDialogMouseDown}
129
132
  style: _Object$assign(_Object$assign({}, props.style), style)
130
133
  }, /*#__PURE__*/React.createElement("div", {
131
- className: "".concat(prefixCls, "-content")
134
+ className: "".concat(prefixCls, "-content"),
135
+ "aria-label": "Sidesheet content"
132
136
  }, header, /*#__PURE__*/React.createElement("div", {
133
137
  className: "".concat(prefixCls, "-body"),
138
+ "aria-label": "Sidesheet body",
134
139
  style: props.bodyStyle
135
140
  }, props.children), props.footer ? /*#__PURE__*/React.createElement("div", {
136
- className: "".concat(prefixCls, "-footer")
141
+ className: "".concat(prefixCls, "-footer"),
142
+ "aria-label": "Sidesheet footer"
137
143
  }, props.footer) : null));
138
144
  return dialogElement;
139
145
  }
@@ -155,7 +161,8 @@ export default class SideSheetContent extends React.PureComponent {
155
161
 
156
162
  return /*#__PURE__*/React.createElement("div", {
157
163
  className: wrapperCls,
158
- style: wrapperStyle
164
+ style: wrapperStyle,
165
+ "aria-label": this.props['aria-label']
159
166
  }, this.getMaskElement(), this.getDialogElement());
160
167
  }
161
168
 
@@ -43,6 +43,7 @@ export default class SideSheet extends BaseComponent<SideSheetReactProps, SideSh
43
43
  closeOnEsc: PropTypes.Requireable<boolean>;
44
44
  footer: PropTypes.Requireable<PropTypes.ReactNodeLike>;
45
45
  keepDOM: PropTypes.Requireable<boolean>;
46
+ 'aria-label': PropTypes.Requireable<string>;
46
47
  };
47
48
  static defaultProps: SideSheetReactProps;
48
49
  private _active;
@@ -256,7 +256,8 @@ SideSheet.propTypes = {
256
256
  afterVisibleChange: PropTypes.func,
257
257
  closeOnEsc: PropTypes.bool,
258
258
  footer: PropTypes.node,
259
- keepDOM: PropTypes.bool
259
+ keepDOM: PropTypes.bool,
260
+ 'aria-label': PropTypes.string
260
261
  };
261
262
  SideSheet.defaultProps = {
262
263
  visible: false,
@@ -1,6 +1,6 @@
1
1
  import { CSSProperties } from 'react';
2
2
  import BaseComponent from '../_base/baseComponent';
3
- import { SliderAdapter, SliderProps as BasicSliceProps, SliderState } from '@douyinfe/semi-foundation/lib/es/slider/foundation';
3
+ import SliderFoundation, { SliderAdapter, SliderProps as BasicSliceProps, SliderState } from '@douyinfe/semi-foundation/lib/es/slider/foundation';
4
4
  import '@douyinfe/semi-foundation/lib/es/slider/slider.css';
5
5
  export interface SliderProps extends BasicSliceProps {
6
6
  style?: CSSProperties;
@@ -16,6 +16,7 @@ export default class Slider extends BaseComponent<SliderProps, SliderState> {
16
16
  private dragging;
17
17
  private eventListenerSet;
18
18
  private chooseMovePos;
19
+ foundation: SliderFoundation;
19
20
  constructor(props: SliderProps);
20
21
  get adapter(): SliderAdapter;
21
22
  componentDidMount(): void;
@@ -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",