@douyinfe/semi-ui 2.1.3 → 2.1.6-alpha.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 (788) hide show
  1. package/_base/_story/index.scss +15 -0
  2. package/_base/_story/index.stories.js +118 -0
  3. package/_base/_story/index.stories.tsx +55 -0
  4. package/_base/base.scss +3 -0
  5. package/_base/base.ts +36 -0
  6. package/_base/baseComponent.tsx +78 -0
  7. package/_base/reactUtils.ts +43 -0
  8. package/_portal/_story/portal.stories.js +17 -0
  9. package/_portal/index.tsx +112 -0
  10. package/_test_/utils/dom/index.js +9 -0
  11. package/_test_/utils/function/index.js +1 -0
  12. package/_test_/utils/function/sleep.js +9 -0
  13. package/_test_/utils/index.js +4 -0
  14. package/_test_/utils/table/index.js +310 -0
  15. package/_test_/utils/tooltip/index.js +39 -0
  16. package/_utils/index.ts +157 -0
  17. package/anchor/__test__/anchor.test.js +59 -0
  18. package/anchor/_story/anchor.stories.js +266 -0
  19. package/anchor/_story/anchor.stories.tsx +165 -0
  20. package/anchor/anchor-context.ts +13 -0
  21. package/anchor/index.tsx +296 -0
  22. package/anchor/link.tsx +136 -0
  23. package/autoComplete/__test__/autoComplete.test.js +456 -0
  24. package/autoComplete/_story/CustomTrigger/index.jsx +106 -0
  25. package/autoComplete/_story/autoComplete.stories.js +349 -0
  26. package/autoComplete/_story/autoComplete.stories.tsx +87 -0
  27. package/autoComplete/index.tsx +476 -0
  28. package/avatar/__test__/avatar.test.js +363 -0
  29. package/avatar/__test__/avatarGroup.test.js +193 -0
  30. package/avatar/_story/Demo.tsx +22 -0
  31. package/avatar/_story/avatar.stories.js +191 -0
  32. package/avatar/_story/avatar.stories.tsx +7 -0
  33. package/avatar/avatarGroup.tsx +81 -0
  34. package/avatar/index.tsx +163 -0
  35. package/avatar/interface.ts +51 -0
  36. package/backtop/__test__/backtop.test.js +49 -0
  37. package/backtop/_story/backtop.stories.js +37 -0
  38. package/backtop/_story/backtop.stories.tsx +30 -0
  39. package/backtop/index.tsx +112 -0
  40. package/badge/__test__/badge.test.js +123 -0
  41. package/badge/_story/Demo.tsx +16 -0
  42. package/badge/_story/badge.stories.js +91 -0
  43. package/badge/_story/badge.stories.tsx +8 -0
  44. package/badge/index.tsx +80 -0
  45. package/banner/__test__/banner.test.js +58 -0
  46. package/banner/_story/Demo.tsx +14 -0
  47. package/banner/_story/banner.stories.js +45 -0
  48. package/banner/_story/banner.stories.tsx +8 -0
  49. package/banner/index.tsx +172 -0
  50. package/breadcrumb/__test__/breadcrumb.test.js +219 -0
  51. package/breadcrumb/_story/Demo.tsx +24 -0
  52. package/breadcrumb/_story/breadcrumb.stories.js +317 -0
  53. package/breadcrumb/_story/breadcrumb.stories.tsx +45 -0
  54. package/breadcrumb/bread-context.tsx +13 -0
  55. package/breadcrumb/index.tsx +293 -0
  56. package/breadcrumb/item.tsx +207 -0
  57. package/button/Button.tsx +126 -0
  58. package/button/__test__/button.test.js +64 -0
  59. package/button/_story/Demo.tsx +51 -0
  60. package/button/_story/button.stories.js +293 -0
  61. package/button/_story/button.stories.tsx +10 -0
  62. package/button/buttonGroup.tsx +49 -0
  63. package/button/index.tsx +38 -0
  64. package/button/splitButtonGroup.tsx +27 -0
  65. package/calendar/__test__/calendar.test.js +163 -0
  66. package/calendar/_story/Demo.tsx +20 -0
  67. package/calendar/_story/calendar.stories.js +405 -0
  68. package/calendar/_story/calendar.stories.tsx +5 -0
  69. package/calendar/dayCalendar.tsx +191 -0
  70. package/calendar/dayCol.tsx +156 -0
  71. package/calendar/index.tsx +61 -0
  72. package/calendar/interface.ts +42 -0
  73. package/calendar/monthCalendar.tsx +399 -0
  74. package/calendar/rangeCalendar.tsx +270 -0
  75. package/calendar/timeCol.tsx +64 -0
  76. package/calendar/weekCalendar.tsx +271 -0
  77. package/card/__test__/card.test.js +202 -0
  78. package/card/_story/card.stories.js +555 -0
  79. package/card/_story/card.stories.tsx +100 -0
  80. package/card/cardGroup.tsx +63 -0
  81. package/card/index.tsx +243 -0
  82. package/card/meta.tsx +73 -0
  83. package/cascader/__test__/cascader.test.js +1030 -0
  84. package/cascader/_story/CustomTrigger/index.jsx +63 -0
  85. package/cascader/_story/Demo.tsx +63 -0
  86. package/cascader/_story/cascader.stories.js +1213 -0
  87. package/cascader/_story/cascader.stories.tsx +6 -0
  88. package/cascader/index.tsx +901 -0
  89. package/cascader/item.tsx +304 -0
  90. package/checkbox/__test__/checkbox.test.js +85 -0
  91. package/checkbox/__test__/checkboxGroup.test.js +180 -0
  92. package/checkbox/_story/Demo.tsx +27 -0
  93. package/checkbox/_story/checkbox.stories.js +1015 -0
  94. package/checkbox/_story/checkbox.stories.tsx +8 -0
  95. package/checkbox/checkbox.tsx +203 -0
  96. package/checkbox/checkboxGroup.tsx +172 -0
  97. package/checkbox/checkboxInner.tsx +88 -0
  98. package/checkbox/context.ts +14 -0
  99. package/checkbox/index.tsx +19 -0
  100. package/collapse/__test__/collapse.test.js +148 -0
  101. package/collapse/_story/Demo.tsx +28 -0
  102. package/collapse/_story/accordion.stories.js +143 -0
  103. package/collapse/_story/accordion.stories.tsx +8 -0
  104. package/collapse/collapse-context.tsx +18 -0
  105. package/collapse/index.tsx +119 -0
  106. package/collapse/item.tsx +139 -0
  107. package/collapsible/_story/Demo.tsx +41 -0
  108. package/collapsible/_story/Nested/index.js +101 -0
  109. package/collapsible/_story/collapsible.stories.js +588 -0
  110. package/collapsible/_story/collapsible.stories.tsx +7 -0
  111. package/collapsible/index.tsx +156 -0
  112. package/configProvider/_story/ChangeTimeZone/index.js +183 -0
  113. package/configProvider/_story/GetPopupContainer/index.js +194 -0
  114. package/configProvider/_story/RTLDirection/RTLForm.jsx +313 -0
  115. package/configProvider/_story/RTLDirection/RTLTable.jsx +94 -0
  116. package/configProvider/_story/RTLDirection/RTLWrapper.tsx +27 -0
  117. package/configProvider/_story/configProvider.stories.js +30 -0
  118. package/configProvider/context.tsx +14 -0
  119. package/configProvider/index.tsx +48 -0
  120. package/datePicker/__test__/datePicker.test.js +873 -0
  121. package/datePicker/_story/AllTypes/index.js +19 -0
  122. package/datePicker/_story/AutoSwitchDate/index.jsx +14 -0
  123. package/datePicker/_story/Autofocus/index.js +11 -0
  124. package/datePicker/_story/BetterRangePicker/index.jsx +172 -0
  125. package/datePicker/_story/Callbacks/index.jsx +24 -0
  126. package/datePicker/_story/ControlledDemo/index.js +149 -0
  127. package/datePicker/_story/CustomTrigger/index.jsx +36 -0
  128. package/datePicker/_story/Cycled/index.jsx +11 -0
  129. package/datePicker/_story/DateOffset/index.js +83 -0
  130. package/datePicker/_story/DatePickerSlot/index.jsx +83 -0
  131. package/datePicker/_story/DatePickerSlot/index.scss +7 -0
  132. package/datePicker/_story/DatePickerTimeZone/index.jsx +27 -0
  133. package/datePicker/_story/Density/index.jsx +69 -0
  134. package/datePicker/_story/DisabledDate/index.js +189 -0
  135. package/datePicker/_story/ExceptionDemo/index.js +20 -0
  136. package/datePicker/_story/Multiple/index.jsx +24 -0
  137. package/datePicker/_story/NeedConfirm/index.jsx +94 -0
  138. package/datePicker/_story/OnChangeWithDateFirst/index.jsx +37 -0
  139. package/datePicker/_story/OverPopover/index.jsx +22 -0
  140. package/datePicker/_story/RenderDate/index.js +21 -0
  141. package/datePicker/_story/RenderFullDate/index.js +56 -0
  142. package/datePicker/_story/RenderFullDate/index.scss +23 -0
  143. package/datePicker/_story/SyncSwitchMonth/index.js +45 -0
  144. package/datePicker/_story/TimePickerOpts/index.jsx +16 -0
  145. package/datePicker/_story/datePicker.stories.js +636 -0
  146. package/datePicker/_story/datePicker.stories.tsx +230 -0
  147. package/datePicker/dateInput.tsx +358 -0
  148. package/datePicker/datePicker.tsx +647 -0
  149. package/datePicker/footer.tsx +29 -0
  150. package/datePicker/index.tsx +71 -0
  151. package/datePicker/month.tsx +388 -0
  152. package/datePicker/monthsGrid.tsx +615 -0
  153. package/datePicker/navigation.tsx +120 -0
  154. package/datePicker/quickControl.tsx +54 -0
  155. package/datePicker/yearAndMonth.tsx +228 -0
  156. package/descriptions/__test__/descriptions.test.js +167 -0
  157. package/descriptions/_story/Demo.tsx +36 -0
  158. package/descriptions/_story/descriptions.stories.js +95 -0
  159. package/descriptions/_story/descriptions.stories.tsx +6 -0
  160. package/descriptions/descriptions-context.ts +11 -0
  161. package/descriptions/index.tsx +82 -0
  162. package/descriptions/item.tsx +63 -0
  163. package/dist/css/semi.css +67 -12
  164. package/dist/css/semi.min.css +1 -1
  165. package/dist/umd/semi-ui.js +310 -279
  166. package/dist/umd/semi-ui.js.map +1 -1
  167. package/dist/umd/semi-ui.min.js +1 -1
  168. package/dist/umd/semi-ui.min.js.map +1 -1
  169. package/dropdown/__test__/dropdown.test.js +308 -0
  170. package/dropdown/_story/AutoClose/index.js +120 -0
  171. package/dropdown/_story/DisabledItem/index.js +31 -0
  172. package/dropdown/_story/InHoverElements/index.js +25 -0
  173. package/dropdown/_story/InHoverElements/index.scss +16 -0
  174. package/dropdown/_story/MultiDropdown/index.js +34 -0
  175. package/dropdown/_story/WrapAvatar/index.jsx +10 -0
  176. package/dropdown/_story/dropdown.stories.js +331 -0
  177. package/dropdown/_story/dropdown.stories.tsx +28 -0
  178. package/dropdown/_story/inTable/index.js +194 -0
  179. package/dropdown/context.ts +6 -0
  180. package/dropdown/dropdownDivider.tsx +23 -0
  181. package/dropdown/dropdownItem.tsx +104 -0
  182. package/dropdown/dropdownMenu.tsx +28 -0
  183. package/dropdown/dropdownTitle.tsx +36 -0
  184. package/dropdown/index.tsx +239 -0
  185. package/empty/__test__/empty.test.js +63 -0
  186. package/empty/_story/Demo.tsx +10 -0
  187. package/empty/_story/empty.stories.js +53 -0
  188. package/empty/_story/empty.stories.tsx +8 -0
  189. package/empty/index.tsx +127 -0
  190. package/form/__test__/arrayField.test.js +204 -0
  191. package/form/__test__/baseForm/baseForm.test.js +628 -0
  192. package/form/__test__/baseForm/onChange.test.js +144 -0
  193. package/form/__test__/errorMessage.test.js +59 -0
  194. package/form/__test__/field.test.js +426 -0
  195. package/form/__test__/formApi.test.js +422 -0
  196. package/form/__test__/group.test.js +108 -0
  197. package/form/__test__/hoc.test.js +24 -0
  198. package/form/__test__/label.test.js +69 -0
  199. package/form/__test__/section.test.js +49 -0
  200. package/form/__test__/slot.test.js +108 -0
  201. package/form/_story/Debug/bugDemo.jsx +219 -0
  202. package/form/_story/Debug/childDidMount.jsx +30 -0
  203. package/form/_story/Debug/myRadio.jsx +32 -0
  204. package/form/_story/DynamicField/arrayFieldDemo.jsx +320 -0
  205. package/form/_story/DynamicField/nestArrayField.jsx +159 -0
  206. package/form/_story/FieldProps/bigNumberFieldPath.jsx +73 -0
  207. package/form/_story/FieldProps/convert.jsx +100 -0
  208. package/form/_story/FieldProps/fieldRef.jsx +74 -0
  209. package/form/_story/FieldProps/helpAndExtra.jsx +136 -0
  210. package/form/_story/FieldProps/pureField.jsx +0 -0
  211. package/form/_story/FieldProps/rulesUpdateDemo.js +116 -0
  212. package/form/_story/FormApi/arrayDemo.jsx +97 -0
  213. package/form/_story/FormApi/formApiDemo.jsx +82 -0
  214. package/form/_story/FormApi/resetDemo.jsx +41 -0
  215. package/form/_story/FormApi/setValuesDemo.jsx +133 -0
  216. package/form/_story/HOC/displayName.jsx +19 -0
  217. package/form/_story/HOC/withFieldDemo.jsx +216 -0
  218. package/form/_story/Hook/hookDemo.jsx +195 -0
  219. package/form/_story/Layout/layoutDemo.jsx +348 -0
  220. package/form/_story/Layout/modalFormDemo.jsx +94 -0
  221. package/form/_story/Layout/slotDemo.jsx +126 -0
  222. package/form/_story/Performance/performanceDemo.jsx +440 -0
  223. package/form/_story/Performance/selectUseReactNode.jsx +110 -0
  224. package/form/_story/Reference/inform.test.js +110 -0
  225. package/form/_story/Validate/validateDemo.jsx +421 -0
  226. package/form/_story/demo.jsx +397 -0
  227. package/form/_story/form.stories.js +439 -0
  228. package/form/_story/form.stories.tsx +176 -0
  229. package/form/arrayField.tsx +199 -0
  230. package/form/baseForm.tsx +290 -0
  231. package/form/context.tsx +18 -0
  232. package/form/errorMessage.tsx +80 -0
  233. package/form/field.tsx +79 -0
  234. package/form/group.tsx +91 -0
  235. package/form/hoc/withField.tsx +559 -0
  236. package/form/hoc/withFormApi.tsx +11 -0
  237. package/form/hoc/withFormState.tsx +11 -0
  238. package/form/hooks/index.ts +12 -0
  239. package/form/hooks/useArrayFieldState.tsx +9 -0
  240. package/form/hooks/useFieldApi.tsx +21 -0
  241. package/form/hooks/useFieldState.tsx +18 -0
  242. package/form/hooks/useFormApi.tsx +6 -0
  243. package/form/hooks/useFormState.tsx +9 -0
  244. package/form/hooks/useFormUpdater.tsx +6 -0
  245. package/form/hooks/useStateWithGetter.ts +13 -0
  246. package/form/index.tsx +42 -0
  247. package/form/interface.ts +132 -0
  248. package/form/label.tsx +79 -0
  249. package/form/section.tsx +38 -0
  250. package/form/slot.tsx +165 -0
  251. package/getBabelConfig.js +37 -0
  252. package/grid/__test__/calculateGutter.test.js +50 -0
  253. package/grid/_story/demo.scss +23 -0
  254. package/grid/_story/grid.stories.js +290 -0
  255. package/grid/_story/grid.stories.tsx +15 -0
  256. package/grid/col.tsx +133 -0
  257. package/grid/index.tsx +7 -0
  258. package/grid/row.tsx +174 -0
  259. package/gulpfile.js +116 -0
  260. package/iconButton/_story/iconButton.stories.tsx +16 -0
  261. package/iconButton/index.tsx +130 -0
  262. package/icons/_story/Others/add-template-icon.jsx +0 -0
  263. package/icons/_story/Others/add-template-icon.svg +10 -0
  264. package/icons/_story/Others/hangup.svg +3 -0
  265. package/icons/_story/Others/index.js +24 -0
  266. package/icons/_story/Others/xianglin.svg +3 -0
  267. package/icons/_story/icon.stories.js +63 -0
  268. package/icons/_story/icon.stories.tsx +46 -0
  269. package/icons/index.tsx +5 -0
  270. package/index.ts +94 -0
  271. package/input/__test__/input.test.js +245 -0
  272. package/input/__test__/textArea.test.js +119 -0
  273. package/input/_story/Demo.tsx +33 -0
  274. package/input/_story/TextareaDemo.tsx +27 -0
  275. package/input/_story/input.scss +0 -0
  276. package/input/_story/input.stories.js +887 -0
  277. package/input/_story/input.stories.tsx +11 -0
  278. package/input/index.tsx +444 -0
  279. package/input/inputGroup.tsx +119 -0
  280. package/input/textarea.tsx +330 -0
  281. package/inputNumber/__test__/inputNumber.test.js +370 -0
  282. package/inputNumber/_story/input.stories.tsx +17 -0
  283. package/inputNumber/_story/inputNumber.scss +10 -0
  284. package/inputNumber/_story/inputNumber.stories.js +643 -0
  285. package/inputNumber/index.tsx +480 -0
  286. package/layout/Sider.tsx +116 -0
  287. package/layout/__test__/layout.test.js +51 -0
  288. package/layout/_story/layout.stories.js +305 -0
  289. package/layout/_story/layout.stories.tsx +13 -0
  290. package/layout/index.tsx +126 -0
  291. package/layout/layout-context.ts +18 -0
  292. package/lib/cjs/_base/base.css +2 -2
  293. package/lib/cjs/button/Button.d.ts +1 -0
  294. package/lib/cjs/button/buttonGroup.js +11 -3
  295. package/lib/cjs/cascader/item.js +5 -0
  296. package/lib/cjs/checkbox/checkbox.js +4 -1
  297. package/lib/cjs/checkbox/checkboxGroup.d.ts +1 -0
  298. package/lib/cjs/checkbox/checkboxGroup.js +3 -1
  299. package/lib/cjs/form/baseForm.d.ts +2 -1
  300. package/lib/cjs/form/field.d.ts +2 -1
  301. package/lib/cjs/form/hoc/withField.js +3 -1
  302. package/lib/cjs/modal/Modal.d.ts +8 -8
  303. package/lib/cjs/modal/Modal.js +4 -4
  304. package/lib/cjs/modal/confirm.d.ts +10 -10
  305. package/lib/cjs/navigation/index.d.ts +2 -2
  306. package/lib/cjs/pagination/index.js +9 -4
  307. package/lib/cjs/radio/radio.js +1 -0
  308. package/lib/cjs/rating/item.js +2 -1
  309. package/lib/cjs/select/index.d.ts +1 -0
  310. package/lib/cjs/select/index.js +5 -1
  311. package/lib/cjs/table/Table.d.ts +1 -1
  312. package/lib/cjs/timeline/item.d.ts +2 -2
  313. package/lib/cjs/timeline/item.js +3 -3
  314. package/lib/cjs/tree/treeNode.js +0 -2
  315. package/lib/cjs/treeSelect/index.js +1 -0
  316. package/lib/cjs/typography/title.d.ts +1 -1
  317. package/lib/cjs/upload/index.d.ts +10 -1
  318. package/lib/cjs/upload/index.js +8 -0
  319. package/lib/es/_base/base.css +2 -2
  320. package/lib/es/button/Button.d.ts +1 -0
  321. package/lib/es/button/buttonGroup.js +3 -3
  322. package/lib/es/cascader/item.js +5 -0
  323. package/lib/es/checkbox/checkbox.js +4 -1
  324. package/lib/es/checkbox/checkboxGroup.d.ts +1 -0
  325. package/lib/es/checkbox/checkboxGroup.js +3 -1
  326. package/lib/es/form/baseForm.d.ts +2 -1
  327. package/lib/es/form/field.d.ts +2 -1
  328. package/lib/es/form/hoc/withField.js +3 -1
  329. package/lib/es/modal/Modal.d.ts +8 -8
  330. package/lib/es/modal/Modal.js +4 -4
  331. package/lib/es/modal/confirm.d.ts +10 -10
  332. package/lib/es/navigation/index.d.ts +2 -2
  333. package/lib/es/pagination/index.js +8 -4
  334. package/lib/es/radio/radio.js +1 -0
  335. package/lib/es/rating/item.js +2 -1
  336. package/lib/es/select/index.d.ts +1 -0
  337. package/lib/es/select/index.js +5 -1
  338. package/lib/es/table/Table.d.ts +1 -1
  339. package/lib/es/timeline/item.d.ts +2 -2
  340. package/lib/es/timeline/item.js +3 -3
  341. package/lib/es/tree/treeNode.js +0 -2
  342. package/lib/es/treeSelect/index.js +1 -0
  343. package/lib/es/typography/title.d.ts +1 -1
  344. package/lib/es/upload/index.d.ts +10 -1
  345. package/lib/es/upload/index.js +8 -0
  346. package/list/__test__/list.test.js +264 -0
  347. package/list/_story/list.stories.js +920 -0
  348. package/list/_story/list.stories.tsx +26 -0
  349. package/list/index.tsx +173 -0
  350. package/list/item.tsx +109 -0
  351. package/list/list-context.ts +15 -0
  352. package/locale/README.md +53 -0
  353. package/locale/_story/locale.stories.js +221 -0
  354. package/locale/_story/locale.stories.tsx +57 -0
  355. package/locale/context.tsx +5 -0
  356. package/locale/interface.ts +152 -0
  357. package/locale/localeConsumer.tsx +58 -0
  358. package/locale/localeProvider.tsx +35 -0
  359. package/locale/source/ar.ts +156 -0
  360. package/locale/source/en_GB.ts +156 -0
  361. package/locale/source/en_US.ts +156 -0
  362. package/locale/source/id_ID.ts +157 -0
  363. package/locale/source/ja_JP.ts +157 -0
  364. package/locale/source/ko_KR.ts +157 -0
  365. package/locale/source/ms_MY.ts +156 -0
  366. package/locale/source/pt_BR.ts +164 -0
  367. package/locale/source/ru_RU.ts +159 -0
  368. package/locale/source/th_TH.ts +160 -0
  369. package/locale/source/tr_TR.ts +156 -0
  370. package/locale/source/vi_VN.ts +159 -0
  371. package/locale/source/zh_CN.ts +157 -0
  372. package/locale/source/zh_TW.ts +157 -0
  373. package/modal/ConfirmModal.tsx +89 -0
  374. package/modal/Modal.tsx +415 -0
  375. package/modal/ModalContent.tsx +276 -0
  376. package/modal/__test__/confirm.test.js +203 -0
  377. package/modal/__test__/modal.test.js +324 -0
  378. package/modal/_story/CollapsibleInModal/index.jsx +100 -0
  379. package/modal/_story/DynamicContext/context.js +8 -0
  380. package/modal/_story/DynamicContext/index.jsx +30 -0
  381. package/modal/_story/modal.stories.js +251 -0
  382. package/modal/_story/modal.stories.tsx +41 -0
  383. package/modal/confirm.tsx +121 -0
  384. package/modal/index.tsx +13 -0
  385. package/modal/useModal/HookModal.tsx +62 -0
  386. package/modal/useModal/index.tsx +72 -0
  387. package/motions/Rotate.tsx +64 -0
  388. package/navigation/CollapseButton.tsx +47 -0
  389. package/navigation/Footer.tsx +72 -0
  390. package/navigation/Header.tsx +80 -0
  391. package/navigation/Item.tsx +274 -0
  392. package/navigation/OpenIconTransition.tsx +57 -0
  393. package/navigation/README.md +10 -0
  394. package/navigation/SubNav.tsx +376 -0
  395. package/navigation/SubNavTransition.tsx +58 -0
  396. package/navigation/__test__/navigation.test.js +274 -0
  397. package/navigation/_story/AutoOpen/index.js +69 -0
  398. package/navigation/_story/ControlledSelectedKeys/index.js +78 -0
  399. package/navigation/_story/DisabledNav/index.js +46 -0
  400. package/navigation/_story/ItemsChange/index.js +41 -0
  401. package/navigation/_story/LinkNav/index.jsx +90 -0
  402. package/navigation/_story/MountUnmount/index.js +57 -0
  403. package/navigation/_story/WithChildren/index.js +119 -0
  404. package/navigation/_story/WithRouter/index.js +111 -0
  405. package/navigation/_story/navigation.stories.js +330 -0
  406. package/navigation/_story/navigation.stories.tsx +101 -0
  407. package/navigation/index.tsx +427 -0
  408. package/navigation/nav-context.ts +9 -0
  409. package/notification/NoticeTransition.tsx +68 -0
  410. package/notification/__test__/notification.test.js +325 -0
  411. package/notification/_story/Demo.tsx +29 -0
  412. package/notification/_story/notification.stories.js +225 -0
  413. package/notification/_story/notification.stories.tsx +6 -0
  414. package/notification/_story/useNotification/context.js +3 -0
  415. package/notification/_story/useNotification/index.jsx +29 -0
  416. package/notification/index.tsx +265 -0
  417. package/notification/notice.tsx +185 -0
  418. package/notification/useNotification/HookNotice.tsx +36 -0
  419. package/notification/useNotification/index.tsx +94 -0
  420. package/overflowList/__test__/overflowList.test.js +31 -0
  421. package/overflowList/_story/Demo.tsx +36 -0
  422. package/overflowList/_story/overflowList.stories.js +356 -0
  423. package/overflowList/_story/overflowList.stories.tsx +7 -0
  424. package/overflowList/index.tsx +279 -0
  425. package/overflowList/intersectionObserver.tsx +93 -0
  426. package/package.json +16 -13
  427. package/pagination/__test__/pagination.test.js +255 -0
  428. package/pagination/_story/pagination.stories.js +159 -0
  429. package/pagination/_story/pagination.stories.tsx +11 -0
  430. package/pagination/index.tsx +455 -0
  431. package/popconfirm/__test__/popconfirm.test.js +131 -0
  432. package/popconfirm/_story/DynamicDisable/index.jsx +25 -0
  433. package/popconfirm/_story/InTable/index.js +75 -0
  434. package/popconfirm/_story/ShowArrow/index.jsx +141 -0
  435. package/popconfirm/_story/TitlePopconfirm/index.js +130 -0
  436. package/popconfirm/_story/TypesConfirm/index.jsx +121 -0
  437. package/popconfirm/_story/popconfirm.stories.js +170 -0
  438. package/popconfirm/_story/popconfirm.stories.tsx +20 -0
  439. package/popconfirm/index.tsx +239 -0
  440. package/popover/Arrow.tsx +66 -0
  441. package/popover/__test__/popover.test.js +52 -0
  442. package/popover/_story/ArrowPointAtCenter/index.jsx +138 -0
  443. package/popover/_story/BtnClose/index.jsx +80 -0
  444. package/popover/_story/NestedPopover/index.js +41 -0
  445. package/popover/_story/PopRight/index.js +25 -0
  446. package/popover/_story/PopRight/index.scss +25 -0
  447. package/popover/_story/SelectInPopover/index.jsx +38 -0
  448. package/popover/_story/popover.stories.js +574 -0
  449. package/popover/_story/popover.stories.tsx +53 -0
  450. package/popover/index.tsx +156 -0
  451. package/progress/__test__/progress.test.js +127 -0
  452. package/progress/_story/progress.stories.js +71 -0
  453. package/progress/_story/progress.stories.tsx +11 -0
  454. package/progress/index.tsx +245 -0
  455. package/radio/__test__/radio.test.jsx +91 -0
  456. package/radio/__test__/radioGroup.test.jsx +199 -0
  457. package/radio/_story/Demo.tsx +34 -0
  458. package/radio/_story/radio.scss +4 -0
  459. package/radio/_story/radio.stories.js +868 -0
  460. package/radio/_story/radio.stories.tsx +7 -0
  461. package/radio/context.ts +25 -0
  462. package/radio/index.tsx +12 -0
  463. package/radio/radio.tsx +245 -0
  464. package/radio/radioGroup.tsx +204 -0
  465. package/radio/radioInner.tsx +130 -0
  466. package/rating/__test__/rating.test.js +265 -0
  467. package/rating/_story/rating.stories.js +97 -0
  468. package/rating/_story/rating.stories.tsx +11 -0
  469. package/rating/index.tsx +283 -0
  470. package/rating/item.tsx +112 -0
  471. package/resizeObserver/index.tsx +115 -0
  472. package/scripts/compileDist.js +52 -0
  473. package/scripts/compileLib.js +13 -0
  474. package/scripts/compileScss.js +25 -0
  475. package/scrollList/__test__/scrollList.test.js +226 -0
  476. package/scrollList/_story/ScrollList/index.js +66 -0
  477. package/scrollList/_story/WheelList/index.js +116 -0
  478. package/scrollList/_story/scrolllist.stories.js +26 -0
  479. package/scrollList/_story/scrolllist.stories.tsx +131 -0
  480. package/scrollList/index.tsx +65 -0
  481. package/scrollList/scrollItem.tsx +509 -0
  482. package/select/__test__/select.test.js +1266 -0
  483. package/select/_story/CustomTrigger/index.jsx +21 -0
  484. package/select/_story/select.scss +51 -0
  485. package/select/_story/select.stories.js +2852 -0
  486. package/select/_story/select.stories.tsx +195 -0
  487. package/select/index.tsx +1124 -0
  488. package/select/option.tsx +157 -0
  489. package/select/optionGroup.tsx +42 -0
  490. package/select/utils.tsx +76 -0
  491. package/select/virtualRow.tsx +13 -0
  492. package/sideSheet/SideSheetContent.tsx +174 -0
  493. package/sideSheet/SideSheetTransition.tsx +104 -0
  494. package/sideSheet/__test__/sideSheet.test.js +319 -0
  495. package/sideSheet/_story/sideSheet.stories.js +379 -0
  496. package/sideSheet/_story/sideSheet.stories.tsx +48 -0
  497. package/sideSheet/index.tsx +268 -0
  498. package/skeleton/__test__/skeleton.test.js +32 -0
  499. package/skeleton/_story/skeleton.stories.js +82 -0
  500. package/skeleton/_story/skeleton.stories.tsx +61 -0
  501. package/skeleton/index.tsx +62 -0
  502. package/skeleton/item.tsx +82 -0
  503. package/slider/__test__/__snapshots__/slider.test.js.snap +5 -0
  504. package/slider/__test__/slider.test.js +155 -0
  505. package/slider/_story/Demo.scss +3 -0
  506. package/slider/_story/Demo.tsx +28 -0
  507. package/slider/_story/slider.stories.js +404 -0
  508. package/slider/_story/slider.stories.tsx +7 -0
  509. package/slider/index.tsx +561 -0
  510. package/space/__test__/space.test.js +99 -0
  511. package/space/_story/space.stories.js +254 -0
  512. package/space/_story/space.stories.tsx +26 -0
  513. package/space/index.tsx +95 -0
  514. package/space/utils.ts +24 -0
  515. package/spin/__test__/spin.test.js +46 -0
  516. package/spin/_story/Demo.tsx +10 -0
  517. package/spin/_story/spin.stories.js +92 -0
  518. package/spin/_story/spin.stories.tsx +6 -0
  519. package/spin/icon.tsx +54 -0
  520. package/spin/index.tsx +131 -0
  521. package/steps/__test__/steps.test.js +372 -0
  522. package/steps/_story/steps.stories.js +306 -0
  523. package/steps/_story/steps.stories.tsx +17 -0
  524. package/steps/basicStep.tsx +130 -0
  525. package/steps/basicSteps.tsx +110 -0
  526. package/steps/context.ts +7 -0
  527. package/steps/fillStep.tsx +113 -0
  528. package/steps/fillSteps.tsx +96 -0
  529. package/steps/index.tsx +69 -0
  530. package/steps/navStep.tsx +63 -0
  531. package/steps/navSteps.tsx +73 -0
  532. package/steps/step.tsx +37 -0
  533. package/switch/__test__/switch.test.js +128 -0
  534. package/switch/_story/switch.stories.js +160 -0
  535. package/switch/_story/switch.stories.tsx +124 -0
  536. package/switch/index.tsx +155 -0
  537. package/table/Body/BaseRow.tsx +361 -0
  538. package/table/Body/ExpandedRow.tsx +155 -0
  539. package/table/Body/SectionRow.tsx +200 -0
  540. package/table/Body/index.tsx +842 -0
  541. package/table/ColGroup.tsx +66 -0
  542. package/table/Column.tsx +17 -0
  543. package/table/ColumnFilter.tsx +203 -0
  544. package/table/ColumnSelection.tsx +88 -0
  545. package/table/ColumnShape.ts +33 -0
  546. package/table/ColumnSorter.tsx +58 -0
  547. package/table/CustomExpandIcon.tsx +95 -0
  548. package/table/HeadTable.tsx +118 -0
  549. package/table/ResizableHeaderCell.tsx +44 -0
  550. package/table/ResizableTable.tsx +176 -0
  551. package/table/Table.tsx +1384 -0
  552. package/table/TableCell.tsx +355 -0
  553. package/table/TableContextProvider.tsx +53 -0
  554. package/table/TableHeader.tsx +183 -0
  555. package/table/TableHeaderRow.tsx +180 -0
  556. package/table/TablePagination.tsx +52 -0
  557. package/table/__test__/table.test.js +1887 -0
  558. package/table/_story/BetterScrollbar.tsx +115 -0
  559. package/table/_story/ChildrenData/index.js +251 -0
  560. package/table/_story/ChildrenDataInnerSelected/index.js +221 -0
  561. package/table/_story/ChildrenDataSelected/index.js +247 -0
  562. package/table/_story/ControlledPagination/index.jsx +232 -0
  563. package/table/_story/ControlledSortOrder/index.jsx +85 -0
  564. package/table/_story/CustomComponents/index.js +101 -0
  565. package/table/_story/CustomExpandIcons/index.js +97 -0
  566. package/table/_story/CustomFilterDropdownItem/index.jsx +98 -0
  567. package/table/_story/DefaultSortOrder.tsx +120 -0
  568. package/table/_story/Demos/columnRender.jsx +131 -0
  569. package/table/_story/Demos/controlledPagination.jsx +125 -0
  570. package/table/_story/Demos/customFilter.jsx +110 -0
  571. package/table/_story/Demos/default.jsx +82 -0
  572. package/table/_story/Demos/dynamic.jsx +594 -0
  573. package/table/_story/Demos/expand.jsx +114 -0
  574. package/table/_story/Demos/filterAndSorter.jsx +102 -0
  575. package/table/_story/Demos/fixed.jsx +117 -0
  576. package/table/_story/Demos/fullRender.jsx +131 -0
  577. package/table/_story/Demos/group.jsx +109 -0
  578. package/table/_story/Demos/headerMerge.jsx +121 -0
  579. package/table/_story/Demos/headerMergeJSX.jsx +83 -0
  580. package/table/_story/Demos/infiniteScroll.jsx +118 -0
  581. package/table/_story/Demos/onRow.jsx +114 -0
  582. package/table/_story/Demos/pagination.jsx +101 -0
  583. package/table/_story/Demos/resizable copy.jsx +102 -0
  584. package/table/_story/Demos/resizable.jsx +183 -0
  585. package/table/_story/Demos/rowSelection.jsx +130 -0
  586. package/table/_story/Demos/sortTree.jsx +218 -0
  587. package/table/_story/Demos/sortable.jsx +183 -0
  588. package/table/_story/Demos/span.jsx +155 -0
  589. package/table/_story/Demos/tree.jsx +109 -0
  590. package/table/_story/Demos/treeSelect.jsx +196 -0
  591. package/table/_story/Demos/virtualized.jsx +103 -0
  592. package/table/_story/Demos/zebra.jsx +124 -0
  593. package/table/_story/DragableTable/index.jsx +156 -0
  594. package/table/_story/DragableTable/index.scss +7 -0
  595. package/table/_story/DynamicFilters/data.json +105 -0
  596. package/table/_story/DynamicFilters/index.js +78 -0
  597. package/table/_story/DynamicTable/index.jsx +569 -0
  598. package/table/_story/EventTable/index.jsx +76 -0
  599. package/table/_story/Expand/index.js +85 -0
  600. package/table/_story/ExpandAllGroupRows/index.jsx +90 -0
  601. package/table/_story/ExpandAllRows/index.jsx +111 -0
  602. package/table/_story/ExpandRowByClick.jsx +77 -0
  603. package/table/_story/FilterWithNewDataTable/index.jsx +108 -0
  604. package/table/_story/FixAllColumnsWithoutWidth.tsx +52 -0
  605. package/table/_story/FixRenderReturnProps.jsx +105 -0
  606. package/table/_story/FixedExpandedRows/index.js +105 -0
  607. package/table/_story/FixedGroups/index.js +80 -0
  608. package/table/_story/FixedTable/index.js +92 -0
  609. package/table/_story/FnTable/index.js +103 -0
  610. package/table/_story/FullRender/index.jsx +135 -0
  611. package/table/_story/GroupedCols/index.jsx +83 -0
  612. package/table/_story/GroupedColsFixed/index.jsx +95 -0
  613. package/table/_story/GroupedColsFixedJSX/index.jsx +122 -0
  614. package/table/_story/GroupedColsFixedVirtualized/index.jsx +107 -0
  615. package/table/_story/GroupedColsFixedVirtualizedGroups/index.jsx +110 -0
  616. package/table/_story/GroupedRows/index.js +83 -0
  617. package/table/_story/GroupedRowsFixed/index.js +81 -0
  618. package/table/_story/InSideSheet/index.jsx +90 -0
  619. package/table/_story/InfiniteScroll/index.js +115 -0
  620. package/table/_story/JSXAsyncData/index.jsx +47 -0
  621. package/table/_story/JSXColumnPropColumn.jsx +57 -0
  622. package/table/_story/JSXColumnsComplex.jsx +174 -0
  623. package/table/_story/JSXColumnsNest.tsx +74 -0
  624. package/table/_story/JSXColumnsSmiple.jsx +53 -0
  625. package/table/_story/JSXFixedTable/index.js +224 -0
  626. package/table/_story/JSXTitles/index.js +55 -0
  627. package/table/_story/LinkedScroll/index.jsx +137 -0
  628. package/table/_story/LinkedScroll/index.scss +0 -0
  629. package/table/_story/MassiveColumns/index.jsx +109 -0
  630. package/table/_story/MassiveColumns/index.scss +9 -0
  631. package/table/_story/ModalTable/index.jsx +228 -0
  632. package/table/_story/PagintaionTable/index.js +123 -0
  633. package/table/_story/Perf/Render/complex.jsx +191 -0
  634. package/table/_story/Perf/Render/context.jsx +72 -0
  635. package/table/_story/Perf/Render/controlledSelection.jsx +103 -0
  636. package/table/_story/Perf/Render/index.jsx +95 -0
  637. package/table/_story/Perf/Render/onRow.jsx +112 -0
  638. package/table/_story/Perf/Render/resizableSelection.jsx +193 -0
  639. package/table/_story/Perf/Virtualized/index.jsx +65 -0
  640. package/table/_story/Perf/index.js +8 -0
  641. package/table/_story/RTL/AlignScrollBar.jsx +17 -0
  642. package/table/_story/RTL/index.js +2 -0
  643. package/table/_story/RenderPagination/index.jsx +161 -0
  644. package/table/_story/ResizableColumns/index.jsx +95 -0
  645. package/table/_story/ResizableColumns/index.scss +30 -0
  646. package/table/_story/ResizableTable/index.jsx +85 -0
  647. package/table/_story/ScrollBar/index.jsx +71 -0
  648. package/table/_story/SelectedRows/index.js +137 -0
  649. package/table/_story/TableSpan/index.jsx +117 -0
  650. package/table/_story/TabsTable/index.jsx +78 -0
  651. package/table/_story/TestClone/index.js +0 -0
  652. package/table/_story/VirtualTableOnCell/index.jsx +84 -0
  653. package/table/_story/VirtualizedDynamicData/index.jsx +111 -0
  654. package/table/_story/VirtualizedGroupedRows/index.jsx +135 -0
  655. package/table/_story/VirtualizedNotFixed/index.js +89 -0
  656. package/table/_story/VritualizedDataSelected/index.js +273 -0
  657. package/table/_story/WarnColumnWithoutDataIndex.tsx +71 -0
  658. package/table/_story/WithSideSheet/index.js +82 -0
  659. package/table/_story/data/big.json +8205 -0
  660. package/table/_story/data/big2.json +42271 -0
  661. package/table/_story/table.stories.js +595 -0
  662. package/table/_story/table.stories.tsx +382 -0
  663. package/table/_story/virtualized/index.js +92 -0
  664. package/table/_story/virtualizedFixed/index.js +131 -0
  665. package/table/getColumns.tsx +34 -0
  666. package/table/index.tsx +44 -0
  667. package/table/interface.ts +320 -0
  668. package/table/table-context.ts +28 -0
  669. package/table/utils.ts +123 -0
  670. package/tabs/TabBar.tsx +248 -0
  671. package/tabs/TabPane.tsx +116 -0
  672. package/tabs/TabPaneTransition.tsx +67 -0
  673. package/tabs/__test__/tabs.test.js +208 -0
  674. package/tabs/_story/Demo.tsx +30 -0
  675. package/tabs/_story/search.jsx +37 -0
  676. package/tabs/_story/tabs.stories.js +797 -0
  677. package/tabs/_story/tabs.stories.tsx +6 -0
  678. package/tabs/index.tsx +300 -0
  679. package/tabs/interface.ts +83 -0
  680. package/tabs/tabs-context.ts +6 -0
  681. package/tag/_story/Demo.tsx +22 -0
  682. package/tag/_story/tag.stories.js +234 -0
  683. package/tag/_story/tag.stories.tsx +6 -0
  684. package/tag/group.tsx +131 -0
  685. package/tag/index.tsx +132 -0
  686. package/tag/interface.ts +48 -0
  687. package/tagInput/__test__/tagInput.test.js +352 -0
  688. package/tagInput/_story/tagInput.stories.js +414 -0
  689. package/tagInput/_story/tagInput.stories.tsx +24 -0
  690. package/tagInput/index.tsx +440 -0
  691. package/timePicker/Combobox.tsx +331 -0
  692. package/timePicker/PanelShape.ts +8 -0
  693. package/timePicker/TimeInput.tsx +205 -0
  694. package/timePicker/TimePicker.tsx +531 -0
  695. package/timePicker/TimeShape.ts +19 -0
  696. package/timePicker/__test__/timePicker.test.js +283 -0
  697. package/timePicker/_story/Callbacks/index.jsx +24 -0
  698. package/timePicker/_story/CustomTrigger/index.jsx +35 -0
  699. package/timePicker/_story/DisabledTime/index.jsx +17 -0
  700. package/timePicker/_story/timepicker.stories.js +264 -0
  701. package/timePicker/_story/timepicker.stories.tsx +18 -0
  702. package/timePicker/index.tsx +47 -0
  703. package/timeline/__test__/timeline.test.js +253 -0
  704. package/timeline/_story/timeline.stories.js +185 -0
  705. package/timeline/_story/timeline.stories.tsx +15 -0
  706. package/timeline/index.tsx +96 -0
  707. package/timeline/item.tsx +76 -0
  708. package/toast/ToastTransition.tsx +43 -0
  709. package/toast/__test__/toast-command-call.test.js +63 -0
  710. package/toast/__test__/toast.test.js +104 -0
  711. package/toast/_story/Demo.tsx +22 -0
  712. package/toast/_story/toast.stories.js +98 -0
  713. package/toast/_story/toast.stories.tsx +7 -0
  714. package/toast/index.tsx +234 -0
  715. package/toast/toast.tsx +148 -0
  716. package/toast/useToast/HookToast.tsx +35 -0
  717. package/toast/useToast/index.tsx +79 -0
  718. package/tooltip/ArrowBoundingShape.ts +8 -0
  719. package/tooltip/TooltipStyledTransition.tsx +30 -0
  720. package/tooltip/TriangleArrow.tsx +12 -0
  721. package/tooltip/TriangleArrowVertical.tsx +12 -0
  722. package/tooltip/__test__/tooltip.test.js +320 -0
  723. package/tooltip/_story/ArrowPointAtCenter/index.jsx +137 -0
  724. package/tooltip/_story/ContainerPosition/index.jsx +15 -0
  725. package/tooltip/_story/ContainerPosition/index.scss +10 -0
  726. package/tooltip/_story/CustomContainer/index.jsx +39 -0
  727. package/tooltip/_story/DangerousHtml/index.js +30 -0
  728. package/tooltip/_story/Edge/index.js +16 -0
  729. package/tooltip/_story/InTable/index.jsx +86 -0
  730. package/tooltip/_story/Safari/autoAdjust.js +23 -0
  731. package/tooltip/_story/ScrollDemo/index.js +65 -0
  732. package/tooltip/_story/story.scss +50 -0
  733. package/tooltip/_story/tooltip.stories.js +690 -0
  734. package/tooltip/_story/tooltip.stories.tsx +54 -0
  735. package/tooltip/index.tsx +646 -0
  736. package/transfer/__test__/transfer.test.js +324 -0
  737. package/transfer/_story/transfer.scss +124 -0
  738. package/transfer/_story/transfer.stories.js +758 -0
  739. package/transfer/_story/transfer.stories.tsx +80 -0
  740. package/transfer/index.tsx +652 -0
  741. package/tree/__test__/autosizer.test.js +102 -0
  742. package/tree/__test__/tree.test.js +842 -0
  743. package/tree/__test__/treeMultiple.test.js +593 -0
  744. package/tree/__test__/treeNodeProps.test.js +192 -0
  745. package/tree/_story/BigData.jsx +58 -0
  746. package/tree/_story/Demo.tsx +72 -0
  747. package/tree/_story/bigDataGen.jsx +98 -0
  748. package/tree/_story/data.js +3 -0
  749. package/tree/_story/tree.stories.js +2172 -0
  750. package/tree/_story/tree.stories.tsx +7 -0
  751. package/tree/autoSizer.tsx +86 -0
  752. package/tree/collapse.tsx +144 -0
  753. package/tree/index.tsx +754 -0
  754. package/tree/interface.ts +141 -0
  755. package/tree/nodeList.tsx +87 -0
  756. package/tree/treeContext.tsx +49 -0
  757. package/tree/treeNode.tsx +399 -0
  758. package/tree/treeUtil.tsx +14 -0
  759. package/treeSelect/__test__/treeMultiple.test.js +676 -0
  760. package/treeSelect/__test__/treeSelect.test.js +783 -0
  761. package/treeSelect/_story/CustomTrigger/index.jsx +47 -0
  762. package/treeSelect/_story/Demo.tsx +83 -0
  763. package/treeSelect/_story/treeSelect.stories.js +1155 -0
  764. package/treeSelect/_story/treeSelect.stories.tsx +7 -0
  765. package/treeSelect/index.tsx +1289 -0
  766. package/trigger/__test__/trigger.test.js +17 -0
  767. package/trigger/index.tsx +45 -0
  768. package/tsconfig.json +33 -0
  769. package/typography/__test__/typography.test.js +74 -0
  770. package/typography/_story/typography.stories.js +629 -0
  771. package/typography/_story/typography.stories.tsx +175 -0
  772. package/typography/base.tsx +628 -0
  773. package/typography/copyable.tsx +135 -0
  774. package/typography/index.tsx +24 -0
  775. package/typography/interface.ts +27 -0
  776. package/typography/paragraph.tsx +77 -0
  777. package/typography/text.tsx +68 -0
  778. package/typography/title.tsx +74 -0
  779. package/typography/typography.tsx +41 -0
  780. package/typography/util.tsx +141 -0
  781. package/upload/__test__/dragUpload.test.js +122 -0
  782. package/upload/__test__/upload.test.js +896 -0
  783. package/upload/_story/upload.stories.js +943 -0
  784. package/upload/_story/upload.stories.tsx +13 -0
  785. package/upload/fileCard.tsx +270 -0
  786. package/upload/index.tsx +545 -0
  787. package/upload/interface.ts +59 -0
  788. package/webpack.config.js +86 -0
@@ -29,8 +29,8 @@ import cls from 'classnames';
29
29
  import PropTypes from 'prop-types';
30
30
  import '@douyinfe/semi-foundation/lib/es/modal/modal.css';
31
31
  import BaseComponent from '../_base/baseComponent';
32
- import confirm, { withConfirm, withError, withInfo, withSuccess, withWarning } from '../modal/confirm';
33
- import useModal from '../modal/useModal';
32
+ import confirm, { withConfirm, withError, withInfo, withSuccess, withWarning } from './confirm';
33
+ import useModal from './useModal';
34
34
  export const destroyFns = [];
35
35
 
36
36
  class Modal extends BaseComponent {
@@ -304,8 +304,8 @@ Modal.propTypes = {
304
304
  closable: PropTypes.bool,
305
305
  centered: PropTypes.bool,
306
306
  visible: PropTypes.bool,
307
- width: PropTypes.number,
308
- height: PropTypes.number,
307
+ width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
308
+ height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
309
309
  confirmLoading: PropTypes.bool,
310
310
  cancelLoading: PropTypes.bool,
311
311
  okText: PropTypes.string,
@@ -30,7 +30,7 @@ export declare function withInfo(props: ModalReactProps): {
30
30
  confirmLoading?: boolean;
31
31
  cancelLoading?: boolean;
32
32
  hasCancel?: boolean;
33
- height?: number;
33
+ height?: string | number;
34
34
  mask?: boolean;
35
35
  maskClosable?: boolean;
36
36
  maskFixed?: boolean;
@@ -38,7 +38,7 @@ export declare function withInfo(props: ModalReactProps): {
38
38
  okText?: string;
39
39
  okType?: import("@douyinfe/semi-foundation/lib/es/modal/modalFoundation").OKType;
40
40
  visible?: boolean;
41
- width?: number;
41
+ width?: string | number;
42
42
  zIndex?: number;
43
43
  getPopupContainer?: () => HTMLElement;
44
44
  closeOnEsc?: boolean;
@@ -71,7 +71,7 @@ export declare function withSuccess(props: ModalReactProps): {
71
71
  confirmLoading?: boolean;
72
72
  cancelLoading?: boolean;
73
73
  hasCancel?: boolean;
74
- height?: number;
74
+ height?: string | number;
75
75
  mask?: boolean;
76
76
  maskClosable?: boolean;
77
77
  maskFixed?: boolean;
@@ -79,7 +79,7 @@ export declare function withSuccess(props: ModalReactProps): {
79
79
  okText?: string;
80
80
  okType?: import("@douyinfe/semi-foundation/lib/es/modal/modalFoundation").OKType;
81
81
  visible?: boolean;
82
- width?: number;
82
+ width?: string | number;
83
83
  zIndex?: number;
84
84
  getPopupContainer?: () => HTMLElement;
85
85
  closeOnEsc?: boolean;
@@ -112,7 +112,7 @@ export declare function withWarning(props: ModalReactProps): {
112
112
  confirmLoading?: boolean;
113
113
  cancelLoading?: boolean;
114
114
  hasCancel?: boolean;
115
- height?: number;
115
+ height?: string | number;
116
116
  mask?: boolean;
117
117
  maskClosable?: boolean;
118
118
  maskFixed?: boolean;
@@ -120,7 +120,7 @@ export declare function withWarning(props: ModalReactProps): {
120
120
  okText?: string;
121
121
  okType?: import("@douyinfe/semi-foundation/lib/es/modal/modalFoundation").OKType;
122
122
  visible?: boolean;
123
- width?: number;
123
+ width?: string | number;
124
124
  zIndex?: number;
125
125
  getPopupContainer?: () => HTMLElement;
126
126
  closeOnEsc?: boolean;
@@ -153,7 +153,7 @@ export declare function withError(props: ModalReactProps): {
153
153
  confirmLoading?: boolean;
154
154
  cancelLoading?: boolean;
155
155
  hasCancel?: boolean;
156
- height?: number;
156
+ height?: string | number;
157
157
  mask?: boolean;
158
158
  maskClosable?: boolean;
159
159
  maskFixed?: boolean;
@@ -161,7 +161,7 @@ export declare function withError(props: ModalReactProps): {
161
161
  okText?: string;
162
162
  okType?: import("@douyinfe/semi-foundation/lib/es/modal/modalFoundation").OKType;
163
163
  visible?: boolean;
164
- width?: number;
164
+ width?: string | number;
165
165
  zIndex?: number;
166
166
  getPopupContainer?: () => HTMLElement;
167
167
  closeOnEsc?: boolean;
@@ -194,7 +194,7 @@ export declare function withConfirm(props: ModalReactProps): {
194
194
  confirmLoading?: boolean;
195
195
  cancelLoading?: boolean;
196
196
  hasCancel?: boolean;
197
- height?: number;
197
+ height?: string | number;
198
198
  mask?: boolean;
199
199
  maskClosable?: boolean;
200
200
  maskFixed?: boolean;
@@ -202,7 +202,7 @@ export declare function withConfirm(props: ModalReactProps): {
202
202
  okText?: string;
203
203
  okType?: import("@douyinfe/semi-foundation/lib/es/modal/modalFoundation").OKType;
204
204
  visible?: boolean;
205
- width?: number;
205
+ width?: string | number;
206
206
  zIndex?: number;
207
207
  getPopupContainer?: () => HTMLElement;
208
208
  closeOnEsc?: boolean;
@@ -36,8 +36,8 @@ export interface NavProps extends BaseProps {
36
36
  defaultIsCollapsed?: boolean;
37
37
  defaultOpenKeys?: React.ReactText[];
38
38
  defaultSelectedKeys?: React.ReactText[];
39
- footer?: React.ReactNode | NavHeaderProps;
40
- header?: React.ReactNode | NavFooterProps;
39
+ footer?: React.ReactNode | NavFooterProps;
40
+ header?: React.ReactNode | NavHeaderProps;
41
41
  isCollapsed?: boolean;
42
42
  items?: NavItems;
43
43
  limitIndent?: boolean;
@@ -15,6 +15,7 @@ import { cssClasses, numbers } from '@douyinfe/semi-foundation/lib/es/pagination
15
15
  import '@douyinfe/semi-foundation/lib/es/pagination/pagination.css';
16
16
  import { numbers as popoverNumbers } from '@douyinfe/semi-foundation/lib/es/popover/constants';
17
17
  import { IconChevronLeft, IconChevronRight } from '@douyinfe/semi-icons';
18
+ import warning from '@douyinfe/semi-foundation/lib/es/utils/warning';
18
19
  import ConfigContext from '../configProvider/context';
19
20
  import LocaleConsumer from '../locale/localeConsumer';
20
21
  import Select from '../select/index';
@@ -45,6 +46,7 @@ export default class Pagination extends BaseComponent {
45
46
  this.foundation = new PaginationFoundation(this.adapter);
46
47
  this.renderDefaultPage = _bindInstanceProperty(_context = this.renderDefaultPage).call(_context, this);
47
48
  this.renderSmallPage = _bindInstanceProperty(_context2 = this.renderSmallPage).call(_context2, this);
49
+ warning(Boolean(props.showSizeChanger && props.hideOnSinglePage), '[Semi Pagination] You should not use showSizeChanger and hideOnSinglePage in ths same time. At this time, hideOnSinglePage no longer takes effect, otherwise there may be a problem that the switch entry disappears');
48
50
  }
49
51
 
50
52
  get adapter() {
@@ -338,7 +340,8 @@ export default class Pagination extends BaseComponent {
338
340
  className,
339
341
  style,
340
342
  hideOnSinglePage,
341
- hoverShowPageSelect
343
+ hoverShowPageSelect,
344
+ showSizeChanger
342
345
  } = this.props;
343
346
  const paginationCls = classNames("".concat(prefixCls, "-small"), prefixCls, className);
344
347
  const {
@@ -348,7 +351,7 @@ export default class Pagination extends BaseComponent {
348
351
  } = this.state;
349
352
  const totalPageNum = Math.ceil(total / pageSize);
350
353
 
351
- if (totalPageNum < 2 && hideOnSinglePage) {
354
+ if (totalPageNum < 2 && hideOnSinglePage && !showSizeChanger) {
352
355
  return null;
353
356
  }
354
357
 
@@ -377,13 +380,14 @@ export default class Pagination extends BaseComponent {
377
380
  showTotal,
378
381
  className,
379
382
  style,
380
- hideOnSinglePage
383
+ hideOnSinglePage,
384
+ showSizeChanger
381
385
  } = this.props;
382
386
  const paginationCls = classNames(className, "".concat(prefixCls));
383
387
  const showTotalCls = "".concat(prefixCls, "-total");
384
388
  const totalPageNum = Math.ceil(total / pageSize);
385
389
 
386
- if (totalPageNum < 2 && hideOnSinglePage) {
390
+ if (totalPageNum < 2 && hideOnSinglePage && !showSizeChanger) {
387
391
  return null;
388
392
  }
389
393
 
@@ -127,6 +127,7 @@ class Radio extends BaseComponent {
127
127
  ["".concat(prefix, "-cardRadioGroup")]: isCardRadioGroup,
128
128
  ["".concat(prefix, "-cardRadioGroup_disabled")]: isDisabled && isCardRadioGroup,
129
129
  ["".concat(prefix, "-cardRadioGroup_checked")]: isCardRadioGroup && realChecked && !isDisabled,
130
+ ["".concat(prefix, "-cardRadioGroup_checked_disabled")]: isCardRadioGroup && realChecked && isDisabled,
130
131
  ["".concat(prefix, "-cardRadioGroup_hover")]: isCardRadioGroup && !realChecked && isHover && !isDisabled,
131
132
  [className]: Boolean(className)
132
133
  });
@@ -86,7 +86,8 @@ export default class Item extends PureComponent {
86
86
  "aria-checked": value > index ? 'true' : 'false',
87
87
  "aria-posinset": index + 1,
88
88
  "aria-setsize": count,
89
- tabIndex: 0
89
+ tabIndex: 0,
90
+ className: "".concat(prefixCls, "-wrapper")
90
91
  }, /*#__PURE__*/React.createElement("div", {
91
92
  className: "".concat(prefixCls, "-first"),
92
93
  style: {
@@ -48,6 +48,7 @@ export declare type RenderMultipleSelectedItemFn = (optionNode: Record<string, a
48
48
  };
49
49
  export declare type RenderSelectedItemFn = RenderSingleSelectedItemFn | RenderMultipleSelectedItemFn;
50
50
  export declare type SelectProps = {
51
+ id?: string;
51
52
  autoFocus?: boolean;
52
53
  arrowIcon?: React.ReactNode;
53
54
  defaultValue?: string | number | any[] | Record<string, any>;
@@ -704,7 +704,9 @@ class Select extends BaseComponent {
704
704
  key: value
705
705
  }), content);
706
706
  } else {
707
- return content;
707
+ return /*#__PURE__*/React.createElement(Fragment, {
708
+ key: value
709
+ }, content);
708
710
  }
709
711
  });
710
712
 
@@ -818,6 +820,7 @@ class Select extends BaseComponent {
818
820
  multiple,
819
821
  filter,
820
822
  style,
823
+ id,
821
824
  size,
822
825
  className,
823
826
  validateStatus,
@@ -891,6 +894,7 @@ class Select extends BaseComponent {
891
894
  ref: ref => this.triggerRef.current = ref,
892
895
  onClick: e => this.foundation.handleClick(e),
893
896
  style: style,
897
+ id: id,
894
898
  tabIndex: tabIndex,
895
899
  onMouseEnter: this.onMouseEnter,
896
900
  onMouseLeave: this.onMouseLeave,
@@ -176,7 +176,7 @@ declare class Table<RecordType extends Record<string, any>> extends BaseComponen
176
176
  _invokeColumnFn: (key: string, funcName: string, ...args: any[]) => void;
177
177
  _cacheHeaderRef: (node: HTMLDivElement) => void;
178
178
  getCurrentPageData: () => any;
179
- getColumns: (columns: ColumnProps<RecordType>[], children: ReactNode) => ColumnProps<any>[];
179
+ getColumns: (columns: ColumnProps<RecordType>[], children: ReactNode) => ColumnProps<RecordType>[];
180
180
  getCellWidths: (...args: any[]) => number[];
181
181
  setHeadWidths: (...args: any[]) => void;
182
182
  getHeadWidths: (...args: any[]) => number[];
@@ -3,7 +3,7 @@ import PropTypes from 'prop-types';
3
3
  import '@douyinfe/semi-foundation/lib/es/timeline/timeline.css';
4
4
  export interface TimelineItemProps {
5
5
  color?: string;
6
- time?: string;
6
+ time?: React.ReactNode;
7
7
  type?: 'default' | 'ongoing' | 'success' | 'warning' | 'error';
8
8
  dot?: React.ReactNode;
9
9
  extra?: React.ReactNode;
@@ -14,7 +14,7 @@ export interface TimelineItemProps {
14
14
  export default class Item extends PureComponent<TimelineItemProps> {
15
15
  static propTypes: {
16
16
  color: PropTypes.Requireable<string>;
17
- time: PropTypes.Requireable<string>;
17
+ time: PropTypes.Requireable<PropTypes.ReactNodeLike>;
18
18
  type: PropTypes.Requireable<string>;
19
19
  dot: PropTypes.Requireable<PropTypes.ReactNodeLike>;
20
20
  extra: PropTypes.Requireable<PropTypes.ReactNodeLike>;
@@ -40,9 +40,9 @@ export default class Item extends PureComponent {
40
40
  className: dotCls
41
41
  }, dotStyle), dot), /*#__PURE__*/React.createElement("div", {
42
42
  className: "".concat(prefixCls, "-content")
43
- }, children, extra ? /*#__PURE__*/React.createElement("div", {
43
+ }, children, extra && /*#__PURE__*/React.createElement("div", {
44
44
  className: "".concat(prefixCls, "-content-extra")
45
- }, extra) : null, /*#__PURE__*/React.createElement("div", {
45
+ }, extra), time && /*#__PURE__*/React.createElement("div", {
46
46
  className: "".concat(prefixCls, "-content-time")
47
47
  }, time)));
48
48
  }
@@ -50,7 +50,7 @@ export default class Item extends PureComponent {
50
50
  }
51
51
  Item.propTypes = {
52
52
  color: PropTypes.string,
53
- time: PropTypes.string,
53
+ time: PropTypes.node,
54
54
  type: PropTypes.oneOf(strings.ITEM_TYPE),
55
55
  dot: PropTypes.node,
56
56
  extra: PropTypes.node,
@@ -64,8 +64,6 @@ export default class TreeNode extends PureComponent {
64
64
  const {
65
65
  onNodeRightClick
66
66
  } = this.context;
67
- e.stopPropagation();
68
- e.nativeEvent.stopImmediatePropagation();
69
67
  onNodeRightClick(e, this.props);
70
68
  };
71
69
 
@@ -716,6 +716,7 @@ class TreeSelect extends BaseComponent {
716
716
  itemSize: virtualize.itemSize,
717
717
  height: height,
718
718
  width: width,
719
+ // @ts-ignore avoid strict check of itemKey
719
720
  itemKey: this.itemKey,
720
721
  itemData: flattenNodes,
721
722
  className: "".concat(prefixTree, "-virtual-list"),
@@ -37,7 +37,7 @@ export default class Title extends PureComponent<TitleProps> {
37
37
  underline: PropTypes.Requireable<boolean>;
38
38
  strong: PropTypes.Requireable<boolean>;
39
39
  type: PropTypes.Requireable<"warning" | "success" | "primary" | "tertiary" | "secondary" | "danger" | "quaternary">;
40
- heading: PropTypes.Requireable<1 | 2 | 3 | 4 | 5 | 6>;
40
+ heading: PropTypes.Requireable<4 | 2 | 1 | 3 | 5 | 6>;
41
41
  style: PropTypes.Requireable<object>;
42
42
  className: PropTypes.Requireable<string>;
43
43
  component: PropTypes.Requireable<string>;
@@ -136,7 +136,16 @@ declare class Upload extends BaseComponent<UploadProps, UploadState> {
136
136
  static defaultProps: Partial<UploadProps>;
137
137
  static FileCard: typeof FileCard;
138
138
  constructor(props: UploadProps);
139
- static getDerivedStateFromProps(props: UploadProps): Partial<UploadState> | null;
139
+ /**
140
+ * Notes:
141
+ * The input parameter and return value here do not declare the type, otherwise tsc may report an error in form/fields.tsx when wrap after withField
142
+ * `The types of the parameters "props" and "nextProps" are incompatible.
143
+ The attribute "action" is missing in the type "Readonly<any>", but it is required in the type "UploadProps".`
144
+ * which seems to be a bug, remove props type declare here
145
+ */
146
+ static getDerivedStateFromProps(props: any): {
147
+ fileList: any;
148
+ };
140
149
  get adapter(): UploadAdapter<UploadProps, UploadState>;
141
150
  foundation: UploadFoundation;
142
151
  inputRef: RefObject<HTMLInputElement>;
@@ -267,6 +267,14 @@ class Upload extends BaseComponent {
267
267
  this.inputRef = /*#__PURE__*/React.createRef();
268
268
  this.replaceInputRef = /*#__PURE__*/React.createRef();
269
269
  }
270
+ /**
271
+ * Notes:
272
+ * The input parameter and return value here do not declare the type, otherwise tsc may report an error in form/fields.tsx when wrap after withField
273
+ * `The types of the parameters "props" and "nextProps" are incompatible.
274
+ The attribute "action" is missing in the type "Readonly<any>", but it is required in the type "UploadProps".`
275
+ * which seems to be a bug, remove props type declare here
276
+ */
277
+
270
278
 
271
279
  static getDerivedStateFromProps(props) {
272
280
  const {
@@ -0,0 +1,264 @@
1
+ import { List, Avatar, Button, ButtonGroup } from '../../index';
2
+ import { BASE_CLASS_PREFIX } from '../../../semi-foundation/base/constants';
3
+
4
+ const dataSource = [
5
+ '从明天起,做一个幸福的人',
6
+ '喂马,劈柴,周游世界',
7
+ '从明天起,关心粮食和蔬菜',
8
+ '我有一所房子,面朝大海,春暖花开',
9
+ ];
10
+
11
+ function renderList(props) {
12
+ const realProps = {
13
+ dataSource,
14
+ renderItem: item => <List.Item>{item}</List.Item>,
15
+ ...props,
16
+ };
17
+ return mount(<List {...realProps} />, {
18
+ attachTo: document.getElementById('container'),
19
+ });
20
+ }
21
+
22
+ describe('List', () => {
23
+
24
+ beforeEach(() => {
25
+ const div = document.createElement('div');
26
+ div.setAttribute('id', 'container');
27
+ document.body.appendChild(div);
28
+ });
29
+
30
+ afterEach(() => {
31
+ const div = document.getElementById('container');
32
+ if (div) {
33
+ document.body.removeChild(div);
34
+ }
35
+ document.body.innerHTML = '';
36
+ });
37
+
38
+ it('List with jsx', () => {
39
+ const list = mount(<List>
40
+ <List.Item>从明天起,做一个幸福的人</List.Item>
41
+ <List.Item>喂马,劈柴,周游世界</List.Item>
42
+ <List.Item>从明天起,关心粮食和蔬菜</List.Item>
43
+ <List.Item>我有一所房子,面朝大海,春暖花开菜</List.Item>
44
+ </List>, {
45
+ attachTo: document.getElementById('container'),
46
+ });;
47
+ const item = document.querySelectorAll(`.${BASE_CLASS_PREFIX}-list-item`);
48
+ expect(item.length).toEqual(4);
49
+ expect(
50
+ list
51
+ .find(`.${BASE_CLASS_PREFIX}-list-item`)
52
+ .at(0)
53
+ .getDOMNode()
54
+ .textContent
55
+ ).toEqual('从明天起,做一个幸福的人');
56
+ list.unmount();
57
+ });
58
+
59
+ it('List with basic renderItem', () => {
60
+ const list = renderList();
61
+ const item = document.querySelectorAll(`.${BASE_CLASS_PREFIX}-list-item`);
62
+ expect(item.length).toEqual(4);
63
+ expect(
64
+ list
65
+ .find(`.${BASE_CLASS_PREFIX}-list-item`)
66
+ .at(0)
67
+ .getDOMNode()
68
+ .textContent
69
+ ).toEqual('从明天起,做一个幸福的人');
70
+ list.unmount();
71
+ });
72
+
73
+ it('List with renderItem header/main/extra', () => {
74
+ const list = renderList({
75
+ renderItem: item => (
76
+ <List.Item
77
+ header={<Avatar color="blue">SE</Avatar>}
78
+ main={
79
+ <div>
80
+ <span style={{ color: 'var(--semi-color-text-0)', fontWeight: 500 }}>示例标题</span>
81
+ {item}
82
+ </div>
83
+ }
84
+ extra={
85
+ <ButtonGroup theme="borderless">
86
+ <Button>编辑</Button>
87
+ <Button>更多</Button>
88
+ </ButtonGroup>
89
+ }
90
+ />
91
+ )
92
+ });
93
+ // item header
94
+ expect(
95
+ list
96
+ .find(`.${BASE_CLASS_PREFIX}-list-item-body-header .${BASE_CLASS_PREFIX}-avatar-label`)
97
+ .at(0)
98
+ .getDOMNode()
99
+ .textContent
100
+ ).toEqual('SE');
101
+ // item main
102
+ expect(
103
+ list
104
+ .find(`.${BASE_CLASS_PREFIX}-list-item-body-main span`)
105
+ .at(0)
106
+ .getDOMNode()
107
+ .textContent
108
+ ).toEqual('示例标题');
109
+ // item extra
110
+ expect(list.exists(`.${BASE_CLASS_PREFIX}-list-item-extra .${BASE_CLASS_PREFIX}-button-group`)).toEqual(true);
111
+ list.unmount();
112
+ });
113
+
114
+ it('List with className / style', () => {
115
+ const props = {
116
+ className: 'test',
117
+ style: { height: 420 },
118
+ };
119
+ const list = renderList(props);
120
+ expect(list.hasClass('test')).toEqual(true);
121
+ expect(list.find('div.test')).toHaveStyle('height', 420);
122
+ list.unmount();
123
+ });
124
+
125
+ it('List with bordered', () => {
126
+ const list = renderList({ bordered: true });
127
+ expect(list.exists(`.${BASE_CLASS_PREFIX}-list-bordered`)).toEqual(true);
128
+ list.unmount();
129
+ });
130
+
131
+ it('List with size', () => {
132
+ const smallList = renderList({ size: 'small' });
133
+ expect(smallList.exists(`.${BASE_CLASS_PREFIX}-list-small`)).toEqual(true);
134
+ smallList.unmount();
135
+ const defaultList = renderList({ size: 'default' });
136
+ expect(defaultList.exists(`.${BASE_CLASS_PREFIX}-list-default`)).toEqual(true);
137
+ defaultList.unmount();
138
+ const largeList = renderList({ size: 'large' });
139
+ expect(largeList.exists(`.${BASE_CLASS_PREFIX}-list-large`)).toEqual(true);
140
+ largeList.unmount();
141
+ });
142
+
143
+ it('List with layout', () => {
144
+ const horizontalList = renderList({ layout: 'horizontal' });
145
+ expect(horizontalList.exists(`.${BASE_CLASS_PREFIX}-list-flex`)).toEqual(true);
146
+ horizontalList.unmount();
147
+ const verticalList = renderList({ layout: 'vertical' });
148
+ expect(verticalList.exists(`.${BASE_CLASS_PREFIX}-list-flex`)).toEqual(false);
149
+ verticalList.unmount();
150
+ });
151
+
152
+ it('List with grid', () => {
153
+ const list = renderList({
154
+ grid: {
155
+ gutter: 18,
156
+ span: 6,
157
+ }
158
+ });
159
+ const item = document.querySelectorAll(`.${BASE_CLASS_PREFIX}-col-6`);
160
+ expect(item.length).toEqual(4);
161
+ expect(list.find(`.${BASE_CLASS_PREFIX}-col-6`).at(0)).toHaveStyle('paddingLeft', 9);
162
+ expect(list.find(`.${BASE_CLASS_PREFIX}-col-6`).at(0)).toHaveStyle('paddingRight', 9);
163
+ list.unmount();
164
+ });
165
+
166
+ it('List with split', () => {
167
+ const list = renderList({ split: false });
168
+ expect(list.exists(`.${BASE_CLASS_PREFIX}-list-split`)).toEqual(false);
169
+ list.unmount();
170
+ });
171
+
172
+ it('List with onClick', () => {
173
+ const spyOnClick = sinon.spy(() => { });
174
+ const list = renderList({ onClick: spyOnClick });
175
+ list.find(`.${BASE_CLASS_PREFIX}-list-item`).at(0).simulate('click');
176
+ expect(spyOnClick.calledOnce).toBe(true);
177
+ list.unmount();
178
+ });
179
+
180
+
181
+ it('List with jsx', () => {
182
+ const spyOnClick = sinon.spy(() => { });
183
+ const list = mount(<List>
184
+ <List.Item onClick={spyOnClick}>从明天起,做一个幸福的人</List.Item>
185
+ <List.Item>喂马,劈柴,周游世界</List.Item>
186
+ <List.Item>从明天起,关心粮食和蔬菜</List.Item>
187
+ <List.Item>我有一所房子,面朝大海,春暖花开菜</List.Item>
188
+ </List>, {
189
+ attachTo: document.getElementById('container'),
190
+ });;
191
+ list.find(`.${BASE_CLASS_PREFIX}-list-item`).at(0).simulate('click');
192
+ expect(spyOnClick.calledOnce).toBe(true);
193
+ list.unmount();
194
+ });
195
+
196
+ it('List with loading', () => {
197
+ const loadingList = renderList({ loading: true });
198
+ expect(loadingList.exists(`.${BASE_CLASS_PREFIX}-spin-hidden`)).toEqual(false);
199
+ loadingList.unmount();
200
+ const noloadingList = renderList({ loading: false });
201
+ expect(noloadingList.exists(`.${BASE_CLASS_PREFIX}-spin-hidden`)).toEqual(true);
202
+ noloadingList.unmount();
203
+ });
204
+
205
+ it('List with loadMore', () => {
206
+ const list = renderList({ loadMore: <Button>加载更多</Button> });
207
+ expect(
208
+ list
209
+ .find(`.${BASE_CLASS_PREFIX}-list .${BASE_CLASS_PREFIX}-button .${BASE_CLASS_PREFIX}-button-content`)
210
+ .at(0)
211
+ .getDOMNode()
212
+ .textContent
213
+ ).toEqual('加载更多');
214
+ list.unmount();
215
+ });
216
+
217
+ it('List with emptyContent', () => {
218
+ const list = renderList({
219
+ emptyContent: <span className='empty'>自定义空内容</span>,
220
+ dataSource: []
221
+ });
222
+ expect(
223
+ list
224
+ .find(`.${BASE_CLASS_PREFIX}-list-items .${BASE_CLASS_PREFIX}-list-empty .empty`)
225
+ .at(0)
226
+ .getDOMNode()
227
+ .textContent
228
+ ).toEqual('自定义空内容');
229
+ list.unmount();
230
+
231
+ const list2 = renderList({
232
+ dataSource: []
233
+ });
234
+ expect(
235
+ list2
236
+ .find(`.${BASE_CLASS_PREFIX}-list-items .${BASE_CLASS_PREFIX}-list-empty`)
237
+ .getDOMNode()
238
+ .textContent
239
+ ).toEqual('暂无数据');
240
+ list2.unmount();
241
+ });
242
+
243
+ it('List with footer/header', () => {
244
+ const list = renderList({
245
+ header: <div className='header'>头部</div>,
246
+ footer: <div className='footer'>尾部</div>,
247
+ });
248
+ expect(
249
+ list
250
+ .find(`.${BASE_CLASS_PREFIX}-list-header .header`)
251
+ .at(0)
252
+ .getDOMNode()
253
+ .textContent
254
+ ).toEqual('头部');
255
+ expect(
256
+ list
257
+ .find(`.${BASE_CLASS_PREFIX}-list-footer .footer`)
258
+ .at(0)
259
+ .getDOMNode()
260
+ .textContent
261
+ ).toEqual('尾部');
262
+ list.unmount();
263
+ });
264
+ });