amis 1.4.2-beta.6 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (488) hide show
  1. package/lib/Schema.d.ts +11 -3
  2. package/lib/Schema.js.map +1 -1
  3. package/lib/components/Alert2.d.ts +26 -21
  4. package/lib/components/Alert2.js +11 -4
  5. package/lib/components/Alert2.js.map +2 -2
  6. package/lib/components/AnchorNav.d.ts +22 -21
  7. package/lib/components/AnchorNav.js +7 -3
  8. package/lib/components/AnchorNav.js.map +2 -2
  9. package/lib/components/ArrayInput.d.ts +84 -84
  10. package/lib/components/AssociatedSelection.d.ts +930 -0
  11. package/lib/components/AssociatedSelection.js +89 -0
  12. package/lib/components/AssociatedSelection.js.map +13 -0
  13. package/lib/components/Badge.js +2 -2
  14. package/lib/components/Badge.js.map +2 -2
  15. package/lib/components/Button.js +1 -1
  16. package/lib/components/Button.js.map +2 -2
  17. package/lib/components/{ChainedCheckboxes.d.ts → ChainedSelection.d.ts} +267 -98
  18. package/lib/components/{ChainedCheckboxes.js → ChainedSelection.js} +30 -24
  19. package/lib/components/ChainedSelection.js.map +13 -0
  20. package/lib/components/Checkbox.d.ts +20 -20
  21. package/lib/components/Collapse.d.ts +51 -23
  22. package/lib/components/Collapse.js +70 -11
  23. package/lib/components/Collapse.js.map +2 -2
  24. package/lib/components/CollapseGroup.d.ts +88 -0
  25. package/lib/components/CollapseGroup.js +81 -0
  26. package/lib/components/CollapseGroup.js.map +13 -0
  27. package/lib/components/ColorPicker.d.ts +89 -85
  28. package/lib/components/ColorPicker.js +17 -4
  29. package/lib/components/ColorPicker.js.map +2 -2
  30. package/lib/components/DatePicker.d.ts +84 -84
  31. package/lib/components/DateRangePicker.d.ts +84 -84
  32. package/lib/components/Drawer.js +2 -2
  33. package/lib/components/Drawer.js.map +2 -2
  34. package/lib/components/Editor.d.ts +84 -84
  35. package/lib/components/GridNav.d.ts +52 -0
  36. package/lib/components/GridNav.js +123 -0
  37. package/lib/components/GridNav.js.map +13 -0
  38. package/lib/components/GroupedSelection.d.ts +907 -0
  39. package/lib/components/GroupedSelection.js +48 -0
  40. package/lib/components/GroupedSelection.js.map +13 -0
  41. package/lib/components/InputBox.d.ts +22 -21
  42. package/lib/components/InputBox.js +10 -2
  43. package/lib/components/InputBox.js.map +2 -2
  44. package/lib/components/Link.d.ts +29 -36
  45. package/lib/components/Link.js +14 -15
  46. package/lib/components/Link.js.map +2 -2
  47. package/lib/components/ListGroup.d.ts +21 -21
  48. package/lib/components/ModalManager.js +1 -1
  49. package/lib/components/ModalManager.js.map +2 -2
  50. package/lib/components/MonthRangePicker.d.ts +84 -84
  51. package/lib/components/NumberInput.d.ts +20 -20
  52. package/lib/components/Overlay.js +5 -0
  53. package/lib/components/Overlay.js.map +2 -2
  54. package/lib/components/PickerColumn.d.ts +514 -0
  55. package/lib/components/PickerColumn.js +279 -0
  56. package/lib/components/PickerColumn.js.map +13 -0
  57. package/lib/components/PickerContainer.d.ts +513 -0
  58. package/lib/components/PickerContainer.js +96 -0
  59. package/lib/components/PickerContainer.js.map +13 -0
  60. package/lib/components/PopOver.d.ts +1 -0
  61. package/lib/components/PopOver.js +12 -1
  62. package/lib/components/PopOver.js.map +2 -2
  63. package/lib/components/Progress.d.ts +85 -0
  64. package/lib/components/Progress.js +81 -0
  65. package/lib/components/Progress.js.map +13 -0
  66. package/lib/components/Radios.d.ts +22 -21
  67. package/lib/components/Radios.js +1 -0
  68. package/lib/components/Radios.js.map +2 -2
  69. package/lib/components/Rating.d.ts +21 -21
  70. package/lib/components/ResultBox.d.ts +84 -84
  71. package/lib/components/ResultBox.js +10 -2
  72. package/lib/components/ResultBox.js.map +2 -2
  73. package/lib/components/SearchBox.d.ts +84 -84
  74. package/lib/components/Select.d.ts +245 -237
  75. package/lib/components/Select.js +25 -4
  76. package/lib/components/Select.js.map +2 -2
  77. package/lib/components/{Checkboxes.d.ts → Selection.d.ts} +273 -98
  78. package/lib/components/Selection.js +134 -0
  79. package/lib/components/Selection.js.map +13 -0
  80. package/lib/components/{TableCheckboxes.d.ts → TableSelection.d.ts} +266 -96
  81. package/lib/components/{TableCheckboxes.js → TableSelection.js} +30 -30
  82. package/lib/components/TableSelection.js.map +13 -0
  83. package/lib/components/Tabs.d.ts +20 -20
  84. package/lib/components/TabsTransfer.d.ts +84 -84
  85. package/lib/components/TabsTransfer.js +9 -9
  86. package/lib/components/TabsTransfer.js.map +2 -2
  87. package/lib/components/TabsTransferPicker.d.ts +489 -0
  88. package/lib/components/TabsTransferPicker.js +60 -0
  89. package/lib/components/TabsTransferPicker.js.map +13 -0
  90. package/lib/components/Toast.d.ts +90 -87
  91. package/lib/components/Toast.js +15 -5
  92. package/lib/components/Toast.js.map +2 -2
  93. package/lib/components/Transfer.d.ts +908 -274
  94. package/lib/components/Transfer.js +31 -24
  95. package/lib/components/Transfer.js.map +2 -2
  96. package/lib/components/TransferDropDown.d.ts +488 -0
  97. package/lib/components/TransferDropDown.js +59 -0
  98. package/lib/components/TransferDropDown.js.map +13 -0
  99. package/lib/components/TransferPicker.d.ts +493 -0
  100. package/lib/components/TransferPicker.js +60 -0
  101. package/lib/components/TransferPicker.js.map +13 -0
  102. package/lib/components/Tree.d.ts +115 -84
  103. package/lib/components/Tree.js +183 -30
  104. package/lib/components/Tree.js.map +2 -2
  105. package/lib/components/{TreeCheckboxes.d.ts → TreeSelection.d.ts} +269 -99
  106. package/lib/components/{TreeCheckboxes.js → TreeSelection.js} +36 -32
  107. package/lib/components/TreeSelection.js.map +13 -0
  108. package/lib/components/condition-builder/Field.js +4 -2
  109. package/lib/components/condition-builder/Field.js.map +2 -2
  110. package/lib/components/condition-builder/Func.js +2 -2
  111. package/lib/components/condition-builder/Func.js.map +2 -2
  112. package/lib/components/condition-builder/InputSwitch.js +2 -2
  113. package/lib/components/condition-builder/InputSwitch.js.map +2 -2
  114. package/lib/components/condition-builder/Item.js +3 -3
  115. package/lib/components/condition-builder/Item.js.map +2 -2
  116. package/lib/components/icons.js +10 -0
  117. package/lib/components/icons.js.map +2 -2
  118. package/lib/components/index.d.ts +8 -8
  119. package/lib/components/index.js +16 -16
  120. package/lib/components/index.js.map +2 -2
  121. package/lib/envOverwrite.d.ts +1 -1
  122. package/lib/envOverwrite.js +24 -9
  123. package/lib/envOverwrite.js.map +2 -2
  124. package/lib/factory.d.ts +15 -1
  125. package/lib/factory.js +35 -6
  126. package/lib/factory.js.map +2 -2
  127. package/lib/helper.css.map +1 -1
  128. package/lib/hooks/index.d.ts +5 -0
  129. package/lib/hooks/index.js +14 -0
  130. package/lib/hooks/index.js.map +13 -0
  131. package/lib/hooks/use-set-state.d.ts +2 -0
  132. package/lib/hooks/use-set-state.js +15 -0
  133. package/lib/hooks/use-set-state.js.map +13 -0
  134. package/lib/hooks/use-touch.d.ts +16 -0
  135. package/lib/hooks/use-touch.js +73 -0
  136. package/lib/hooks/use-touch.js.map +13 -0
  137. package/lib/hooks/use-update-effect.d.ts +3 -0
  138. package/lib/hooks/use-update-effect.js +17 -0
  139. package/lib/hooks/use-update-effect.js.map +13 -0
  140. package/lib/icons/alert-danger.js +7 -0
  141. package/lib/icons/alert-info.js +7 -0
  142. package/lib/icons/alert-success.js +7 -0
  143. package/lib/icons/alert-warning.js +7 -0
  144. package/lib/icons/download.js +7 -0
  145. package/lib/icons/drag-bar.js +10 -3
  146. package/lib/index.d.ts +5 -0
  147. package/lib/index.js +6 -1
  148. package/lib/index.js.map +2 -2
  149. package/lib/locale/de-DE.js +2 -0
  150. package/lib/locale/de-DE.js.map +2 -2
  151. package/lib/locale/en-US.js +3 -0
  152. package/lib/locale/en-US.js.map +2 -2
  153. package/lib/locale/zh-CN.js +5 -2
  154. package/lib/locale/zh-CN.js.map +2 -2
  155. package/lib/renderers/Action.d.ts +10 -5
  156. package/lib/renderers/Action.js +23 -5
  157. package/lib/renderers/Action.js.map +2 -2
  158. package/lib/renderers/Alert.d.ts +21 -1
  159. package/lib/renderers/Alert.js.map +2 -2
  160. package/lib/renderers/AnchorNav.d.ts +1 -0
  161. package/lib/renderers/AnchorNav.js +2 -2
  162. package/lib/renderers/AnchorNav.js.map +2 -2
  163. package/lib/renderers/Avatar.js +3 -3
  164. package/lib/renderers/Avatar.js.map +2 -2
  165. package/lib/renderers/Breadcrumb.js +1 -1
  166. package/lib/renderers/Breadcrumb.js.map +2 -2
  167. package/lib/renderers/CRUD.d.ts +5 -0
  168. package/lib/renderers/CRUD.js +25 -4
  169. package/lib/renderers/CRUD.js.map +2 -2
  170. package/lib/renderers/Card.d.ts +5 -0
  171. package/lib/renderers/Card.js +34 -23
  172. package/lib/renderers/Card.js.map +2 -2
  173. package/lib/renderers/Collapse.d.ts +25 -20
  174. package/lib/renderers/Collapse.js +10 -72
  175. package/lib/renderers/Collapse.js.map +2 -2
  176. package/lib/renderers/CollapseGroup.d.ts +42 -0
  177. package/lib/renderers/CollapseGroup.js +33 -0
  178. package/lib/renderers/CollapseGroup.js.map +13 -0
  179. package/lib/renderers/Form/ConditionBuilder.js +2 -2
  180. package/lib/renderers/Form/ConditionBuilder.js.map +2 -2
  181. package/lib/renderers/Form/DiffEditor.d.ts +4 -3
  182. package/lib/renderers/Form/Editor.d.ts +3 -2
  183. package/lib/renderers/Form/InputCity.d.ts +84 -84
  184. package/lib/renderers/Form/InputCity.js +7 -6
  185. package/lib/renderers/Form/InputCity.js.map +2 -2
  186. package/lib/renderers/Form/InputColor.d.ts +86 -85
  187. package/lib/renderers/Form/InputColor.js +1 -1
  188. package/lib/renderers/Form/InputColor.js.map +2 -2
  189. package/lib/renderers/Form/InputFile.d.ts +6 -0
  190. package/lib/renderers/Form/InputFile.js +28 -8
  191. package/lib/renderers/Form/InputFile.js.map +2 -2
  192. package/lib/renderers/Form/InputImage.js +11 -4
  193. package/lib/renderers/Form/InputImage.js.map +2 -2
  194. package/lib/renderers/Form/Item.d.ts +1 -1
  195. package/lib/renderers/Form/Item.js +2 -1
  196. package/lib/renderers/Form/Item.js.map +2 -2
  197. package/lib/renderers/Form/Options.js +25 -4
  198. package/lib/renderers/Form/Options.js.map +2 -2
  199. package/lib/renderers/Form/Select.d.ts +42 -4
  200. package/lib/renderers/Form/Select.js +37 -3
  201. package/lib/renderers/Form/Select.js.map +2 -2
  202. package/lib/renderers/Form/TabsTransferPicker.d.ts +48 -0
  203. package/lib/renderers/Form/TabsTransferPicker.js +29 -0
  204. package/lib/renderers/Form/TabsTransferPicker.js.map +13 -0
  205. package/lib/renderers/Form/Transfer.js +18 -3
  206. package/lib/renderers/Form/Transfer.js.map +2 -2
  207. package/lib/renderers/Form/TransferPicker.d.ts +52 -0
  208. package/lib/renderers/Form/TransferPicker.js +43 -0
  209. package/lib/renderers/Form/TransferPicker.js.map +13 -0
  210. package/lib/renderers/Form/TreeSelect.js +2 -2
  211. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  212. package/lib/renderers/Form/index.d.ts +5 -0
  213. package/lib/renderers/Form/index.js +5 -3
  214. package/lib/renderers/Form/index.js.map +2 -2
  215. package/lib/renderers/Form/wrapControl.js +13 -1
  216. package/lib/renderers/Form/wrapControl.js.map +2 -2
  217. package/lib/renderers/GridNav.d.ts +99 -0
  218. package/lib/renderers/GridNav.js +82 -0
  219. package/lib/renderers/GridNav.js.map +13 -0
  220. package/lib/renderers/IFrame.js +1 -3
  221. package/lib/renderers/IFrame.js.map +2 -2
  222. package/lib/renderers/Image.js +7 -5
  223. package/lib/renderers/Image.js.map +2 -2
  224. package/lib/renderers/Json.d.ts +4 -0
  225. package/lib/renderers/Json.js +4 -13
  226. package/lib/renderers/Json.js.map +2 -2
  227. package/lib/renderers/Link.d.ts +4 -2
  228. package/lib/renderers/Link.js +15 -8
  229. package/lib/renderers/Link.js.map +2 -2
  230. package/lib/renderers/List.js +1 -1
  231. package/lib/renderers/List.js.map +2 -2
  232. package/lib/renderers/Nav.d.ts +21 -21
  233. package/lib/renderers/Nav.js +37 -19
  234. package/lib/renderers/Nav.js.map +2 -2
  235. package/lib/renderers/Page.d.ts +18 -0
  236. package/lib/renderers/Page.js +53 -9
  237. package/lib/renderers/Page.js.map +2 -2
  238. package/lib/renderers/Portlet.d.ts +125 -0
  239. package/lib/renderers/Portlet.js +156 -0
  240. package/lib/renderers/Portlet.js.map +13 -0
  241. package/lib/renderers/Progress.d.ts +23 -3
  242. package/lib/renderers/Progress.js +15 -19
  243. package/lib/renderers/Progress.js.map +2 -2
  244. package/lib/renderers/Property.js +1 -1
  245. package/lib/renderers/Property.js.map +2 -2
  246. package/lib/renderers/Table/ColumnToggler.js +1 -1
  247. package/lib/renderers/Table/ColumnToggler.js.map +2 -2
  248. package/lib/renderers/Table/TableContent.d.ts +4 -1
  249. package/lib/renderers/Table/TableContent.js +21 -1
  250. package/lib/renderers/Table/TableContent.js.map +2 -2
  251. package/lib/renderers/Table/index.d.ts +5 -1
  252. package/lib/renderers/Table/index.js +65 -30
  253. package/lib/renderers/Table/index.js.map +2 -2
  254. package/lib/renderers/Tabs.js +9 -1
  255. package/lib/renderers/Tabs.js.map +2 -2
  256. package/lib/renderers/WebComponent.js +1 -1
  257. package/lib/renderers/WebComponent.js.map +2 -2
  258. package/lib/store/combo.d.ts +2 -2
  259. package/lib/store/form.d.ts +1 -1
  260. package/lib/store/form.js +3 -5
  261. package/lib/store/form.js.map +2 -2
  262. package/lib/store/formItem.js +44 -4
  263. package/lib/store/formItem.js.map +2 -2
  264. package/lib/store/table.d.ts +3 -2
  265. package/lib/store/table.js +35 -12
  266. package/lib/store/table.js.map +2 -2
  267. package/lib/themes/ang-ie11.css +934 -222
  268. package/lib/themes/ang.css +934 -222
  269. package/lib/themes/ang.css.map +1 -1
  270. package/lib/themes/antd-ie11.css +934 -222
  271. package/lib/themes/antd.css +934 -222
  272. package/lib/themes/antd.css.map +1 -1
  273. package/lib/themes/cxd-ie11.css +970 -260
  274. package/lib/themes/cxd.css +970 -260
  275. package/lib/themes/cxd.css.map +1 -1
  276. package/lib/themes/dark-ie11.css +934 -222
  277. package/lib/themes/dark.css +934 -222
  278. package/lib/themes/dark.css.map +1 -1
  279. package/lib/themes/default.css +970 -260
  280. package/lib/themes/default.css.map +1 -1
  281. package/lib/types.d.ts +38 -1
  282. package/lib/types.js +0 -5
  283. package/lib/types.js.map +2 -2
  284. package/lib/utils/api.d.ts +3 -2
  285. package/lib/utils/api.js +90 -17
  286. package/lib/utils/api.js.map +2 -2
  287. package/lib/utils/dom.d.ts +4 -0
  288. package/lib/utils/dom.js +11 -1
  289. package/lib/utils/dom.js.map +2 -2
  290. package/lib/utils/helper.d.ts +12 -23
  291. package/lib/utils/helper.js +62 -166
  292. package/lib/utils/helper.js.map +2 -2
  293. package/lib/utils/tpl-builtin.d.ts +2 -20
  294. package/lib/utils/tpl-builtin.js +25 -743
  295. package/lib/utils/tpl-builtin.js.map +2 -2
  296. package/lib/utils/tpl.js +24 -0
  297. package/lib/utils/tpl.js.map +2 -2
  298. package/package.json +5 -2
  299. package/schema.json +3966 -1263
  300. package/scss/_mixins.scss +1 -3
  301. package/scss/_properties.scss +42 -13
  302. package/scss/base/_common.scss +3 -0
  303. package/scss/base/_normalize.scss +2 -0
  304. package/scss/components/_alert.scss +28 -5
  305. package/scss/components/_anchor-nav.scss +89 -29
  306. package/scss/components/_button.scss +12 -0
  307. package/scss/components/_card.scss +9 -15
  308. package/scss/components/_collapse-group.scss +15 -0
  309. package/scss/components/_collapse.scss +48 -23
  310. package/scss/components/_grid-nav.scss +128 -0
  311. package/scss/components/_images.scss +1 -0
  312. package/scss/components/_input-box.scss +1 -0
  313. package/scss/components/_nav.scss +2 -7
  314. package/scss/components/_page.scss +35 -2
  315. package/scss/components/_picker-columns.scss +124 -0
  316. package/scss/components/_popover.scss +13 -0
  317. package/scss/components/_portlet.scss +51 -0
  318. package/scss/components/_progress.scss +141 -33
  319. package/scss/components/_result-box.scss +1 -0
  320. package/scss/components/_spinner.scss +5 -4
  321. package/scss/components/_status.scss +1 -1
  322. package/scss/components/_table.scss +32 -0
  323. package/scss/components/_toast.scss +41 -11
  324. package/scss/components/form/_checks.scss +0 -351
  325. package/scss/components/form/_color.scss +32 -3
  326. package/scss/components/form/_combo.scss +4 -0
  327. package/scss/components/form/_fieldset.scss +6 -1
  328. package/scss/components/form/_file.scss +11 -0
  329. package/scss/components/form/_form.scss +48 -0
  330. package/scss/components/form/_selection.scss +354 -0
  331. package/scss/components/form/_transfer.scss +76 -18
  332. package/scss/components/form/_tree.scss +42 -0
  333. package/scss/themes/_common.scss +6 -0
  334. package/scss/themes/_cxd-variables.scss +13 -6
  335. package/scss/themes/cxd.scss +19 -20
  336. package/sdk/ang-ie11.css +1065 -246
  337. package/sdk/ang.css +1069 -230
  338. package/sdk/antd-ie11.css +1068 -249
  339. package/sdk/antd.css +1069 -230
  340. package/sdk/charts.js +17 -17
  341. package/sdk/color-picker.js +65 -69
  342. package/sdk/cropperjs.js +3 -3
  343. package/sdk/cxd-ie11.css +1081 -268
  344. package/sdk/cxd.css +1116 -279
  345. package/sdk/dark-ie11.css +1069 -250
  346. package/sdk/dark.css +1069 -230
  347. package/sdk/exceljs.js +1 -1
  348. package/sdk/helper.css.map +1 -1
  349. package/sdk/iconfont.svg +2513 -0
  350. package/sdk/iconfont.ttf +0 -0
  351. package/sdk/iconfont.woff +0 -0
  352. package/sdk/locale/de-DE.js +2 -0
  353. package/sdk/markdown.js +69 -69
  354. package/sdk/papaparse.js +1 -1
  355. package/sdk/renderers/Form/CityDB.js +1 -1
  356. package/sdk/rest.js +20 -28
  357. package/sdk/rich-text.js +62 -62
  358. package/sdk/sdk-ie11.css +1081 -268
  359. package/sdk/sdk.css +1116 -279
  360. package/sdk/sdk.js +1371 -1189
  361. package/sdk/thirds/hls.js/hls.js +18 -18
  362. package/sdk/thirds/mpegts.js/mpegts.js +2 -2
  363. package/sdk/tinymce.js +57 -57
  364. package/src/Schema.ts +19 -1
  365. package/src/components/Alert2.tsx +32 -4
  366. package/src/components/AnchorNav.tsx +15 -4
  367. package/src/components/{AssociatedCheckboxes.tsx → AssociatedSelection.tsx} +43 -37
  368. package/src/components/Badge.tsx +3 -3
  369. package/src/components/Button.tsx +1 -0
  370. package/src/components/{ChainedCheckboxes.tsx → ChainedSelection.tsx} +57 -40
  371. package/src/components/Collapse.tsx +139 -20
  372. package/src/components/CollapseGroup.tsx +130 -0
  373. package/src/components/ColorPicker.tsx +32 -10
  374. package/src/components/Drawer.tsx +8 -6
  375. package/src/components/GridNav.tsx +233 -0
  376. package/src/components/{ListCheckboxes.tsx → GroupedSelection.tsx} +26 -21
  377. package/src/components/InputBox.tsx +10 -9
  378. package/src/components/Link.tsx +28 -37
  379. package/src/components/ModalManager.ts +1 -1
  380. package/src/components/Overlay.tsx +6 -0
  381. package/src/components/PickerColumn.tsx +429 -0
  382. package/src/components/PickerContainer.tsx +128 -0
  383. package/src/components/PopOver.tsx +15 -1
  384. package/src/components/Progress.tsx +140 -0
  385. package/src/components/Radios.tsx +3 -8
  386. package/src/components/ResultBox.tsx +9 -9
  387. package/src/components/Select.tsx +57 -5
  388. package/src/components/{Checkboxes.tsx → Selection.tsx} +75 -21
  389. package/src/components/{TableCheckboxes.tsx → TableSelection.tsx} +46 -25
  390. package/src/components/TabsTransfer.tsx +13 -7
  391. package/src/components/TabsTransferPicker.tsx +85 -0
  392. package/src/components/Toast.tsx +48 -21
  393. package/src/components/Transfer.tsx +71 -50
  394. package/src/components/TransferDropDown.tsx +120 -0
  395. package/src/components/TransferPicker.tsx +91 -0
  396. package/src/components/Tree.tsx +194 -8
  397. package/src/components/{TreeCheckboxes.tsx → TreeSelection.tsx} +33 -26
  398. package/src/components/condition-builder/Field.tsx +7 -5
  399. package/src/components/condition-builder/Func.tsx +3 -3
  400. package/src/components/condition-builder/InputSwitch.tsx +3 -3
  401. package/src/components/condition-builder/Item.tsx +5 -12
  402. package/src/components/icons.tsx +10 -0
  403. package/src/components/index.tsx +13 -13
  404. package/src/envOverwrite.ts +20 -8
  405. package/src/factory.tsx +70 -9
  406. package/src/hooks/index.ts +5 -0
  407. package/src/hooks/use-set-state.ts +19 -0
  408. package/src/hooks/use-touch.ts +100 -0
  409. package/src/hooks/use-update-effect.ts +16 -0
  410. package/src/icons/alert-danger.svg +1 -0
  411. package/src/icons/alert-info.svg +1 -0
  412. package/src/icons/alert-success.svg +1 -0
  413. package/src/icons/alert-warning.svg +1 -0
  414. package/src/icons/download.svg +4 -0
  415. package/src/icons/drag-bar.svg +12 -6
  416. package/src/index.tsx +5 -0
  417. package/src/locale/de-DE.ts +2 -0
  418. package/src/locale/en-US.ts +3 -0
  419. package/src/locale/zh-CN.ts +5 -2
  420. package/src/renderers/Action.tsx +58 -3
  421. package/src/renderers/Alert.tsx +31 -1
  422. package/src/renderers/AnchorNav.tsx +4 -0
  423. package/src/renderers/Avatar.tsx +8 -4
  424. package/src/renderers/Breadcrumb.tsx +5 -1
  425. package/src/renderers/CRUD.tsx +29 -3
  426. package/src/renderers/Card.tsx +76 -36
  427. package/src/renderers/Collapse.tsx +70 -115
  428. package/src/renderers/CollapseGroup.tsx +80 -0
  429. package/src/renderers/Form/ConditionBuilder.tsx +2 -2
  430. package/src/renderers/Form/InputCity.tsx +4 -8
  431. package/src/renderers/Form/InputColor.tsx +4 -2
  432. package/src/renderers/Form/InputFile.tsx +65 -24
  433. package/src/renderers/Form/InputImage.tsx +11 -3
  434. package/src/renderers/Form/Item.tsx +3 -2
  435. package/src/renderers/Form/Options.tsx +29 -3
  436. package/src/renderers/Form/Select.tsx +162 -21
  437. package/src/renderers/Form/TabsTransferPicker.tsx +123 -0
  438. package/src/renderers/Form/Transfer.tsx +19 -4
  439. package/src/renderers/Form/TransferPicker.tsx +145 -0
  440. package/src/renderers/Form/TreeSelect.tsx +25 -0
  441. package/src/renderers/Form/index.tsx +15 -2
  442. package/src/renderers/Form/wrapControl.tsx +26 -1
  443. package/src/renderers/GridNav.tsx +204 -0
  444. package/src/renderers/IFrame.tsx +2 -4
  445. package/src/renderers/Image.tsx +19 -15
  446. package/src/renderers/Json.tsx +9 -9
  447. package/src/renderers/Link.tsx +29 -16
  448. package/src/renderers/List.tsx +1 -1
  449. package/src/renderers/Nav.tsx +105 -56
  450. package/src/renderers/Page.tsx +62 -1
  451. package/src/renderers/Portlet.tsx +423 -0
  452. package/src/renderers/Progress.tsx +56 -38
  453. package/src/renderers/Property.tsx +6 -4
  454. package/src/renderers/Table/ColumnToggler.tsx +1 -1
  455. package/src/renderers/Table/TableContent.tsx +40 -2
  456. package/src/renderers/Table/index.tsx +88 -43
  457. package/src/renderers/Tabs.tsx +9 -1
  458. package/src/renderers/WebComponent.tsx +2 -2
  459. package/src/store/form.ts +3 -9
  460. package/src/store/formItem.ts +94 -2
  461. package/src/store/table.ts +55 -14
  462. package/src/types.ts +58 -1
  463. package/src/utils/api.ts +120 -26
  464. package/src/utils/dom.tsx +12 -0
  465. package/src/utils/helper.ts +55 -185
  466. package/src/utils/tpl-builtin.ts +40 -866
  467. package/src/utils/tpl.ts +33 -0
  468. package/tsconfig-for-declaration.json +1 -1
  469. package/dump.rdb +0 -0
  470. package/lib/components/AssociatedCheckboxes.d.ts +0 -762
  471. package/lib/components/AssociatedCheckboxes.js +0 -90
  472. package/lib/components/AssociatedCheckboxes.js.map +0 -13
  473. package/lib/components/ChainedCheckboxes.js.map +0 -13
  474. package/lib/components/Checkboxes.js +0 -101
  475. package/lib/components/Checkboxes.js.map +0 -13
  476. package/lib/components/ListCheckboxes.d.ts +0 -739
  477. package/lib/components/ListCheckboxes.js +0 -48
  478. package/lib/components/ListCheckboxes.js.map +0 -13
  479. package/lib/components/ListRadios.d.ts +0 -763
  480. package/lib/components/ListRadios.js +0 -86
  481. package/lib/components/ListRadios.js.map +0 -13
  482. package/lib/components/TableCheckboxes.js.map +0 -13
  483. package/lib/components/TreeCheckboxes.js.map +0 -13
  484. package/lib/components/TreeRadios.d.ts +0 -838
  485. package/lib/components/TreeRadios.js +0 -116
  486. package/lib/components/TreeRadios.js.map +0 -13
  487. package/src/components/ListRadios.tsx +0 -159
  488. package/src/components/TreeRadios.tsx +0 -202
@@ -82,7 +82,7 @@ var ToastComponent = /** @class */ (function (_super) {
82
82
  if (toastRef && !this.hasRendered) {
83
83
  return null;
84
84
  }
85
- var _a = this.props, cx = _a.classnames, className = _a.className, timeout = _a.timeout, position = _a.position, showIcon = _a.showIcon, translate = _a.translate, closeButton = _a.closeButton;
85
+ var _a = this.props, cx = _a.classnames, className = _a.className, timeout = _a.timeout, errorTimeout = _a.errorTimeout, position = _a.position, showIcon = _a.showIcon, translate = _a.translate, closeButton = _a.closeButton;
86
86
  var items = this.state.items;
87
87
  var groupedItems = (0, groupBy_1.default)(items, function (item) { return item.position || position; });
88
88
  return Object.keys(groupedItems).map(function (position) {
@@ -91,14 +91,17 @@ var ToastComponent = /** @class */ (function (_super) {
91
91
  return l.toUpperCase();
92
92
  }), className) }, toasts.map(function (item) {
93
93
  var _a, _b;
94
- return (react_1.default.createElement(ToastMessage, { classnames: cx, key: item.id, body: item.body, level: item.level || 'info', timeout: (_a = item.timeout) !== null && _a !== void 0 ? _a : timeout, closeButton: (_b = item.closeButton) !== null && _b !== void 0 ? _b : closeButton, onDismiss: _this.handleDismissed.bind(_this, items.indexOf(item)), translate: translate, showIcon: showIcon }));
94
+ var level = item.level || 'info';
95
+ var toastTimeout = (_a = item.timeout) !== null && _a !== void 0 ? _a : (level === 'error' ? errorTimeout : timeout);
96
+ return (react_1.default.createElement(ToastMessage, { classnames: cx, key: item.id, title: item.title, body: item.body, level: level, timeout: toastTimeout, closeButton: (_b = item.closeButton) !== null && _b !== void 0 ? _b : closeButton, onDismiss: _this.handleDismissed.bind(_this, items.indexOf(item)), translate: translate, showIcon: showIcon }));
95
97
  })));
96
98
  });
97
99
  };
98
100
  ToastComponent.defaultProps = {
99
101
  position: 'top-center',
100
102
  closeButton: false,
101
- timeout: 5000
103
+ timeout: 4000,
104
+ errorTimeout: 6000 // 错误的时候 time 调长
102
105
  };
103
106
  ToastComponent.themeKey = 'toast';
104
107
  (0, tslib_1.__decorate)([
@@ -169,11 +172,18 @@ var ToastMessage = /** @class */ (function (_super) {
169
172
  };
170
173
  ToastMessage.prototype.render = function () {
171
174
  var _this = this;
172
- var _a = this.props, onDismiss = _a.onDismiss, cx = _a.classnames, closeButton = _a.closeButton, body = _a.body, allowHtml = _a.allowHtml, level = _a.level, showIcon = _a.showIcon, __ = _a.translate;
175
+ var _a = this.props, onDismiss = _a.onDismiss, cx = _a.classnames, closeButton = _a.closeButton, title = _a.title, body = _a.body, allowHtml = _a.allowHtml, level = _a.level, showIcon = _a.showIcon, __ = _a.translate;
173
176
  return (react_1.default.createElement(Transition_1.default, { mountOnEnter: true, unmountOnExit: true, in: this.state.visible, timeout: 750, onEntered: this.handleEntered, onExited: onDismiss }, function (status) {
177
+ var _a, _b, _c, _d;
174
178
  return (react_1.default.createElement("div", { className: cx("Toast Toast--" + level, fadeStyles[status]), onMouseEnter: _this.handleMouseEnter, onMouseLeave: _this.handleMouseLeave, onClick: closeButton ? helper_1.noop : _this.close },
175
179
  showIcon === false ? null : (react_1.default.createElement("div", { className: cx('Toast-icon') }, level === 'success' ? (react_1.default.createElement(icons_1.Icon, { icon: "status-success", className: "icon" })) : level == 'error' ? (react_1.default.createElement(icons_1.Icon, { icon: "status-fail", className: "icon" })) : level == 'info' ? (react_1.default.createElement(icons_1.Icon, { icon: "status-info", className: "icon" })) : level == 'warning' ? (react_1.default.createElement(icons_1.Icon, { icon: "status-warning", className: "icon" })) : null)),
176
- react_1.default.createElement("div", { className: cx('Toast-body') }, allowHtml ? react_1.default.createElement(Html_1.default, { html: body }) : body),
180
+ react_1.default.createElement("div", { className: cx('Toast-content') },
181
+ typeof title === 'string' ? (react_1.default.createElement("span", { className: cx("Toast-title") }, title)) : react_1.default.isValidElement(title) ? (react_1.default.cloneElement(title, {
182
+ className: cx("Toast-title", (_b = (_a = title === null || title === void 0 ? void 0 : title.props) === null || _a === void 0 ? void 0 : _a.className) !== null && _b !== void 0 ? _b : '')
183
+ })) : null,
184
+ typeof body === 'string' ? (react_1.default.createElement("div", { className: cx('Toast-body') }, allowHtml ? react_1.default.createElement(Html_1.default, { html: body }) : body)) : react_1.default.isValidElement(body) ? (react_1.default.cloneElement(body, {
185
+ className: cx("Toast-body", (_d = (_c = body === null || body === void 0 ? void 0 : body.props) === null || _c === void 0 ? void 0 : _c.className) !== null && _d !== void 0 ? _d : '')
186
+ })) : null),
177
187
  closeButton ? (react_1.default.createElement("a", { onClick: _this.close, className: cx("Toast-close") },
178
188
  react_1.default.createElement(icons_1.Icon, { icon: "status-close", className: "icon" }))) : null));
179
189
  }));
@@ -6,8 +6,8 @@
6
6
  "/src/components/Toast.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "/**\n * @file Toast\n * @description toast提示组件, 单例模式,App级别只需要一个ToastComponent,引入了多个会兼容,也只有第一个生效\n * @author fex\n */\n\nimport Transition, {\n ENTERED,\n ENTERING,\n EXITING,\n EXITED\n} from 'react-transition-group/Transition';\nimport React from 'react';\nimport cx from 'classnames';\nimport Html from './Html';\nimport {uuid, autobind, noop} from '../utils/helper';\nimport {ClassNamesFn, themeable, classnames, ThemeProps} from '../theme';\nimport {Icon} from './icons';\nimport {LocaleProps, localeable, TranslateFn} from '../locale';\nimport groupBy from 'lodash/groupBy';\n\ninterface Config {\n closeButton?: boolean;\n timeout?: number;\n}\n\nconst fadeStyles: {\n [propName: string]: string;\n} = {\n [ENTERING]: 'in',\n [ENTERED]: 'in',\n [EXITING]: 'out'\n};\n\nlet toastRef: any = null;\nconst show = (content: string, conf: any = {}, method: string) => {\n if (!toastRef || !toastRef[method]) {\n return;\n }\n toastRef[method](content, {...conf});\n};\n\ninterface ToastComponentProps extends ThemeProps, LocaleProps {\n position:\n | 'top-right'\n | 'top-center'\n | 'top-left'\n | 'bottom-center'\n | 'bottom-left'\n | 'bottom-right';\n closeButton: boolean;\n showIcon?: boolean;\n timeout: number;\n className?: string;\n}\n\ninterface Item extends Config {\n body: string;\n level: 'info' | 'success' | 'error' | 'warning';\n id: string;\n onDissmiss?: () => void;\n position?:\n | 'top-right'\n | 'top-center'\n | 'top-left'\n | 'bottom-center'\n | 'bottom-left'\n | 'bottom-right';\n}\n\ninterface ToastComponentState {\n items: Array<Item>;\n}\n\nexport class ToastComponent extends React.Component<\n ToastComponentProps,\n ToastComponentState\n> {\n static defaultProps: Pick<\n ToastComponentProps,\n 'position' | 'closeButton' | 'timeout'\n > = {\n position: 'top-center',\n closeButton: false,\n timeout: 5000\n };\n static themeKey = 'toast';\n\n // 当前ToastComponent是否真正render了\n hasRendered = false;\n state: ToastComponentState = {\n items: []\n };\n\n componentDidMount() {\n this.hasRendered = true;\n toastRef = this;\n }\n\n componentWillUnmount() {\n if (this.hasRendered) {\n toastRef = null;\n }\n }\n\n notifiy(level: string, content: string, config?: any) {\n const items = this.state.items.concat();\n items.push({\n body: content,\n level,\n ...config,\n id: uuid()\n });\n this.setState({\n items\n });\n }\n\n @autobind\n success(content: string, config?: any) {\n this.notifiy('success', content, config);\n }\n\n @autobind\n error(content: string, config?: any) {\n this.notifiy('error', content, config);\n }\n\n @autobind\n info(content: string, config?: any) {\n this.notifiy('info', content, config);\n }\n\n @autobind\n warning(content: string, config?: any) {\n this.notifiy('warning', content, config);\n }\n\n handleDismissed(index: number) {\n const items = this.state.items.concat();\n const [item] = items.splice(index, 1);\n\n item?.onDissmiss?.();\n this.setState({\n items: items\n });\n }\n\n render() {\n if (toastRef && !this.hasRendered) {\n return null;\n }\n\n const {\n classnames: cx,\n className,\n timeout,\n position,\n showIcon,\n translate,\n closeButton\n } = this.props;\n const items = this.state.items;\n\n const groupedItems = groupBy(items, item => item.position || position);\n\n return Object.keys(groupedItems).map(position => {\n const toasts = groupedItems[position];\n\n return (\n <div\n key={position}\n className={cx(\n `Toast-wrap Toast-wrap--${position.replace(/\\-(\\w)/g, (_, l) =>\n l.toUpperCase()\n )}`,\n className\n )}\n >\n {toasts.map(item => (\n <ToastMessage\n classnames={cx}\n key={item.id}\n body={item.body}\n level={item.level || 'info'}\n timeout={item.timeout ?? timeout}\n closeButton={item.closeButton ?? closeButton}\n onDismiss={this.handleDismissed.bind(this, items.indexOf(item))}\n translate={translate}\n showIcon={showIcon}\n />\n ))}\n </div>\n );\n });\n }\n}\n\nexport default themeable(localeable(ToastComponent));\n\ninterface ToastMessageProps {\n body: string;\n level: 'info' | 'success' | 'error' | 'warning';\n timeout: number;\n closeButton?: boolean;\n showIcon?: boolean;\n position:\n | 'top-right'\n | 'top-center'\n | 'top-left'\n | 'bottom-center'\n | 'bottom-left'\n | 'bottom-right';\n onDismiss?: () => void;\n classnames: ClassNamesFn;\n translate: TranslateFn;\n allowHtml: boolean;\n}\n\ninterface ToastMessageState {\n visible: boolean;\n}\n\nexport class ToastMessage extends React.Component<\n ToastMessageProps,\n ToastMessageState\n> {\n static defaultProps = {\n timeout: 5000,\n classPrefix: '',\n position: 'top-center',\n allowHtml: true,\n level: 'info'\n };\n\n state = {\n visible: false\n };\n\n // content: React.RefObject<HTMLDivElement>;\n timer: ReturnType<typeof setTimeout>;\n mounted: boolean = false;\n\n componentDidMount() {\n this.mounted = true;\n this.setState({\n visible: true\n });\n }\n\n componentWillUnmount() {\n clearTimeout(this.timer);\n this.mounted = false;\n }\n\n @autobind\n handleMouseEnter() {\n clearTimeout(this.timer);\n }\n\n @autobind\n handleMouseLeave() {\n this.handleEntered();\n }\n\n @autobind\n handleEntered() {\n const timeout = this.props.timeout;\n if (this.mounted && timeout) {\n this.timer = setTimeout(this.close, timeout);\n }\n }\n\n @autobind\n close() {\n clearTimeout(this.timer);\n this.setState({\n visible: false\n });\n }\n\n render() {\n const {\n onDismiss,\n classnames: cx,\n closeButton,\n body,\n allowHtml,\n level,\n showIcon,\n translate: __\n } = this.props;\n\n return (\n <Transition\n mountOnEnter\n unmountOnExit\n in={this.state.visible}\n timeout={750}\n onEntered={this.handleEntered}\n onExited={onDismiss}\n >\n {(status: string) => {\n return (\n <div\n className={cx(`Toast Toast--${level}`, fadeStyles[status])}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n onClick={closeButton ? noop : this.close}\n >\n {showIcon === false ? null : (\n <div className={cx('Toast-icon')}>\n {level === 'success' ? (\n <Icon icon=\"status-success\" className=\"icon\" />\n ) : level == 'error' ? (\n <Icon icon=\"status-fail\" className=\"icon\" />\n ) : level == 'info' ? (\n <Icon icon=\"status-info\" className=\"icon\" />\n ) : level == 'warning' ? (\n <Icon icon=\"status-warning\" className=\"icon\" />\n ) : null}\n </div>\n )}\n <div className={cx('Toast-body')}>\n {allowHtml ? <Html html={body} /> : body}\n </div>\n\n {closeButton ? (\n <a onClick={this.close} className={cx(`Toast-close`)}>\n <Icon icon=\"status-close\" className=\"icon\" />\n </a>\n ) : null}\n </div>\n );\n }}\n </Transition>\n );\n }\n}\n\nexport const toast = {\n container: toastRef,\n success: (content: string, conf?: any) => show(content, conf, 'success'),\n error: (content: string, conf?: any) => show(content, conf, 'error'),\n info: (content: string, conf?: any) => show(content, conf, 'info'),\n warning: (content: string, conf?: any) => show(content, conf, 'warning')\n};\n"
11
+ "/**\n * @file Toast\n * @description toast提示组件, 单例模式,App级别只需要一个ToastComponent,引入了多个会兼容,也只有第一个生效\n * @author fex\n */\n\nimport Transition, {\n ENTERED,\n ENTERING,\n EXITING,\n EXITED\n} from 'react-transition-group/Transition';\nimport React from 'react';\nimport cx from 'classnames';\nimport Html from './Html';\nimport {uuid, autobind, noop} from '../utils/helper';\nimport {ClassNamesFn, themeable, classnames, ThemeProps} from '../theme';\nimport {Icon} from './icons';\nimport {LocaleProps, localeable, TranslateFn} from '../locale';\nimport groupBy from 'lodash/groupBy';\n\ninterface Config {\n closeButton?: boolean;\n timeout?: number;\n}\n\nconst fadeStyles: {\n [propName: string]: string;\n} = {\n [ENTERING]: 'in',\n [ENTERED]: 'in',\n [EXITING]: 'out'\n};\n\nlet toastRef: any = null;\nconst show = (content: string, conf: any = {}, method: string) => {\n if (!toastRef || !toastRef[method]) {\n return;\n }\n toastRef[method](content, {...conf});\n};\n\ninterface ToastComponentProps extends ThemeProps, LocaleProps {\n position:\n | 'top-right'\n | 'top-center'\n | 'top-left'\n | 'bottom-center'\n | 'bottom-left'\n | 'bottom-right';\n closeButton: boolean;\n showIcon?: boolean;\n timeout: number;\n errorTimeout: number;\n className?: string;\n}\n\ninterface Item extends Config {\n title?: string | React.ReactNode;\n body: string | React.ReactNode;\n level: 'info' | 'success' | 'error' | 'warning';\n id: string;\n onDissmiss?: () => void;\n position?:\n | 'top-right'\n | 'top-center'\n | 'top-left'\n | 'bottom-center'\n | 'bottom-left'\n | 'bottom-right';\n}\n\ninterface ToastComponentState {\n items: Array<Item>;\n}\n\nexport class ToastComponent extends React.Component<\n ToastComponentProps,\n ToastComponentState\n> {\n static defaultProps: Pick<\n ToastComponentProps,\n 'position' | 'closeButton' | 'timeout' | 'errorTimeout'\n > = {\n position: 'top-center',\n closeButton: false,\n timeout: 4000,\n errorTimeout: 6000 // 错误的时候 time 调长\n };\n static themeKey = 'toast';\n\n // 当前ToastComponent是否真正render了\n hasRendered = false;\n state: ToastComponentState = {\n items: []\n };\n\n componentDidMount() {\n this.hasRendered = true;\n toastRef = this;\n }\n\n componentWillUnmount() {\n if (this.hasRendered) {\n toastRef = null;\n }\n }\n\n notifiy(level: string, content: string, config?: any) {\n const items = this.state.items.concat();\n items.push({\n body: content,\n level,\n ...config,\n id: uuid()\n });\n this.setState({\n items\n });\n }\n\n @autobind\n success(content: string, config?: any) {\n this.notifiy('success', content, config);\n }\n\n @autobind\n error(content: string, config?: any) {\n this.notifiy('error', content, config);\n }\n\n @autobind\n info(content: string, config?: any) {\n this.notifiy('info', content, config);\n }\n\n @autobind\n warning(content: string, config?: any) {\n this.notifiy('warning', content, config);\n }\n\n handleDismissed(index: number) {\n const items = this.state.items.concat();\n const [item] = items.splice(index, 1);\n\n item?.onDissmiss?.();\n this.setState({\n items: items\n });\n }\n\n render() {\n if (toastRef && !this.hasRendered) {\n return null;\n }\n\n const {\n classnames: cx,\n className,\n timeout,\n errorTimeout,\n position,\n showIcon,\n translate,\n closeButton\n } = this.props;\n const items = this.state.items;\n const groupedItems = groupBy(items, item => item.position || position);\n\n return Object.keys(groupedItems).map(position => {\n const toasts = groupedItems[position];\n return (\n <div\n key={position}\n className={cx(\n `Toast-wrap Toast-wrap--${position.replace(/\\-(\\w)/g, (_, l) =>\n l.toUpperCase()\n )}`,\n className\n )}\n >\n {toasts.map(item => {\n const level = item.level || 'info';\n const toastTimeout =\n item.timeout ?? (level === 'error' ? errorTimeout : timeout);\n return (\n <ToastMessage\n classnames={cx}\n key={item.id}\n title={item.title}\n body={item.body}\n level={level}\n timeout={toastTimeout}\n closeButton={item.closeButton ?? closeButton}\n onDismiss={this.handleDismissed.bind(this, items.indexOf(item))}\n translate={translate}\n showIcon={showIcon}\n />\n );\n })}\n </div>\n );\n });\n }\n}\n\nexport default themeable(localeable(ToastComponent));\n\ninterface ToastMessageProps {\n title?: string | React.ReactNode;\n body: string | React.ReactNode;\n level: 'info' | 'success' | 'error' | 'warning';\n timeout: number;\n closeButton?: boolean;\n showIcon?: boolean;\n position:\n | 'top-right'\n | 'top-center'\n | 'top-left'\n | 'bottom-center'\n | 'bottom-left'\n | 'bottom-right';\n onDismiss?: () => void;\n classnames: ClassNamesFn;\n translate: TranslateFn;\n allowHtml: boolean;\n}\n\ninterface ToastMessageState {\n visible: boolean;\n}\n\nexport class ToastMessage extends React.Component<\n ToastMessageProps,\n ToastMessageState\n> {\n static defaultProps = {\n timeout: 5000,\n classPrefix: '',\n position: 'top-center',\n allowHtml: true,\n level: 'info'\n };\n\n state = {\n visible: false\n };\n\n // content: React.RefObject<HTMLDivElement>;\n timer: ReturnType<typeof setTimeout>;\n mounted: boolean = false;\n\n componentDidMount() {\n this.mounted = true;\n this.setState({\n visible: true\n });\n }\n\n componentWillUnmount() {\n clearTimeout(this.timer);\n this.mounted = false;\n }\n\n @autobind\n handleMouseEnter() {\n clearTimeout(this.timer);\n }\n\n @autobind\n handleMouseLeave() {\n this.handleEntered();\n }\n\n @autobind\n handleEntered() {\n const timeout = this.props.timeout;\n if (this.mounted && timeout) {\n this.timer = setTimeout(this.close, timeout);\n }\n }\n\n @autobind\n close() {\n clearTimeout(this.timer);\n this.setState({\n visible: false\n });\n }\n\n render() {\n const {\n onDismiss,\n classnames: cx,\n closeButton,\n title,\n body,\n allowHtml,\n level,\n showIcon,\n translate: __\n } = this.props;\n\n return (\n <Transition\n mountOnEnter\n unmountOnExit\n in={this.state.visible}\n timeout={750}\n onEntered={this.handleEntered}\n onExited={onDismiss}\n >\n {(status: string) => {\n return (\n <div\n className={cx(`Toast Toast--${level}`, fadeStyles[status])}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n onClick={closeButton ? noop : this.close}\n >\n {showIcon === false ? null : (\n <div className={cx('Toast-icon')}>\n {level === 'success' ? (\n <Icon icon=\"status-success\" className=\"icon\" />\n ) : level == 'error' ? (\n <Icon icon=\"status-fail\" className=\"icon\" />\n ) : level == 'info' ? (\n <Icon icon=\"status-info\" className=\"icon\" />\n ) : level == 'warning' ? (\n <Icon icon=\"status-warning\" className=\"icon\" />\n ) : null}\n </div>\n )}\n\n <div className={cx('Toast-content')}>\n {typeof title === 'string' ? (\n <span className={cx(`Toast-title`)}>{title}</span>\n ) : React.isValidElement(title) ? (\n React.cloneElement(title, {\n className: cx(`Toast-title`, title?.props?.className ?? '')\n })\n ) : null}\n\n {typeof body === 'string' ? (\n <div className={cx('Toast-body')}>\n {allowHtml ? <Html html={body} /> : body}\n </div>\n ) : React.isValidElement(body) ? (\n React.cloneElement(body, {\n className: cx(`Toast-body`, body?.props?.className ?? '')\n })\n ) : null}\n </div>\n\n {closeButton ? (\n <a onClick={this.close} className={cx(`Toast-close`)}>\n <Icon icon=\"status-close\" className=\"icon\" />\n </a>\n ) : null}\n </div>\n );\n }}\n </Transition>\n );\n }\n}\n\nexport const toast = {\n container: toastRef,\n success: (content: string, conf?: any) => show(content, conf, 'success'),\n error: (content: string, conf?: any) => show(content, conf, 'error'),\n info: (content: string, conf?: any) => show(content, conf, 'info'),\n warning: (content: string, conf?: any) => show(content, conf, 'warning')\n};\n"
12
12
  ]
13
13
  }