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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (441) hide show
  1. package/_base/_story/a11y.jsx +6 -6
  2. package/_base/_story/a11y.scss +0 -1
  3. package/_base/_story/index.scss +2 -5
  4. package/_utils/hooks/usePrevFocus.ts +16 -0
  5. package/_utils/index.ts +4 -0
  6. package/anchor/_story/anchor.stories.js +1 -1
  7. package/anchor/index.tsx +5 -2
  8. package/anchor/link.tsx +29 -4
  9. package/autoComplete/index.tsx +28 -1
  10. package/avatar/_story/avatar.stories.js +4 -4
  11. package/avatar/index.tsx +6 -4
  12. package/banner/index.tsx +2 -1
  13. package/breadcrumb/_story/breadcrumb.stories.js +22 -8
  14. package/breadcrumb/index.tsx +8 -1
  15. package/breadcrumb/item.tsx +1 -1
  16. package/button/Button.tsx +4 -0
  17. package/button/__test__/button.test.js +1 -1
  18. package/button/_story/button.stories.js +10 -10
  19. package/button/buttonGroup.tsx +4 -2
  20. package/button/splitButtonGroup.tsx +5 -2
  21. package/card/_story/card.stories.js +8 -1
  22. package/card/_story/card.stories.tsx +3 -0
  23. package/card/index.tsx +5 -2
  24. package/cascader/index.tsx +33 -5
  25. package/checkbox/_story/checkbox.stories.js +19 -12
  26. package/checkbox/checkbox.tsx +40 -5
  27. package/checkbox/checkboxGroup.tsx +30 -5
  28. package/checkbox/checkboxInner.tsx +25 -2
  29. package/collapse/index.tsx +1 -1
  30. package/collapse/item.tsx +12 -7
  31. package/collapsible/index.tsx +4 -2
  32. package/configProvider/_story/configProvider.stories.tsx +27 -0
  33. package/datePicker/datePicker.tsx +19 -0
  34. package/dist/css/semi.css +23 -12
  35. package/dist/css/semi.min.css +1 -1
  36. package/dist/umd/semi-ui.js +2502 -1249
  37. package/dist/umd/semi-ui.js.map +1 -1
  38. package/dist/umd/semi-ui.min.js +1 -1
  39. package/dist/umd/semi-ui.min.js.map +1 -1
  40. package/dropdown/dropdownItem.tsx +1 -1
  41. package/dropdown/dropdownMenu.tsx +1 -1
  42. package/dropdown/index.tsx +11 -3
  43. package/empty/index.tsx +4 -4
  44. package/form/_story/FormApi/formApiDemo.jsx +3 -2
  45. package/form/_story/Validate/validateDemo.jsx +1 -1
  46. package/form/_story/demo.jsx +12 -3
  47. package/form/_story/form.stories.js +0 -7
  48. package/form/baseForm.tsx +2 -0
  49. package/form/errorMessage.tsx +13 -2
  50. package/form/hoc/withField.tsx +37 -8
  51. package/form/index.tsx +0 -2
  52. package/form/interface.ts +2 -0
  53. package/form/label.tsx +4 -2
  54. package/input/index.tsx +49 -4
  55. package/input/inputGroup.tsx +9 -4
  56. package/input/textarea.tsx +30 -9
  57. package/inputNumber/__test__/inputNumber.test.js +36 -8
  58. package/inputNumber/index.tsx +30 -2
  59. package/layout/Sider.tsx +6 -2
  60. package/layout/index.tsx +4 -3
  61. package/lib/cjs/_utils/hooks/usePrevFocus.d.ts +2 -0
  62. package/lib/cjs/_utils/hooks/usePrevFocus.js +30 -0
  63. package/lib/cjs/_utils/index.d.ts +1 -0
  64. package/lib/cjs/_utils/index.js +6 -1
  65. package/lib/cjs/anchor/index.d.ts +2 -0
  66. package/lib/cjs/anchor/index.js +6 -1
  67. package/lib/cjs/anchor/link.d.ts +4 -1
  68. package/lib/cjs/anchor/link.js +39 -5
  69. package/lib/cjs/autoComplete/index.d.ts +17 -0
  70. package/lib/cjs/autoComplete/index.js +21 -2
  71. package/lib/cjs/avatar/index.d.ts +4 -3
  72. package/lib/cjs/avatar/index.js +15 -11
  73. package/lib/cjs/banner/index.js +4 -2
  74. package/lib/cjs/breadcrumb/index.d.ts +3 -0
  75. package/lib/cjs/breadcrumb/index.js +10 -4
  76. package/lib/cjs/breadcrumb/item.js +2 -2
  77. package/lib/cjs/button/Button.d.ts +2 -0
  78. package/lib/cjs/button/Button.js +4 -2
  79. package/lib/cjs/button/buttonGroup.d.ts +3 -0
  80. package/lib/cjs/button/buttonGroup.js +8 -4
  81. package/lib/cjs/button/index.d.ts +1 -0
  82. package/lib/cjs/button/splitButtonGroup.d.ts +3 -0
  83. package/lib/cjs/button/splitButtonGroup.js +5 -2
  84. package/lib/cjs/card/index.d.ts +3 -0
  85. package/lib/cjs/card/index.js +3 -1
  86. package/lib/cjs/cascader/index.d.ts +14 -0
  87. package/lib/cjs/cascader/index.js +35 -7
  88. package/lib/cjs/checkbox/checkbox.d.ts +21 -1
  89. package/lib/cjs/checkbox/checkbox.js +51 -17
  90. package/lib/cjs/checkbox/checkboxGroup.d.ts +13 -1
  91. package/lib/cjs/checkbox/checkboxGroup.js +16 -3
  92. package/lib/cjs/checkbox/checkboxInner.d.ts +15 -0
  93. package/lib/cjs/checkbox/checkboxInner.js +20 -3
  94. package/lib/cjs/collapse/item.d.ts +2 -1
  95. package/lib/cjs/collapse/item.js +12 -2
  96. package/lib/cjs/collapsible/index.d.ts +1 -0
  97. package/lib/cjs/collapsible/index.js +4 -2
  98. package/lib/cjs/datePicker/datePicker.d.ts +12 -0
  99. package/lib/cjs/datePicker/datePicker.js +14 -1
  100. package/lib/cjs/dropdown/dropdownItem.js +3 -1
  101. package/lib/cjs/dropdown/dropdownMenu.js +4 -1
  102. package/lib/cjs/dropdown/index.d.ts +10 -3
  103. package/lib/cjs/form/baseForm.d.ts +9 -0
  104. package/lib/cjs/form/baseForm.js +3 -1
  105. package/lib/cjs/form/errorMessage.d.ts +4 -0
  106. package/lib/cjs/form/errorMessage.js +21 -3
  107. package/lib/cjs/form/field.d.ts +7 -0
  108. package/lib/cjs/form/hoc/withField.js +49 -16
  109. package/lib/cjs/form/index.d.ts +0 -1
  110. package/lib/cjs/form/interface.d.ts +2 -0
  111. package/lib/cjs/form/label.d.ts +2 -0
  112. package/lib/cjs/form/label.js +5 -2
  113. package/lib/cjs/input/index.d.ts +16 -0
  114. package/lib/cjs/input/index.js +51 -15
  115. package/lib/cjs/input/inputGroup.d.ts +2 -1
  116. package/lib/cjs/input/inputGroup.js +11 -1
  117. package/lib/cjs/input/textarea.js +16 -3
  118. package/lib/cjs/inputNumber/index.d.ts +8 -0
  119. package/lib/cjs/inputNumber/index.js +35 -4
  120. package/lib/cjs/layout/Sider.d.ts +4 -0
  121. package/lib/cjs/layout/Sider.js +4 -1
  122. package/lib/cjs/layout/index.js +2 -0
  123. package/lib/cjs/list/index.d.ts +4 -4
  124. package/lib/cjs/list/item.js +0 -1
  125. package/lib/cjs/modal/Modal.js +2 -0
  126. package/lib/cjs/modal/ModalContent.d.ts +3 -1
  127. package/lib/cjs/modal/ModalContent.js +47 -5
  128. package/lib/cjs/navigation/Item.d.ts +4 -2
  129. package/lib/cjs/navigation/Item.js +25 -5
  130. package/lib/cjs/navigation/SubNav.d.ts +4 -2
  131. package/lib/cjs/navigation/SubNav.js +8 -1
  132. package/lib/cjs/navigation/index.js +2 -0
  133. package/lib/cjs/notification/notice.d.ts +1 -1
  134. package/lib/cjs/notification/notice.js +32 -22
  135. package/lib/cjs/pagination/index.js +16 -6
  136. package/lib/cjs/popover/index.js +7 -3
  137. package/lib/cjs/progress/index.d.ts +8 -0
  138. package/lib/cjs/progress/index.js +42 -9
  139. package/lib/cjs/radio/radio.d.ts +6 -1
  140. package/lib/cjs/radio/radio.js +17 -5
  141. package/lib/cjs/radio/radioGroup.d.ts +16 -1
  142. package/lib/cjs/radio/radioGroup.js +18 -3
  143. package/lib/cjs/radio/radioInner.d.ts +6 -1
  144. package/lib/cjs/radio/radioInner.js +11 -3
  145. package/lib/cjs/rating/index.d.ts +14 -0
  146. package/lib/cjs/rating/index.js +14 -3
  147. package/lib/cjs/rating/item.d.ts +2 -0
  148. package/lib/cjs/rating/item.js +6 -1
  149. package/lib/cjs/select/index.d.ts +16 -0
  150. package/lib/cjs/select/index.js +65 -19
  151. package/lib/cjs/select/option.js +28 -22
  152. package/lib/cjs/sideSheet/SideSheetContent.d.ts +1 -0
  153. package/lib/cjs/sideSheet/SideSheetContent.js +4 -1
  154. package/lib/cjs/sideSheet/index.d.ts +1 -0
  155. package/lib/cjs/sideSheet/index.js +2 -1
  156. package/lib/cjs/slider/index.d.ts +2 -1
  157. package/lib/cjs/slider/index.js +64 -17
  158. package/lib/cjs/spin/icon.js +3 -4
  159. package/lib/cjs/steps/basicStep.d.ts +3 -0
  160. package/lib/cjs/steps/basicStep.js +23 -25
  161. package/lib/cjs/steps/basicSteps.d.ts +1 -0
  162. package/lib/cjs/steps/basicSteps.js +2 -1
  163. package/lib/cjs/steps/fillStep.d.ts +3 -0
  164. package/lib/cjs/steps/fillStep.js +19 -4
  165. package/lib/cjs/steps/fillSteps.d.ts +1 -0
  166. package/lib/cjs/steps/fillSteps.js +2 -1
  167. package/lib/cjs/steps/navStep.d.ts +3 -0
  168. package/lib/cjs/steps/navStep.js +22 -25
  169. package/lib/cjs/steps/navSteps.d.ts +1 -0
  170. package/lib/cjs/steps/navSteps.js +2 -1
  171. package/lib/cjs/switch/index.d.ts +12 -0
  172. package/lib/cjs/switch/index.js +19 -4
  173. package/lib/cjs/table/Body/BaseRow.js +35 -3
  174. package/lib/cjs/table/Body/index.js +9 -1
  175. package/lib/cjs/table/ColumnFilter.js +4 -0
  176. package/lib/cjs/table/ColumnSelection.d.ts +3 -0
  177. package/lib/cjs/table/ColumnSelection.js +6 -2
  178. package/lib/cjs/table/ColumnSorter.js +19 -3
  179. package/lib/cjs/table/CustomExpandIcon.js +7 -1
  180. package/lib/cjs/table/Table.d.ts +2 -0
  181. package/lib/cjs/table/Table.js +35 -15
  182. package/lib/cjs/table/TableCell.d.ts +2 -0
  183. package/lib/cjs/table/TableCell.js +6 -2
  184. package/lib/cjs/table/TableHeaderRow.js +8 -2
  185. package/lib/cjs/tabs/TabBar.js +11 -3
  186. package/lib/cjs/tabs/TabPane.js +3 -1
  187. package/lib/cjs/tabs/index.js +0 -1
  188. package/lib/cjs/tagInput/index.d.ts +4 -1
  189. package/lib/cjs/tagInput/index.js +29 -3
  190. package/lib/cjs/timePicker/TimePicker.d.ts +14 -0
  191. package/lib/cjs/timePicker/TimePicker.js +11 -4
  192. package/lib/cjs/timePicker/index.d.ts +7 -0
  193. package/lib/cjs/timeline/index.d.ts +1 -1
  194. package/lib/cjs/timeline/index.js +1 -0
  195. package/lib/cjs/timeline/item.js +4 -2
  196. package/lib/cjs/toast/toast.js +2 -0
  197. package/lib/cjs/tooltip/TriangleArrow.js +1 -0
  198. package/lib/cjs/tooltip/TriangleArrowVertical.js +1 -0
  199. package/lib/cjs/tooltip/index.d.ts +16 -12
  200. package/lib/cjs/tooltip/index.js +55 -39
  201. package/lib/cjs/transfer/index.js +32 -14
  202. package/lib/cjs/tree/index.d.ts +1 -0
  203. package/lib/cjs/tree/index.js +15 -6
  204. package/lib/cjs/tree/treeNode.d.ts +12 -4
  205. package/lib/cjs/tree/treeNode.js +54 -5
  206. package/lib/cjs/treeSelect/index.d.ts +16 -0
  207. package/lib/cjs/treeSelect/index.js +60 -12
  208. package/lib/cjs/typography/base.js +18 -7
  209. package/lib/cjs/typography/copyable.js +6 -1
  210. package/lib/cjs/upload/fileCard.js +26 -7
  211. package/lib/cjs/upload/index.js +19 -4
  212. package/lib/es/_utils/hooks/usePrevFocus.d.ts +2 -0
  213. package/lib/es/_utils/hooks/usePrevFocus.js +15 -0
  214. package/lib/es/_utils/index.d.ts +1 -0
  215. package/lib/es/_utils/index.js +4 -1
  216. package/lib/es/anchor/index.d.ts +2 -0
  217. package/lib/es/anchor/index.js +6 -1
  218. package/lib/es/anchor/link.d.ts +4 -1
  219. package/lib/es/anchor/link.js +38 -5
  220. package/lib/es/autoComplete/index.d.ts +17 -0
  221. package/lib/es/autoComplete/index.js +21 -2
  222. package/lib/es/avatar/index.d.ts +4 -3
  223. package/lib/es/avatar/index.js +15 -11
  224. package/lib/es/banner/index.js +4 -2
  225. package/lib/es/breadcrumb/index.d.ts +3 -0
  226. package/lib/es/breadcrumb/index.js +10 -4
  227. package/lib/es/breadcrumb/item.js +2 -2
  228. package/lib/es/button/Button.d.ts +2 -0
  229. package/lib/es/button/Button.js +4 -2
  230. package/lib/es/button/buttonGroup.d.ts +3 -0
  231. package/lib/es/button/buttonGroup.js +8 -4
  232. package/lib/es/button/index.d.ts +1 -0
  233. package/lib/es/button/splitButtonGroup.d.ts +3 -0
  234. package/lib/es/button/splitButtonGroup.js +5 -2
  235. package/lib/es/card/index.d.ts +3 -0
  236. package/lib/es/card/index.js +3 -1
  237. package/lib/es/cascader/index.d.ts +14 -0
  238. package/lib/es/cascader/index.js +35 -7
  239. package/lib/es/checkbox/checkbox.d.ts +21 -1
  240. package/lib/es/checkbox/checkbox.js +50 -17
  241. package/lib/es/checkbox/checkboxGroup.d.ts +13 -1
  242. package/lib/es/checkbox/checkboxGroup.js +18 -5
  243. package/lib/es/checkbox/checkboxInner.d.ts +15 -0
  244. package/lib/es/checkbox/checkboxInner.js +20 -3
  245. package/lib/es/collapse/item.d.ts +2 -1
  246. package/lib/es/collapse/item.js +11 -2
  247. package/lib/es/collapsible/index.d.ts +1 -0
  248. package/lib/es/collapsible/index.js +4 -2
  249. package/lib/es/datePicker/datePicker.d.ts +12 -0
  250. package/lib/es/datePicker/datePicker.js +14 -1
  251. package/lib/es/dropdown/dropdownItem.js +3 -1
  252. package/lib/es/dropdown/dropdownMenu.js +4 -1
  253. package/lib/es/dropdown/index.d.ts +10 -3
  254. package/lib/es/form/baseForm.d.ts +9 -0
  255. package/lib/es/form/baseForm.js +3 -1
  256. package/lib/es/form/errorMessage.d.ts +4 -0
  257. package/lib/es/form/errorMessage.js +21 -3
  258. package/lib/es/form/field.d.ts +7 -0
  259. package/lib/es/form/hoc/withField.js +48 -15
  260. package/lib/es/form/index.d.ts +0 -1
  261. package/lib/es/form/index.js +0 -1
  262. package/lib/es/form/interface.d.ts +2 -0
  263. package/lib/es/form/label.d.ts +2 -0
  264. package/lib/es/form/label.js +5 -2
  265. package/lib/es/input/index.d.ts +16 -0
  266. package/lib/es/input/index.js +51 -15
  267. package/lib/es/input/inputGroup.d.ts +2 -1
  268. package/lib/es/input/inputGroup.js +11 -1
  269. package/lib/es/input/textarea.js +16 -3
  270. package/lib/es/inputNumber/index.d.ts +8 -0
  271. package/lib/es/inputNumber/index.js +36 -4
  272. package/lib/es/layout/Sider.d.ts +4 -0
  273. package/lib/es/layout/Sider.js +4 -1
  274. package/lib/es/layout/index.js +2 -0
  275. package/lib/es/list/index.d.ts +4 -4
  276. package/lib/es/list/item.js +0 -1
  277. package/lib/es/modal/Modal.js +2 -0
  278. package/lib/es/modal/ModalContent.d.ts +3 -1
  279. package/lib/es/modal/ModalContent.js +46 -5
  280. package/lib/es/navigation/Item.d.ts +4 -2
  281. package/lib/es/navigation/Item.js +25 -5
  282. package/lib/es/navigation/SubNav.d.ts +4 -2
  283. package/lib/es/navigation/SubNav.js +8 -1
  284. package/lib/es/navigation/index.js +2 -0
  285. package/lib/es/notification/notice.d.ts +1 -1
  286. package/lib/es/notification/notice.js +33 -24
  287. package/lib/es/pagination/index.js +16 -6
  288. package/lib/es/popover/index.js +7 -3
  289. package/lib/es/progress/index.d.ts +8 -0
  290. package/lib/es/progress/index.js +42 -9
  291. package/lib/es/radio/radio.d.ts +6 -1
  292. package/lib/es/radio/radio.js +16 -5
  293. package/lib/es/radio/radioGroup.d.ts +16 -1
  294. package/lib/es/radio/radioGroup.js +18 -3
  295. package/lib/es/radio/radioInner.d.ts +6 -1
  296. package/lib/es/radio/radioInner.js +11 -3
  297. package/lib/es/rating/index.d.ts +14 -0
  298. package/lib/es/rating/index.js +14 -3
  299. package/lib/es/rating/item.d.ts +2 -0
  300. package/lib/es/rating/item.js +6 -1
  301. package/lib/es/select/index.d.ts +16 -0
  302. package/lib/es/select/index.js +63 -17
  303. package/lib/es/select/option.js +28 -22
  304. package/lib/es/sideSheet/SideSheetContent.d.ts +1 -0
  305. package/lib/es/sideSheet/SideSheetContent.js +4 -1
  306. package/lib/es/sideSheet/index.d.ts +1 -0
  307. package/lib/es/sideSheet/index.js +2 -1
  308. package/lib/es/slider/index.d.ts +2 -1
  309. package/lib/es/slider/index.js +63 -16
  310. package/lib/es/spin/icon.js +3 -4
  311. package/lib/es/steps/basicStep.d.ts +3 -0
  312. package/lib/es/steps/basicStep.js +23 -23
  313. package/lib/es/steps/basicSteps.d.ts +1 -0
  314. package/lib/es/steps/basicSteps.js +2 -1
  315. package/lib/es/steps/fillStep.d.ts +3 -0
  316. package/lib/es/steps/fillStep.js +19 -4
  317. package/lib/es/steps/fillSteps.d.ts +1 -0
  318. package/lib/es/steps/fillSteps.js +2 -1
  319. package/lib/es/steps/navStep.d.ts +3 -0
  320. package/lib/es/steps/navStep.js +22 -23
  321. package/lib/es/steps/navSteps.d.ts +1 -0
  322. package/lib/es/steps/navSteps.js +2 -1
  323. package/lib/es/switch/index.d.ts +12 -0
  324. package/lib/es/switch/index.js +19 -4
  325. package/lib/es/table/Body/BaseRow.js +35 -3
  326. package/lib/es/table/Body/index.js +9 -2
  327. package/lib/es/table/ColumnFilter.js +4 -0
  328. package/lib/es/table/ColumnSelection.d.ts +3 -0
  329. package/lib/es/table/ColumnSelection.js +6 -2
  330. package/lib/es/table/ColumnSorter.js +17 -3
  331. package/lib/es/table/CustomExpandIcon.js +6 -1
  332. package/lib/es/table/Table.d.ts +2 -0
  333. package/lib/es/table/Table.js +35 -15
  334. package/lib/es/table/TableCell.d.ts +2 -0
  335. package/lib/es/table/TableCell.js +6 -2
  336. package/lib/es/table/TableHeaderRow.js +8 -2
  337. package/lib/es/tabs/TabBar.js +11 -3
  338. package/lib/es/tabs/TabPane.js +3 -1
  339. package/lib/es/tabs/index.js +0 -1
  340. package/lib/es/tagInput/index.d.ts +4 -1
  341. package/lib/es/tagInput/index.js +29 -3
  342. package/lib/es/timePicker/TimePicker.d.ts +14 -0
  343. package/lib/es/timePicker/TimePicker.js +11 -4
  344. package/lib/es/timePicker/index.d.ts +7 -0
  345. package/lib/es/timeline/index.d.ts +1 -1
  346. package/lib/es/timeline/index.js +1 -0
  347. package/lib/es/timeline/item.js +4 -2
  348. package/lib/es/toast/toast.js +2 -0
  349. package/lib/es/tooltip/TriangleArrow.js +1 -0
  350. package/lib/es/tooltip/TriangleArrowVertical.js +1 -0
  351. package/lib/es/tooltip/index.d.ts +16 -12
  352. package/lib/es/tooltip/index.js +53 -39
  353. package/lib/es/transfer/index.js +32 -14
  354. package/lib/es/tree/index.d.ts +1 -0
  355. package/lib/es/tree/index.js +15 -6
  356. package/lib/es/tree/treeNode.d.ts +12 -4
  357. package/lib/es/tree/treeNode.js +53 -5
  358. package/lib/es/treeSelect/index.d.ts +16 -0
  359. package/lib/es/treeSelect/index.js +57 -10
  360. package/lib/es/typography/base.js +17 -7
  361. package/lib/es/typography/copyable.js +5 -1
  362. package/lib/es/upload/fileCard.js +26 -7
  363. package/lib/es/upload/index.js +19 -4
  364. package/list/index.tsx +5 -5
  365. package/list/item.tsx +0 -1
  366. package/modal/Modal.tsx +2 -0
  367. package/modal/ModalContent.tsx +35 -5
  368. package/navigation/Item.tsx +15 -0
  369. package/navigation/SubNav.tsx +13 -1
  370. package/navigation/index.tsx +1 -1
  371. package/notification/notice.tsx +19 -14
  372. package/package.json +8 -8
  373. package/pagination/index.tsx +9 -5
  374. package/popover/index.tsx +5 -0
  375. package/progress/_story/progress.stories.js +18 -18
  376. package/progress/index.tsx +58 -20
  377. package/radio/radio.tsx +12 -2
  378. package/radio/radioGroup.tsx +29 -3
  379. package/radio/radioInner.tsx +10 -1
  380. package/rating/index.tsx +19 -2
  381. package/rating/item.tsx +6 -0
  382. package/select/__test__/select.test.js +45 -0
  383. package/select/_story/select.stories.js +29 -0
  384. package/select/index.tsx +57 -4
  385. package/select/option.tsx +3 -0
  386. package/sideSheet/SideSheetContent.tsx +6 -4
  387. package/sideSheet/index.tsx +3 -2
  388. package/slider/__test__/slider.test.js +9 -0
  389. package/slider/_story/slider.stories.js +1 -1
  390. package/slider/index.tsx +44 -7
  391. package/spin/icon.tsx +4 -3
  392. package/steps/basicStep.tsx +15 -4
  393. package/steps/basicSteps.tsx +3 -2
  394. package/steps/fillStep.tsx +27 -12
  395. package/steps/fillSteps.tsx +2 -0
  396. package/steps/navStep.tsx +15 -4
  397. package/steps/navSteps.tsx +3 -2
  398. package/switch/_story/switch.stories.js +20 -19
  399. package/switch/_story/switch.stories.tsx +13 -13
  400. package/switch/index.tsx +23 -5
  401. package/table/Body/BaseRow.tsx +25 -1
  402. package/table/Body/index.tsx +7 -2
  403. package/table/ColumnFilter.tsx +7 -1
  404. package/table/ColumnSelection.tsx +4 -1
  405. package/table/ColumnSorter.tsx +18 -1
  406. package/table/CustomExpandIcon.tsx +5 -0
  407. package/table/Table.tsx +30 -14
  408. package/table/TableCell.tsx +11 -1
  409. package/table/TableHeaderRow.tsx +16 -2
  410. package/table/__test__/table.test.js +46 -0
  411. package/table/_story/table.stories.js +2 -0
  412. package/table/_story/v2/FixedColumnsChange/index.jsx +104 -0
  413. package/table/_story/v2/FixedZIndex/index.jsx +87 -0
  414. package/tabs/TabBar.tsx +8 -5
  415. package/tabs/TabPane.tsx +3 -1
  416. package/tabs/index.tsx +0 -1
  417. package/tagInput/__test__/tagInput.test.js +46 -0
  418. package/tagInput/_story/tagInput.stories.js +2 -2
  419. package/tagInput/index.tsx +31 -8
  420. package/timePicker/TimePicker.tsx +17 -2
  421. package/timePicker/__test__/timePicker.test.js +34 -3
  422. package/timePicker/_story/timepicker.stories.js +18 -0
  423. package/timeline/_story/timeline.stories.js +1 -1
  424. package/timeline/index.tsx +2 -2
  425. package/timeline/item.tsx +2 -1
  426. package/toast/toast.tsx +2 -0
  427. package/tooltip/TriangleArrow.tsx +1 -1
  428. package/tooltip/TriangleArrowVertical.tsx +1 -1
  429. package/tooltip/_story/tooltip.stories.js +562 -514
  430. package/tooltip/index.tsx +51 -33
  431. package/transfer/index.tsx +29 -25
  432. package/tree/_story/tree.stories.js +3 -3
  433. package/tree/index.tsx +10 -2
  434. package/tree/treeNode.tsx +54 -11
  435. package/treeSelect/__test__/treeMultiple.test.js +5 -0
  436. package/treeSelect/_story/treeSelect.stories.js +12 -0
  437. package/treeSelect/index.tsx +58 -7
  438. package/typography/base.tsx +7 -1
  439. package/typography/copyable.tsx +10 -1
  440. package/upload/fileCard.tsx +14 -16
  441. package/upload/index.tsx +10 -6
@@ -56,7 +56,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
56
56
 
57
57
  var _propTypes = _interopRequireDefault(require("prop-types"));
58
58
 
59
- var _context12 = _interopRequireDefault(require("../configProvider/context"));
59
+ var _context15 = _interopRequireDefault(require("../configProvider/context"));
60
60
 
61
61
  var _foundation = _interopRequireDefault(require("@douyinfe/semi-foundation/lib/cjs/select/foundation"));
62
62
 
@@ -110,7 +110,7 @@ const key = 0; // Notes: Use the label of the option as the identifier, that is,
110
110
 
111
111
  class Select extends _baseComponent.default {
112
112
  constructor(props) {
113
- var _context, _context2, _context3, _context4, _context5, _context6;
113
+ var _context, _context2, _context3, _context4, _context5, _context6, _context7, _context8;
114
114
 
115
115
  super(props);
116
116
 
@@ -143,6 +143,8 @@ class Select extends _baseComponent.default {
143
143
  this.onMouseEnter = (0, _bind.default)(_context4 = this.onMouseEnter).call(_context4, this);
144
144
  this.onMouseLeave = (0, _bind.default)(_context5 = this.onMouseLeave).call(_context5, this);
145
145
  this.renderOption = (0, _bind.default)(_context6 = this.renderOption).call(_context6, this);
146
+ this.onKeyPress = (0, _bind.default)(_context7 = this.onKeyPress).call(_context7, this);
147
+ this.onClearBtnEnterPress = (0, _bind.default)(_context8 = this.onClearBtnEnterPress).call(_context8, this);
146
148
  this.foundation = new _foundation.default(this.adapter);
147
149
  (0, _warning.default)('optionLabelProp' in this.props, '[Semi Select] \'optionLabelProp\' has already been deprecated, please use \'renderSelectedItem\' instead.');
148
150
  (0, _warning.default)('labelInValue' in this.props, '[Semi Select] \'labelInValue\' has already been deprecated, please use \'onChangeWithObject\' instead.');
@@ -346,10 +348,10 @@ class Select extends _baseComponent.default {
346
348
  } catch (error) {}
347
349
  },
348
350
  updateScrollTop: () => {
349
- var _context7, _context8;
351
+ var _context9, _context10;
350
352
 
351
353
  // eslint-disable-next-line max-len
352
- let destNode = document.querySelector((0, _concat.default)(_context7 = (0, _concat.default)(_context8 = "#".concat(prefixcls, "-")).call(_context8, this.selectOptionListID, " .")).call(_context7, prefixcls, "-option-selected"));
354
+ let destNode = document.querySelector((0, _concat.default)(_context9 = (0, _concat.default)(_context10 = "#".concat(prefixcls, "-")).call(_context10, this.selectOptionListID, " .")).call(_context9, prefixcls, "-option-selected"));
353
355
 
354
356
  if ((0, _isArray.default)(destNode)) {
355
357
  // eslint-disable-next-line prefer-destructuring
@@ -377,10 +379,10 @@ class Select extends _baseComponent.default {
377
379
  }
378
380
 
379
381
  componentDidUpdate(prevProps, prevState) {
380
- var _context9, _context10;
382
+ var _context11, _context12;
381
383
 
382
- const prevChildrenKeys = (0, _map2.default)(_context9 = _react.default.Children.toArray(prevProps.children)).call(_context9, child => child.key);
383
- const nowChildrenKeys = (0, _map2.default)(_context10 = _react.default.Children.toArray(this.props.children)).call(_context10, child => child.key);
384
+ const prevChildrenKeys = (0, _map2.default)(_context11 = _react.default.Children.toArray(prevProps.children)).call(_context11, child => child.key);
385
+ const nowChildrenKeys = (0, _map2.default)(_context12 = _react.default.Children.toArray(this.props.children)).call(_context12, child => child.key);
384
386
  let isOptionsChanged = false;
385
387
 
386
388
  if (!(0, _isEqual2.default)(prevChildrenKeys, nowChildrenKeys) || !(0, _isEqual2.default)(prevProps.optionList, this.props.optionList)) {
@@ -471,6 +473,10 @@ class Select extends _baseComponent.default {
471
473
  this.foundation.handleClearClick(e);
472
474
  }
473
475
 
476
+ onClearBtnEnterPress(e) {
477
+ this.foundation.handleClearBtnEnterPress(e);
478
+ }
479
+
474
480
  renderEmpty() {
475
481
  return /*#__PURE__*/_react.default.createElement(_option.default, {
476
482
  empty: true,
@@ -550,10 +556,16 @@ class Select extends _baseComponent.default {
550
556
  }
551
557
 
552
558
  const customCreateItem = renderCreateItem(option.value, isFocused);
553
- return /*#__PURE__*/_react.default.createElement("div", {
554
- onClick: e => this.onSelect(option, optionIndex, e),
555
- key: new Date().valueOf()
556
- }, customCreateItem);
559
+ return (
560
+ /*#__PURE__*/
561
+ // eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/interactive-supports-focus
562
+ _react.default.createElement("div", {
563
+ role: "button",
564
+ "aria-label": "Use the input box to create an optional item",
565
+ onClick: e => this.onSelect(option, optionIndex, e),
566
+ key: option.key || option.label
567
+ }, customCreateItem)
568
+ );
557
569
  }
558
570
 
559
571
  onOptionHover(optionIndex) {
@@ -615,7 +627,7 @@ class Select extends _baseComponent.default {
615
627
  }
616
628
 
617
629
  renderOptions(children) {
618
- var _context11;
630
+ var _context13;
619
631
 
620
632
  const {
621
633
  dropdownMinWidth,
@@ -631,7 +643,8 @@ class Select extends _baseComponent.default {
631
643
  outerBottomSlot,
632
644
  innerBottomSlot,
633
645
  loading,
634
- virtualize
646
+ virtualize,
647
+ multiple
635
648
  } = this.props; // Do a filter first, instead of directly judging in forEach, so that the focusIndex can correspond to
636
649
 
637
650
  const visibileOptions = (0, _filter.default)(options).call(options, item => item._show);
@@ -650,7 +663,7 @@ class Select extends _baseComponent.default {
650
663
  });
651
664
  const isEmpty = !options.length || !(0, _some.default)(options).call(options, item => item._show);
652
665
  return /*#__PURE__*/_react.default.createElement("div", {
653
- id: (0, _concat.default)(_context11 = "".concat(prefixcls, "-")).call(_context11, this.selectOptionListID),
666
+ id: (0, _concat.default)(_context13 = "".concat(prefixcls, "-")).call(_context13, this.selectOptionListID),
654
667
  className: dropdownClassName,
655
668
  style: style
656
669
  }, outerTopSlot, /*#__PURE__*/_react.default.createElement("div", {
@@ -659,6 +672,7 @@ class Select extends _baseComponent.default {
659
672
  },
660
673
  className: optionListCls,
661
674
  role: "listbox",
675
+ "aria-multiselectable": multiple,
662
676
  onScroll: e => this.foundation.handleListScroll(e)
663
677
  }, innerTopSlot, !loading ? listContent : this.renderLoading(), isEmpty && !loading ? this.renderEmpty() : null, innerBottomSlot), outerBottomSlot);
664
678
  }
@@ -803,6 +817,10 @@ class Select extends _baseComponent.default {
803
817
  onMouseLeave(e) {
804
818
  this.foundation.handleMouseLeave(e);
805
819
  }
820
+
821
+ onKeyPress(e) {
822
+ this.foundation.handleKeyPress(e);
823
+ }
806
824
  /* Processing logic when popover visible changes */
807
825
 
808
826
 
@@ -856,7 +874,8 @@ class Select extends _baseComponent.default {
856
874
  renderPrefix() {
857
875
  const {
858
876
  prefix,
859
- insetLabel
877
+ insetLabel,
878
+ insetLabelId
860
879
  } = this.props;
861
880
  const labelNode = prefix || insetLabel;
862
881
  const prefixWrapperCls = (0, _classnames.default)({
@@ -866,11 +885,14 @@ class Select extends _baseComponent.default {
866
885
  ["".concat(prefixcls, "-prefix-icon")]: (0, _utils2.isSemiIcon)(labelNode)
867
886
  });
868
887
  return /*#__PURE__*/_react.default.createElement("div", {
869
- className: prefixWrapperCls
888
+ className: prefixWrapperCls,
889
+ id: insetLabelId
870
890
  }, labelNode);
871
891
  }
872
892
 
873
893
  renderSelection() {
894
+ var _context14;
895
+
874
896
  const {
875
897
  disabled,
876
898
  multiple,
@@ -939,13 +961,28 @@ class Select extends _baseComponent.default {
939
961
  }, multiple ? this.renderMultipleSelection(selections, filterable) : this.renderSingleSelection(selections, filterable))), /*#__PURE__*/_react.default.createElement(_react.Fragment, {
940
962
  key: "clearicon"
941
963
  }, showClear ? /*#__PURE__*/_react.default.createElement("div", {
964
+ role: "button",
965
+ "aria-label": "Clear selected value",
966
+ tabIndex: 0,
942
967
  className: (0, _classnames.default)("".concat(prefixcls, "-clear")),
943
- onClick: this.onClear
968
+ onClick: this.onClear,
969
+ onKeyPress: this.onClearBtnEnterPress
944
970
  }, /*#__PURE__*/_react.default.createElement(_semiIcons.IconClear, null)) : arrowContent), /*#__PURE__*/_react.default.createElement(_react.Fragment, {
945
971
  key: "suffix"
946
972
  }, suffix ? this.renderSuffix() : null)];
947
973
  const tabIndex = disabled ? null : 0;
948
974
  return /*#__PURE__*/_react.default.createElement("div", (0, _assign.default)({
975
+ role: "combobox",
976
+ "aria-disabled": disabled,
977
+ "aria-expanded": isOpen,
978
+ "aria-controls": (0, _concat.default)(_context14 = "".concat(prefixcls, "-")).call(_context14, this.selectOptionListID),
979
+ "aria-haspopup": "listbox",
980
+ "aria-label": "select value",
981
+ "aria-invalid": this.props['aria-invalid'],
982
+ "aria-errormessage": this.props['aria-errormessage'],
983
+ "aria-labelledby": this.props['aria-labelledby'],
984
+ "aria-describedby": this.props['aria-describedby'],
985
+ "aria-required": this.props['aria-required'],
949
986
  className: selectionCls,
950
987
  ref: ref => this.triggerRef.current = ref,
951
988
  onClick: e => this.foundation.handleClick(e),
@@ -955,7 +992,8 @@ class Select extends _baseComponent.default {
955
992
  onMouseEnter: this.onMouseEnter,
956
993
  onMouseLeave: this.onMouseLeave,
957
994
  // onFocus={e => this.foundation.handleTriggerFocus(e)}
958
- onBlur: e => this.foundation.handleTriggerBlur(e)
995
+ onBlur: e => this.foundation.handleTriggerBlur(e),
996
+ onKeyPress: this.onKeyPress
959
997
  }, keyboardEventSet), inner);
960
998
  }
961
999
 
@@ -1004,11 +1042,17 @@ class Select extends _baseComponent.default {
1004
1042
 
1005
1043
  }
1006
1044
 
1007
- Select.contextType = _context12.default;
1045
+ Select.contextType = _context15.default;
1008
1046
  Select.Option = _option.default;
1009
1047
  Select.OptGroup = _optionGroup.default;
1010
1048
  Select.propTypes = {
1049
+ 'aria-describedby': _propTypes.default.string,
1050
+ 'aria-errormessage': _propTypes.default.string,
1051
+ 'aria-invalid': _propTypes.default.bool,
1052
+ 'aria-labelledby': _propTypes.default.string,
1053
+ 'aria-required': _propTypes.default.bool,
1011
1054
  autoFocus: _propTypes.default.bool,
1055
+ autoClearSearchValue: _propTypes.default.bool,
1012
1056
  children: _propTypes.default.node,
1013
1057
  defaultValue: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number, _propTypes.default.array, _propTypes.default.object]),
1014
1058
  value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number, _propTypes.default.array, _propTypes.default.object]),
@@ -1053,6 +1097,7 @@ Select.propTypes = {
1053
1097
  suffix: _propTypes.default.node,
1054
1098
  prefix: _propTypes.default.node,
1055
1099
  insetLabel: _propTypes.default.node,
1100
+ insetLabelId: _propTypes.default.string,
1056
1101
  showClear: _propTypes.default.bool,
1057
1102
  showArrow: _propTypes.default.bool,
1058
1103
  renderSelectedItem: _propTypes.default.func,
@@ -1113,6 +1158,7 @@ Select.defaultProps = {
1113
1158
  showClear: false,
1114
1159
  remote: false,
1115
1160
  autoAdjustOverflow: true,
1161
+ autoClearSearchValue: true,
1116
1162
  arrowIcon: /*#__PURE__*/_react.default.createElement(_semiIcons.IconChevronDown, null) // Radio selection is different from the default renderSelectedItem for multiple selection, so it is not declared here
1117
1163
  // renderSelectedItem: (optionNode) => optionNode.label,
1118
1164
  // The default creator rendering is related to i18, so it is not declared here
@@ -159,28 +159,34 @@ class Option extends _react.PureComponent {
159
159
  highlightClassName: "".concat(prefixCls, "-keyword")
160
160
  }
161
161
  };
162
- return /*#__PURE__*/_react.default.createElement("div", {
163
- className: optionClassName,
164
- onClick: e => {
165
- this.onClick((0, _assign.default)({
166
- value,
167
- label,
168
- children
169
- }, rest), e);
170
- },
171
- onMouseEnter: e => onMouseEnter && onMouseEnter(e),
172
- role: "option",
173
- style: style
174
- }, showTick ? /*#__PURE__*/_react.default.createElement("div", {
175
- className: selectedIconClassName
176
- }, /*#__PURE__*/_react.default.createElement(_semiIcons.IconTick, null)) : null, (0, _isString2.default)(children) ? /*#__PURE__*/_react.default.createElement("div", {
177
- className: "".concat(prefixCls, "-text")
178
- }, this.renderOptionContent({
179
- children,
180
- config,
181
- inputValue,
182
- prefixCls
183
- })) : children);
162
+ return (
163
+ /*#__PURE__*/
164
+ // eslint-disable-next-line jsx-a11y/interactive-supports-focus,jsx-a11y/click-events-have-key-events
165
+ _react.default.createElement("div", {
166
+ className: optionClassName,
167
+ onClick: e => {
168
+ this.onClick((0, _assign.default)({
169
+ value,
170
+ label,
171
+ children
172
+ }, rest), e);
173
+ },
174
+ onMouseEnter: e => onMouseEnter && onMouseEnter(e),
175
+ role: "option",
176
+ "aria-selected": selected ? "true" : "false",
177
+ "aria-disabled": disabled ? "true" : "false",
178
+ style: style
179
+ }, showTick ? /*#__PURE__*/_react.default.createElement("div", {
180
+ className: selectedIconClassName
181
+ }, /*#__PURE__*/_react.default.createElement(_semiIcons.IconTick, null)) : null, (0, _isString2.default)(children) ? /*#__PURE__*/_react.default.createElement("div", {
182
+ className: "".concat(prefixCls, "-text")
183
+ }, this.renderOptionContent({
184
+ children,
185
+ config,
186
+ inputValue,
187
+ prefixCls
188
+ })) : children)
189
+ );
184
190
  }
185
191
 
186
192
  }
@@ -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: {
@@ -81,6 +81,7 @@ class SideSheetContent extends _react.default.PureComponent {
81
81
 
82
82
  if (mask) {
83
83
  return /*#__PURE__*/_react.default.createElement("div", {
84
+ "aria-hidden": true,
84
85
  key: "mask",
85
86
  className: "".concat(prefixCls, "-mask"),
86
87
  style: maskStyle,
@@ -119,6 +120,8 @@ class SideSheetContent extends _react.default.PureComponent {
119
120
 
120
121
  return /*#__PURE__*/_react.default.createElement("div", {
121
122
  className: "".concat(prefixCls, "-header"),
123
+ role: 'heading',
124
+ "aria-level": 1,
122
125
  style: (0, _assign.default)({}, headerStyle)
123
126
  }, header, closer);
124
127
  }
@@ -146,7 +149,7 @@ class SideSheetContent extends _react.default.PureComponent {
146
149
 
147
150
  const dialogElement = /*#__PURE__*/_react.default.createElement("div", {
148
151
  key: "dialog-element",
149
- role: "sidesheet",
152
+ role: "dialog",
150
153
  tabIndex: -1,
151
154
  className: (0, _concat.default)(_context = "".concat(prefixCls, "-inner ")).call(_context, prefixCls, "-inner-wrap"),
152
155
  // onMouseDown={this.onDialogMouseDown}
@@ -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;
@@ -284,7 +284,8 @@ SideSheet.propTypes = {
284
284
  afterVisibleChange: _propTypes.default.func,
285
285
  closeOnEsc: _propTypes.default.bool,
286
286
  footer: _propTypes.default.node,
287
- keepDOM: _propTypes.default.bool
287
+ keepDOM: _propTypes.default.bool,
288
+ 'aria-label': _propTypes.default.string
288
289
  };
289
290
  SideSheet.defaultProps = {
290
291
  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/cjs/slider/foundation';
3
+ import SliderFoundation, { SliderAdapter, SliderProps as BasicSliceProps, SliderState } from '@douyinfe/semi-foundation/lib/cjs/slider/foundation';
4
4
  import '@douyinfe/semi-foundation/lib/cjs/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;
@@ -10,6 +10,8 @@ _Object$defineProperty(exports, "__esModule", {
10
10
 
11
11
  exports.default = void 0;
12
12
 
13
+ var _assign = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/assign"));
14
+
13
15
  var _keys = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/keys"));
14
16
 
15
17
  var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
@@ -18,8 +20,6 @@ var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-sta
18
20
 
19
21
  var _set = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/set"));
20
22
 
21
- var _assign = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/assign"));
22
-
23
23
  var _forEach = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/for-each"));
24
24
 
25
25
  var _from = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/array/from"));
@@ -70,7 +70,12 @@ class Slider extends _baseComponent.default {
70
70
  vertical,
71
71
  range,
72
72
  tooltipVisible,
73
- tipFormatter
73
+ tipFormatter,
74
+ 'aria-label': ariaLabel,
75
+ 'aria-labelledby': ariaLabelledby,
76
+ 'aria-valuetext': ariaValueText,
77
+ getAriaValueText,
78
+ disabled
74
79
  } = this.props;
75
80
  const {
76
81
  chooseMovePos,
@@ -95,6 +100,19 @@ class Slider extends _baseComponent.default {
95
100
  const maxClass = (0, _classnames.default)(_constants.cssClasses.HANDLE, {
96
101
  ["".concat(_constants.cssClasses.HANDLE, "-clicked")]: chooseMovePos === 'max' && isDrag
97
102
  });
103
+ const {
104
+ min,
105
+ max,
106
+ currentValue
107
+ } = this.state;
108
+ const commonAria = {
109
+ 'aria-label': ariaLabel,
110
+ 'aria-labelledby': ariaLabelledby,
111
+ 'aria-disabled': disabled
112
+ };
113
+ vertical && (0, _assign.default)(commonAria, {
114
+ 'aria-orientation': 'vertical'
115
+ });
98
116
  const handleContents = !range ? /*#__PURE__*/_react.default.createElement(_index.default, {
99
117
  content: tipChildren.min,
100
118
  position: "top",
@@ -102,7 +120,7 @@ class Slider extends _baseComponent.default {
102
120
  rePosKey: minPercent,
103
121
  visible: isInRenderTree && tipVisible.min,
104
122
  className: "".concat(_constants.cssClasses.HANDLE, "-tooltip")
105
- }, /*#__PURE__*/_react.default.createElement("span", {
123
+ }, /*#__PURE__*/_react.default.createElement("span", (0, _assign.default)({
106
124
  onMouseOver: this.foundation.checkAndUpdateIsInRenderTreeState,
107
125
  ref: this.minHanleEl,
108
126
  className: minClass,
@@ -131,15 +149,23 @@ class Slider extends _baseComponent.default {
131
149
  },
132
150
  onTouchEnd: e => {
133
151
  this.foundation.onHandleUp(e);
134
- }
135
- })) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_index.default, {
152
+ },
153
+ onFocus: e => this.foundation.onFocus(e, 'min'),
154
+ role: "slider",
155
+ tabIndex: 0
156
+ }, commonAria, {
157
+ "aria-valuenow": currentValue,
158
+ "aria-valuemax": max,
159
+ "aria-valuemin": min,
160
+ "aria-valuetext": getAriaValueText ? getAriaValueText(currentValue) : ariaValueText
161
+ }))) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_index.default, {
136
162
  content: tipChildren.min,
137
163
  position: "top",
138
164
  trigger: "custom",
139
165
  rePosKey: minPercent,
140
166
  visible: isInRenderTree && tipVisible.min,
141
167
  className: "".concat(_constants.cssClasses.HANDLE, "-tooltip")
142
- }, /*#__PURE__*/_react.default.createElement("span", {
168
+ }, /*#__PURE__*/_react.default.createElement("span", (0, _assign.default)({
143
169
  ref: this.minHanleEl,
144
170
  className: minClass,
145
171
  style: {
@@ -167,15 +193,23 @@ class Slider extends _baseComponent.default {
167
193
  },
168
194
  onTouchEnd: e => {
169
195
  this.foundation.onHandleUp(e);
170
- }
171
- })), /*#__PURE__*/_react.default.createElement(_index.default, {
196
+ },
197
+ onFocus: e => this.foundation.onFocus(e, 'min'),
198
+ role: "slider",
199
+ tabIndex: 0
200
+ }, commonAria, {
201
+ "aria-valuenow": currentValue[0],
202
+ "aria-valuetext": getAriaValueText ? getAriaValueText(currentValue[0]) : ariaValueText,
203
+ "aria-valuemax": currentValue[1],
204
+ "aria-valuemin": min
205
+ }))), /*#__PURE__*/_react.default.createElement(_index.default, {
172
206
  content: tipChildren.max,
173
207
  position: "top",
174
208
  trigger: "custom",
175
209
  rePosKey: maxPercent,
176
210
  visible: isInRenderTree && tipVisible.max,
177
211
  className: "".concat(_constants.cssClasses.HANDLE, "-tooltip")
178
- }, /*#__PURE__*/_react.default.createElement("span", {
212
+ }, /*#__PURE__*/_react.default.createElement("span", (0, _assign.default)({
179
213
  ref: this.maxHanleEl,
180
214
  className: maxClass,
181
215
  style: {
@@ -203,8 +237,16 @@ class Slider extends _baseComponent.default {
203
237
  },
204
238
  onTouchEnd: e => {
205
239
  this.foundation.onHandleUp(e);
206
- }
207
- })));
240
+ },
241
+ onFocus: e => this.foundation.onFocus(e, 'min'),
242
+ role: "slider",
243
+ tabIndex: 0
244
+ }, commonAria, {
245
+ "aria-valuenow": currentValue[1],
246
+ "aria-valuetext": getAriaValueText ? getAriaValueText(currentValue[1]) : ariaValueText,
247
+ "aria-valuemax": max,
248
+ "aria-valuemin": currentValue[0]
249
+ }))));
208
250
  return handleContents;
209
251
  };
210
252
 
@@ -225,11 +267,15 @@ class Slider extends _baseComponent.default {
225
267
  top: range ? "".concat(minPercent * 100, "%") : 0
226
268
  };
227
269
  trackStyle = included ? trackStyle : {};
228
- return /*#__PURE__*/_react.default.createElement("div", {
229
- className: _constants.cssClasses.TRACK,
230
- style: trackStyle,
231
- onClick: e => this.foundation.handleWrapClick(e)
232
- });
270
+ return (
271
+ /*#__PURE__*/
272
+ // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions
273
+ _react.default.createElement("div", {
274
+ className: _constants.cssClasses.TRACK,
275
+ style: trackStyle,
276
+ onClick: e => this.foundation.handleWrapClick(e)
277
+ })
278
+ );
233
279
  };
234
280
 
235
281
  this.renderStepDot = () => {
@@ -252,6 +298,7 @@ class Slider extends _baseComponent.default {
252
298
  const markPercent = (Number(mark) - min) / (max - min);
253
299
  return activeResult ? /*#__PURE__*/_react.default.createElement("span", {
254
300
  key: mark,
301
+ onClick: e => this.foundation.handleWrapClick(e),
255
302
  className: markClass,
256
303
  style: {
257
304
  [stylePos]: "calc(".concat(markPercent * 100, "% - 2px)")
@@ -58,7 +58,9 @@ function Icon() {
58
58
  height: "48",
59
59
  viewBox: "0 0 36 36",
60
60
  version: "1.1",
61
- xmlns: "http://www.w3.org/2000/svg"
61
+ xmlns: "http://www.w3.org/2000/svg",
62
+ "aria-hidden": true,
63
+ "data-icon": "spin"
62
64
  }), /*#__PURE__*/_react.default.createElement("defs", null, /*#__PURE__*/_react.default.createElement("linearGradient", {
63
65
  x1: "0%",
64
66
  y1: "100%",
@@ -77,13 +79,11 @@ function Icon() {
77
79
  stopColor: "currentColor",
78
80
  offset: "100%"
79
81
  }))), /*#__PURE__*/_react.default.createElement("g", {
80
- id: "Artboard",
81
82
  stroke: "none",
82
83
  strokeWidth: "1",
83
84
  fill: "none",
84
85
  fillRule: "evenodd"
85
86
  }, /*#__PURE__*/_react.default.createElement("rect", {
86
- id: "Rectangle",
87
87
  fillOpacity: "0.01",
88
88
  fill: "#FFFFFF",
89
89
  x: "0",
@@ -92,7 +92,6 @@ function Icon() {
92
92
  height: "36"
93
93
  }), /*#__PURE__*/_react.default.createElement("path", {
94
94
  d: "M34,18 C34,9.163444 26.836556,2 18,2 C11.6597233,2 6.18078805,5.68784135 3.59122325,11.0354951",
95
- id: "Path",
96
95
  stroke: "url(#".concat(id, ")"),
97
96
  strokeWidth: "4",
98
97
  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",
@@ -10,14 +10,8 @@ _Object$defineProperty(exports, "__esModule", {
10
10
 
11
11
  exports.stepSizeMapIconSize = exports.default = void 0;
12
12
 
13
- var _indexOf = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/index-of"));
14
-
15
- var _getOwnPropertySymbols = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols"));
16
-
17
13
  var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
18
14
 
19
- var _assign = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/assign"));
20
-
21
15
  var _isFunction2 = _interopRequireDefault(require("lodash/isFunction"));
22
16
 
23
17
  var _react = _interopRequireDefault(require("react"));
@@ -30,17 +24,6 @@ var _constants = require("@douyinfe/semi-foundation/lib/cjs/steps/constants");
30
24
 
31
25
  var _semiIcons = require("@douyinfe/semi-icons");
32
26
 
33
- var __rest = void 0 && (void 0).__rest || function (s, e) {
34
- var t = {};
35
-
36
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && (0, _indexOf.default)(e).call(e, p) < 0) t[p] = s[p];
37
-
38
- if (s != null && typeof _getOwnPropertySymbols.default === "function") for (var i = 0, p = (0, _getOwnPropertySymbols.default)(s); i < p.length; i++) {
39
- if ((0, _indexOf.default)(e).call(e, p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
40
- }
41
- return t;
42
- };
43
-
44
27
  var stepSizeMapIconSize;
45
28
  exports.stepSizeMapIconSize = stepSizeMapIconSize;
46
29
 
@@ -65,9 +48,9 @@ const BasicStep = props => {
65
48
  icon,
66
49
  stepNumber,
67
50
  onClick,
68
- onChange
69
- } = props,
70
- restProps = __rest(props, ["prefixCls", "className", "size", "title", "description", "status", "style", "active", "done", "icon", "stepNumber", "onClick", "onChange"]);
51
+ onChange,
52
+ onKeyDown
53
+ } = props;
71
54
 
72
55
  const renderIcon = () => {
73
56
  let inner, progress;
@@ -125,10 +108,10 @@ const BasicStep = props => {
125
108
  }, inner) : null;
126
109
  };
127
110
 
128
- const classString = (0, _classnames.default)(prefixCls, className, (0, _concat.default)(_context = "".concat(prefixCls, "-")).call(_context, status), {
111
+ const classString = (0, _classnames.default)(prefixCls, (0, _concat.default)(_context = "".concat(prefixCls, "-")).call(_context, status), {
129
112
  ["".concat(prefixCls, "-active")]: active,
130
113
  ["".concat(prefixCls, "-done")]: done
131
- });
114
+ }, className);
132
115
 
133
116
  const handleClick = e => {
134
117
  if ((0, _isFunction2.default)(onClick)) {
@@ -138,11 +121,26 @@ const BasicStep = props => {
138
121
  onChange();
139
122
  };
140
123
 
141
- return /*#__PURE__*/_react.default.createElement("div", (0, _assign.default)({}, restProps, {
124
+ const handleKeyDown = e => {
125
+ if (e.key === 'Enter') {
126
+ if ((0, _isFunction2.default)(onKeyDown)) {
127
+ onKeyDown(e);
128
+ }
129
+
130
+ onChange();
131
+ }
132
+ };
133
+
134
+ return /*#__PURE__*/_react.default.createElement("div", {
135
+ role: props["role"],
136
+ "aria-label": props["aria-label"],
137
+ tabIndex: 0,
138
+ "aria-current": "step",
142
139
  className: classString,
143
140
  style: style,
144
- onClick: e => handleClick(e)
145
- }), /*#__PURE__*/_react.default.createElement("div", {
141
+ onClick: e => handleClick(e),
142
+ onKeyDown: handleKeyDown
143
+ }, /*#__PURE__*/_react.default.createElement("div", {
146
144
  className: "".concat(prefixCls, "-container")
147
145
  }, /*#__PURE__*/_react.default.createElement("div", {
148
146
  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;