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
@@ -6,8 +6,8 @@
6
6
  "/src/components/Tabs.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "/**\n * @file Tabs\n * @description 选项卡\n * @author fex\n */\n\nimport React from 'react';\nimport {Schema} from '../types';\nimport Transition, {ENTERED, ENTERING} from 'react-transition-group/Transition';\nimport {themeable, ThemeProps} from '../theme';\nimport {uncontrollable} from 'uncontrollable';\nimport {generateIcon} from '../utils/icon';\nimport {SchemaClassName} from '../Schema';\nimport {autobind, guid} from '../utils/helper';\nimport {Icon} from './icons';\nimport debounce from 'lodash/debounce';\nimport {findDOMNode} from 'react-dom';\nimport TooltipWrapper, {TooltipObject, Trigger} from './TooltipWrapper';\n\nimport Sortable from 'sortablejs';\n\nconst transitionStyles: {\n [propName: string]: string;\n} = {\n [ENTERING]: 'in',\n [ENTERED]: 'in'\n};\n\nexport type TabsMode = '' | 'line' | 'card' | 'radio' | 'vertical' | 'chrome' | 'simple' | 'strong';\n\nexport interface TabProps extends ThemeProps {\n title?: string | React.ReactNode; // 标题\n icon?: string;\n iconPosition?: 'left' | 'right';\n disabled?: boolean | string;\n eventKey: string | number;\n tab?: Schema;\n className?: string;\n activeKey?: string | number;\n reload?: boolean;\n mountOnEnter?: boolean;\n unmountOnExit?: boolean;\n toolbar?: React.ReactNode;\n}\n\nclass TabComponent extends React.PureComponent<TabProps> {\n contentDom: any;\n contentRef = (ref: any) => (this.contentDom = ref);\n\n render() {\n const {\n classnames: cx,\n mountOnEnter,\n reload,\n unmountOnExit,\n eventKey,\n activeKey,\n children,\n className\n } = this.props;\n\n return (\n <Transition\n in={activeKey === eventKey}\n mountOnEnter={mountOnEnter}\n unmountOnExit={typeof reload === 'boolean' ? reload : unmountOnExit}\n timeout={500}\n >\n {(status: string) => {\n if (status === ENTERING) {\n this.contentDom.offsetWidth;\n }\n return (\n <div\n ref={this.contentRef}\n className={cx(\n transitionStyles[status],\n activeKey === eventKey ? 'is-active' : '',\n 'Tabs-pane',\n className\n )}\n >\n {children}\n </div>\n );\n }}\n </Transition>\n );\n }\n}\n\nexport const Tab = themeable(TabComponent);\n\nexport interface TabsProps extends ThemeProps {\n mode: TabsMode;\n tabsMode?: TabsMode;\n additionBtns?: React.ReactNode;\n onSelect?: (key: string | number) => void;\n activeKey?: string | number;\n contentClassName: string;\n linksClassName?: SchemaClassName;\n className?: string;\n tabs?: Array<TabProps>;\n tabRender?: (tab: TabProps, props?: TabsProps) => JSX.Element;\n toolbar?: React.ReactNode;\n addable?: boolean; // 是否显示增加按钮\n onAdd?: () => void;\n closable?: boolean;\n onClose?: (index: number, key: string | number) => void;\n draggable?: boolean;\n onDragChange?: (e: any) => void;\n showTip?: boolean;\n showTipClassName?: string;\n scrollable?: boolean; // 属性废弃,为了兼容暂且保留\n editable?: boolean;\n onEdit?: (index: number, text: string) => void;\n}\n\nexport interface IDragInfo {\n nodeId: string;\n}\n\nexport class Tabs extends React.Component<TabsProps, any> {\n static defaultProps: Pick<TabsProps,\n 'mode' | 'contentClassName' | 'showTip' | 'showTipClassName'\n > = {\n mode: '',\n contentClassName: '',\n showTip: false,\n showTipClassName: ''\n };\n\n static Tab = Tab;\n navMain = React.createRef<HTMLDivElement>();\n scroll: boolean = false;\n sortable?: Sortable;\n dragTip?: HTMLElement;\n id: string = guid();\n draging: boolean = false;\n\n checkArrowStatus = debounce(\n () => {\n const {scrollLeft, scrollWidth, clientWidth} = this.navMain.current || {\n scrollLeft: 0,\n scrollWidth: 0,\n clientWidth: 0\n };\n const {arrowRightDisabled, arrowLeftDisabled} = this.state;\n if (scrollLeft === 0 && !arrowLeftDisabled) {\n this.setState({\n arrowRightDisabled: false,\n arrowLeftDisabled: true\n });\n } else if (\n scrollWidth === scrollLeft + clientWidth &&\n !arrowRightDisabled\n ) {\n this.setState({\n arrowRightDisabled: true,\n arrowLeftDisabled: false\n });\n } else if (scrollLeft !== 0 && arrowLeftDisabled) {\n this.setState({\n arrowLeftDisabled: false\n });\n } else if (\n scrollWidth !== scrollLeft + clientWidth &&\n arrowRightDisabled\n ) {\n this.setState({\n arrowRightDisabled: false\n });\n }\n },\n 100,\n {\n trailing: true,\n leading: false\n }\n );\n\n constructor(props: TabsProps) {\n super(props);\n this.state = {\n isOverflow: false,\n arrowLeftDisabled: false,\n arrowRightDisabled: false,\n dragIndicator: null,\n editingIndex: null,\n editInputText: null,\n editOriginText: null\n };\n }\n\n componentDidMount() {\n this.computedWidth();\n if (this.navMain) {\n this.navMain.current?.addEventListener('wheel', this.handleWheel, {\n passive: false\n });\n this.checkArrowStatus();\n }\n }\n\n componentDidUpdate() {\n // 判断是否是由滚动触发的数据更新,如果是则不需要再次判断容器与内容的关系\n if (!this.scroll && !this.draging) {\n this.computedWidth();\n }\n this.scroll = false;\n }\n\n componentWillUnmount() {\n this.checkArrowStatus.cancel();\n }\n\n /**\n * 处理内容与容器之间的位置关系\n */\n computedWidth() {\n const {mode: dMode, tabsMode} = this.props;\n const mode = tabsMode || dMode;\n if (mode === 'vertical') {\n return;\n }\n \n const navMainRef = this.navMain.current;\n const clientWidth: number = navMainRef?.clientWidth || 0;\n const scrollWidth: number = navMainRef?.scrollWidth || 0;\n const isOverflow = scrollWidth > clientWidth;\n\n // 内容超出容器长度标记溢出\n if (isOverflow !== this.state.isOverflow) {\n this.setState({isOverflow});\n }\n\n // 正在拖动的不自动定位\n if (isOverflow && !this.draging) {\n this.showSelected();\n }\n }\n /**\n * 保证选中的tab始终显示在可视区域\n */\n showSelected(key?: string | number) {\n const {mode: dMode, tabsMode} = this.props;\n const {isOverflow} = this.state;\n const mode = tabsMode || dMode;\n if (mode === 'vertical' || !isOverflow) {\n return;\n }\n const {activeKey, children} = this.props;\n const currentKey = key !== undefined ? key : activeKey;\n const currentIndex = (children as any[])?.findIndex(\n (item: any) => item.props.eventKey === currentKey\n );\n const li = this.navMain.current?.children[0]?.children || [];\n const currentLi = li[currentIndex] as HTMLElement;\n const liOffsetLeft = currentLi?.offsetLeft;\n const liClientWidth = currentLi?.clientWidth;\n const scrollLeft = this.navMain.current?.scrollLeft || 0;\n const clientWidth = this.navMain.current?.clientWidth || 0;\n\n // 左边被遮住了\n if (scrollLeft > liOffsetLeft) {\n this.navMain.current?.scrollTo({\n left: liOffsetLeft,\n behavior: 'smooth'\n });\n }\n // 右边被遮住了\n if (liOffsetLeft + liClientWidth > scrollLeft + clientWidth) {\n this.navMain.current?.scrollTo({\n left: liOffsetLeft + liClientWidth - clientWidth,\n behavior: 'smooth'\n });\n }\n }\n\n handleSelect(key: string | number) {\n const {onSelect} = this.props;\n this.showSelected(key);\n setTimeout(() => {\n this.checkArrowStatus();\n }, 500);\n onSelect && onSelect(key);\n }\n\n @autobind\n handleStartEdit(index: number, title: string) {\n this.setState({\n editingIndex: index,\n editInputText: title,\n editOriginText: title\n });\n }\n\n @autobind\n handleEditInputChange(e: React.ChangeEvent<HTMLInputElement>) {\n this.setState({\n editInputText: e.currentTarget.value\n })\n }\n\n @autobind\n handleEdit() {\n let {editingIndex, editInputText, editOriginText} = this.state;\n const {onEdit} = this.props;\n\n\n this.setState({\n editingIndex: null,\n editInputText: null,\n editOriginText: null\n });\n\n onEdit\n && (editInputText = String(editInputText).trim())\n && (editInputText !== editOriginText)\n && onEdit(editingIndex, editInputText);\n }\n\n @autobind\n dragTipRef(ref: any) {\n if (!this.dragTip && ref) {\n this.initDragging();\n } else if (this.dragTip && !ref) {\n this.destroyDragging();\n }\n\n this.dragTip = ref;\n }\n\n @autobind\n destroyDragging() {\n this.sortable && this.sortable.destroy();\n }\n\n @autobind\n initDragging() {\n const {classPrefix: ns, onDragChange} = this.props;\n const dom = findDOMNode(this) as HTMLElement;\n\n this.sortable = new Sortable(\n dom.querySelector(`.${ns}Tabs-links`) as HTMLElement,\n {\n group: this.id,\n animation: 250,\n handle: `.${ns}Tabs-link`,\n ghostClass: `${ns}Tabs-link--dragging`,\n onStart: () => {\n this.draging = true;\n },\n onEnd: (e: any) => {\n // 没有移动\n if (e.newIndex === e.oldIndex) {\n return;\n }\n\n // 再交换回来\n const parent = e.to as HTMLElement;\n if (e.oldIndex < parent.childNodes.length - 1) {\n parent.insertBefore(e.item, parent.childNodes[\n e.oldIndex > e.newIndex ? e.oldIndex + 1 : e.oldIndex\n ]);\n }\n else {\n parent.appendChild(e.item);\n }\n\n setTimeout(() => {\n this.draging = false;\n });\n\n onDragChange && onDragChange(e);\n }\n }\n );\n }\n\n handleArrow(type: 'left' | 'right') {\n const {scrollLeft, scrollWidth, clientWidth} = this.navMain.current || {\n scrollLeft: 0,\n scrollWidth: 0,\n clientWidth: 0\n };\n if (type === 'left' && scrollLeft > 0) {\n this.navMain.current?.scrollTo({\n left: 0,\n behavior: 'smooth'\n });\n this.setState({\n arrowRightDisabled: false,\n arrowLeftDisabled: true\n });\n } else if (type === 'right' && scrollWidth > scrollLeft + clientWidth) {\n this.navMain.current?.scrollTo({\n left: this.navMain.current?.scrollWidth,\n behavior: 'smooth'\n });\n this.setState({\n arrowRightDisabled: true,\n arrowLeftDisabled: false\n });\n }\n this.scroll = true;\n }\n\n /**\n * 监听导航上的滚动事件\n */\n @autobind\n handleWheel(e: WheelEvent) {\n const {deltaY, deltaX} = e;\n const absX = Math.abs(deltaX);\n const absY = Math.abs(deltaY);\n\n // 当鼠标上下滚动时转换为左右滚动\n if (absY > absX) {\n this.navMain.current?.scrollTo({\n left: this.navMain.current?.scrollLeft + deltaY\n });\n e.preventDefault();\n }\n this.checkArrowStatus();\n this.scroll = true;\n }\n\n renderNav(child: any, index: number) {\n if (!child) {\n return;\n }\n\n const {\n classnames: cx,\n activeKey: activeKeyProp,\n mode,\n closable,\n draggable,\n showTip,\n showTipClassName,\n editable\n } = this.props;\n\n const {\n eventKey,\n disabled,\n icon,\n iconPosition,\n title,\n toolbar,\n tabClassName,\n closable: tabClosable\n } = child.props;\n\n\n const {editingIndex, editInputText} = this.state;\n\n const activeKey =\n activeKeyProp === undefined && index === 0 ? eventKey : activeKeyProp;\n\n const iconElement = generateIcon(cx, icon, 'Icon');\n\n const link = (\n <a>\n {\n editable && editingIndex === index ? (\n <input\n className={cx('Tabs-link-edit')}\n type=\"text\"\n value={editInputText}\n autoFocus\n onFocus={(e: React.ChangeEvent<HTMLInputElement>) => e.currentTarget.select()}\n onChange={this.handleEditInputChange}\n onBlur={this.handleEdit}\n onKeyPress={(e: React.KeyboardEvent) => e && e.key === 'Enter' && this.handleEdit()}\n />\n ) : (\n <>\n {icon ? (\n iconPosition === 'right' ? (\n <>\n {title} {iconElement}\n </>\n ) : (\n <>\n {iconElement} {title}\n </>\n )\n ) : (\n title\n )}\n {React.isValidElement(toolbar) ? toolbar : null}\n </>\n )\n }\n </a>\n );\n\n return (\n <li\n className={cx(\n 'Tabs-link',\n activeKey === eventKey ? 'is-active' : '',\n disabled ? 'is-disabled' : '',\n tabClassName\n )}\n key={eventKey ?? index}\n onClick={() => (disabled ? '' : this.handleSelect(eventKey))}\n onDoubleClick={() => {\n editable && this.handleStartEdit(index, title);\n }}\n >\n {\n showTip ? (\n <TooltipWrapper\n placement='top'\n tooltip={title}\n trigger='hover'\n tooltipClassName={showTipClassName}\n >\n {link}\n </TooltipWrapper>\n ) : link\n }\n\n {\n (tabClosable ?? closable) && (\n <span className={cx('Tabs-link-close')} onClick={(e: React.MouseEvent) => {\n e.stopPropagation();\n this.props.onClose && this.props.onClose(index, eventKey ?? index);\n }}>\n <Icon icon=\"close\" className={cx('Tabs-link-close-icon')} />\n </span>\n )\n }\n {mode === 'chrome' ? (\n <div className=\"chrome-tab-background\">\n <svg viewBox=\"0 0 124 124\" className=\"chrome-tab-background--right\">\n <path d=\"M0,0 C0,68.483309 55.516691,124 124,124 L0,124 L0,-1 C0.00132103964,-0.667821298 0,-0.334064922 0,0 Z\"></path>\n </svg>\n <svg viewBox=\"0 0 124 124\" className=\"chrome-tab-background--left\">\n <path d=\"M124,0 L124,125 L0,125 L0,125 C68.483309,125 124,69.483309 124,1 L123.992,0 L124,0 Z\"></path>\n </svg>\n </div>\n ) : null}\n </li>\n );\n }\n\n renderTab(child: any, index: number) {\n if (!child) {\n return;\n }\n\n const {activeKey: activeKeyProp, classnames} = this.props;\n const eventKey = child.props.eventKey;\n const activeKey =\n activeKeyProp === undefined && index === 0 ? eventKey : activeKeyProp;\n\n return React.cloneElement(child, {\n ...child.props,\n key: eventKey,\n classnames: classnames,\n activeKey: activeKey\n });\n }\n\n renderArrow(type: 'left' | 'right') {\n const {mode: dMode, tabsMode} = this.props;\n const mode = tabsMode || dMode;\n if (mode === 'vertical') {\n return;\n }\n const {classnames: cx} = this.props;\n const {isOverflow, arrowLeftDisabled, arrowRightDisabled} = this.state;\n const disabled = type === 'left' ? arrowLeftDisabled : arrowRightDisabled;\n return isOverflow ? (\n <div\n onClick={() => this.handleArrow(type)}\n className={cx(\n 'Tabs-linksContainer-arrow',\n 'Tabs-linksContainer-arrow--' + type,\n disabled && 'Tabs-linksContainer-arrow--disabled'\n )}\n >\n <i className={'iconfont icon-arrow-' + type} />\n </div>\n ) : null;\n }\n\n handleAddBtn() {\n const {onAdd} = this.props;\n\n onAdd && onAdd();\n }\n\n render() {\n const {\n classnames: cx,\n contentClassName,\n className,\n mode: dMode,\n tabsMode,\n children,\n additionBtns,\n toolbar,\n linksClassName,\n addable,\n draggable\n } = this.props;\n\n const {isOverflow} = this.state;\n if (!Array.isArray(children)) {\n return null;\n }\n\n const mode = tabsMode || dMode;\n\n return (\n <div\n className={cx(\n `Tabs`,\n {\n [`Tabs--${mode}`]: mode\n },\n className\n )}\n >\n {\n !['vertical', 'chrome'].includes(mode) ? (\n <div className={cx('Tabs-linksContainer-wrapper')}>\n <div\n className={cx(\n 'Tabs-linksContainer',\n isOverflow && 'Tabs-linksContainer--overflow'\n )}\n >\n {this.renderArrow('left')}\n <div className={cx('Tabs-linksContainer-main')} ref={this.navMain}>\n <ul className={cx('Tabs-links', linksClassName)} role=\"tablist\">\n {children.map((tab, index) => this.renderNav(tab, index))}\n {additionBtns}\n {toolbar}\n </ul>\n </div>\n {this.renderArrow('right')}\n </div>\n {\n addable && (\n <div className={cx('Tabs-addable')} onClick={() => this.handleAddBtn()}>\n <Icon icon=\"plus\" className={cx('Tabs-addable-icon')} />\n 增加\n </div>\n )\n }\n </div>\n ) : (\n <div className={cx('Tabs-linksWrapper')}>\n <ul className={cx('Tabs-links', linksClassName)} role=\"tablist\">\n {children.map((tab, index) => this.renderNav(tab, index))}\n {additionBtns}\n {toolbar}\n </ul>\n </div>\n )}\n\n <div className={cx('Tabs-content', contentClassName)}>\n {children.map((child, index) => {\n return this.renderTab(child, index);\n })}\n </div>\n {\n draggable && (\n <div\n className={cx('Tabs-drag-tip')}\n ref={this.dragTipRef}\n />\n )\n }\n </div>\n );\n }\n}\n\nconst ThemedTabs = themeable(\n uncontrollable(Tabs, {\n activeKey: 'onSelect'\n })\n);\n\nexport default ThemedTabs as typeof ThemedTabs & {\n Tab: typeof Tab;\n};\n"
11
+ "/**\n * @file Tabs\n * @description 选项卡\n * @author fex\n */\n\nimport React from 'react';\nimport {Schema} from '../types';\nimport Transition, {ENTERED, ENTERING} from 'react-transition-group/Transition';\nimport {themeable, ThemeProps} from '../theme';\nimport {uncontrollable} from 'uncontrollable';\nimport {generateIcon} from '../utils/icon';\nimport {SchemaClassName} from '../Schema';\nimport {autobind, guid} from '../utils/helper';\nimport {Icon} from './icons';\nimport debounce from 'lodash/debounce';\nimport {findDOMNode} from 'react-dom';\nimport TooltipWrapper, {TooltipObject, Trigger} from './TooltipWrapper';\nimport {resizeSensor} from '../utils/resize-sensor';\n\nimport Sortable from 'sortablejs';\n\nconst transitionStyles: {\n [propName: string]: string;\n} = {\n [ENTERING]: 'in',\n [ENTERED]: 'in'\n};\n\nexport type TabsMode = '' | 'line' | 'card' | 'radio' | 'vertical' | 'chrome' | 'simple' | 'strong' | 'tiled' |'sidebar';\n\nexport interface TabProps extends ThemeProps {\n title?: string | React.ReactNode; // 标题\n icon?: string;\n iconPosition?: 'left' | 'right';\n disabled?: boolean | string;\n eventKey: string | number;\n tab?: Schema;\n className?: string;\n activeKey?: string | number;\n reload?: boolean;\n mountOnEnter?: boolean;\n unmountOnExit?: boolean;\n toolbar?: React.ReactNode;\n}\n\nclass TabComponent extends React.PureComponent<TabProps> {\n contentDom: any;\n contentRef = (ref: any) => (this.contentDom = ref);\n\n render() {\n const {\n classnames: cx,\n mountOnEnter,\n reload,\n unmountOnExit,\n eventKey,\n activeKey,\n children,\n className\n } = this.props;\n\n return (\n <Transition\n in={activeKey === eventKey}\n mountOnEnter={mountOnEnter}\n unmountOnExit={typeof reload === 'boolean' ? reload : unmountOnExit}\n timeout={500}\n >\n {(status: string) => {\n if (status === ENTERING) {\n this.contentDom.offsetWidth;\n }\n return (\n <div\n ref={this.contentRef}\n className={cx(\n transitionStyles[status],\n activeKey === eventKey ? 'is-active' : '',\n 'Tabs-pane',\n className\n )}\n >\n {children}\n </div>\n );\n }}\n </Transition>\n );\n }\n}\n\nexport const Tab = themeable(TabComponent);\n\nexport interface TabsProps extends ThemeProps {\n mode: TabsMode;\n tabsMode?: TabsMode;\n additionBtns?: React.ReactNode;\n onSelect?: (key: string | number) => void;\n activeKey?: string | number;\n contentClassName: string;\n linksClassName?: SchemaClassName;\n className?: string;\n tabs?: Array<TabProps>;\n tabRender?: (tab: TabProps, props?: TabsProps) => JSX.Element;\n toolbar?: React.ReactNode;\n addable?: boolean; // 是否显示增加按钮\n onAdd?: () => void;\n closable?: boolean;\n onClose?: (index: number, key: string | number) => void;\n draggable?: boolean;\n onDragChange?: (e: any) => void;\n showTip?: boolean;\n showTipClassName?: string;\n scrollable?: boolean; // 属性废弃,为了兼容暂且保留\n editable?: boolean;\n onEdit?: (index: number, text: string) => void;\n sidePosition?: 'left' | 'right';\n addBtnText?: string;\n}\n\nexport interface IDragInfo {\n nodeId: string;\n}\n\nexport class Tabs extends React.Component<TabsProps, any> {\n static defaultProps: Pick<TabsProps,\n 'mode' | 'contentClassName' | 'showTip' | 'showTipClassName' | 'sidePosition' | 'addBtnText'\n > = {\n mode: '',\n contentClassName: '',\n showTip: false,\n showTipClassName: '',\n sidePosition: 'left',\n addBtnText: '增加'\n };\n\n static Tab = Tab;\n navMain = React.createRef<HTMLUListElement>(); // HTMLDivElement\n scroll: boolean = false;\n sortable?: Sortable;\n dragTip?: HTMLElement;\n id: string = guid();\n draging: boolean = false;\n toDispose: Array<() => void> = [];\n resizeDom = React.createRef<HTMLDivElement>();\n\n checkArrowStatus = debounce(\n () => {\n const {scrollLeft, scrollWidth, clientWidth} = this.navMain.current || {\n scrollLeft: 0,\n scrollWidth: 0,\n clientWidth: 0\n };\n const {arrowRightDisabled, arrowLeftDisabled} = this.state;\n if (scrollLeft === 0 && !arrowLeftDisabled) {\n this.setState({\n arrowRightDisabled: false,\n arrowLeftDisabled: true\n });\n } else if (\n scrollWidth === scrollLeft + clientWidth &&\n !arrowRightDisabled\n ) {\n this.setState({\n arrowRightDisabled: true,\n arrowLeftDisabled: false\n });\n } else if (scrollLeft !== 0 && arrowLeftDisabled) {\n this.setState({\n arrowLeftDisabled: false\n });\n } else if (\n scrollWidth !== scrollLeft + clientWidth &&\n arrowRightDisabled\n ) {\n this.setState({\n arrowRightDisabled: false\n });\n }\n },\n 100,\n {\n trailing: true,\n leading: false\n }\n );\n\n constructor(props: TabsProps) {\n super(props);\n this.state = {\n isOverflow: false,\n arrowLeftDisabled: false,\n arrowRightDisabled: false,\n dragIndicator: null,\n editingIndex: null,\n editInputText: null,\n editOriginText: null\n };\n }\n\n componentDidMount() {\n this.computedWidth();\n if (this.navMain) {\n this.navMain.current?.addEventListener('wheel', this.handleWheel, {\n passive: false\n });\n this.checkArrowStatus();\n }\n\n this.resizeDom?.current && this.toDispose.push(\n resizeSensor(this.resizeDom.current as HTMLElement, () =>\n this.computedWidth()\n )\n );\n }\n\n componentDidUpdate() {\n // 判断是否是由滚动触发的数据更新,如果是则不需要再次判断容器与内容的关系\n if (!this.scroll && !this.draging) {\n this.computedWidth();\n }\n this.scroll = false;\n }\n\n componentWillUnmount() {\n this.checkArrowStatus.cancel();\n this.toDispose.forEach(fn => fn());\n this.toDispose = [];\n }\n\n /**\n * 处理内容与容器之间的位置关系\n */\n computedWidth() {\n const {mode: dMode, tabsMode} = this.props;\n const mode = tabsMode || dMode;\n if (['vertical', 'sidebar'].includes(mode)) {\n return;\n }\n \n const navMainRef = this.navMain.current;\n const clientWidth: number = navMainRef?.clientWidth || 0;\n const scrollWidth: number = navMainRef?.scrollWidth || 0;\n const isOverflow = scrollWidth > clientWidth;\n\n // 内容超出容器长度标记溢出\n if (isOverflow !== this.state.isOverflow) {\n this.setState({isOverflow});\n }\n\n // 正在拖动的不自动定位\n if (isOverflow && !this.draging) {\n this.showSelected();\n }\n }\n /**\n * 保证选中的tab始终显示在可视区域\n */\n showSelected(key?: string | number) {\n const {mode: dMode, tabsMode} = this.props;\n const {isOverflow} = this.state;\n const mode = tabsMode || dMode;\n if (['vertical', 'sidebar'].includes(mode) || !isOverflow) {\n return;\n }\n const {activeKey, children} = this.props;\n const currentKey = key !== undefined ? key : activeKey;\n const currentIndex = (children as any[])?.findIndex(\n (item: any) => item.props.eventKey === currentKey\n );\n const li = this.navMain.current?.children || [];\n const currentLi = li[currentIndex] as HTMLElement;\n const liOffsetLeft = currentLi?.offsetLeft;\n const liClientWidth = currentLi?.clientWidth;\n const scrollLeft = this.navMain.current?.scrollLeft || 0;\n const clientWidth = this.navMain.current?.clientWidth || 0;\n\n // 左边被遮住了\n if (scrollLeft > liOffsetLeft) {\n this.navMain.current?.scrollTo({\n left: liOffsetLeft,\n behavior: 'smooth'\n });\n }\n // 右边被遮住了\n if (liOffsetLeft + liClientWidth > scrollLeft + clientWidth) {\n this.navMain.current?.scrollTo({\n left: liOffsetLeft + liClientWidth - clientWidth,\n behavior: 'smooth'\n });\n }\n }\n\n handleSelect(key: string | number) {\n const {onSelect} = this.props;\n this.showSelected(key);\n setTimeout(() => {\n this.checkArrowStatus();\n }, 500);\n onSelect && onSelect(key);\n }\n\n @autobind\n handleStartEdit(index: number, title: string) {\n this.setState({\n editingIndex: index,\n editInputText: title,\n editOriginText: title\n });\n }\n\n @autobind\n handleEditInputChange(e: React.ChangeEvent<HTMLInputElement>) {\n this.setState({\n editInputText: e.currentTarget.value\n })\n }\n\n @autobind\n handleEdit() {\n let {editingIndex, editInputText, editOriginText} = this.state;\n const {onEdit} = this.props;\n\n\n this.setState({\n editingIndex: null,\n editInputText: null,\n editOriginText: null\n });\n\n onEdit\n && (editInputText = String(editInputText).trim())\n && (editInputText !== editOriginText)\n && onEdit(editingIndex, editInputText);\n }\n\n @autobind\n dragTipRef(ref: any) {\n if (!this.dragTip && ref) {\n this.initDragging();\n } else if (this.dragTip && !ref) {\n this.destroyDragging();\n }\n\n this.dragTip = ref;\n }\n\n @autobind\n destroyDragging() {\n this.sortable && this.sortable.destroy();\n }\n\n @autobind\n initDragging() {\n const {classPrefix: ns, onDragChange} = this.props;\n const dom = findDOMNode(this) as HTMLElement;\n\n this.sortable = new Sortable(\n dom.querySelector(`.${ns}Tabs-links`) as HTMLElement,\n {\n group: this.id,\n animation: 250,\n handle: `.${ns}Tabs-link`,\n ghostClass: `${ns}Tabs-link--dragging`,\n onStart: () => {\n this.draging = true;\n },\n onEnd: (e: any) => {\n // 没有移动\n if (e.newIndex === e.oldIndex) {\n return;\n }\n\n // 再交换回来\n const parent = e.to as HTMLElement;\n if (e.oldIndex < parent.childNodes.length - 1) {\n parent.insertBefore(e.item, parent.childNodes[\n e.oldIndex > e.newIndex ? e.oldIndex + 1 : e.oldIndex\n ]);\n }\n else {\n parent.appendChild(e.item);\n }\n\n setTimeout(() => {\n this.draging = false;\n });\n\n onDragChange && onDragChange(e);\n }\n }\n );\n }\n\n handleArrow(type: 'left' | 'right') {\n const {scrollLeft, scrollWidth, clientWidth} = this.navMain.current || {\n scrollLeft: 0,\n scrollWidth: 0,\n clientWidth: 0\n };\n if (type === 'left' && scrollLeft > 0) {\n this.navMain.current?.scrollTo({\n left: 0,\n behavior: 'smooth'\n });\n this.setState({\n arrowRightDisabled: false,\n arrowLeftDisabled: true\n });\n } else if (type === 'right' && scrollWidth > scrollLeft + clientWidth) {\n this.navMain.current?.scrollTo({\n left: this.navMain.current?.scrollWidth,\n behavior: 'smooth'\n });\n this.setState({\n arrowRightDisabled: true,\n arrowLeftDisabled: false\n });\n }\n this.scroll = true;\n }\n\n /**\n * 监听导航上的滚动事件\n */\n @autobind\n handleWheel(e: WheelEvent) {\n const {deltaY, deltaX} = e;\n const absX = Math.abs(deltaX);\n const absY = Math.abs(deltaY);\n\n // 当鼠标上下滚动时转换为左右滚动\n if (absY > absX) {\n this.navMain.current?.scrollTo({\n left: this.navMain.current?.scrollLeft + deltaY\n });\n e.preventDefault();\n }\n this.checkArrowStatus();\n this.scroll = true;\n }\n\n renderNav(child: any, index: number) {\n if (!child) {\n return;\n }\n\n const {\n classnames: cx,\n activeKey: activeKeyProp,\n mode,\n closable,\n draggable,\n showTip,\n showTipClassName,\n editable\n } = this.props;\n\n const {\n eventKey,\n disabled,\n icon,\n iconPosition,\n title,\n toolbar,\n tabClassName,\n closable: tabClosable\n } = child.props;\n\n\n const {editingIndex, editInputText} = this.state;\n\n const activeKey =\n activeKeyProp === undefined && index === 0 ? eventKey : activeKeyProp;\n\n const iconElement = generateIcon(cx, icon, 'Icon');\n\n const link = (\n <a>\n {\n editable && editingIndex === index ? (\n <input\n className={cx('Tabs-link-edit')}\n type=\"text\"\n value={editInputText}\n autoFocus\n onFocus={(e: React.ChangeEvent<HTMLInputElement>) => e.currentTarget.select()}\n onChange={this.handleEditInputChange}\n onBlur={this.handleEdit}\n onKeyPress={(e: React.KeyboardEvent) => e && e.key === 'Enter' && this.handleEdit()}\n />\n ) : (\n <>\n {icon ? (\n iconPosition === 'right' ? (\n <>\n {title} {iconElement}\n </>\n ) : (\n <>\n {iconElement} {title}\n </>\n )\n ) : (\n title\n )}\n {React.isValidElement(toolbar) ? toolbar : null}\n </>\n )\n }\n </a>\n );\n\n return (\n <li\n className={cx(\n 'Tabs-link',\n activeKey === eventKey ? 'is-active' : '',\n disabled ? 'is-disabled' : '',\n tabClassName\n )}\n key={eventKey ?? index}\n onClick={() => (disabled ? '' : this.handleSelect(eventKey))}\n onDoubleClick={() => {\n editable && this.handleStartEdit(index, title);\n }}\n >\n {\n showTip ? (\n <TooltipWrapper\n placement='top'\n tooltip={title}\n trigger='hover'\n tooltipClassName={showTipClassName}\n >\n {link}\n </TooltipWrapper>\n ) : link\n }\n\n {\n (tabClosable ?? closable) && (\n <span className={cx('Tabs-link-close')} onClick={(e: React.MouseEvent) => {\n e.stopPropagation();\n this.props.onClose && this.props.onClose(index, eventKey ?? index);\n }}>\n <Icon icon=\"close\" className={cx('Tabs-link-close-icon')} />\n </span>\n )\n }\n {mode === 'chrome' ? (\n <div className=\"chrome-tab-background\">\n <svg viewBox=\"0 0 124 124\" className=\"chrome-tab-background--right\">\n <path d=\"M0,0 C0,68.483309 55.516691,124 124,124 L0,124 L0,-1 C0.00132103964,-0.667821298 0,-0.334064922 0,0 Z\"></path>\n </svg>\n <svg viewBox=\"0 0 124 124\" className=\"chrome-tab-background--left\">\n <path d=\"M124,0 L124,125 L0,125 L0,125 C68.483309,125 124,69.483309 124,1 L123.992,0 L124,0 Z\"></path>\n </svg>\n </div>\n ) : null}\n </li>\n );\n }\n\n renderTab(child: any, index: number) {\n if (!child) {\n return;\n }\n\n const {activeKey: activeKeyProp, classnames} = this.props;\n const eventKey = child.props.eventKey;\n const activeKey =\n activeKeyProp === undefined && index === 0 ? eventKey : activeKeyProp;\n\n return React.cloneElement(child, {\n ...child.props,\n key: eventKey,\n classnames: classnames,\n activeKey: activeKey\n });\n }\n\n renderArrow(type: 'left' | 'right') {\n const {mode: dMode, tabsMode} = this.props;\n const mode = tabsMode || dMode;\n if (['vertical', 'sidebar'].includes(mode)) {\n return;\n }\n const {classnames: cx} = this.props;\n const {isOverflow, arrowLeftDisabled, arrowRightDisabled} = this.state;\n const disabled = type === 'left' ? arrowLeftDisabled : arrowRightDisabled;\n return isOverflow ? (\n <div\n onClick={() => this.handleArrow(type)}\n className={cx(\n 'Tabs-linksContainer-arrow',\n 'Tabs-linksContainer-arrow--' + type,\n disabled && 'Tabs-linksContainer-arrow--disabled'\n )}\n >\n <i className={'iconfont icon-arrow-' + type} />\n </div>\n ) : null;\n }\n\n handleAddBtn() {\n const {onAdd} = this.props;\n\n onAdd && onAdd();\n }\n\n render() {\n const {\n classnames: cx,\n contentClassName,\n className,\n mode: dMode,\n tabsMode,\n children,\n additionBtns,\n toolbar,\n linksClassName,\n addable,\n draggable,\n sidePosition,\n addBtnText\n } = this.props;\n\n const {isOverflow} = this.state;\n if (!Array.isArray(children)) {\n return null;\n }\n\n const mode = tabsMode || dMode;\n\n const toolButtons = (\n <>\n {addable && (\n <div className={cx('Tabs-addable')} onClick={() => this.handleAddBtn()}>\n <Icon icon=\"plus\" className={cx('Tabs-addable-icon')} />\n {addBtnText}\n </div>\n )}\n {toolbar}\n </>\n );\n\n return (\n <div\n className={cx(\n `Tabs`,\n {\n [`Tabs--${mode}`]: mode,\n [`sidebar--${sidePosition}`]: mode === 'sidebar'\n },\n className\n )}\n >\n {\n !['vertical', 'sidebar', 'chrome'].includes(mode) ? (\n <div\n className={cx('Tabs-linksContainer-wrapper', toolbar && 'Tabs-linksContainer-wrapper--toolbar')}\n ref={this.resizeDom}\n >\n <div\n className={cx(\n 'Tabs-linksContainer',\n isOverflow && 'Tabs-linksContainer--overflow'\n )}\n >\n {this.renderArrow('left')}\n <div className={cx('Tabs-linksContainer-main')}>\n <ul className={cx('Tabs-links', linksClassName)} role=\"tablist\" ref={this.navMain}>\n {children.map((tab, index) => this.renderNav(tab, index))}\n {additionBtns}\n {\n !isOverflow && toolButtons\n }\n </ul>\n </div>\n {this.renderArrow('right')}\n </div>\n {\n isOverflow && toolButtons\n }\n </div>\n ) : (\n <div className={cx('Tabs-linksWrapper')}>\n <ul className={cx('Tabs-links', linksClassName)} role=\"tablist\">\n {children.map((tab, index) => this.renderNav(tab, index))}\n {additionBtns}\n {toolbar}\n </ul>\n </div>\n )}\n\n <div className={cx('Tabs-content', contentClassName)}>\n {children.map((child, index) => {\n return this.renderTab(child, index);\n })}\n </div>\n {\n draggable && (\n <div\n className={cx('Tabs-drag-tip')}\n ref={this.dragTipRef}\n />\n )\n }\n </div>\n );\n }\n}\n\nconst ThemedTabs = themeable(\n uncontrollable(Tabs, {\n activeKey: 'onSelect'\n })\n);\n\nexport default ThemedTabs as typeof ThemedTabs & {\n Tab: typeof Tab;\n};\n"
12
12
  ]
13
13
  }
@@ -15,11 +15,15 @@ interface TooltipProps extends React.HTMLProps<HTMLDivElement> {
15
15
  style?: any;
16
16
  arrowProps?: any;
17
17
  placement?: string;
18
+ showArrow?: boolean;
19
+ tooltipTheme?: string;
18
20
  [propName: string]: any;
19
21
  }
20
22
  export declare class Tooltip extends React.Component<TooltipProps> {
21
23
  static defaultProps: {
22
24
  className: string;
25
+ tooltipTheme: string;
26
+ showArrow: boolean;
23
27
  };
24
28
  render(): JSX.Element;
25
29
  }
@@ -15,14 +15,16 @@ var Tooltip = /** @class */ (function (_super) {
15
15
  return _super !== null && _super.apply(this, arguments) || this;
16
16
  }
17
17
  Tooltip.prototype.render = function () {
18
- var _a = this.props, ns = _a.classPrefix, className = _a.className, title = _a.title, children = _a.children, arrowProps = _a.arrowProps, style = _a.style, placement = _a.placement, arrowOffsetLeft = _a.arrowOffsetLeft, arrowOffsetTop = _a.arrowOffsetTop, positionLeft = _a.positionLeft, positionTop = _a.positionTop, cx = _a.classnames, activePlacement = _a.activePlacement, onMouseEnter = _a.onMouseEnter, onMouseLeave = _a.onMouseLeave, rest = (0, tslib_1.__rest)(_a, ["classPrefix", "className", "title", "children", "arrowProps", "style", "placement", "arrowOffsetLeft", "arrowOffsetTop", "positionLeft", "positionTop", "classnames", "activePlacement", "onMouseEnter", "onMouseLeave"]);
19
- return (react_1.default.createElement("div", (0, tslib_1.__assign)({}, rest, { className: cx("Tooltip", activePlacement ? "Tooltip--".concat(activePlacement) : '', className), style: style, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave, role: "tooltip" }),
20
- react_1.default.createElement("div", (0, tslib_1.__assign)({ className: cx("Tooltip-arrow") }, arrowProps)),
18
+ var _a = this.props, ns = _a.classPrefix, className = _a.className, tooltipTheme = _a.tooltipTheme, title = _a.title, children = _a.children, arrowProps = _a.arrowProps, style = _a.style, placement = _a.placement, arrowOffsetLeft = _a.arrowOffsetLeft, arrowOffsetTop = _a.arrowOffsetTop, positionLeft = _a.positionLeft, positionTop = _a.positionTop, cx = _a.classnames, activePlacement = _a.activePlacement, showArrow = _a.showArrow, onMouseEnter = _a.onMouseEnter, onMouseLeave = _a.onMouseLeave, rest = (0, tslib_1.__rest)(_a, ["classPrefix", "className", "tooltipTheme", "title", "children", "arrowProps", "style", "placement", "arrowOffsetLeft", "arrowOffsetTop", "positionLeft", "positionTop", "classnames", "activePlacement", "showArrow", "onMouseEnter", "onMouseLeave"]);
19
+ return (react_1.default.createElement("div", (0, tslib_1.__assign)({}, rest, { className: cx("Tooltip", activePlacement ? "Tooltip--".concat(activePlacement) : '', className, "Tooltip--".concat(tooltipTheme === 'dark' ? 'dark' : 'light')), style: style, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave, role: "tooltip" }),
20
+ showArrow ? (react_1.default.createElement("div", (0, tslib_1.__assign)({ className: cx("Tooltip-arrow") }, arrowProps))) : null,
21
21
  title ? react_1.default.createElement("div", { className: cx('Tooltip-title') }, title) : null,
22
22
  react_1.default.createElement("div", { className: cx('Tooltip-body') }, children)));
23
23
  };
24
24
  Tooltip.defaultProps = {
25
- className: ''
25
+ className: '',
26
+ tooltipTheme: 'light',
27
+ showArrow: true
26
28
  };
27
29
  return Tooltip;
28
30
  }(react_1.default.Component));
@@ -6,8 +6,8 @@
6
6
  "/src/components/Tooltip.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": ";AAAA;;;;GAIG;;;;AAEH,6DAA0B;AAG1B,kCAAiD;AAcjD;IAA6B,wCAA6B;IAA1D;;IA4CA,CAAC;IAvCC,wBAAM,GAAN;QACE,IAAM,KAiBF,IAAI,CAAC,KAAK,EAhBC,EAAE,iBAAA,EACf,SAAS,eAAA,EACT,KAAK,WAAA,EACL,QAAQ,cAAA,EACR,UAAU,gBAAA,EACV,KAAK,WAAA,EACL,SAAS,eAAA,EACT,eAAe,qBAAA,EACf,cAAc,oBAAA,EACd,YAAY,kBAAA,EACZ,WAAW,iBAAA,EACC,EAAE,gBAAA,EACd,eAAe,qBAAA,EACf,YAAY,kBAAA,EACZ,YAAY,kBAAA,EACT,IAAI,2BAhBH,0NAiBL,CAAa,CAAC;QAEf,OAAO,CACL,+DACM,IAAI,IACR,SAAS,EAAE,EAAE,CACX,SAAS,EACT,eAAe,CAAC,CAAC,CAAC,mBAAY,eAAe,CAAE,CAAC,CAAC,CAAC,EAAE,EACpD,SAAS,CACV,EACD,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAC,SAAS;YAEd,6DAAK,SAAS,EAAE,EAAE,CAAC,eAAe,CAAC,IAAM,UAAU,EAAI;YACtD,KAAK,CAAC,CAAC,CAAC,uCAAK,SAAS,EAAE,EAAE,CAAC,eAAe,CAAC,IAAG,KAAK,CAAO,CAAC,CAAC,CAAC,IAAI;YAClE,uCAAK,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,IAAG,QAAQ,CAAO,CAChD,CACP,CAAC;IACJ,CAAC;IA1CM,oBAAY,GAAG;QACpB,SAAS,EAAE,EAAE;KACd,CAAC;IAyCJ,cAAC;CAAA,AA5CD,CAA6B,eAAK,CAAC,SAAS,GA4C3C;AA5CY,0BAAO;AA8CpB,kBAAe,IAAA,iBAAS,EAAC,OAAO,CAAC,CAAC",
9
+ "mappings": ";AAAA;;;;GAIG;;;;AAEH,6DAA0B;AAG1B,kCAAiD;AAgBjD;IAA6B,wCAA6B;IAA1D;;IAmDA,CAAC;IA5CC,wBAAM,GAAN;QACE,IAAM,KAmBF,IAAI,CAAC,KAAK,EAlBC,EAAE,iBAAA,EACf,SAAS,eAAA,EACT,YAAY,kBAAA,EACZ,KAAK,WAAA,EACL,QAAQ,cAAA,EACR,UAAU,gBAAA,EACV,KAAK,WAAA,EACL,SAAS,eAAA,EACT,eAAe,qBAAA,EACf,cAAc,oBAAA,EACd,YAAY,kBAAA,EACZ,WAAW,iBAAA,EACC,EAAE,gBAAA,EACd,eAAe,qBAAA,EACf,SAAS,eAAA,EACT,YAAY,kBAAA,EACZ,YAAY,kBAAA,EACT,IAAI,2BAlBH,uPAmBL,CAAa,CAAC;QAEf,OAAO,CACL,+DACM,IAAI,IACR,SAAS,EAAE,EAAE,CACX,SAAS,EACT,eAAe,CAAC,CAAC,CAAC,mBAAY,eAAe,CAAE,CAAC,CAAC,CAAC,EAAE,EACpD,SAAS,EACT,mBAAY,YAAY,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAE,CACzD,EACD,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAC,SAAS;YAEb,SAAS,CAAC,CAAC,CAAC,CACX,6DAAK,SAAS,EAAE,EAAE,CAAC,eAAe,CAAC,IAAM,UAAU,EAAI,CACxD,CAAC,CAAC,CAAC,IAAI;YACP,KAAK,CAAC,CAAC,CAAC,uCAAK,SAAS,EAAE,EAAE,CAAC,eAAe,CAAC,IAAG,KAAK,CAAO,CAAC,CAAC,CAAC,IAAI;YAClE,uCAAK,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,IAAG,QAAQ,CAAO,CAChD,CACP,CAAC;IACJ,CAAC;IAjDM,oBAAY,GAAG;QACpB,SAAS,EAAE,EAAE;QACb,YAAY,EAAE,OAAO;QACrB,SAAS,EAAE,IAAI;KAChB,CAAC;IA8CJ,cAAC;CAAA,AAnDD,CAA6B,eAAK,CAAC,SAAS,GAmD3C;AAnDY,0BAAO;AAqDpB,kBAAe,IAAA,iBAAS,EAAC,OAAO,CAAC,CAAC",
10
10
  "sourcesContent": [
11
- "/**\n * @file Tooltip\n * @description\n * @author fex\n */\n\nimport React from 'react';\nimport cx from 'classnames';\nimport {classPrefix, classnames} from '../themes/default';\nimport {ClassNamesFn, themeable} from '../theme';\n\ninterface TooltipProps extends React.HTMLProps<HTMLDivElement> {\n title?: string;\n classPrefix: string;\n classnames: ClassNamesFn;\n theme?: string;\n className?: string;\n style?: any;\n arrowProps?: any;\n placement?: string;\n [propName: string]: any;\n}\n\nexport class Tooltip extends React.Component<TooltipProps> {\n static defaultProps = {\n className: ''\n };\n\n render() {\n const {\n classPrefix: ns,\n className,\n title,\n children,\n arrowProps,\n style,\n placement,\n arrowOffsetLeft,\n arrowOffsetTop,\n positionLeft,\n positionTop,\n classnames: cx,\n activePlacement,\n onMouseEnter,\n onMouseLeave,\n ...rest\n } = this.props;\n\n return (\n <div\n {...rest}\n className={cx(\n `Tooltip`,\n activePlacement ? `Tooltip--${activePlacement}` : '',\n className\n )}\n style={style}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n role=\"tooltip\"\n >\n <div className={cx(`Tooltip-arrow`)} {...arrowProps} />\n {title ? <div className={cx('Tooltip-title')}>{title}</div> : null}\n <div className={cx('Tooltip-body')}>{children}</div>\n </div>\n );\n }\n}\n\nexport default themeable(Tooltip);\n"
11
+ "/**\n * @file Tooltip\n * @description\n * @author fex\n */\n\nimport React from 'react';\nimport cx from 'classnames';\nimport {classPrefix, classnames} from '../themes/default';\nimport {ClassNamesFn, themeable} from '../theme';\n\ninterface TooltipProps extends React.HTMLProps<HTMLDivElement> {\n title?: string;\n classPrefix: string;\n classnames: ClassNamesFn;\n theme?: string;\n className?: string;\n style?: any;\n arrowProps?: any;\n placement?: string;\n showArrow?: boolean;\n tooltipTheme?: string;\n [propName: string]: any;\n}\n\nexport class Tooltip extends React.Component<TooltipProps> {\n static defaultProps = {\n className: '',\n tooltipTheme: 'light',\n showArrow: true\n };\n\n render() {\n const {\n classPrefix: ns,\n className,\n tooltipTheme,\n title,\n children,\n arrowProps,\n style,\n placement,\n arrowOffsetLeft,\n arrowOffsetTop,\n positionLeft,\n positionTop,\n classnames: cx,\n activePlacement,\n showArrow,\n onMouseEnter,\n onMouseLeave,\n ...rest\n } = this.props;\n\n return (\n <div\n {...rest}\n className={cx(\n `Tooltip`,\n activePlacement ? `Tooltip--${activePlacement}` : '',\n className,\n `Tooltip--${tooltipTheme === 'dark' ? 'dark' : 'light'}`\n )}\n style={style}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n role=\"tooltip\"\n >\n {showArrow ? (\n <div className={cx(`Tooltip-arrow`)} {...arrowProps} />\n ) : null}\n {title ? <div className={cx('Tooltip-title')}>{title}</div> : null}\n <div className={cx('Tooltip-body')}>{children}</div>\n </div>\n );\n }\n}\n\nexport default themeable(Tooltip);\n"
12
12
  ]
13
13
  }
@@ -6,18 +6,78 @@
6
6
  /// <reference types="hoist-non-react-statics" />
7
7
  import React from 'react';
8
8
  import { ClassNamesFn } from '../theme';
9
+ export declare type Trigger = 'hover' | 'click' | 'focus';
9
10
  export interface TooltipObject {
11
+ /**
12
+ * 文字提示标题
13
+ */
10
14
  title?: string;
15
+ /**
16
+ * 文字提示内容
17
+ */
11
18
  content?: string;
12
- render?: () => JSX.Element;
13
- dom?: JSX.Element;
19
+ /**
20
+ * 浮层出现位置
21
+ */
22
+ placement?: 'top' | 'right' | 'bottom' | 'left';
23
+ /**
24
+ * 主题样式
25
+ */
26
+ tooltipTheme?: 'light' | 'dark';
27
+ /**
28
+ * 浮层位置相对偏移量
29
+ */
30
+ offset?: [number, number];
31
+ /**
32
+ * 内容区自定义样式
33
+ */
34
+ style?: React.CSSProperties;
35
+ /**
36
+ * 是否可以移入浮层中, 默认true
37
+ */
38
+ enterable?: boolean;
39
+ /**
40
+ * 是否展示浮层指向箭头
41
+ */
42
+ showArrow?: boolean;
43
+ /**
44
+ * 是否禁用提示
45
+ */
46
+ disabled?: boolean;
47
+ /**
48
+ * 浮层延迟显示时间, 单位 ms
49
+ */
50
+ mouseEnterDelay?: number;
51
+ /**
52
+ * 浮层延迟隐藏时间, 单位 ms
53
+ */
54
+ mouseLeaveDelay?: number;
55
+ /**
56
+ * 浮层内容可通过JSX渲染
57
+ */
58
+ children?: () => JSX.Element | JSX.Element;
59
+ /**
60
+ * 挂载容器元素
61
+ */
62
+ container?: React.ReactNode;
63
+ /**
64
+ * 浮层触发方式
65
+ */
66
+ trigger?: Trigger | Array<Trigger>;
67
+ /**
68
+ * 是否点击非内容区域关闭提示,默认为true
69
+ */
70
+ rootClose?: boolean;
71
+ /**
72
+ * 文字提示浮层CSS类名
73
+ */
74
+ tooltipClassName?: string;
14
75
  }
15
- export declare type Trigger = 'hover' | 'click' | 'focus';
16
76
  export interface TooltipWrapperProps {
77
+ tooltip?: string | TooltipObject;
17
78
  classPrefix: string;
18
79
  classnames: ClassNamesFn;
19
80
  placement: 'top' | 'right' | 'bottom' | 'left';
20
- tooltip?: string | TooltipObject;
21
81
  container?: React.ReactNode;
22
82
  trigger: Trigger | Array<Trigger>;
23
83
  rootClose: boolean;
@@ -25,6 +85,7 @@ export interface TooltipWrapperProps {
25
85
  delay: number;
26
86
  theme?: string;
27
87
  tooltipClassName?: string;
88
+ style?: React.CSSProperties;
28
89
  }
29
90
  interface TooltipWrapperState {
30
91
  show?: boolean;
@@ -40,6 +101,8 @@ export declare class TooltipWrapper extends React.Component<TooltipWrapperProps,
40
101
  show(): void;
41
102
  hide(): void;
42
103
  getChildProps(): any;
104
+ tooltipMouseEnter: (e: MouseEvent) => void;
105
+ tooltipMouseLeave: (e: MouseEvent) => void;
43
106
  handleShow(): void;
44
107
  handleHide(): void;
45
108
  handleFocus(e: any): void;
@@ -51,12 +114,12 @@ export declare class TooltipWrapper extends React.Component<TooltipWrapperProps,
51
114
  render(): React.ReactNode;
52
115
  }
53
116
  declare const _default: {
54
- new (props: (Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "tooltip" | "overlay" | "container" | "tooltipClassName"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps) | Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "tooltip" | "overlay" | "container" | "tooltipClassName"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>): {
117
+ new (props: (Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "style" | "tooltip" | "overlay" | "container" | "tooltipClassName"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps) | Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "style" | "tooltip" | "overlay" | "container" | "tooltipClassName"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>): {
55
118
  render(): JSX.Element;
56
119
  context: any;
57
- setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "tooltip" | "overlay" | "container" | "tooltipClassName"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
120
+ setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "style" | "tooltip" | "overlay" | "container" | "tooltipClassName"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
58
121
  forceUpdate(callback?: (() => void) | undefined): void;
59
- readonly props: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "tooltip" | "overlay" | "container" | "tooltipClassName"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps> & Readonly<{
122
+ readonly props: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "style" | "tooltip" | "overlay" | "container" | "tooltipClassName"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps> & Readonly<{
60
123
  children?: React.ReactNode;
61
124
  }>;
62
125
  state: Readonly<{}>;
@@ -64,24 +127,24 @@ declare const _default: {
64
127
  [key: string]: React.ReactInstance;
65
128
  };
66
129
  componentDidMount?(): void;
67
- shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "tooltip" | "overlay" | "container" | "tooltipClassName"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
130
+ shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "style" | "tooltip" | "overlay" | "container" | "tooltipClassName"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
68
131
  componentWillUnmount?(): void;
69
132
  componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
70
- getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "tooltip" | "overlay" | "container" | "tooltipClassName"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
71
- componentDidUpdate?(prevProps: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "tooltip" | "overlay" | "container" | "tooltipClassName"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void;
133
+ getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "style" | "tooltip" | "overlay" | "container" | "tooltipClassName"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
134
+ componentDidUpdate?(prevProps: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "style" | "tooltip" | "overlay" | "container" | "tooltipClassName"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void;
72
135
  componentWillMount?(): void;
73
136
  UNSAFE_componentWillMount?(): void;
74
- componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "tooltip" | "overlay" | "container" | "tooltipClassName"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
75
- UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "tooltip" | "overlay" | "container" | "tooltipClassName"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
76
- componentWillUpdate?(nextProps: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "tooltip" | "overlay" | "container" | "tooltipClassName"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
77
- UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "tooltip" | "overlay" | "container" | "tooltipClassName"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
137
+ componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "style" | "tooltip" | "overlay" | "container" | "tooltipClassName"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
138
+ UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "style" | "tooltip" | "overlay" | "container" | "tooltipClassName"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
139
+ componentWillUpdate?(nextProps: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "style" | "tooltip" | "overlay" | "container" | "tooltipClassName"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
140
+ UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "style" | "tooltip" | "overlay" | "container" | "tooltipClassName"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
78
141
  };
79
- new (props: Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "tooltip" | "overlay" | "container" | "tooltipClassName"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps, context: any): {
142
+ new (props: Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "style" | "tooltip" | "overlay" | "container" | "tooltipClassName"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps, context: any): {
80
143
  render(): JSX.Element;
81
144
  context: any;
82
- setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "tooltip" | "overlay" | "container" | "tooltipClassName"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
145
+ setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "style" | "tooltip" | "overlay" | "container" | "tooltipClassName"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
83
146
  forceUpdate(callback?: (() => void) | undefined): void;
84
- readonly props: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "tooltip" | "overlay" | "container" | "tooltipClassName"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps> & Readonly<{
147
+ readonly props: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "style" | "tooltip" | "overlay" | "container" | "tooltipClassName"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps> & Readonly<{
85
148
  children?: React.ReactNode;
86
149
  }>;
87
150
  state: Readonly<{}>;
@@ -89,17 +152,17 @@ declare const _default: {
89
152
  [key: string]: React.ReactInstance;
90
153
  };
91
154
  componentDidMount?(): void;
92
- shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "tooltip" | "overlay" | "container" | "tooltipClassName"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
155
+ shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "style" | "tooltip" | "overlay" | "container" | "tooltipClassName"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
93
156
  componentWillUnmount?(): void;
94
157
  componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
95
- getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "tooltip" | "overlay" | "container" | "tooltipClassName"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
96
- componentDidUpdate?(prevProps: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "tooltip" | "overlay" | "container" | "tooltipClassName"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void;
158
+ getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "style" | "tooltip" | "overlay" | "container" | "tooltipClassName"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
159
+ componentDidUpdate?(prevProps: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "style" | "tooltip" | "overlay" | "container" | "tooltipClassName"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void;
97
160
  componentWillMount?(): void;
98
161
  UNSAFE_componentWillMount?(): void;
99
- componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "tooltip" | "overlay" | "container" | "tooltipClassName"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
100
- UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "tooltip" | "overlay" | "container" | "tooltipClassName"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
101
- componentWillUpdate?(nextProps: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "tooltip" | "overlay" | "container" | "tooltipClassName"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
102
- UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "tooltip" | "overlay" | "container" | "tooltipClassName"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
162
+ componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "style" | "tooltip" | "overlay" | "container" | "tooltipClassName"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
163
+ UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "style" | "tooltip" | "overlay" | "container" | "tooltipClassName"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
164
+ componentWillUpdate?(nextProps: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "style" | "tooltip" | "overlay" | "container" | "tooltipClassName"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
165
+ UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "style" | "tooltip" | "overlay" | "container" | "tooltipClassName"> & Partial<Pick<Omit<TooltipWrapperProps, keyof import("../theme").ThemeProps>, "placement" | "rootClose" | "trigger" | "delay">> & Partial<Pick<Pick<TooltipWrapperProps, "placement" | "rootClose" | "trigger" | "delay">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
103
166
  };
104
167
  displayName: string;
105
168
  contextType: React.Context<string>;
@@ -14,12 +14,26 @@ var react_dom_1 = require("react-dom");
14
14
  var Tooltip_1 = (0, tslib_1.__importDefault)(require("./Tooltip"));
15
15
  var theme_1 = require("../theme");
16
16
  var Overlay_1 = (0, tslib_1.__importDefault)(require("./Overlay"));
17
+ var helper_1 = require("../utils/helper");
17
18
  var waitToHide = null;
18
19
  var TooltipWrapper = /** @class */ (function (_super) {
19
20
  (0, tslib_1.__extends)(TooltipWrapper, _super);
20
21
  function TooltipWrapper(props) {
21
22
  var _this = _super.call(this, props) || this;
22
23
  _this.moutned = true;
24
+ _this.tooltipMouseEnter = function (e) {
25
+ var _a, _b;
26
+ var tooltip = _this.props.tooltip;
27
+ var enterable = (_b = (_a = tooltip) === null || _a === void 0 ? void 0 : _a.enterable) !== null && _b !== void 0 ? _b : true;
28
+ enterable && clearTimeout(_this.timer);
29
+ };
30
+ _this.tooltipMouseLeave = function (e) {
31
+ var _a, _b;
32
+ var tooltip = _this.props.tooltip;
33
+ var enterable = (_b = (_a = tooltip) === null || _a === void 0 ? void 0 : _a.enterable) !== null && _b !== void 0 ? _b : true;
34
+ enterable && clearTimeout(_this.timer);
35
+ _this.hide();
36
+ };
23
37
  _this.getTarget = _this.getTarget.bind(_this);
24
38
  _this.show = _this.show.bind(_this);
25
39
  _this.hide = _this.hide.bind(_this);
@@ -61,13 +75,26 @@ var TooltipWrapper = /** @class */ (function (_super) {
61
75
  TooltipWrapper.prototype.handleShow = function () {
62
76
  this.timer && clearTimeout(this.timer);
63
77
  waitToHide && waitToHide();
64
- this.show();
78
+ var tooltip = this.props.tooltip;
79
+ if ((0, helper_1.isObject)(tooltip)) {
80
+ var _a = tooltip.mouseEnterDelay, mouseEnterDelay = _a === void 0 ? 0 : _a;
81
+ this.timer = setTimeout(this.show, mouseEnterDelay);
82
+ }
83
+ else {
84
+ this.timer = setTimeout(this.show, 0);
85
+ }
65
86
  };
66
87
  TooltipWrapper.prototype.handleHide = function () {
67
88
  clearTimeout(this.timer);
68
- var delay = this.props.delay;
89
+ var _a = this.props, delay = _a.delay, tooltip = _a.tooltip;
69
90
  waitToHide = this.hide.bind(this);
70
- this.timer = setTimeout(this.hide, delay);
91
+ if ((0, helper_1.isObject)(tooltip)) {
92
+ var _b = tooltip.mouseLeaveDelay, mouseLeaveDelay = _b === void 0 ? 300 : _b;
93
+ this.timer = setTimeout(this.hide, mouseLeaveDelay);
94
+ }
95
+ else {
96
+ this.timer = setTimeout(this.hide, delay);
97
+ }
71
98
  };
72
99
  TooltipWrapper.prototype.handleFocus = function (e) {
73
100
  var onFocus = this.getChildProps().onFocus;
@@ -98,11 +125,16 @@ var TooltipWrapper = /** @class */ (function (_super) {
98
125
  onClick && onClick(e);
99
126
  };
100
127
  TooltipWrapper.prototype.render = function () {
101
- var _a = this.props, tooltip = _a.tooltip, children = _a.children, placement = _a.placement, container = _a.container, trigger = _a.trigger, rootClose = _a.rootClose, tooltipClassName = _a.tooltipClassName;
102
- var child = react_1.default.Children.only(children);
103
- if (!tooltip) {
128
+ var props = this.props;
129
+ var child = react_1.default.Children.only(props.children);
130
+ if (!props.tooltip) {
104
131
  return child;
105
132
  }
133
+ // tooltip 对象内属性优先级更高
134
+ var tooltipObj = (0, tslib_1.__assign)({ placement: props.placement, container: props.container, trigger: props.trigger, rootClose: props.rootClose, tooltipClassName: props.tooltipClassName, style: props.style, mouseLeaveDelay: props.delay }, (typeof props.tooltip === 'string'
135
+ ? { content: props.tooltip }
136
+ : props.tooltip));
137
+ var title = tooltipObj.title, content = tooltipObj.content, placement = tooltipObj.placement, container = tooltipObj.container, trigger = tooltipObj.trigger, rootClose = tooltipObj.rootClose, tooltipClassName = tooltipObj.tooltipClassName, style = tooltipObj.style, _a = tooltipObj.disabled, disabled = _a === void 0 ? false : _a, offset = tooltipObj.offset, _b = tooltipObj.tooltipTheme, tooltipTheme = _b === void 0 ? 'light' : _b, _c = tooltipObj.showArrow, showArrow = _c === void 0 ? true : _c, children = tooltipObj.children;
106
138
  var childProps = {
107
139
  key: 'target'
108
140
  };
@@ -120,8 +152,8 @@ var TooltipWrapper = /** @class */ (function (_super) {
120
152
  }
121
153
  return [
122
154
  child ? react_1.default.cloneElement(child, childProps) : null,
123
- react_1.default.createElement(Overlay_1.default, { key: "overlay", target: this.getTarget, show: this.state.show, onHide: this.handleHide, rootClose: rootClose, placement: placement, container: container },
124
- react_1.default.createElement(Tooltip_1.default, { title: typeof tooltip !== 'string' ? tooltip.title : undefined, className: tooltipClassName, onMouseEnter: ~triggers.indexOf('hover') && this.handleMouseOver, onMouseLeave: ~triggers.indexOf('hover') && this.handleMouseOut }, tooltip && tooltip.render ? (this.state.show ? (tooltip.render()) : null) : tooltip && tooltip.dom ? (tooltip.dom) : (react_1.default.createElement(Html_1.default, { html: typeof tooltip === 'string' ? tooltip : tooltip.content || '' }))))
155
+ react_1.default.createElement(Overlay_1.default, { key: "overlay", target: this.getTarget, show: this.state.show && !disabled, onHide: this.handleHide, rootClose: rootClose, placement: placement, container: container, offset: Array.isArray(offset) ? offset : [0, 0] },
156
+ react_1.default.createElement(Tooltip_1.default, { title: typeof title === 'string' ? title : undefined, style: style, className: tooltipClassName, tooltipTheme: tooltipTheme, showArrow: showArrow, onMouseEnter: ~triggers.indexOf('hover') ? this.tooltipMouseEnter : function () { }, onMouseLeave: ~triggers.indexOf('hover') ? this.tooltipMouseLeave : function () { } }, children ? (react_1.default.createElement(react_1.default.Fragment, null, typeof children === 'function' ? children() : children)) : (react_1.default.createElement(Html_1.default, { html: typeof content === 'string' ? content : '' }))))
125
157
  ];
126
158
  };
127
159
  TooltipWrapper.defaultProps = {