@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
@@ -55,8 +55,9 @@ export interface TagInputProps {
55
55
  style?: React.CSSProperties;
56
56
  suffix?: React.ReactNode;
57
57
  validateStatus?: ValidateStatus;
58
- value?: string[];
58
+ value?: string[] | undefined;
59
59
  autoFocus?: boolean;
60
+ 'aria-label'?: string;
60
61
  }
61
62
 
62
63
  export interface TagInputState {
@@ -102,7 +103,8 @@ class TagInput extends BaseComponent<TagInputProps, TagInputState> {
102
103
  size: PropTypes.oneOf(strings.SIZE_SET),
103
104
  validateStatus: PropTypes.oneOf(strings.STATUS),
104
105
  prefix: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),
105
- suffix: PropTypes.oneOfType([PropTypes.string, PropTypes.node])
106
+ suffix: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),
107
+ 'aria-label': PropTypes.string,
106
108
  };
107
109
 
108
110
  static defaultProps = {
@@ -140,12 +142,18 @@ class TagInput extends BaseComponent<TagInputProps, TagInputState> {
140
142
  }
141
143
 
142
144
  static getDerivedStateFromProps(nextProps: TagInputProps, prevState: TagInputState) {
143
- const {
144
- value,
145
- inputValue,
146
- } = nextProps;
145
+ const { value, inputValue } = nextProps;
146
+ const { tagsArray: prevTagsArray } = prevState;
147
+ let tagsArray: string[];
148
+ if (isArray(value)) {
149
+ tagsArray = value;
150
+ } else if ('value' in nextProps && !value) {
151
+ tagsArray = [];
152
+ } else {
153
+ tagsArray = prevTagsArray;
154
+ }
147
155
  return {
148
- tagsArray: isArray(value) ? value : prevState.tagsArray,
156
+ tagsArray,
149
157
  inputValue: isString(inputValue) ? inputValue : prevState.inputValue
150
158
  };
151
159
  }
@@ -216,6 +224,10 @@ class TagInput extends BaseComponent<TagInputProps, TagInputState> {
216
224
  this.foundation.handleClearBtn(e);
217
225
  };
218
226
 
227
+ handleClearEnterPress = (e: React.KeyboardEvent<HTMLDivElement>) => {
228
+ this.foundation.handleClearEnterPress(e);
229
+ };
230
+
219
231
  handleTagClose = (idx: number) => {
220
232
  this.foundation.handleTagClose(idx);
221
233
  };
@@ -236,7 +248,14 @@ class TagInput extends BaseComponent<TagInputProps, TagInputState> {
236
248
  });
237
249
  if (showClear) {
238
250
  return (
239
- <div className={clearCls} onClick={e => this.handleClearBtn(e)}>
251
+ <div
252
+ role="button"
253
+ tabIndex={0}
254
+ aria-label="Clear TagInput value"
255
+ className={clearCls}
256
+ onClick={e => this.handleClearBtn(e)}
257
+ onKeyPress={e => this.handleClearEnterPress(e)}
258
+ >
240
259
  <IconClear />
241
260
  </div>
242
261
  );
@@ -398,6 +417,9 @@ class TagInput extends BaseComponent<TagInputProps, TagInputState> {
398
417
  <div
399
418
  style={style}
400
419
  className={tagInputCls}
420
+ aria-disabled={disabled}
421
+ aria-label={this.props['aria-label']}
422
+ aria-invalid={validateStatus === 'error'}
401
423
  onMouseEnter={e => {
402
424
  this.handleInputMouseEnter(e);
403
425
  }}
@@ -409,6 +431,7 @@ class TagInput extends BaseComponent<TagInputProps, TagInputState> {
409
431
  <div className={wrapperCls}>
410
432
  {this.renderTags()}
411
433
  <Input
434
+ aria-label='input value'
412
435
  ref={this.inputRef as any}
413
436
  className={inputCls}
414
437
  disabled={disabled}
@@ -36,6 +36,11 @@ export type BaseValueType = string | number | Date;
36
36
  export type Type = 'time' | 'timeRange';
37
37
 
38
38
  export type TimePickerProps = {
39
+ 'aria-describedby'?: React.AriaAttributes['aria-describedby'];
40
+ 'aria-errormessage'?: React.AriaAttributes['aria-errormessage'];
41
+ 'aria-invalid'?: React.AriaAttributes['aria-invalid'];
42
+ 'aria-labelledby'?: React.AriaAttributes['aria-labelledby'];
43
+ 'aria-required'?: React.AriaAttributes['aria-required'];
39
44
  autoAdjustOverflow?: boolean;
40
45
  autoFocus?: boolean; // TODO: autoFocus did not take effect
41
46
  className?: string;
@@ -56,6 +61,7 @@ export type TimePickerProps = {
56
61
  inputReadOnly?: boolean;
57
62
  inputStyle?: React.CSSProperties;
58
63
  insetLabel?: React.ReactNode;
64
+ insetLabelId?: string;
59
65
  locale?: Locale['TimePicker'];
60
66
  localeCode?: string;
61
67
  minuteStep?: number;
@@ -84,6 +90,7 @@ export type TimePickerProps = {
84
90
  zIndex?: number | string;
85
91
  onBlur?: React.FocusEventHandler<HTMLInputElement>;
86
92
  onChange?: TimePickerAdapter['notifyChange'];
93
+ onChangeWithDateFirst?: boolean;
87
94
  onFocus?: React.FocusEventHandler<HTMLInputElement>;
88
95
  onOpenChange?: (open: boolean) => void;
89
96
  };
@@ -100,10 +107,14 @@ export interface TimePickerState {
100
107
  invalid: boolean;
101
108
  }
102
109
 
103
-
104
110
  export default class TimePicker extends BaseComponent<TimePickerProps, TimePickerState> {
105
111
  static contextType = ConfigContext;
106
112
  static propTypes = {
113
+ 'aria-labelledby': PropTypes.string,
114
+ 'aria-invalid': PropTypes.bool,
115
+ 'aria-errormessage': PropTypes.string,
116
+ 'aria-describedby': PropTypes.string,
117
+ 'aria-required': PropTypes.bool,
107
118
  prefixCls: PropTypes.string,
108
119
  clearText: PropTypes.string,
109
120
  value: TimeShape,
@@ -142,6 +153,7 @@ export default class TimePicker extends BaseComponent<TimePickerProps, TimePicke
142
153
  dateFnsLocale: PropTypes.object,
143
154
  zIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
144
155
  insetLabel: PropTypes.node,
156
+ insetLabelId: PropTypes.string,
145
157
  validateStatus: PropTypes.oneOf(strings.STATUS),
146
158
  type: PropTypes.oneOf<TimePickerProps['type']>(strings.TYPES),
147
159
  rangeSeparator: PropTypes.string,
@@ -176,6 +188,7 @@ export default class TimePicker extends BaseComponent<TimePickerProps, TimePicke
176
188
  onFocus: noop,
177
189
  onBlur: noop,
178
190
  onChange: noop,
191
+ onChangeWithDateFirst: true,
179
192
  use12Hours: false,
180
193
  focusOnOpen: false,
181
194
  onKeyDown: noop,
@@ -246,7 +259,7 @@ export default class TimePicker extends BaseComponent<TimePickerProps, TimePicke
246
259
  }
247
260
  },
248
261
  notifyOpenChange: (...args) => this.props.onOpenChange(...args),
249
- notifyChange: (...args) => this.props.onChange && this.props.onChange(...args),
262
+ notifyChange: (agr1, arg2) => this.props.onChange && this.props.onChange(agr1, arg2),
250
263
  notifyFocus: (...args) => this.props.onFocus && this.props.onFocus(...args),
251
264
  notifyBlur: (...args) => this.props.onBlur && this.props.onBlur(...args),
252
265
  isRangePicker: () => this.props.type === strings.TYPE_TIME_RANGE_PICKER,
@@ -429,6 +442,7 @@ export default class TimePicker extends BaseComponent<TimePickerProps, TimePicke
429
442
  zIndex,
430
443
  getPopupContainer,
431
444
  insetLabel,
445
+ insetLabelId,
432
446
  inputStyle,
433
447
  showClear,
434
448
  panelHeader,
@@ -473,6 +487,7 @@ export default class TimePicker extends BaseComponent<TimePickerProps, TimePicke
473
487
  value: inputValue,
474
488
  onFocus: this.handleFocus,
475
489
  insetLabel,
490
+ insetLabelId,
476
491
  format,
477
492
  locale,
478
493
  localeCode,
@@ -22,11 +22,13 @@ describe(`TimePicker`, () => {
22
22
  const defaultMinute = 24;
23
23
  const defaultSeconds = 18;
24
24
 
25
- const onFoucs = sinon.spy();
25
+ const onFocus = sinon.spy();
26
+ const onChange = sinon.spy();
26
27
 
27
28
  const elem = mount(
28
29
  <TimePicker
29
- onFocus={onFoucs}
30
+ onChange={onChange}
31
+ onFocus={onFocus}
30
32
  panelHeader={<strong>Select Time</strong>}
31
33
  locale={Locale.TimePicker}
32
34
  localeCode={Locale.code}
@@ -59,7 +61,7 @@ describe(`TimePicker`, () => {
59
61
  // focus
60
62
  elem.find(`input`).simulate('focus');
61
63
  await sleep(200);
62
- expect(onFoucs.calledOnce).toBeTruthy();
64
+ expect(onFocus.calledOnce).toBeTruthy();
63
65
 
64
66
  // input value
65
67
  const newInputHour = 10;
@@ -82,6 +84,11 @@ describe(`TimePicker`, () => {
82
84
 
83
85
  await sleep(200);
84
86
  expect(elem.state('open')).toBe(false);
87
+
88
+ expect(onChange.called).toBeTruthy();
89
+ const args = onChange.getCall(0).args;
90
+ expect(args[0] instanceof Date).toBe(true);
91
+ expect(typeof args[1]).toBe('string');
85
92
  });
86
93
 
87
94
  it(`test controlled value`, async () => {
@@ -280,4 +287,28 @@ describe(`TimePicker`, () => {
280
287
  expect(args[0]).toBe(undefined);
281
288
  expect(args[1]).toBe('');
282
289
  });
290
+
291
+ it('test onChangeWithDateFirst=false', async () => {
292
+ const onChange = sinon.spy();
293
+ let props = {
294
+ defaultValue: "10:23:15",
295
+ onChange,
296
+ defaultOpen: true,
297
+ onChangeWithDateFirst: false,
298
+ autofocus: true,
299
+ locale: Locale.TimePicker,
300
+ localeCode: Locale.code
301
+ };
302
+ const elem = mount(<TimePicker {...props} />);
303
+ // click minute
304
+ const minuteUl = elem.find(`.${BASE_CLASS_PREFIX}-timepicker-panel-list-minute .${BASE_CLASS_PREFIX}-scrolllist-list-outer ul`);
305
+ const minuteLis = minuteUl.find(`li`);
306
+
307
+ minuteUl.simulate('click', { target: minuteLis.at(0).getDOMNode(), nativeEvent: null });
308
+
309
+ expect(onChange.called).toBeTruthy();
310
+ const args = onChange.getCall(0).args;
311
+ expect(typeof args[0]).toBe('string');
312
+ expect(args[1] instanceof Date).toBe(true);
313
+ });
283
314
  });
@@ -262,3 +262,21 @@ export const ShowClear = () => (
262
262
  />
263
263
  </>
264
264
  );
265
+
266
+
267
+ export const TimePickerWithOnChangeWithDateFirst = () => {
268
+ return (
269
+ <div>
270
+ onChangeWithDateFirst=true (default)
271
+ <TimePicker onChange={(...val) => console.log(...val)} />
272
+ <br />
273
+ onChangeWithDateFirst=false
274
+ <TimePicker onChangeWithDateFirst={false} onChange={(...val) => console.log(...val)} />
275
+
276
+ </div>
277
+ );
278
+ };
279
+
280
+ TimePickerWithOnChangeWithDateFirst.story = {
281
+ name: 'OnChangeWithDateFirst',
282
+ };
@@ -10,7 +10,7 @@ export default {
10
10
 
11
11
  export const DefaultTimeline = () => (
12
12
  <div>
13
- <Timeline>
13
+ <Timeline aria-label="xx事故处理过程时间线">
14
14
  <Timeline.Item time="2015-09-01">创建服务现场</Timeline.Item>
15
15
  <Timeline.Item time="2015-09-01">初步排除网络异常</Timeline.Item>
16
16
  <Timeline.Item time="2015-09-01">技术测试异常</Timeline.Item>
@@ -12,7 +12,7 @@ export interface Data extends TimelineItemProps {
12
12
  content: React.ReactNode;
13
13
  }
14
14
 
15
- export interface TimelineProps {
15
+ export interface TimelineProps extends Pick<React.AriaAttributes, 'aria-label'> {
16
16
  mode?: 'left' | 'right' | 'center' | 'alternate';
17
17
  className?: string;
18
18
  style?: React.CSSProperties;
@@ -86,7 +86,7 @@ class Timeline extends PureComponent<TimelineProps> {
86
86
  const items = childrenList || this.addClassName(children);
87
87
 
88
88
  return (
89
- <ul style={style} className={classString}>
89
+ <ul aria-label={this.props['aria-label']} style={style} className={classString}>
90
90
  {items}
91
91
  </ul>
92
92
  );
package/timeline/item.tsx CHANGED
@@ -63,9 +63,10 @@ export default class Item extends PureComponent<TimelineItemProps> {
63
63
  const dotStyle = color ? { style: { backgroundColor: color } } : null;
64
64
  return (
65
65
  <li className={itemCls} style={style} onClick={onClick}>
66
- <div className={`${prefixCls}-tail`} />
66
+ <div className={`${prefixCls}-tail`} aria-hidden />
67
67
  <div
68
68
  className={dotCls}
69
+ aria-hidden
69
70
  {...dotStyle}
70
71
  >
71
72
  {dot}
package/toast/toast.tsx CHANGED
@@ -118,6 +118,8 @@ class Toast extends BaseComponent<ToastReactProps, ToastState> {
118
118
  const btnSize = 'small';
119
119
  return (
120
120
  <div
121
+ role='alert'
122
+ aria-label={`${type ? type : 'default'} type`}
121
123
  className={toastCls}
122
124
  style={style}
123
125
  onMouseEnter={this.clearCloseTimer}
@@ -3,7 +3,7 @@ import React from 'react';
3
3
  const TriangleArrow: React.FC<{ [key: string]: any }> = props => {
4
4
  const { className, style, ...restProps } = props;
5
5
  return (
6
- <svg className={className} style={style} {...restProps} width="24" height="7" viewBox="0 0 24 7" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
6
+ <svg aria-hidden className={className} style={style} {...restProps} width="24" height="7" viewBox="0 0 24 7" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
7
7
  <path d="M24 0V1C20 1 18.5 2 16.5 4C14.5 6 14 7 12 7C10 7 9.5 6 7.5 4C5.5 2 4 1 0 1V0H24Z" />
8
8
  </svg>
9
9
  );
@@ -3,7 +3,7 @@ import React from 'react';
3
3
  const TriangleArrowVertical: React.FC<{ [key: string]: any }> = props => {
4
4
  const { className, style, ...restProps } = props;
5
5
  return (
6
- <svg className={className} style={style} {...restProps} width="7" height="24" xmlns="http://www.w3.org/2000/svg" fill="currentColor">
6
+ <svg aria-hidden className={className} style={style} {...restProps} width="7" height="24" xmlns="http://www.w3.org/2000/svg" fill="currentColor">
7
7
  <path d="M0 0L1 0C1 4, 2 5.5, 4 7.5S7,10 7,12S6 14.5, 4 16.5S1,20 1,24L0 24L0 0z" />
8
8
  </svg>
9
9
  );