@douyinfe/semi-ui 2.2.0 → 2.3.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 (439) 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/__test__/datePicker.test.js +108 -0
  34. package/datePicker/_story/datePicker.stories.js +146 -2
  35. package/datePicker/datePicker.tsx +24 -0
  36. package/datePicker/monthsGrid.tsx +2 -1
  37. package/dist/css/semi.css +34 -7
  38. package/dist/css/semi.min.css +1 -1
  39. package/dist/umd/semi-ui.js +2768 -1501
  40. package/dist/umd/semi-ui.js.map +1 -1
  41. package/dist/umd/semi-ui.min.js +1 -1
  42. package/dist/umd/semi-ui.min.js.map +1 -1
  43. package/dropdown/dropdownItem.tsx +1 -1
  44. package/dropdown/dropdownMenu.tsx +1 -1
  45. package/empty/index.tsx +4 -4
  46. package/form/_story/FormApi/formApiDemo.jsx +3 -2
  47. package/form/_story/Validate/validateDemo.jsx +1 -1
  48. package/form/_story/demo.jsx +12 -3
  49. package/form/_story/form.stories.js +0 -7
  50. package/form/baseForm.tsx +2 -0
  51. package/form/errorMessage.tsx +13 -2
  52. package/form/hoc/withField.tsx +37 -8
  53. package/form/index.tsx +0 -2
  54. package/form/interface.ts +2 -0
  55. package/form/label.tsx +4 -2
  56. package/input/index.tsx +49 -4
  57. package/input/inputGroup.tsx +9 -4
  58. package/input/textarea.tsx +25 -6
  59. package/inputNumber/_story/inputNumber.stories.js +12 -0
  60. package/inputNumber/index.tsx +33 -2
  61. package/layout/Sider.tsx +6 -2
  62. package/layout/index.tsx +4 -3
  63. package/lib/cjs/_utils/hooks/usePrevFocus.d.ts +2 -0
  64. package/lib/cjs/_utils/hooks/usePrevFocus.js +30 -0
  65. package/lib/cjs/_utils/index.d.ts +1 -0
  66. package/lib/cjs/_utils/index.js +6 -1
  67. package/lib/cjs/anchor/index.d.ts +2 -0
  68. package/lib/cjs/anchor/index.js +6 -1
  69. package/lib/cjs/anchor/link.d.ts +4 -1
  70. package/lib/cjs/anchor/link.js +39 -5
  71. package/lib/cjs/autoComplete/index.d.ts +17 -0
  72. package/lib/cjs/autoComplete/index.js +21 -2
  73. package/lib/cjs/avatar/index.d.ts +4 -3
  74. package/lib/cjs/avatar/index.js +15 -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/item.d.ts +2 -1
  97. package/lib/cjs/collapse/item.js +12 -2
  98. package/lib/cjs/collapsible/index.d.ts +1 -0
  99. package/lib/cjs/collapsible/index.js +4 -2
  100. package/lib/cjs/datePicker/datePicker.d.ts +12 -0
  101. package/lib/cjs/datePicker/datePicker.js +22 -3
  102. package/lib/cjs/datePicker/monthsGrid.d.ts +1 -0
  103. package/lib/cjs/datePicker/monthsGrid.js +2 -1
  104. package/lib/cjs/dropdown/dropdownItem.js +3 -1
  105. package/lib/cjs/dropdown/dropdownMenu.js +4 -1
  106. package/lib/cjs/form/baseForm.d.ts +9 -0
  107. package/lib/cjs/form/baseForm.js +3 -1
  108. package/lib/cjs/form/errorMessage.d.ts +4 -0
  109. package/lib/cjs/form/errorMessage.js +21 -3
  110. package/lib/cjs/form/field.d.ts +7 -0
  111. package/lib/cjs/form/hoc/withField.js +49 -16
  112. package/lib/cjs/form/index.d.ts +0 -1
  113. package/lib/cjs/form/interface.d.ts +2 -0
  114. package/lib/cjs/form/label.d.ts +2 -0
  115. package/lib/cjs/form/label.js +5 -2
  116. package/lib/cjs/input/index.d.ts +16 -0
  117. package/lib/cjs/input/index.js +51 -15
  118. package/lib/cjs/input/inputGroup.d.ts +2 -1
  119. package/lib/cjs/input/inputGroup.js +11 -1
  120. package/lib/cjs/input/textarea.js +12 -1
  121. package/lib/cjs/inputNumber/index.d.ts +21 -12
  122. package/lib/cjs/inputNumber/index.js +37 -3
  123. package/lib/cjs/layout/Sider.d.ts +4 -0
  124. package/lib/cjs/layout/Sider.js +4 -1
  125. package/lib/cjs/layout/index.js +2 -0
  126. package/lib/cjs/list/item.js +0 -1
  127. package/lib/cjs/modal/Modal.js +2 -0
  128. package/lib/cjs/modal/ModalContent.d.ts +3 -1
  129. package/lib/cjs/modal/ModalContent.js +47 -5
  130. package/lib/cjs/navigation/Item.d.ts +4 -2
  131. package/lib/cjs/navigation/Item.js +25 -5
  132. package/lib/cjs/navigation/SubNav.d.ts +4 -2
  133. package/lib/cjs/navigation/SubNav.js +8 -1
  134. package/lib/cjs/navigation/index.js +2 -0
  135. package/lib/cjs/notification/notice.d.ts +1 -1
  136. package/lib/cjs/notification/notice.js +32 -22
  137. package/lib/cjs/pagination/index.js +16 -6
  138. package/lib/cjs/popover/index.js +7 -3
  139. package/lib/cjs/progress/index.d.ts +8 -0
  140. package/lib/cjs/progress/index.js +42 -9
  141. package/lib/cjs/radio/radio.d.ts +6 -1
  142. package/lib/cjs/radio/radio.js +17 -5
  143. package/lib/cjs/radio/radioGroup.d.ts +16 -1
  144. package/lib/cjs/radio/radioGroup.js +18 -3
  145. package/lib/cjs/radio/radioInner.d.ts +6 -1
  146. package/lib/cjs/radio/radioInner.js +11 -3
  147. package/lib/cjs/rating/index.d.ts +14 -0
  148. package/lib/cjs/rating/index.js +14 -3
  149. package/lib/cjs/rating/item.d.ts +2 -0
  150. package/lib/cjs/rating/item.js +6 -1
  151. package/lib/cjs/select/index.d.ts +16 -0
  152. package/lib/cjs/select/index.js +65 -19
  153. package/lib/cjs/select/option.js +28 -22
  154. package/lib/cjs/sideSheet/SideSheetContent.d.ts +1 -0
  155. package/lib/cjs/sideSheet/SideSheetContent.js +4 -1
  156. package/lib/cjs/sideSheet/index.d.ts +1 -0
  157. package/lib/cjs/sideSheet/index.js +2 -1
  158. package/lib/cjs/slider/index.d.ts +2 -1
  159. package/lib/cjs/slider/index.js +64 -17
  160. package/lib/cjs/spin/icon.js +3 -4
  161. package/lib/cjs/steps/basicStep.d.ts +3 -0
  162. package/lib/cjs/steps/basicStep.js +23 -25
  163. package/lib/cjs/steps/basicSteps.d.ts +1 -0
  164. package/lib/cjs/steps/basicSteps.js +2 -1
  165. package/lib/cjs/steps/fillStep.d.ts +3 -0
  166. package/lib/cjs/steps/fillStep.js +19 -4
  167. package/lib/cjs/steps/fillSteps.d.ts +1 -0
  168. package/lib/cjs/steps/fillSteps.js +2 -1
  169. package/lib/cjs/steps/navStep.d.ts +3 -0
  170. package/lib/cjs/steps/navStep.js +22 -25
  171. package/lib/cjs/steps/navSteps.d.ts +1 -0
  172. package/lib/cjs/steps/navSteps.js +2 -1
  173. package/lib/cjs/switch/index.d.ts +12 -0
  174. package/lib/cjs/switch/index.js +19 -4
  175. package/lib/cjs/table/Body/BaseRow.js +35 -3
  176. package/lib/cjs/table/Body/index.js +9 -1
  177. package/lib/cjs/table/ColumnFilter.js +4 -0
  178. package/lib/cjs/table/ColumnSelection.d.ts +3 -0
  179. package/lib/cjs/table/ColumnSelection.js +6 -2
  180. package/lib/cjs/table/ColumnSorter.js +19 -3
  181. package/lib/cjs/table/CustomExpandIcon.js +7 -1
  182. package/lib/cjs/table/Table.d.ts +2 -0
  183. package/lib/cjs/table/Table.js +31 -15
  184. package/lib/cjs/table/TableCell.d.ts +2 -0
  185. package/lib/cjs/table/TableCell.js +6 -2
  186. package/lib/cjs/table/TableHeaderRow.js +8 -2
  187. package/lib/cjs/tabs/TabBar.js +11 -3
  188. package/lib/cjs/tabs/TabPane.js +3 -1
  189. package/lib/cjs/tabs/index.js +0 -1
  190. package/lib/cjs/tagInput/index.d.ts +4 -1
  191. package/lib/cjs/tagInput/index.js +29 -3
  192. package/lib/cjs/timePicker/TimePicker.d.ts +12 -0
  193. package/lib/cjs/timePicker/TimePicker.js +9 -1
  194. package/lib/cjs/timePicker/index.d.ts +6 -0
  195. package/lib/cjs/timeline/index.d.ts +1 -1
  196. package/lib/cjs/timeline/index.js +1 -0
  197. package/lib/cjs/timeline/item.js +4 -2
  198. package/lib/cjs/toast/toast.js +2 -0
  199. package/lib/cjs/tooltip/TriangleArrow.js +1 -0
  200. package/lib/cjs/tooltip/TriangleArrowVertical.js +1 -0
  201. package/lib/cjs/tooltip/index.d.ts +16 -12
  202. package/lib/cjs/tooltip/index.js +55 -39
  203. package/lib/cjs/transfer/index.d.ts +1 -1
  204. package/lib/cjs/transfer/index.js +35 -17
  205. package/lib/cjs/tree/index.d.ts +1 -0
  206. package/lib/cjs/tree/index.js +15 -6
  207. package/lib/cjs/tree/treeNode.d.ts +12 -4
  208. package/lib/cjs/tree/treeNode.js +44 -4
  209. package/lib/cjs/treeSelect/index.d.ts +16 -0
  210. package/lib/cjs/treeSelect/index.js +60 -12
  211. package/lib/cjs/typography/base.js +18 -7
  212. package/lib/cjs/typography/copyable.js +6 -1
  213. package/lib/cjs/upload/fileCard.js +26 -7
  214. package/lib/cjs/upload/index.js +19 -4
  215. package/lib/es/_utils/hooks/usePrevFocus.d.ts +2 -0
  216. package/lib/es/_utils/hooks/usePrevFocus.js +15 -0
  217. package/lib/es/_utils/index.d.ts +1 -0
  218. package/lib/es/_utils/index.js +4 -1
  219. package/lib/es/anchor/index.d.ts +2 -0
  220. package/lib/es/anchor/index.js +6 -1
  221. package/lib/es/anchor/link.d.ts +4 -1
  222. package/lib/es/anchor/link.js +38 -5
  223. package/lib/es/autoComplete/index.d.ts +17 -0
  224. package/lib/es/autoComplete/index.js +21 -2
  225. package/lib/es/avatar/index.d.ts +4 -3
  226. package/lib/es/avatar/index.js +15 -11
  227. package/lib/es/banner/index.js +4 -2
  228. package/lib/es/breadcrumb/index.d.ts +3 -0
  229. package/lib/es/breadcrumb/index.js +10 -4
  230. package/lib/es/breadcrumb/item.js +2 -2
  231. package/lib/es/button/Button.d.ts +2 -0
  232. package/lib/es/button/Button.js +4 -2
  233. package/lib/es/button/buttonGroup.d.ts +3 -0
  234. package/lib/es/button/buttonGroup.js +8 -4
  235. package/lib/es/button/index.d.ts +1 -0
  236. package/lib/es/button/splitButtonGroup.d.ts +3 -0
  237. package/lib/es/button/splitButtonGroup.js +5 -2
  238. package/lib/es/card/index.d.ts +3 -0
  239. package/lib/es/card/index.js +3 -1
  240. package/lib/es/cascader/index.d.ts +14 -0
  241. package/lib/es/cascader/index.js +35 -7
  242. package/lib/es/checkbox/checkbox.d.ts +21 -1
  243. package/lib/es/checkbox/checkbox.js +50 -17
  244. package/lib/es/checkbox/checkboxGroup.d.ts +13 -1
  245. package/lib/es/checkbox/checkboxGroup.js +18 -5
  246. package/lib/es/checkbox/checkboxInner.d.ts +15 -0
  247. package/lib/es/checkbox/checkboxInner.js +20 -3
  248. package/lib/es/collapse/item.d.ts +2 -1
  249. package/lib/es/collapse/item.js +11 -2
  250. package/lib/es/collapsible/index.d.ts +1 -0
  251. package/lib/es/collapsible/index.js +4 -2
  252. package/lib/es/datePicker/datePicker.d.ts +12 -0
  253. package/lib/es/datePicker/datePicker.js +22 -3
  254. package/lib/es/datePicker/monthsGrid.d.ts +1 -0
  255. package/lib/es/datePicker/monthsGrid.js +2 -1
  256. package/lib/es/dropdown/dropdownItem.js +3 -1
  257. package/lib/es/dropdown/dropdownMenu.js +4 -1
  258. package/lib/es/form/baseForm.d.ts +9 -0
  259. package/lib/es/form/baseForm.js +3 -1
  260. package/lib/es/form/errorMessage.d.ts +4 -0
  261. package/lib/es/form/errorMessage.js +21 -3
  262. package/lib/es/form/field.d.ts +7 -0
  263. package/lib/es/form/hoc/withField.js +48 -15
  264. package/lib/es/form/index.d.ts +0 -1
  265. package/lib/es/form/index.js +0 -1
  266. package/lib/es/form/interface.d.ts +2 -0
  267. package/lib/es/form/label.d.ts +2 -0
  268. package/lib/es/form/label.js +5 -2
  269. package/lib/es/input/index.d.ts +16 -0
  270. package/lib/es/input/index.js +51 -15
  271. package/lib/es/input/inputGroup.d.ts +2 -1
  272. package/lib/es/input/inputGroup.js +11 -1
  273. package/lib/es/input/textarea.js +12 -1
  274. package/lib/es/inputNumber/index.d.ts +21 -12
  275. package/lib/es/inputNumber/index.js +38 -3
  276. package/lib/es/layout/Sider.d.ts +4 -0
  277. package/lib/es/layout/Sider.js +4 -1
  278. package/lib/es/layout/index.js +2 -0
  279. package/lib/es/list/item.js +0 -1
  280. package/lib/es/modal/Modal.js +2 -0
  281. package/lib/es/modal/ModalContent.d.ts +3 -1
  282. package/lib/es/modal/ModalContent.js +46 -5
  283. package/lib/es/navigation/Item.d.ts +4 -2
  284. package/lib/es/navigation/Item.js +25 -5
  285. package/lib/es/navigation/SubNav.d.ts +4 -2
  286. package/lib/es/navigation/SubNav.js +8 -1
  287. package/lib/es/navigation/index.js +2 -0
  288. package/lib/es/notification/notice.d.ts +1 -1
  289. package/lib/es/notification/notice.js +33 -24
  290. package/lib/es/pagination/index.js +16 -6
  291. package/lib/es/popover/index.js +7 -3
  292. package/lib/es/progress/index.d.ts +8 -0
  293. package/lib/es/progress/index.js +42 -9
  294. package/lib/es/radio/radio.d.ts +6 -1
  295. package/lib/es/radio/radio.js +16 -5
  296. package/lib/es/radio/radioGroup.d.ts +16 -1
  297. package/lib/es/radio/radioGroup.js +18 -3
  298. package/lib/es/radio/radioInner.d.ts +6 -1
  299. package/lib/es/radio/radioInner.js +11 -3
  300. package/lib/es/rating/index.d.ts +14 -0
  301. package/lib/es/rating/index.js +14 -3
  302. package/lib/es/rating/item.d.ts +2 -0
  303. package/lib/es/rating/item.js +6 -1
  304. package/lib/es/select/index.d.ts +16 -0
  305. package/lib/es/select/index.js +63 -17
  306. package/lib/es/select/option.js +28 -22
  307. package/lib/es/sideSheet/SideSheetContent.d.ts +1 -0
  308. package/lib/es/sideSheet/SideSheetContent.js +4 -1
  309. package/lib/es/sideSheet/index.d.ts +1 -0
  310. package/lib/es/sideSheet/index.js +2 -1
  311. package/lib/es/slider/index.d.ts +2 -1
  312. package/lib/es/slider/index.js +63 -16
  313. package/lib/es/spin/icon.js +3 -4
  314. package/lib/es/steps/basicStep.d.ts +3 -0
  315. package/lib/es/steps/basicStep.js +23 -23
  316. package/lib/es/steps/basicSteps.d.ts +1 -0
  317. package/lib/es/steps/basicSteps.js +2 -1
  318. package/lib/es/steps/fillStep.d.ts +3 -0
  319. package/lib/es/steps/fillStep.js +19 -4
  320. package/lib/es/steps/fillSteps.d.ts +1 -0
  321. package/lib/es/steps/fillSteps.js +2 -1
  322. package/lib/es/steps/navStep.d.ts +3 -0
  323. package/lib/es/steps/navStep.js +22 -23
  324. package/lib/es/steps/navSteps.d.ts +1 -0
  325. package/lib/es/steps/navSteps.js +2 -1
  326. package/lib/es/switch/index.d.ts +12 -0
  327. package/lib/es/switch/index.js +19 -4
  328. package/lib/es/table/Body/BaseRow.js +35 -3
  329. package/lib/es/table/Body/index.js +9 -2
  330. package/lib/es/table/ColumnFilter.js +4 -0
  331. package/lib/es/table/ColumnSelection.d.ts +3 -0
  332. package/lib/es/table/ColumnSelection.js +6 -2
  333. package/lib/es/table/ColumnSorter.js +17 -3
  334. package/lib/es/table/CustomExpandIcon.js +6 -1
  335. package/lib/es/table/Table.d.ts +2 -0
  336. package/lib/es/table/Table.js +31 -15
  337. package/lib/es/table/TableCell.d.ts +2 -0
  338. package/lib/es/table/TableCell.js +6 -2
  339. package/lib/es/table/TableHeaderRow.js +8 -2
  340. package/lib/es/tabs/TabBar.js +11 -3
  341. package/lib/es/tabs/TabPane.js +3 -1
  342. package/lib/es/tabs/index.js +0 -1
  343. package/lib/es/tagInput/index.d.ts +4 -1
  344. package/lib/es/tagInput/index.js +29 -3
  345. package/lib/es/timePicker/TimePicker.d.ts +12 -0
  346. package/lib/es/timePicker/TimePicker.js +9 -1
  347. package/lib/es/timePicker/index.d.ts +6 -0
  348. package/lib/es/timeline/index.d.ts +1 -1
  349. package/lib/es/timeline/index.js +1 -0
  350. package/lib/es/timeline/item.js +4 -2
  351. package/lib/es/toast/toast.js +2 -0
  352. package/lib/es/tooltip/TriangleArrow.js +1 -0
  353. package/lib/es/tooltip/TriangleArrowVertical.js +1 -0
  354. package/lib/es/tooltip/index.d.ts +16 -12
  355. package/lib/es/tooltip/index.js +53 -39
  356. package/lib/es/transfer/index.d.ts +1 -1
  357. package/lib/es/transfer/index.js +35 -17
  358. package/lib/es/tree/index.d.ts +1 -0
  359. package/lib/es/tree/index.js +15 -6
  360. package/lib/es/tree/treeNode.d.ts +12 -4
  361. package/lib/es/tree/treeNode.js +44 -4
  362. package/lib/es/treeSelect/index.d.ts +16 -0
  363. package/lib/es/treeSelect/index.js +57 -10
  364. package/lib/es/typography/base.js +17 -7
  365. package/lib/es/typography/copyable.js +5 -1
  366. package/lib/es/upload/fileCard.js +26 -7
  367. package/lib/es/upload/index.js +19 -4
  368. package/list/item.tsx +0 -1
  369. package/modal/Modal.tsx +2 -0
  370. package/modal/ModalContent.tsx +35 -5
  371. package/navigation/Item.tsx +15 -0
  372. package/navigation/SubNav.tsx +13 -1
  373. package/navigation/index.tsx +1 -1
  374. package/notification/notice.tsx +19 -14
  375. package/package.json +8 -8
  376. package/pagination/index.tsx +9 -5
  377. package/popover/index.tsx +5 -0
  378. package/progress/_story/progress.stories.js +18 -18
  379. package/progress/index.tsx +58 -20
  380. package/radio/radio.tsx +12 -2
  381. package/radio/radioGroup.tsx +29 -3
  382. package/radio/radioInner.tsx +10 -1
  383. package/rating/index.tsx +19 -2
  384. package/rating/item.tsx +6 -0
  385. package/select/__test__/select.test.js +45 -0
  386. package/select/_story/select.stories.js +29 -0
  387. package/select/index.tsx +52 -4
  388. package/select/option.tsx +3 -0
  389. package/sideSheet/SideSheetContent.tsx +6 -4
  390. package/sideSheet/index.tsx +3 -2
  391. package/slider/__test__/slider.test.js +9 -0
  392. package/slider/_story/slider.stories.js +1 -1
  393. package/slider/index.tsx +44 -7
  394. package/spin/icon.tsx +4 -3
  395. package/steps/basicStep.tsx +15 -4
  396. package/steps/basicSteps.tsx +3 -2
  397. package/steps/fillStep.tsx +27 -12
  398. package/steps/fillSteps.tsx +2 -0
  399. package/steps/navStep.tsx +15 -4
  400. package/steps/navSteps.tsx +3 -2
  401. package/switch/_story/switch.stories.js +20 -19
  402. package/switch/_story/switch.stories.tsx +13 -13
  403. package/switch/index.tsx +23 -5
  404. package/table/Body/BaseRow.tsx +25 -1
  405. package/table/Body/index.tsx +7 -2
  406. package/table/ColumnFilter.tsx +7 -1
  407. package/table/ColumnSelection.tsx +4 -1
  408. package/table/ColumnSorter.tsx +18 -1
  409. package/table/CustomExpandIcon.tsx +5 -0
  410. package/table/Table.tsx +26 -13
  411. package/table/TableCell.tsx +11 -1
  412. package/table/TableHeaderRow.tsx +16 -2
  413. package/table/__test__/table.test.js +46 -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 +14 -1
  421. package/timeline/_story/timeline.stories.js +1 -1
  422. package/timeline/index.tsx +2 -2
  423. package/timeline/item.tsx +2 -1
  424. package/toast/toast.tsx +2 -0
  425. package/tooltip/TriangleArrow.tsx +1 -1
  426. package/tooltip/TriangleArrowVertical.tsx +1 -1
  427. package/tooltip/_story/tooltip.stories.js +562 -514
  428. package/tooltip/index.tsx +51 -33
  429. package/transfer/index.tsx +32 -28
  430. package/tree/_story/tree.stories.js +3 -3
  431. package/tree/index.tsx +10 -2
  432. package/tree/treeNode.tsx +46 -10
  433. package/treeSelect/__test__/treeMultiple.test.js +5 -0
  434. package/treeSelect/_story/treeSelect.stories.js +12 -0
  435. package/treeSelect/index.tsx +58 -7
  436. package/typography/base.tsx +7 -1
  437. package/typography/copyable.tsx +10 -1
  438. package/upload/fileCard.tsx +14 -16
  439. package/upload/index.tsx +10 -6
@@ -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;
@@ -91,7 +91,7 @@ const Steps = props => {
91
91
  return /*#__PURE__*/(0, _react.cloneElement)(child, (0, _assign.default)({}, childProps));
92
92
  });
93
93
  return content;
94
- }, [children, initial, prefixCls, direction, status, current, size]);
94
+ }, [children, initial, prefixCls, direction, status, current, size, onChange]);
95
95
  const wrapperCls = (0, _classnames.default)(className, {
96
96
  ["".concat(prefixCls, "-basic")]: true,
97
97
  [(0, _concat.default)(_context2 = "".concat(prefixCls, "-")).call(_context2, direction)]: true,
@@ -99,6 +99,7 @@ const Steps = props => {
99
99
  ["".concat(prefixCls, "-hasline")]: hasLine
100
100
  });
101
101
  return /*#__PURE__*/_react.default.createElement("div", {
102
+ "aria-label": props["aria-label"],
102
103
  className: wrapperCls,
103
104
  style: style
104
105
  }, inner);
@@ -12,6 +12,9 @@ export interface FillStepProps {
12
12
  stepNumber?: string;
13
13
  onChange?: () => void;
14
14
  onClick?: React.MouseEventHandler<HTMLDivElement>;
15
+ onKeyDown?: React.KeyboardEventHandler<HTMLDivElement>;
16
+ "role"?: React.AriaRole;
17
+ "aria-label"?: React.AriaAttributes["aria-label"];
15
18
  }
16
19
  declare const FillStep: {
17
20
  (props: FillStepProps): JSX.Element;
@@ -37,7 +37,8 @@ const FillStep = props => {
37
37
  onClick,
38
38
  icon,
39
39
  onChange,
40
- stepNumber
40
+ stepNumber,
41
+ onKeyDown
41
42
  } = props;
42
43
 
43
44
  const renderIcon = () => {
@@ -99,17 +100,31 @@ const FillStep = props => {
99
100
  onChange();
100
101
  };
101
102
 
103
+ const handleKeyDown = e => {
104
+ if (e.key === 'Enter') {
105
+ if ((0, _isFunction2.default)(onKeyDown)) {
106
+ onKeyDown(e);
107
+ }
108
+
109
+ onChange();
110
+ }
111
+ };
112
+
102
113
  return /*#__PURE__*/_react.default.createElement("div", {
114
+ role: props["role"],
115
+ "aria-label": props["aria-label"],
116
+ "aria-current": "step",
117
+ tabIndex: 0,
103
118
  className: (0, _classnames.default)({
104
- [className]: Boolean(className),
105
119
  [prefixCls]: true,
106
120
  [(0, _concat.default)(_context = "".concat(prefixCls, "-")).call(_context, status)]: Boolean(status),
107
121
  ["".concat(prefixCls, "-clickable")]: onClick
108
- }),
122
+ }, className),
109
123
  style: style,
110
124
  onClick: e => {
111
125
  handleClick(e);
112
- }
126
+ },
127
+ onKeyDown: handleKeyDown
113
128
  }, renderIcon(), /*#__PURE__*/_react.default.createElement("div", {
114
129
  className: "".concat(prefixCls, "-content")
115
130
  }, /*#__PURE__*/_react.default.createElement("div", {
@@ -12,6 +12,7 @@ export interface FillStepsProps {
12
12
  style?: React.CSSProperties;
13
13
  children?: React.ReactNode;
14
14
  onChange?: (current: number) => void;
15
+ "aria-label"?: string;
15
16
  }
16
17
  declare const Steps: {
17
18
  (props: FillStepsProps): JSX.Element;
@@ -100,7 +100,8 @@ const Steps = props => {
100
100
  });
101
101
  return /*#__PURE__*/_react.default.createElement("div", {
102
102
  className: wrapperCls,
103
- style: style
103
+ style: style,
104
+ "aria-label": props["aria-label"]
104
105
  }, /*#__PURE__*/_react.default.createElement(_grid.Row, {
105
106
  type: "flex",
106
107
  justify: "start"
@@ -10,6 +10,9 @@ export interface NavStepProps {
10
10
  prefixCls?: string;
11
11
  onChange?: () => void;
12
12
  onClick?: React.MouseEventHandler<HTMLDivElement>;
13
+ onKeyDown?: React.KeyboardEventHandler<HTMLDivElement>;
14
+ "role"?: React.AriaRole;
15
+ "aria-label"?: React.AriaAttributes["aria-label"];
13
16
  }
14
17
  declare const NavStep: {
15
18
  (props: NavStepProps): JSX.Element;
@@ -10,12 +10,6 @@ _Object$defineProperty(exports, "__esModule", {
10
10
 
11
11
  exports.default = void 0;
12
12
 
13
- var _indexOf = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/index-of"));
14
-
15
- var _getOwnPropertySymbols = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols"));
16
-
17
- var _assign = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/assign"));
18
-
19
13
  var _isFunction2 = _interopRequireDefault(require("lodash/isFunction"));
20
14
 
21
15
  var _react = _interopRequireDefault(require("react"));
@@ -28,17 +22,6 @@ var _constants = require("@douyinfe/semi-foundation/lib/cjs/steps/constants");
28
22
 
29
23
  var _semiIcons = require("@douyinfe/semi-icons");
30
24
 
31
- var __rest = void 0 && (void 0).__rest || function (s, e) {
32
- var t = {};
33
-
34
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && (0, _indexOf.default)(e).call(e, p) < 0) t[p] = s[p];
35
-
36
- if (s != null && typeof _getOwnPropertySymbols.default === "function") for (var i = 0, p = (0, _getOwnPropertySymbols.default)(s); i < p.length; i++) {
37
- if ((0, _indexOf.default)(e).call(e, p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
38
- }
39
- return t;
40
- };
41
-
42
25
  const NavStep = props => {
43
26
  const {
44
27
  prefixCls,
@@ -49,13 +32,12 @@ const NavStep = props => {
49
32
  index,
50
33
  total,
51
34
  onClick,
35
+ onKeyDown,
52
36
  onChange
53
- } = props,
54
- restProps = __rest(props, ["prefixCls", "className", "title", "style", "active", "index", "total", "onClick", "onChange"]);
55
-
56
- const classString = (0, _classnames.default)(prefixCls, className, {
37
+ } = props;
38
+ const classString = (0, _classnames.default)(prefixCls, {
57
39
  ["".concat(prefixCls, "-active")]: active
58
- });
40
+ }, className);
59
41
 
60
42
  const handleClick = e => {
61
43
  if ((0, _isFunction2.default)(onClick)) {
@@ -65,11 +47,26 @@ const NavStep = props => {
65
47
  onChange();
66
48
  };
67
49
 
68
- return /*#__PURE__*/_react.default.createElement("div", (0, _assign.default)({}, restProps, {
50
+ const handleKeyDown = e => {
51
+ if (e.key === 'Enter') {
52
+ if ((0, _isFunction2.default)(onKeyDown)) {
53
+ onKeyDown(e);
54
+ }
55
+
56
+ onChange();
57
+ }
58
+ };
59
+
60
+ return /*#__PURE__*/_react.default.createElement("div", {
61
+ role: props["role"],
62
+ "aria-label": props["aria-label"],
63
+ "aria-current": "step",
64
+ tabIndex: 0,
69
65
  className: classString,
70
66
  style: style,
71
- onClick: e => handleClick(e)
72
- }), /*#__PURE__*/_react.default.createElement("div", {
67
+ onClick: e => handleClick(e),
68
+ onKeyDown: handleKeyDown
69
+ }, /*#__PURE__*/_react.default.createElement("div", {
73
70
  className: "".concat(prefixCls, "-container")
74
71
  }, /*#__PURE__*/_react.default.createElement("div", {
75
72
  className: "".concat(prefixCls, "-content")
@@ -10,6 +10,7 @@ export interface NavStepsProps {
10
10
  size?: Size;
11
11
  children?: React.ReactNode;
12
12
  onChange?: (current: number) => void;
13
+ "aria-label"?: string;
13
14
  }
14
15
  declare const Steps: {
15
16
  (props: NavStepsProps): JSX.Element;
@@ -72,12 +72,13 @@ const Steps = props => {
72
72
  return /*#__PURE__*/(0, _react.cloneElement)(child, (0, _assign.default)({}, childProps));
73
73
  });
74
74
  return content;
75
- }, [children, prefixCls, current, size]);
75
+ }, [children, prefixCls, current, size, initial, onChange]);
76
76
  const wrapperCls = (0, _classnames.default)(className, {
77
77
  ["".concat(prefixCls, "-nav")]: true,
78
78
  [(0, _concat.default)(_context2 = "".concat(prefixCls, "-")).call(_context2, size)]: size !== 'default'
79
79
  });
80
80
  return /*#__PURE__*/_react.default.createElement("div", {
81
+ "aria-label": props["aria-label"],
81
82
  className: wrapperCls,
82
83
  style: style
83
84
  }, inner);