amis 1.7.0 → 1.8.0-beta.13

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 (469) hide show
  1. package/lib/Schema.d.ts +10 -2
  2. package/lib/Schema.js +0 -1
  3. package/lib/Schema.js.map +2 -2
  4. package/lib/SchemaRenderer.js +19 -3
  5. package/lib/SchemaRenderer.js.map +2 -2
  6. package/lib/WithRootStore.d.ts +18 -0
  7. package/lib/WithStore.js +2 -1
  8. package/lib/WithStore.js.map +2 -2
  9. package/lib/actions/CmptAction.js +26 -4
  10. package/lib/actions/CmptAction.js.map +2 -2
  11. package/lib/actions/PageAction.d.ts +32 -0
  12. package/lib/actions/PageAction.js +72 -0
  13. package/lib/actions/PageAction.js.map +13 -0
  14. package/lib/actions/index.d.ts +1 -0
  15. package/lib/actions/index.js +1 -0
  16. package/lib/actions/index.js.map +2 -2
  17. package/lib/components/Alert2.js +4 -2
  18. package/lib/components/Alert2.js.map +2 -2
  19. package/lib/components/AssociatedSelection.js +9 -2
  20. package/lib/components/AssociatedSelection.js.map +2 -2
  21. package/lib/components/Avatar.d.ts +20 -20
  22. package/lib/components/BarCode.js +1 -1
  23. package/lib/components/BarCode.js.map +2 -2
  24. package/lib/components/CalendarMobile.d.ts +84 -84
  25. package/lib/components/Card.d.ts +20 -20
  26. package/lib/components/Cascader.d.ts +2 -0
  27. package/lib/components/Cascader.js +28 -12
  28. package/lib/components/Cascader.js.map +2 -2
  29. package/lib/components/Checkbox.d.ts +24 -23
  30. package/lib/components/Checkbox.js +5 -1
  31. package/lib/components/Checkbox.js.map +2 -2
  32. package/lib/components/CityArea.js +3 -0
  33. package/lib/components/CityArea.js.map +2 -2
  34. package/lib/components/Collapse.d.ts +20 -20
  35. package/lib/components/DatePicker.d.ts +87 -84
  36. package/lib/components/DatePicker.js +48 -11
  37. package/lib/components/DatePicker.js.map +2 -2
  38. package/lib/components/DateRangePicker.d.ts +285 -171
  39. package/lib/components/DateRangePicker.js +471 -66
  40. package/lib/components/DateRangePicker.js.map +2 -2
  41. package/lib/components/Drawer.js +1 -1
  42. package/lib/components/Drawer.js.map +2 -2
  43. package/lib/components/ListGroup.d.ts +21 -21
  44. package/lib/components/Modal.js +1 -1
  45. package/lib/components/Modal.js.map +2 -2
  46. package/lib/components/MonthRangePicker.d.ts +84 -84
  47. package/lib/components/Overlay.d.ts +1 -0
  48. package/lib/components/Overlay.js +4 -3
  49. package/lib/components/Overlay.js.map +2 -2
  50. package/lib/components/Progress.d.ts +29 -24
  51. package/lib/components/Progress.js +52 -21
  52. package/lib/components/Progress.js.map +2 -2
  53. package/lib/components/PullRefresh.d.ts +86 -0
  54. package/lib/components/PullRefresh.js +135 -0
  55. package/lib/components/PullRefresh.js.map +13 -0
  56. package/lib/components/Radios.d.ts +22 -22
  57. package/lib/components/Radios.js +3 -5
  58. package/lib/components/Radios.js.map +2 -2
  59. package/lib/components/Range.d.ts +2 -2
  60. package/lib/components/Range.js +24 -11
  61. package/lib/components/Range.js.map +2 -2
  62. package/lib/components/Spinner.d.ts +200 -107
  63. package/lib/components/Spinner.js +30 -26
  64. package/lib/components/Spinner.js.map +2 -2
  65. package/lib/components/Steps.d.ts +6 -0
  66. package/lib/components/Steps.js +13 -9
  67. package/lib/components/Steps.js.map +2 -2
  68. package/lib/components/Tabs.d.ts +27 -23
  69. package/lib/components/Tabs.js +37 -22
  70. package/lib/components/Tabs.js.map +2 -2
  71. package/lib/components/Tooltip.d.ts +4 -0
  72. package/lib/components/Tooltip.js +6 -4
  73. package/lib/components/Tooltip.js.map +2 -2
  74. package/lib/components/TooltipWrapper.d.ts +87 -24
  75. package/lib/components/TooltipWrapper.js +40 -8
  76. package/lib/components/TooltipWrapper.js.map +2 -2
  77. package/lib/components/Transfer.d.ts +84 -84
  78. package/lib/components/TransferDropDown.d.ts +84 -84
  79. package/lib/components/Tree.d.ts +87 -85
  80. package/lib/components/Tree.js +13 -5
  81. package/lib/components/Tree.js.map +2 -2
  82. package/lib/components/TreeSelection.d.ts +84 -84
  83. package/lib/components/calendar/Calendar.js +3 -12
  84. package/lib/components/calendar/Calendar.js.map +2 -2
  85. package/lib/components/calendar/TimeView.d.ts +1 -0
  86. package/lib/components/calendar/TimeView.js +7 -0
  87. package/lib/components/calendar/TimeView.js.map +2 -2
  88. package/lib/components/calendar/YearsView.js +3 -3
  89. package/lib/components/calendar/YearsView.js.map +2 -2
  90. package/lib/components/condition-builder/Expression.d.ts +1 -0
  91. package/lib/components/condition-builder/Expression.js +4 -4
  92. package/lib/components/condition-builder/Expression.js.map +2 -2
  93. package/lib/components/condition-builder/Field.d.ts +1 -0
  94. package/lib/components/condition-builder/Field.js +3 -2
  95. package/lib/components/condition-builder/Field.js.map +2 -2
  96. package/lib/components/condition-builder/Group.d.ts +1 -0
  97. package/lib/components/condition-builder/Group.js +2 -2
  98. package/lib/components/condition-builder/Group.js.map +2 -2
  99. package/lib/components/condition-builder/GroupOrItem.d.ts +1 -0
  100. package/lib/components/condition-builder/GroupOrItem.js +2 -2
  101. package/lib/components/condition-builder/GroupOrItem.js.map +2 -2
  102. package/lib/components/condition-builder/InputSwitch.d.ts +2 -1
  103. package/lib/components/condition-builder/InputSwitch.js +2 -2
  104. package/lib/components/condition-builder/InputSwitch.js.map +2 -2
  105. package/lib/components/condition-builder/Item.d.ts +1 -0
  106. package/lib/components/condition-builder/Item.js +9 -8
  107. package/lib/components/condition-builder/Item.js.map +2 -2
  108. package/lib/components/condition-builder/Value.d.ts +1 -0
  109. package/lib/components/condition-builder/Value.js +5 -5
  110. package/lib/components/condition-builder/Value.js.map +2 -2
  111. package/lib/components/condition-builder/index.d.ts +1 -0
  112. package/lib/components/condition-builder/index.js +2 -2
  113. package/lib/components/condition-builder/index.js.map +2 -2
  114. package/lib/components/formula/Editor.d.ts +90 -86
  115. package/lib/components/formula/Editor.js +26 -4
  116. package/lib/components/formula/Editor.js.map +2 -2
  117. package/lib/components/formula/Picker.d.ts +5 -0
  118. package/lib/components/formula/Picker.js +21 -4
  119. package/lib/components/formula/Picker.js.map +2 -2
  120. package/lib/components/icons.js +2 -0
  121. package/lib/components/icons.js.map +2 -2
  122. package/lib/factory.d.ts +5 -0
  123. package/lib/factory.js +24 -3
  124. package/lib/factory.js.map +2 -2
  125. package/lib/icons/trash.js +10 -0
  126. package/lib/index.d.ts +1 -0
  127. package/lib/index.js +2 -1
  128. package/lib/index.js.map +2 -2
  129. package/lib/locale/de-DE.js +18 -1
  130. package/lib/locale/de-DE.js.map +2 -2
  131. package/lib/locale/en-US.js +18 -1
  132. package/lib/locale/en-US.js.map +2 -2
  133. package/lib/locale/zh-CN.js +18 -1
  134. package/lib/locale/zh-CN.js.map +2 -2
  135. package/lib/renderers/Action.d.ts +3 -1
  136. package/lib/renderers/Action.js +23 -5
  137. package/lib/renderers/Action.js.map +2 -2
  138. package/lib/renderers/App.d.ts +1 -0
  139. package/lib/renderers/App.js +3 -0
  140. package/lib/renderers/App.js.map +2 -2
  141. package/lib/renderers/ButtonGroup.d.ts +2 -2
  142. package/lib/renderers/ButtonGroup.js.map +1 -1
  143. package/lib/renderers/CRUD.d.ts +8 -0
  144. package/lib/renderers/CRUD.js +12 -5
  145. package/lib/renderers/CRUD.js.map +2 -2
  146. package/lib/renderers/Carousel.d.ts +1 -0
  147. package/lib/renderers/Carousel.js +13 -1
  148. package/lib/renderers/Carousel.js.map +2 -2
  149. package/lib/renderers/Chart.d.ts +1 -0
  150. package/lib/renderers/Chart.js +3 -0
  151. package/lib/renderers/Chart.js.map +2 -2
  152. package/lib/renderers/Dialog.d.ts +5 -0
  153. package/lib/renderers/Dialog.js +7 -3
  154. package/lib/renderers/Dialog.js.map +2 -2
  155. package/lib/renderers/Drawer.d.ts +1 -0
  156. package/lib/renderers/Drawer.js +6 -1
  157. package/lib/renderers/Drawer.js.map +2 -2
  158. package/lib/renderers/DropDownButton.d.ts +2 -0
  159. package/lib/renderers/DropDownButton.js +13 -4
  160. package/lib/renderers/DropDownButton.js.map +2 -2
  161. package/lib/renderers/Form/Checkbox.d.ts +5 -2
  162. package/lib/renderers/Form/Checkbox.js +2 -2
  163. package/lib/renderers/Form/Checkbox.js.map +2 -2
  164. package/lib/renderers/Form/Checkboxes.d.ts +7 -2
  165. package/lib/renderers/Form/Checkboxes.js +101 -12
  166. package/lib/renderers/Form/Checkboxes.js.map +2 -2
  167. package/lib/renderers/Form/Combo.d.ts +6 -4
  168. package/lib/renderers/Form/Combo.js +132 -45
  169. package/lib/renderers/Form/Combo.js.map +2 -2
  170. package/lib/renderers/Form/DiffEditor.d.ts +3 -2
  171. package/lib/renderers/Form/Editor.d.ts +2 -2
  172. package/lib/renderers/Form/InputCity.d.ts +87 -84
  173. package/lib/renderers/Form/InputCity.js +48 -3
  174. package/lib/renderers/Form/InputCity.js.map +2 -2
  175. package/lib/renderers/Form/InputDate.js +10 -3
  176. package/lib/renderers/Form/InputDate.js.map +2 -2
  177. package/lib/renderers/Form/InputDateRange.d.ts +5 -0
  178. package/lib/renderers/Form/InputDateRange.js +12 -3
  179. package/lib/renderers/Form/InputDateRange.js.map +2 -2
  180. package/lib/renderers/Form/InputFile.js +19 -8
  181. package/lib/renderers/Form/InputFile.js.map +2 -2
  182. package/lib/renderers/Form/InputFormula.d.ts +4 -0
  183. package/lib/renderers/Form/InputFormula.js +2 -2
  184. package/lib/renderers/Form/InputFormula.js.map +2 -2
  185. package/lib/renderers/Form/InputImage.js +18 -7
  186. package/lib/renderers/Form/InputImage.js.map +2 -2
  187. package/lib/renderers/Form/InputMonthRange.js +5 -1
  188. package/lib/renderers/Form/InputMonthRange.js.map +2 -2
  189. package/lib/renderers/Form/InputRange.d.ts +2 -2
  190. package/lib/renderers/Form/InputRange.js +13 -14
  191. package/lib/renderers/Form/InputRange.js.map +2 -2
  192. package/lib/renderers/Form/InputTable.js +4 -2
  193. package/lib/renderers/Form/InputTable.js.map +2 -2
  194. package/lib/renderers/Form/InputText.d.ts +1 -1
  195. package/lib/renderers/Form/InputText.js +8 -10
  196. package/lib/renderers/Form/InputText.js.map +2 -2
  197. package/lib/renderers/Form/InputTree.d.ts +5 -0
  198. package/lib/renderers/Form/InputTree.js +51 -2
  199. package/lib/renderers/Form/InputTree.js.map +2 -2
  200. package/lib/renderers/Form/Item.d.ts +79 -76
  201. package/lib/renderers/Form/Item.js +3 -1
  202. package/lib/renderers/Form/Item.js.map +2 -2
  203. package/lib/renderers/Form/NestedSelect.d.ts +4 -0
  204. package/lib/renderers/Form/NestedSelect.js +14 -5
  205. package/lib/renderers/Form/NestedSelect.js.map +2 -2
  206. package/lib/renderers/Form/Options.js +61 -27
  207. package/lib/renderers/Form/Options.js.map +2 -2
  208. package/lib/renderers/Form/Select.js +4 -2
  209. package/lib/renderers/Form/Select.js.map +2 -2
  210. package/lib/renderers/Form/Textarea.js +2 -1
  211. package/lib/renderers/Form/Textarea.js.map +2 -2
  212. package/lib/renderers/Form/TreeSelect.d.ts +11 -2
  213. package/lib/renderers/Form/TreeSelect.js +56 -10
  214. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  215. package/lib/renderers/Form/index.d.ts +3 -0
  216. package/lib/renderers/Form/index.js +53 -16
  217. package/lib/renderers/Form/index.js.map +2 -2
  218. package/lib/renderers/Form/wrapControl.d.ts +10 -0
  219. package/lib/renderers/Form/wrapControl.js +41 -19
  220. package/lib/renderers/Form/wrapControl.js.map +2 -2
  221. package/lib/renderers/Nav.d.ts +82 -67
  222. package/lib/renderers/Nav.js +49 -13
  223. package/lib/renderers/Nav.js.map +2 -2
  224. package/lib/renderers/Page.d.ts +21 -0
  225. package/lib/renderers/Page.js +56 -17
  226. package/lib/renderers/Page.js.map +2 -2
  227. package/lib/renderers/Progress.d.ts +4 -7
  228. package/lib/renderers/Progress.js +3 -3
  229. package/lib/renderers/Progress.js.map +2 -2
  230. package/lib/renderers/Service.d.ts +3 -0
  231. package/lib/renderers/Service.js +55 -20
  232. package/lib/renderers/Service.js.map +2 -2
  233. package/lib/renderers/Spinner.d.ts +58 -2
  234. package/lib/renderers/Spinner.js +8 -1
  235. package/lib/renderers/Spinner.js.map +2 -2
  236. package/lib/renderers/Steps.d.ts +8 -0
  237. package/lib/renderers/Steps.js +2 -2
  238. package/lib/renderers/Steps.js.map +2 -2
  239. package/lib/renderers/Table/ColumnToggler.d.ts +4 -0
  240. package/lib/renderers/Table/ColumnToggler.js +11 -6
  241. package/lib/renderers/Table/ColumnToggler.js.map +2 -2
  242. package/lib/renderers/Table/TableCell.js +27 -1
  243. package/lib/renderers/Table/TableCell.js.map +2 -2
  244. package/lib/renderers/Table/TableRow.js +1 -1
  245. package/lib/renderers/Table/TableRow.js.map +2 -2
  246. package/lib/renderers/Table/index.d.ts +2 -0
  247. package/lib/renderers/Table/index.js +23 -10
  248. package/lib/renderers/Table/index.js.map +2 -2
  249. package/lib/renderers/Tabs.d.ts +14 -2
  250. package/lib/renderers/Tabs.js +24 -8
  251. package/lib/renderers/Tabs.js.map +2 -2
  252. package/lib/renderers/TooltipWrapper.d.ts +133 -0
  253. package/lib/renderers/TooltipWrapper.js +70 -0
  254. package/lib/renderers/TooltipWrapper.js.map +13 -0
  255. package/lib/renderers/Wizard.d.ts +7 -3
  256. package/lib/renderers/Wizard.js +269 -152
  257. package/lib/renderers/Wizard.js.map +2 -2
  258. package/lib/store/combo.d.ts +2 -2
  259. package/lib/store/crud.d.ts +1 -0
  260. package/lib/store/crud.js +55 -19
  261. package/lib/store/crud.js.map +2 -2
  262. package/lib/store/form.d.ts +1 -1
  263. package/lib/store/form.js +5 -1
  264. package/lib/store/form.js.map +2 -2
  265. package/lib/store/formItem.js +1 -1
  266. package/lib/store/formItem.js.map +2 -2
  267. package/lib/store/index.d.ts +5 -0
  268. package/lib/store/index.js +14 -0
  269. package/lib/store/index.js.map +2 -2
  270. package/lib/store/table.d.ts +2 -2
  271. package/lib/store/table.js +4 -4
  272. package/lib/store/table.js.map +2 -2
  273. package/lib/themes/ang-ie11.css +965 -210
  274. package/lib/themes/ang.css +955 -175
  275. package/lib/themes/ang.css.map +1 -1
  276. package/lib/themes/antd-ie11.css +1080 -325
  277. package/lib/themes/antd.css +956 -176
  278. package/lib/themes/antd.css.map +1 -1
  279. package/lib/themes/cxd-ie11.css +1048 -293
  280. package/lib/themes/cxd.css +961 -180
  281. package/lib/themes/cxd.css.map +1 -1
  282. package/lib/themes/dark-ie11.css +965 -210
  283. package/lib/themes/dark.css +955 -175
  284. package/lib/themes/dark.css.map +1 -1
  285. package/lib/themes/default-ie11.css +1048 -293
  286. package/lib/themes/default.css +961 -180
  287. package/lib/themes/default.css.map +1 -1
  288. package/lib/types.d.ts +3 -1
  289. package/lib/types.js.map +1 -1
  290. package/lib/utils/ColorScale.d.ts +19 -0
  291. package/lib/utils/ColorScale.js +104 -0
  292. package/lib/utils/ColorScale.js.map +13 -0
  293. package/lib/utils/api.js +20 -4
  294. package/lib/utils/api.js.map +2 -2
  295. package/lib/utils/columnsSplit.d.ts +1 -0
  296. package/lib/utils/columnsSplit.js +40 -0
  297. package/lib/utils/columnsSplit.js.map +13 -0
  298. package/lib/utils/debug.d.ts +1 -1
  299. package/lib/utils/debug.js +16 -22
  300. package/lib/utils/debug.js.map +2 -2
  301. package/lib/utils/dom.d.ts +1 -1
  302. package/lib/utils/dom.js +7 -5
  303. package/lib/utils/dom.js.map +2 -2
  304. package/lib/utils/position.js +0 -1
  305. package/lib/utils/position.js.map +2 -2
  306. package/lib/utils/scrollPosition.d.ts +6 -0
  307. package/lib/utils/scrollPosition.js +31 -0
  308. package/lib/utils/scrollPosition.js.map +13 -0
  309. package/package.json +3 -2
  310. package/schema.json +30213 -29222
  311. package/scss/_properties.scss +67 -25
  312. package/scss/components/_alert.scss +1 -1
  313. package/scss/components/_barcode.scss +1 -1
  314. package/scss/components/_button-group.scss +15 -0
  315. package/scss/components/_carousel.scss +1 -0
  316. package/scss/components/_column-toggler.scss +21 -11
  317. package/scss/components/_debug.scss +3 -3
  318. package/scss/components/_formula.scss +19 -1
  319. package/scss/components/_nav.scss +51 -6
  320. package/scss/components/_progress.scss +7 -14
  321. package/scss/components/_pull-refresh.scss +25 -0
  322. package/scss/components/_spinner.scss +134 -56
  323. package/scss/components/_steps.scss +199 -8
  324. package/scss/components/_tabs.scss +145 -13
  325. package/scss/components/_tooltip.scss +76 -9
  326. package/scss/components/form/_checks.scss +125 -2
  327. package/scss/components/form/_combo.scss +13 -1
  328. package/scss/components/form/_date-range.scss +27 -2
  329. package/scss/components/form/_date.scss +25 -0
  330. package/scss/components/form/_editor.scss +2 -1
  331. package/scss/components/form/_file.scss +4 -0
  332. package/scss/components/form/_form.scss +31 -8
  333. package/scss/components/form/_number.scss +5 -2
  334. package/scss/components/form/_select.scss +0 -1
  335. package/scss/components/form/_textarea.scss +1 -23
  336. package/scss/components/form/_transfer.scss +3 -2
  337. package/scss/themes/_antd-variables.scss +1 -1
  338. package/scss/themes/_common.scss +1 -0
  339. package/scss/themes/_cxd-variables.scss +6 -5
  340. package/sdk/ang-ie11.css +1059 -198
  341. package/sdk/ang.css +1050 -164
  342. package/sdk/antd-ie11.css +1167 -306
  343. package/sdk/antd.css +1051 -165
  344. package/sdk/barcode.js +51 -51
  345. package/sdk/charts.js +14 -14
  346. package/sdk/codemirror.js +7 -7
  347. package/sdk/color-picker.js +65 -65
  348. package/sdk/cropperjs.js +2 -2
  349. package/sdk/cxd-ie11.css +1145 -284
  350. package/sdk/cxd.css +1056 -169
  351. package/sdk/dark-ie11.css +1056 -195
  352. package/sdk/dark.css +1050 -164
  353. package/sdk/exceljs.js +1 -1
  354. package/sdk/locale/de-DE.js +18 -1
  355. package/sdk/markdown.js +69 -69
  356. package/sdk/papaparse.js +1 -1
  357. package/sdk/renderers/Form/CityDB.js +1 -1
  358. package/sdk/rest.js +17 -17
  359. package/sdk/rich-text.js +62 -62
  360. package/sdk/sdk-ie11.css +1145 -284
  361. package/sdk/sdk.css +1056 -169
  362. package/sdk/sdk.js +1321 -1273
  363. package/sdk/thirds/hls.js/hls.js +1 -1
  364. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  365. package/sdk/tinymce.js +57 -57
  366. package/src/Schema.ts +15 -2
  367. package/src/SchemaRenderer.tsx +32 -14
  368. package/src/WithStore.tsx +3 -1
  369. package/src/actions/CmptAction.ts +28 -0
  370. package/src/actions/PageAction.ts +62 -0
  371. package/src/actions/index.ts +1 -0
  372. package/src/components/Alert2.tsx +9 -3
  373. package/src/components/AssociatedSelection.tsx +9 -3
  374. package/src/components/BarCode.tsx +2 -2
  375. package/src/components/Cascader.tsx +37 -11
  376. package/src/components/Checkbox.tsx +11 -5
  377. package/src/components/CityArea.tsx +3 -0
  378. package/src/components/DatePicker.tsx +68 -22
  379. package/src/components/DateRangePicker.tsx +551 -88
  380. package/src/components/Drawer.tsx +1 -0
  381. package/src/components/Modal.tsx +1 -0
  382. package/src/components/Overlay.tsx +6 -3
  383. package/src/components/Progress.tsx +64 -33
  384. package/src/components/PullRefresh.tsx +197 -0
  385. package/src/components/Radios.tsx +6 -17
  386. package/src/components/Range.tsx +26 -12
  387. package/src/components/Spinner.tsx +77 -42
  388. package/src/components/Steps.tsx +28 -27
  389. package/src/components/Tabs.tsx +51 -21
  390. package/src/components/Tooltip.tsx +12 -3
  391. package/src/components/TooltipWrapper.tsx +140 -33
  392. package/src/components/Tree.tsx +19 -5
  393. package/src/components/calendar/Calendar.tsx +4 -13
  394. package/src/components/calendar/TimeView.tsx +12 -0
  395. package/src/components/calendar/YearsView.tsx +3 -4
  396. package/src/components/condition-builder/Expression.tsx +6 -1
  397. package/src/components/condition-builder/Field.tsx +5 -1
  398. package/src/components/condition-builder/Group.tsx +4 -1
  399. package/src/components/condition-builder/GroupOrItem.tsx +4 -1
  400. package/src/components/condition-builder/InputSwitch.tsx +4 -1
  401. package/src/components/condition-builder/Item.tsx +28 -4
  402. package/src/components/condition-builder/Value.tsx +7 -1
  403. package/src/components/condition-builder/index.tsx +4 -2
  404. package/src/components/formula/Editor.tsx +46 -10
  405. package/src/components/formula/Picker.tsx +32 -1
  406. package/src/components/icons.tsx +2 -0
  407. package/src/factory.tsx +31 -3
  408. package/src/icons/trash.svg +8 -0
  409. package/src/index.tsx +1 -0
  410. package/src/locale/de-DE.ts +18 -1
  411. package/src/locale/en-US.ts +18 -1
  412. package/src/locale/zh-CN.ts +18 -1
  413. package/src/renderers/Action.tsx +24 -2
  414. package/src/renderers/App.tsx +4 -0
  415. package/src/renderers/ButtonGroup.tsx +2 -2
  416. package/src/renderers/CRUD.tsx +23 -5
  417. package/src/renderers/Carousel.tsx +8 -0
  418. package/src/renderers/Chart.tsx +4 -0
  419. package/src/renderers/Dialog.tsx +21 -3
  420. package/src/renderers/Drawer.tsx +14 -2
  421. package/src/renderers/DropDownButton.tsx +14 -3
  422. package/src/renderers/Form/Checkbox.tsx +11 -2
  423. package/src/renderers/Form/Checkboxes.tsx +106 -23
  424. package/src/renderers/Form/Combo.tsx +179 -66
  425. package/src/renderers/Form/InputCity.tsx +46 -5
  426. package/src/renderers/Form/InputDate.tsx +18 -4
  427. package/src/renderers/Form/InputDateRange.tsx +27 -3
  428. package/src/renderers/Form/InputFile.tsx +23 -7
  429. package/src/renderers/Form/InputFormula.tsx +7 -0
  430. package/src/renderers/Form/InputImage.tsx +22 -6
  431. package/src/renderers/Form/InputMonthRange.tsx +7 -1
  432. package/src/renderers/Form/InputRange.tsx +20 -22
  433. package/src/renderers/Form/InputTable.tsx +6 -2
  434. package/src/renderers/Form/InputText.tsx +14 -4
  435. package/src/renderers/Form/InputTree.tsx +40 -2
  436. package/src/renderers/Form/Item.tsx +7 -0
  437. package/src/renderers/Form/NestedSelect.tsx +23 -4
  438. package/src/renderers/Form/Options.tsx +26 -7
  439. package/src/renderers/Form/Select.tsx +5 -3
  440. package/src/renderers/Form/Textarea.tsx +3 -1
  441. package/src/renderers/Form/TreeSelect.tsx +47 -9
  442. package/src/renderers/Form/index.tsx +56 -25
  443. package/src/renderers/Form/wrapControl.tsx +23 -12
  444. package/src/renderers/Nav.tsx +231 -33
  445. package/src/renderers/Page.tsx +97 -35
  446. package/src/renderers/Progress.tsx +9 -11
  447. package/src/renderers/Service.tsx +66 -27
  448. package/src/renderers/Spinner.tsx +85 -3
  449. package/src/renderers/Steps.tsx +14 -0
  450. package/src/renderers/Table/ColumnToggler.tsx +36 -11
  451. package/src/renderers/Table/TableCell.tsx +39 -1
  452. package/src/renderers/Table/TableRow.tsx +1 -1
  453. package/src/renderers/Table/index.tsx +43 -19
  454. package/src/renderers/Tabs.tsx +90 -31
  455. package/src/renderers/TooltipWrapper.tsx +262 -0
  456. package/src/renderers/Wizard.tsx +169 -93
  457. package/src/store/crud.ts +50 -5
  458. package/src/store/form.ts +8 -3
  459. package/src/store/formItem.ts +1 -2
  460. package/src/store/index.ts +20 -0
  461. package/src/store/table.ts +4 -4
  462. package/src/types.ts +8 -1
  463. package/src/utils/ColorScale.ts +138 -0
  464. package/src/utils/api.ts +26 -4
  465. package/src/utils/columnsSplit.tsx +57 -0
  466. package/src/utils/debug.tsx +17 -24
  467. package/src/utils/dom.tsx +7 -6
  468. package/src/utils/position.ts +0 -1
  469. package/src/utils/scrollPosition.ts +29 -0
@@ -13,46 +13,50 @@ var react_1 = (0, tslib_1.__importDefault)(require("react"));
13
13
  var theme_1 = require("../theme");
14
14
  var Transition_1 = tslib_1.__importStar(require("react-transition-group/Transition"));
15
15
  var icons_1 = require("./icons");
16
+ var icon_1 = require("../utils/icon");
16
17
  var fadeStyles = (_a = {},
17
- _a[Transition_1.ENTERING] = 'in',
18
18
  _a[Transition_1.ENTERED] = 'in',
19
19
  _a);
20
20
  var Spinner = /** @class */ (function (_super) {
21
21
  (0, tslib_1.__extends)(Spinner, _super);
22
22
  function Spinner() {
23
- var _this = _super !== null && _super.apply(this, arguments) || this;
24
- _this.div = react_1.default.createRef();
25
- _this.overlay = react_1.default.createRef();
26
- return _this;
23
+ return _super !== null && _super.apply(this, arguments) || this;
27
24
  }
28
25
  Spinner.prototype.render = function () {
29
- var _this = this;
30
- var _a = this.props, show = _a.show, cx = _a.classnames, spinnerClassName = _a.spinnerClassName, mode = _a.mode, size = _a.size, overlay = _a.overlay, icon = _a.icon;
31
- return (react_1.default.createElement(Transition_1.default, { mountOnEnter: true, unmountOnExit: true, in: show, timeout: 350 }, function (status) {
32
- var _a;
33
- if (status === Transition_1.ENTERING) {
34
- // force reflow
35
- // 由于从 mount 进来到加上 in 这个 class 估计是时间太短,上次的样式还没应用进去,所以这里强制reflow一把。
36
- // 否则看不到动画。
37
- // this.div.current!.offsetWidth;
38
- _this.overlay.current && _this.overlay.current.offsetWidth;
39
- }
26
+ var _a = this.props, cx = _a.classnames, show = _a.show, className = _a.className, spinnerClassName = _a.spinnerClassName, _b = _a.size, size = _b === void 0 ? '' : _b, overlay = _a.overlay, delay = _a.delay, icon = _a.icon, tip = _a.tip, _c = _a.tipPlacement, tipPlacement = _c === void 0 ? '' : _c;
27
+ var isCustomIcon = icon && react_1.default.isValidElement(icon);
28
+ var timeout = { enter: delay, exit: 0 };
29
+ return (react_1.default.createElement(Transition_1.default, { mountOnEnter: true, unmountOnExit: true, in: show, timeout: timeout }, function (status) {
30
+ var _a, _b, _c;
40
31
  return (react_1.default.createElement(react_1.default.Fragment, null,
41
- overlay ? (react_1.default.createElement("div", { ref: _this.overlay, className: cx("Spinner-overlay", fadeStyles[status]) })) : null,
42
- react_1.default.createElement("div", { ref: _this.div, className: cx("Spinner", spinnerClassName, fadeStyles[status], (_a = {},
43
- _a["Spinner--".concat(mode)] = mode,
44
- _a["Spinner--overlay"] = overlay,
45
- _a["Spinner--".concat(size)] = size,
46
- _a["Spinner--icon"] = icon,
47
- _a)) }, icon ? react_1.default.createElement(icons_1.Icon, { icon: icon, className: "icon" }) : null)));
32
+ overlay ? (react_1.default.createElement("div", { className: cx("Spinner-overlay", fadeStyles[status]) })) : null,
33
+ react_1.default.createElement("div", { className: cx("Spinner", tip && (_a = {},
34
+ _a["Spinner-tip--".concat(tipPlacement)] = [
35
+ 'top',
36
+ 'right',
37
+ 'bottom',
38
+ 'left'
39
+ ].includes(tipPlacement),
40
+ _a), (_b = {}, _b["Spinner--overlay"] = overlay, _b), fadeStyles[status], className) },
41
+ react_1.default.createElement("div", { className: cx("Spinner-icon", (_c = {},
42
+ _c["Spinner-icon--".concat(size)] = ['lg', 'sm'].includes(size),
43
+ _c["Spinner-icon--default"] = !icon,
44
+ _c["Spinner-icon--simple"] = !isCustomIcon && icon,
45
+ _c["Spinner-icon--custom"] = isCustomIcon,
46
+ _c), spinnerClassName) }, icon ? (isCustomIcon ? (icon) : (0, icons_1.hasIcon)(icon) ? (react_1.default.createElement(icons_1.Icon, { icon: icon, className: "icon" })) : ((0, icon_1.generateIcon)(cx, icon, 'icon'))) : null),
47
+ tip ? react_1.default.createElement("span", { className: cx("Spinner-tip") }, tip) : '')));
48
48
  }));
49
49
  };
50
50
  Spinner.defaultProps = {
51
- overlay: false,
51
+ show: true,
52
+ className: '',
52
53
  spinnerClassName: '',
53
- mode: '',
54
54
  size: '',
55
- show: true
55
+ icon: '',
56
+ tip: '',
57
+ tipPlacement: 'bottom',
58
+ delay: 0,
59
+ overlay: false
56
60
  };
57
61
  return Spinner;
58
62
  }(react_1.default.Component));
@@ -6,8 +6,8 @@
6
6
  "/src/components/Spinner.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": ";AAAA;;;;;GAKG;;;;;AAEH,6DAA0B;AAC1B,kCAA+C;AAC/C,2FAAgF;AAChF,iCAA6B;AAE7B,IAAM,UAAU;IAGd,GAAC,qBAAQ,IAAG,IAAI;IAChB,GAAC,oBAAO,IAAG,IAAI;OAChB,CAAC;AAWF;IAA6B,wCAAqC;IAAlE;QAAA,qEA2DC;QAlDC,SAAG,GAAoC,eAAK,CAAC,SAAS,EAAE,CAAC;QACzD,aAAO,GAAoC,eAAK,CAAC,SAAS,EAAE,CAAC;;IAiD/D,CAAC;IA/CC,wBAAM,GAAN;QAAA,iBA8CC;QA7CO,IAAA,KAQF,IAAI,CAAC,KAAK,EAPZ,IAAI,UAAA,EACQ,EAAE,gBAAA,EACd,gBAAgB,sBAAA,EAChB,IAAI,UAAA,EACJ,IAAI,UAAA,EACJ,OAAO,aAAA,EACP,IAAI,UACQ,CAAC;QACf,OAAO,CACL,8BAAC,oBAAU,IAAC,YAAY,QAAC,aAAa,QAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,IAC1D,UAAC,MAAc;;YACd,IAAI,MAAM,KAAK,qBAAQ,EAAE;gBACvB,eAAe;gBACf,kEAAkE;gBAClE,WAAW;gBACX,iCAAiC;gBACjC,KAAI,CAAC,OAAO,CAAC,OAAO,IAAI,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC;aAC1D;YAED,OAAO,CACL;gBACG,OAAO,CAAC,CAAC,CAAC,CACT,uCACE,GAAG,EAAE,KAAI,CAAC,OAAO,EACjB,SAAS,EAAE,EAAE,CAAC,iBAAiB,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,GACpD,CACH,CAAC,CAAC,CAAC,IAAI;gBAER,uCACE,GAAG,EAAE,KAAI,CAAC,GAAG,EACb,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,gBAAgB,EAAE,UAAU,CAAC,MAAM,CAAC;wBAC3D,GAAC,mBAAY,IAAI,CAAE,IAAG,IAAI;wBAC1B,GAAC,kBAAkB,IAAG,OAAO;wBAC7B,GAAC,mBAAY,IAAI,CAAE,IAAG,IAAI;wBAC1B,GAAC,eAAe,IAAG,IAAI;4BACvB,IAED,IAAI,CAAC,CAAC,CAAC,8BAAC,YAAI,IAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAChD,CACL,CACJ,CAAC;QACJ,CAAC,CACU,CACd,CAAC;IACJ,CAAC;IAzDM,oBAAY,GAAG;QACpB,OAAO,EAAE,KAAK;QACd,gBAAgB,EAAE,EAAE;QACpB,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,EAAQ;QACd,IAAI,EAAE,IAAI;KACX,CAAC;IAoDJ,cAAC;CAAA,AA3DD,CAA6B,eAAK,CAAC,SAAS,GA2D3C;AA3DY,0BAAO;AA6DpB,kBAAe,IAAA,iBAAS,EAAC,OAAO,CAAC,CAAC",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "/**\n * @file Spinner\n * @description\n * @author fex\n * @date 2017-11-07\n */\n\nimport React from 'react';\nimport {themeable, ThemeProps} from '../theme';\nimport Transition, {ENTERED, ENTERING} from 'react-transition-group/Transition';\nimport {Icon} from './icons';\n\nconst fadeStyles: {\n [propName: string]: string;\n} = {\n [ENTERING]: 'in',\n [ENTERED]: 'in'\n};\n\ninterface SpinnerProps extends ThemeProps {\n overlay: boolean;\n spinnerClassName: string;\n mode: string;\n size: 'sm' | 'lg' | '';\n show: boolean;\n icon?: string;\n}\n\nexport class Spinner extends React.Component<SpinnerProps, object> {\n static defaultProps = {\n overlay: false,\n spinnerClassName: '',\n mode: '',\n size: '' as '',\n show: true\n };\n\n div: React.RefObject<HTMLDivElement> = React.createRef();\n overlay: React.RefObject<HTMLDivElement> = React.createRef();\n\n render() {\n const {\n show,\n classnames: cx,\n spinnerClassName,\n mode,\n size,\n overlay,\n icon\n } = this.props;\n return (\n <Transition mountOnEnter unmountOnExit in={show} timeout={350}>\n {(status: string) => {\n if (status === ENTERING) {\n // force reflow\n // 由于从 mount 进来到加上 in 这个 class 估计是时间太短,上次的样式还没应用进去,所以这里强制reflow一把。\n // 否则看不到动画。\n // this.div.current!.offsetWidth;\n this.overlay.current && this.overlay.current.offsetWidth;\n }\n\n return (\n <>\n {overlay ? (\n <div\n ref={this.overlay}\n className={cx(`Spinner-overlay`, fadeStyles[status])}\n />\n ) : null}\n\n <div\n ref={this.div}\n className={cx(`Spinner`, spinnerClassName, fadeStyles[status], {\n [`Spinner--${mode}`]: mode,\n [`Spinner--overlay`]: overlay,\n [`Spinner--${size}`]: size,\n [`Spinner--icon`]: icon\n })}\n >\n {icon ? <Icon icon={icon} className=\"icon\" /> : null}\n </div>\n </>\n );\n }}\n </Transition>\n );\n }\n}\n\nexport default themeable(Spinner);\n"
11
+ "/**\n * @file Spinner\n * @description\n * @author fex\n * @date 2017-11-07\n */\n\nimport React from 'react';\nimport {themeable, ThemeProps} from '../theme';\nimport Transition, {ENTERED} from 'react-transition-group/Transition';\nimport {Icon, hasIcon} from './icons';\nimport {generateIcon} from '../utils/icon';\n\nconst fadeStyles: {\n [propName: string]: string;\n} = {\n [ENTERED]: 'in'\n};\n\n// Spinner Props\nexport interface SpinnerProps extends ThemeProps {\n show: boolean; // 控制Spinner显示与隐藏\n className?: string; // 自定义最外层元素class\n spinnerClassName?: string; // spin图标位置包裹元素的自定义class\n /**\n * @deprecated 已废弃,没有作用\n */\n mode?: string;\n size?: 'sm' | 'lg' | ''; // spinner Icon 大小\n icon?: string | React.ReactNode; // 自定义icon\n tip?: string; // spinner文案\n tipPlacement?: 'top' | 'right' | 'bottom' | 'left'; // spinner文案位置\n delay?: number; // 延迟显示\n overlay?: boolean; // 是否显示遮罩层,有children属性才生效\n}\n\nexport class Spinner extends React.Component<SpinnerProps> {\n static defaultProps = {\n show: true,\n className: '',\n spinnerClassName: '',\n size: '' as '',\n icon: '',\n tip: '',\n tipPlacement: 'bottom' as 'bottom',\n delay: 0,\n overlay: false\n };\n\n render() {\n const {\n classnames: cx,\n show,\n className,\n spinnerClassName,\n size = '',\n overlay,\n delay,\n icon,\n tip,\n tipPlacement = ''\n } = this.props;\n const isCustomIcon = icon && React.isValidElement(icon);\n const timeout = {enter: delay, exit: 0};\n\n return (\n <Transition mountOnEnter unmountOnExit in={show} timeout={timeout}>\n {(status: string) => {\n return (\n <>\n {/* 遮罩层 */}\n {overlay ? (\n <div className={cx(`Spinner-overlay`, fadeStyles[status])} />\n ) : null}\n\n {/* spinner图标和文案 */}\n <div\n className={cx(\n `Spinner`,\n tip && {\n [`Spinner-tip--${tipPlacement}`]: [\n 'top',\n 'right',\n 'bottom',\n 'left'\n ].includes(tipPlacement)\n },\n {[`Spinner--overlay`]: overlay},\n fadeStyles[status],\n className\n )}\n >\n <div\n className={cx(\n `Spinner-icon`,\n {\n [`Spinner-icon--${size}`]: ['lg', 'sm'].includes(size),\n [`Spinner-icon--default`]: !icon,\n [`Spinner-icon--simple`]: !isCustomIcon && icon,\n [`Spinner-icon--custom`]: isCustomIcon\n },\n spinnerClassName\n )}\n >\n {icon ? (\n isCustomIcon ? (\n icon\n ) : hasIcon(icon as string) ? (\n <Icon icon={icon} className=\"icon\" />\n ) : (\n generateIcon(cx, icon as string, 'icon')\n )\n ) : null}\n </div>\n {tip ? <span className={cx(`Spinner-tip`)}>{tip}</span> : ''}\n </div>\n </>\n );\n }}\n </Transition>\n );\n }\n}\n\nexport default themeable(Spinner);\n"
12
12
  ]
13
13
  }
@@ -54,6 +54,10 @@ export interface StepsSchema extends BaseSchema {
54
54
  * 展示模式
55
55
  */
56
56
  mode?: 'horizontal' | 'vertical';
57
+ /**
58
+ * 标签放置位置
59
+ */
60
+ labelPlacement?: 'horizontal' | 'vertical';
57
61
  }
58
62
  export interface StepsProps extends ThemeProps {
59
63
  steps: StepSchema[];
@@ -63,6 +67,8 @@ export interface StepsProps extends ThemeProps {
63
67
  [propName: string]: StepStatus;
64
68
  };
65
69
  mode?: 'horizontal' | 'vertical';
70
+ labelPlacement?: 'horizontal' | 'vertical';
71
+ progressDot?: boolean;
66
72
  useMobileUI?: boolean;
67
73
  }
68
74
  export declare function Steps(props: StepsProps): JSX.Element;
@@ -14,7 +14,7 @@ var StepStatus;
14
14
  StepStatus["error"] = "error";
15
15
  })(StepStatus = exports.StepStatus || (exports.StepStatus = {}));
16
16
  function Steps(props) {
17
- var stepsRow = props.steps, cx = props.classnames, className = props.className, current = props.current, status = props.status, _a = props.mode, mode = _a === void 0 ? 'horizontal' : _a, useMobileUI = props.useMobileUI;
17
+ var stepsRow = props.steps, cx = props.classnames, className = props.className, current = props.current, status = props.status, _a = props.mode, mode = _a === void 0 ? 'horizontal' : _a, _b = props.labelPlacement, labelPlacement = _b === void 0 ? 'horizontal' : _b, _c = props.progressDot, progressDot = _c === void 0 ? false : _c, useMobileUI = props.useMobileUI;
18
18
  var FINISH_ICON = 'check';
19
19
  var ERROR_ICON = 'close';
20
20
  function getStepStatus(step, i) {
@@ -43,18 +43,22 @@ function Steps(props) {
43
43
  };
44
44
  }
45
45
  var mobileUI = useMobileUI && (0, helper_1.isMobile)();
46
- return (react_1.default.createElement("ul", { className: cx('Steps', "Steps--".concat(mode), mobileUI ? 'Steps-mobile' : '', className) }, stepsRow.map(function (step, i) {
46
+ return (react_1.default.createElement("ul", { className: cx(// 纵向步骤条暂时不支持labelPlacement属性
47
+ 'Steps', "Steps--Placement-".concat((progressDot || (labelPlacement === 'vertical' && mode != 'vertical')) ? 'vertical' : ''), "Steps--".concat(progressDot ? 'ProgressDot' : ''), "Steps--".concat(mode), mobileUI ? 'Steps-mobile' : '', className) }, stepsRow.map(function (step, i) {
47
48
  var _a = getStepStatus(step, i), stepStatus = _a.stepStatus, icon = _a.icon;
48
- return (react_1.default.createElement("li", { key: i, className: cx('StepsItem', "is-".concat(stepStatus), step.className) },
49
+ return (react_1.default.createElement("li", { key: i, className: cx('StepsItem', "is-".concat(stepStatus), step.className, "StepsItem-".concat(progressDot ? 'ProgressDot' : '')) },
49
50
  react_1.default.createElement("div", { className: cx('StepsItem-container') },
50
- react_1.default.createElement("div", { className: cx('StepsItem-containerIcon', i < current && 'is-success') },
51
- react_1.default.createElement("span", { className: cx('StepsItem-icon') }, icon ? react_1.default.createElement(icons_1.Icon, { icon: icon, className: "icon" }) : i + 1)),
51
+ react_1.default.createElement("div", { className: cx('StepsItem-containerTail') }),
52
+ progressDot ? react_1.default.createElement("div", { className: cx('StepsItem-containerProgressDot') })
53
+ : react_1.default.createElement("div", { className: cx('StepsItem-containerIcon', i < current && 'is-success') },
54
+ react_1.default.createElement("span", { className: cx('StepsItem-icon') }, icon ? react_1.default.createElement(icons_1.Icon, { icon: icon, className: "icon" }) : i + 1)),
52
55
  react_1.default.createElement("div", { className: cx('StepsItem-containerWrapper') },
53
56
  react_1.default.createElement("div", { className: cx('StepsItem-body') },
54
- react_1.default.createElement("div", { className: cx('StepsItem-title', i < current && 'is-success') },
55
- react_1.default.createElement("span", null, step.title),
56
- react_1.default.createElement("span", { className: cx('StepsItem-subTitle') }, step.subTitle)),
57
- react_1.default.createElement("div", { className: cx('StepsItem-description') }, step.description))))));
57
+ react_1.default.createElement("div", { className: cx('StepsItem-title', "StepsItem-".concat(progressDot ? 'vertical-ProgressDot' : ''), i < current && 'is-success') },
58
+ react_1.default.createElement("span", { className: cx('StepsItem-ellText'), title: String(step.title) }, step.title),
59
+ react_1.default.createElement("span", { className: cx('StepsItem-subTitle', 'StepsItem-ellText'), title: String(step.subTitle) }, step.subTitle)),
60
+ react_1.default.createElement("div", { className: cx('StepsItem-description', 'StepsItem-ellText'), title: String(step.description) },
61
+ react_1.default.createElement("span", null, step.description)))))));
58
62
  })));
59
63
  }
60
64
  exports.Steps = Steps;
@@ -6,8 +6,8 @@
6
6
  "/src/components/Steps.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "import React from 'react';\nimport {themeable, ThemeProps} from '../theme';\nimport {Icon} from './icons';\nimport {BaseSchema} from '../Schema';\nimport {isMobile} from '../utils/helper';\n\nexport enum StepStatus {\n wait = 'wait',\n process = 'process',\n finish = 'finish',\n error = 'error'\n}\n\nexport type StepSchema = {\n /**\n * 标题\n */\n title?: string | JSX.Element;\n\n /**\n * 子标题\n */\n subTitle?: string | JSX.Element;\n\n /**\n * 图标\n */\n icon?: string;\n\n value?: string | number;\n\n /**\n * 描述\n */\n description?: string | JSX.Element;\n\n status?: StepStatus;\n} & Omit<BaseSchema, 'type'>;\n\nexport interface StepsSchema extends BaseSchema {\n /**\n * 指定为 Steps 步骤条渲染器\n */\n type: 'steps';\n\n /**\n * 步骤\n */\n steps?: Array<StepSchema>;\n\n /**\n * API 或 数据映射\n */\n source?: string;\n\n /**\n * 指定当前步骤\n */\n value?: number | string;\n\n /**\n * 变量映射\n */\n name?: string;\n\n status: StepStatus;\n\n /**\n * 展示模式\n */\n mode?: 'horizontal' | 'vertical';\n}\n\nexport interface StepsProps extends ThemeProps {\n steps: StepSchema[];\n className: string;\n current: number;\n status?:\n | StepStatus\n | {\n [propName: string]: StepStatus;\n };\n mode?: 'horizontal' | 'vertical';\n useMobileUI?: boolean;\n}\n\nexport function Steps(props: StepsProps) {\n const {\n steps: stepsRow,\n classnames: cx,\n className,\n current,\n status,\n mode = 'horizontal',\n useMobileUI\n } = props;\n const FINISH_ICON = 'check';\n const ERROR_ICON = 'close';\n\n function getStepStatus(\n step: StepSchema,\n i: number\n ): {stepStatus: StepStatus; icon?: string} {\n let stepStatus: StepStatus = StepStatus.wait;\n let icon = step.icon;\n\n if (i < current) {\n stepStatus = StepStatus.finish;\n !icon && (icon = FINISH_ICON);\n } else if (i === current) {\n stepStatus = StepStatus.process;\n }\n\n if (typeof status === 'string') {\n if (i === current) {\n stepStatus = step.status || status || StepStatus.process;\n stepStatus === StepStatus.error && !icon && (icon = ERROR_ICON);\n }\n } else if (typeof status === 'object') {\n const key = step.value;\n key && status[key] && (stepStatus = status[key]);\n }\n\n return {\n stepStatus,\n icon\n };\n }\n\n const mobileUI = useMobileUI && isMobile();\n return (\n <ul\n className={cx(\n 'Steps',\n `Steps--${mode}`,\n mobileUI ? 'Steps-mobile' : '',\n className\n )}\n >\n {stepsRow.map((step, i) => {\n const {stepStatus, icon} = getStepStatus(step, i);\n\n return (\n <li\n key={i}\n className={cx('StepsItem', `is-${stepStatus}`, step.className)}\n >\n <div className={cx('StepsItem-container')}>\n <div\n className={cx(\n 'StepsItem-containerIcon',\n i < current && 'is-success'\n )}\n >\n <span className={cx('StepsItem-icon')}>\n {icon ? <Icon icon={icon} className=\"icon\" /> : i + 1}\n </span>\n </div>\n <div className={cx('StepsItem-containerWrapper')}>\n <div className={cx('StepsItem-body')}>\n <div\n className={cx(\n 'StepsItem-title',\n i < current && 'is-success'\n )}\n >\n <span>{step.title}</span>\n <span className={cx('StepsItem-subTitle')}>\n {step.subTitle}\n </span>\n </div>\n <div className={cx('StepsItem-description')}>\n {step.description}\n </div>\n </div>\n </div>\n </div>\n </li>\n );\n })}\n </ul>\n );\n}\n\nexport default themeable(Steps);\n"
11
+ "import React from 'react';\nimport {themeable, ThemeProps} from '../theme';\nimport {Icon} from './icons';\nimport {BaseSchema} from '../Schema';\nimport {isMobile} from '../utils/helper';\n\nexport enum StepStatus {\n wait = 'wait',\n process = 'process',\n finish = 'finish',\n error = 'error'\n}\n\nexport type StepSchema = {\n /**\n * 标题\n */\n title?: string | JSX.Element;\n\n /**\n * 子标题\n */\n subTitle?: string | JSX.Element;\n\n /**\n * 图标\n */\n icon?: string;\n\n value?: string | number;\n\n /**\n * 描述\n */\n description?: string | JSX.Element;\n\n status?: StepStatus;\n} & Omit<BaseSchema, 'type'>;\n\nexport interface StepsSchema extends BaseSchema {\n /**\n * 指定为 Steps 步骤条渲染器\n */\n type: 'steps';\n\n /**\n * 步骤\n */\n steps?: Array<StepSchema>;\n\n /**\n * API 或 数据映射\n */\n source?: string;\n\n /**\n * 指定当前步骤\n */\n value?: number | string;\n\n /**\n * 变量映射\n */\n name?: string;\n\n status: StepStatus;\n\n /**\n * 展示模式\n */\n mode?: 'horizontal' | 'vertical';\n\n /**\n * 标签放置位置\n */\n labelPlacement?: 'horizontal' | 'vertical';\n}\nexport interface StepsProps extends ThemeProps {\n steps: StepSchema[];\n className: string;\n current: number;\n status?:\n | StepStatus\n | {\n [propName: string]: StepStatus;\n };\n mode?: 'horizontal' | 'vertical';\n labelPlacement?: 'horizontal' | 'vertical';\n progressDot?: boolean;\n useMobileUI?: boolean;\n}\n\nexport function Steps(props: StepsProps) {\n const {\n steps: stepsRow,\n classnames: cx,\n className,\n current,\n status,\n mode = 'horizontal',\n labelPlacement = 'horizontal',\n progressDot = false,\n useMobileUI\n } = props;\n const FINISH_ICON = 'check';\n const ERROR_ICON = 'close';\n\n function getStepStatus(\n step: StepSchema,\n i: number\n ): {stepStatus: StepStatus; icon?: string} {\n let stepStatus: StepStatus = StepStatus.wait;\n let icon = step.icon;\n\n if (i < current) {\n stepStatus = StepStatus.finish;\n !icon && (icon = FINISH_ICON);\n } else if (i === current) {\n stepStatus = StepStatus.process;\n }\n\n if (typeof status === 'string') {\n if (i === current) {\n stepStatus = step.status || status || StepStatus.process;\n stepStatus === StepStatus.error && !icon && (icon = ERROR_ICON);\n }\n } else if (typeof status === 'object') {\n const key = step.value;\n key && status[key] && (stepStatus = status[key]);\n }\n\n return {\n stepStatus,\n icon\n };\n }\n\n const mobileUI = useMobileUI && isMobile();\n return (\n <ul className={cx( // 纵向步骤条暂时不支持labelPlacement属性\n 'Steps',\n `Steps--Placement-${(progressDot || (labelPlacement === 'vertical' && mode != 'vertical')) ? 'vertical' : ''}`,\n `Steps--${progressDot ? 'ProgressDot' : ''}`, \n `Steps--${mode}`,\n mobileUI ? 'Steps-mobile' : '', className)}>\n {stepsRow.map((step, i) => {\n const {stepStatus, icon} = getStepStatus(step, i);\n return (\n <li\n key={i}\n className={cx('StepsItem', `is-${stepStatus}`, step.className, `StepsItem-${progressDot ? 'ProgressDot' : ''}`)}\n >\n <div className={cx('StepsItem-container')}>\n <div className={cx('StepsItem-containerTail')}></div>\n {progressDot ? <div className={cx('StepsItem-containerProgressDot')}></div>\n : <div className={cx('StepsItem-containerIcon', i < current && 'is-success')}>\n <span className={cx('StepsItem-icon')}>\n {icon ? <Icon icon={icon} className=\"icon\" /> : i + 1}\n </span>\n </div>}\n <div className={cx('StepsItem-containerWrapper')}>\n <div className={cx('StepsItem-body')}>\n <div\n className={cx(\n 'StepsItem-title',\n `StepsItem-${progressDot ? 'vertical-ProgressDot' : ''}`,\n i < current && 'is-success'\n )}\n >\n <span className={cx('StepsItem-ellText')} title={String(step.title)}>{step.title}</span>\n <span className={cx('StepsItem-subTitle', 'StepsItem-ellText')} title={String(step.subTitle)}>{step.subTitle}</span>\n </div>\n <div className={cx('StepsItem-description', 'StepsItem-ellText')} title={String(step.description)}>\n <span>{step.description}</span>\n </div>\n </div>\n </div>\n </div>\n </li>\n );\n })}\n </ul>\n );\n}\n\nexport default themeable(Steps);\n"
12
12
  ]
13
13
  }
@@ -10,7 +10,7 @@ import { Schema } from '../types';
10
10
  import { ThemeProps } from '../theme';
11
11
  import { SchemaClassName } from '../Schema';
12
12
  import Sortable from 'sortablejs';
13
- export declare type TabsMode = '' | 'line' | 'card' | 'radio' | 'vertical' | 'chrome' | 'simple' | 'strong';
13
+ export declare type TabsMode = '' | 'line' | 'card' | 'radio' | 'vertical' | 'chrome' | 'simple' | 'strong' | 'tiled' | 'sidebar';
14
14
  export interface TabProps extends ThemeProps {
15
15
  title?: string | React.ReactNode;
16
16
  icon?: string;
@@ -110,12 +110,14 @@ export interface TabsProps extends ThemeProps {
110
110
  scrollable?: boolean;
111
111
  editable?: boolean;
112
112
  onEdit?: (index: number, text: string) => void;
113
+ sidePosition?: 'left' | 'right';
114
+ addBtnText?: string;
113
115
  }
114
116
  export interface IDragInfo {
115
117
  nodeId: string;
116
118
  }
117
119
  export declare class Tabs extends React.Component<TabsProps, any> {
118
- static defaultProps: Pick<TabsProps, 'mode' | 'contentClassName' | 'showTip' | 'showTipClassName'>;
120
+ static defaultProps: Pick<TabsProps, 'mode' | 'contentClassName' | 'showTip' | 'showTipClassName' | 'sidePosition' | 'addBtnText'>;
119
121
  static Tab: {
120
122
  new (props: (Omit<TabProps, keyof ThemeProps> & import("../theme").ThemeOutterProps) | Readonly<Omit<TabProps, keyof ThemeProps> & import("../theme").ThemeOutterProps>): {
121
123
  render(): JSX.Element;
@@ -173,12 +175,14 @@ export declare class Tabs extends React.Component<TabsProps, any> {
173
175
  } & import("hoist-non-react-statics").NonReactStatics<typeof TabComponent, {}> & {
174
176
  ComposedComponent: typeof TabComponent;
175
177
  };
176
- navMain: React.RefObject<HTMLDivElement>;
178
+ navMain: React.RefObject<HTMLUListElement>;
177
179
  scroll: boolean;
178
180
  sortable?: Sortable;
179
181
  dragTip?: HTMLElement;
180
182
  id: string;
181
183
  draging: boolean;
184
+ toDispose: Array<() => void>;
185
+ resizeDom: React.RefObject<HTMLDivElement>;
182
186
  checkArrowStatus: import("lodash").DebouncedFunc<() => void>;
183
187
  constructor(props: TabsProps);
184
188
  componentDidMount(): void;
@@ -211,12 +215,12 @@ export declare class Tabs extends React.Component<TabsProps, any> {
211
215
  render(): JSX.Element | null;
212
216
  }
213
217
  declare const _default: {
214
- new (props: (Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName">, never>> & import("../theme").ThemeOutterProps) | Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName">, never>> & import("../theme").ThemeOutterProps>): {
218
+ new (props: (Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">, never>> & import("../theme").ThemeOutterProps) | Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">, never>> & import("../theme").ThemeOutterProps>): {
215
219
  render(): JSX.Element;
216
220
  context: any;
217
- setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName">, never>> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
221
+ setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">, never>> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
218
222
  forceUpdate(callback?: (() => void) | undefined): void;
219
- readonly props: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName">, never>> & import("../theme").ThemeOutterProps> & Readonly<{
223
+ readonly props: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">, never>> & import("../theme").ThemeOutterProps> & Readonly<{
220
224
  children?: React.ReactNode;
221
225
  }>;
222
226
  state: Readonly<{}>;
@@ -224,24 +228,24 @@ declare const _default: {
224
228
  [key: string]: React.ReactInstance;
225
229
  };
226
230
  componentDidMount?(): void;
227
- shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
231
+ shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
228
232
  componentWillUnmount?(): void;
229
233
  componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
230
- getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
231
- componentDidUpdate?(prevProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void;
234
+ getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
235
+ componentDidUpdate?(prevProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void;
232
236
  componentWillMount?(): void;
233
237
  UNSAFE_componentWillMount?(): void;
234
- componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
235
- UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
236
- componentWillUpdate?(nextProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
237
- UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
238
+ componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
239
+ UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
240
+ componentWillUpdate?(nextProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
241
+ UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
238
242
  };
239
- new (props: Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName">, never>> & import("../theme").ThemeOutterProps, context: any): {
243
+ new (props: Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">, never>> & import("../theme").ThemeOutterProps, context: any): {
240
244
  render(): JSX.Element;
241
245
  context: any;
242
- setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName">, never>> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
246
+ setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">, never>> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
243
247
  forceUpdate(callback?: (() => void) | undefined): void;
244
- readonly props: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName">, never>> & import("../theme").ThemeOutterProps> & Readonly<{
248
+ readonly props: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">, never>> & import("../theme").ThemeOutterProps> & Readonly<{
245
249
  children?: React.ReactNode;
246
250
  }>;
247
251
  state: Readonly<{}>;
@@ -249,17 +253,17 @@ declare const _default: {
249
253
  [key: string]: React.ReactInstance;
250
254
  };
251
255
  componentDidMount?(): void;
252
- shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
256
+ shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
253
257
  componentWillUnmount?(): void;
254
258
  componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
255
- getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
256
- componentDidUpdate?(prevProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void;
259
+ getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
260
+ componentDidUpdate?(prevProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void;
257
261
  componentWillMount?(): void;
258
262
  UNSAFE_componentWillMount?(): void;
259
- componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
260
- UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
261
- componentWillUpdate?(nextProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
262
- UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
263
+ componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
264
+ UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
265
+ componentWillUpdate?(nextProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
266
+ UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
263
267
  };
264
268
  displayName: string;
265
269
  contextType: React.Context<string>;
@@ -18,6 +18,7 @@ var icons_1 = require("./icons");
18
18
  var debounce_1 = (0, tslib_1.__importDefault)(require("lodash/debounce"));
19
19
  var react_dom_1 = require("react-dom");
20
20
  var TooltipWrapper_1 = (0, tslib_1.__importDefault)(require("./TooltipWrapper"));
21
+ var resize_sensor_1 = require("../utils/resize-sensor");
21
22
  var sortablejs_1 = (0, tslib_1.__importDefault)(require("sortablejs"));
22
23
  var transitionStyles = (_a = {},
23
24
  _a[Transition_1.ENTERING] = 'in',
@@ -47,10 +48,12 @@ var Tabs = /** @class */ (function (_super) {
47
48
  (0, tslib_1.__extends)(Tabs, _super);
48
49
  function Tabs(props) {
49
50
  var _this = _super.call(this, props) || this;
50
- _this.navMain = react_1.default.createRef();
51
+ _this.navMain = react_1.default.createRef(); // HTMLDivElement
51
52
  _this.scroll = false;
52
53
  _this.id = (0, helper_1.guid)();
53
54
  _this.draging = false;
55
+ _this.toDispose = [];
56
+ _this.resizeDom = react_1.default.createRef();
54
57
  _this.checkArrowStatus = (0, debounce_1.default)(function () {
55
58
  var _a = _this.navMain.current || {
56
59
  scrollLeft: 0,
@@ -98,7 +101,8 @@ var Tabs = /** @class */ (function (_super) {
98
101
  return _this;
99
102
  }
100
103
  Tabs.prototype.componentDidMount = function () {
101
- var _a;
104
+ var _this = this;
105
+ var _a, _b;
102
106
  this.computedWidth();
103
107
  if (this.navMain) {
104
108
  (_a = this.navMain.current) === null || _a === void 0 ? void 0 : _a.addEventListener('wheel', this.handleWheel, {
@@ -106,6 +110,9 @@ var Tabs = /** @class */ (function (_super) {
106
110
  });
107
111
  this.checkArrowStatus();
108
112
  }
113
+ ((_b = this.resizeDom) === null || _b === void 0 ? void 0 : _b.current) && this.toDispose.push((0, resize_sensor_1.resizeSensor)(this.resizeDom.current, function () {
114
+ return _this.computedWidth();
115
+ }));
109
116
  };
110
117
  Tabs.prototype.componentDidUpdate = function () {
111
118
  // 判断是否是由滚动触发的数据更新,如果是则不需要再次判断容器与内容的关系
@@ -116,6 +123,8 @@ var Tabs = /** @class */ (function (_super) {
116
123
  };
117
124
  Tabs.prototype.componentWillUnmount = function () {
118
125
  this.checkArrowStatus.cancel();
126
+ this.toDispose.forEach(function (fn) { return fn(); });
127
+ this.toDispose = [];
119
128
  };
120
129
  /**
121
130
  * 处理内容与容器之间的位置关系
@@ -123,7 +132,7 @@ var Tabs = /** @class */ (function (_super) {
123
132
  Tabs.prototype.computedWidth = function () {
124
133
  var _a = this.props, dMode = _a.mode, tabsMode = _a.tabsMode;
125
134
  var mode = tabsMode || dMode;
126
- if (mode === 'vertical') {
135
+ if (['vertical', 'sidebar'].includes(mode)) {
127
136
  return;
128
137
  }
129
138
  var navMainRef = this.navMain.current;
@@ -143,32 +152,32 @@ var Tabs = /** @class */ (function (_super) {
143
152
  * 保证选中的tab始终显示在可视区域
144
153
  */
145
154
  Tabs.prototype.showSelected = function (key) {
146
- var _a, _b, _c, _d, _e, _f, _g;
147
- var _h = this.props, dMode = _h.mode, tabsMode = _h.tabsMode;
155
+ var _a, _b, _c, _d, _e, _f;
156
+ var _g = this.props, dMode = _g.mode, tabsMode = _g.tabsMode;
148
157
  var isOverflow = this.state.isOverflow;
149
158
  var mode = tabsMode || dMode;
150
- if (mode === 'vertical' || !isOverflow) {
159
+ if (['vertical', 'sidebar'].includes(mode) || !isOverflow) {
151
160
  return;
152
161
  }
153
- var _j = this.props, activeKey = _j.activeKey, children = _j.children;
162
+ var _h = this.props, activeKey = _h.activeKey, children = _h.children;
154
163
  var currentKey = key !== undefined ? key : activeKey;
155
164
  var currentIndex = (_a = children) === null || _a === void 0 ? void 0 : _a.findIndex(function (item) { return item.props.eventKey === currentKey; });
156
- var li = ((_c = (_b = this.navMain.current) === null || _b === void 0 ? void 0 : _b.children[0]) === null || _c === void 0 ? void 0 : _c.children) || [];
165
+ var li = ((_b = this.navMain.current) === null || _b === void 0 ? void 0 : _b.children) || [];
157
166
  var currentLi = li[currentIndex];
158
167
  var liOffsetLeft = currentLi === null || currentLi === void 0 ? void 0 : currentLi.offsetLeft;
159
168
  var liClientWidth = currentLi === null || currentLi === void 0 ? void 0 : currentLi.clientWidth;
160
- var scrollLeft = ((_d = this.navMain.current) === null || _d === void 0 ? void 0 : _d.scrollLeft) || 0;
161
- var clientWidth = ((_e = this.navMain.current) === null || _e === void 0 ? void 0 : _e.clientWidth) || 0;
169
+ var scrollLeft = ((_c = this.navMain.current) === null || _c === void 0 ? void 0 : _c.scrollLeft) || 0;
170
+ var clientWidth = ((_d = this.navMain.current) === null || _d === void 0 ? void 0 : _d.clientWidth) || 0;
162
171
  // 左边被遮住了
163
172
  if (scrollLeft > liOffsetLeft) {
164
- (_f = this.navMain.current) === null || _f === void 0 ? void 0 : _f.scrollTo({
173
+ (_e = this.navMain.current) === null || _e === void 0 ? void 0 : _e.scrollTo({
165
174
  left: liOffsetLeft,
166
175
  behavior: 'smooth'
167
176
  });
168
177
  }
169
178
  // 右边被遮住了
170
179
  if (liOffsetLeft + liClientWidth > scrollLeft + clientWidth) {
171
- (_g = this.navMain.current) === null || _g === void 0 ? void 0 : _g.scrollTo({
180
+ (_f = this.navMain.current) === null || _f === void 0 ? void 0 : _f.scrollTo({
172
181
  left: liOffsetLeft + liClientWidth - clientWidth,
173
182
  behavior: 'smooth'
174
183
  });
@@ -346,7 +355,7 @@ var Tabs = /** @class */ (function (_super) {
346
355
  var _this = this;
347
356
  var _a = this.props, dMode = _a.mode, tabsMode = _a.tabsMode;
348
357
  var mode = tabsMode || dMode;
349
- if (mode === 'vertical') {
358
+ if (['vertical', 'sidebar'].includes(mode)) {
350
359
  return;
351
360
  }
352
361
  var cx = this.props.classnames;
@@ -362,27 +371,31 @@ var Tabs = /** @class */ (function (_super) {
362
371
  Tabs.prototype.render = function () {
363
372
  var _a;
364
373
  var _this = this;
365
- var _b = this.props, cx = _b.classnames, contentClassName = _b.contentClassName, className = _b.className, dMode = _b.mode, tabsMode = _b.tabsMode, children = _b.children, additionBtns = _b.additionBtns, toolbar = _b.toolbar, linksClassName = _b.linksClassName, addable = _b.addable, draggable = _b.draggable;
374
+ var _b = this.props, cx = _b.classnames, contentClassName = _b.contentClassName, className = _b.className, dMode = _b.mode, tabsMode = _b.tabsMode, children = _b.children, additionBtns = _b.additionBtns, toolbar = _b.toolbar, linksClassName = _b.linksClassName, addable = _b.addable, draggable = _b.draggable, sidePosition = _b.sidePosition, addBtnText = _b.addBtnText;
366
375
  var isOverflow = this.state.isOverflow;
367
376
  if (!Array.isArray(children)) {
368
377
  return null;
369
378
  }
370
379
  var mode = tabsMode || dMode;
380
+ var toolButtons = (react_1.default.createElement(react_1.default.Fragment, null,
381
+ addable && (react_1.default.createElement("div", { className: cx('Tabs-addable'), onClick: function () { return _this.handleAddBtn(); } },
382
+ react_1.default.createElement(icons_1.Icon, { icon: "plus", className: cx('Tabs-addable-icon') }),
383
+ addBtnText)),
384
+ toolbar));
371
385
  return (react_1.default.createElement("div", { className: cx("Tabs", (_a = {},
372
386
  _a["Tabs--".concat(mode)] = mode,
387
+ _a["sidebar--".concat(sidePosition)] = mode === 'sidebar',
373
388
  _a), className) },
374
- !['vertical', 'chrome'].includes(mode) ? (react_1.default.createElement("div", { className: cx('Tabs-linksContainer-wrapper') },
389
+ !['vertical', 'sidebar', 'chrome'].includes(mode) ? (react_1.default.createElement("div", { className: cx('Tabs-linksContainer-wrapper', toolbar && 'Tabs-linksContainer-wrapper--toolbar'), ref: this.resizeDom },
375
390
  react_1.default.createElement("div", { className: cx('Tabs-linksContainer', isOverflow && 'Tabs-linksContainer--overflow') },
376
391
  this.renderArrow('left'),
377
- react_1.default.createElement("div", { className: cx('Tabs-linksContainer-main'), ref: this.navMain },
378
- react_1.default.createElement("ul", { className: cx('Tabs-links', linksClassName), role: "tablist" },
392
+ react_1.default.createElement("div", { className: cx('Tabs-linksContainer-main') },
393
+ react_1.default.createElement("ul", { className: cx('Tabs-links', linksClassName), role: "tablist", ref: this.navMain },
379
394
  children.map(function (tab, index) { return _this.renderNav(tab, index); }),
380
395
  additionBtns,
381
- toolbar)),
396
+ !isOverflow && toolButtons)),
382
397
  this.renderArrow('right')),
383
- addable && (react_1.default.createElement("div", { className: cx('Tabs-addable'), onClick: function () { return _this.handleAddBtn(); } },
384
- react_1.default.createElement(icons_1.Icon, { icon: "plus", className: cx('Tabs-addable-icon') }),
385
- "\u589E\u52A0")))) : (react_1.default.createElement("div", { className: cx('Tabs-linksWrapper') },
398
+ isOverflow && toolButtons)) : (react_1.default.createElement("div", { className: cx('Tabs-linksWrapper') },
386
399
  react_1.default.createElement("ul", { className: cx('Tabs-links', linksClassName), role: "tablist" },
387
400
  children.map(function (tab, index) { return _this.renderNav(tab, index); }),
388
401
  additionBtns,
@@ -397,7 +410,9 @@ var Tabs = /** @class */ (function (_super) {
397
410
  mode: '',
398
411
  contentClassName: '',
399
412
  showTip: false,
400
- showTipClassName: ''
413
+ showTipClassName: '',
414
+ sidePosition: 'left',
415
+ addBtnText: '增加'
401
416
  };
402
417
  Tabs.Tab = exports.Tab;
403
418
  (0, tslib_1.__decorate)([