smart-webcomponents-react 14.2.83 → 14.3.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 (376) hide show
  1. package/alertwindow/alertwindow.d.ts +5 -5
  2. package/alertwindow/alertwindow.esm.js +10 -85
  3. package/alertwindow/alertwindow.umd.js +1134 -1209
  4. package/array/array.d.ts +5 -5
  5. package/array/array.esm.js +13 -88
  6. package/array/array.umd.js +752 -827
  7. package/barcode/barcode.d.ts +3 -3
  8. package/barcode/barcode.esm.js +6 -61
  9. package/barcode/barcode.umd.js +311 -366
  10. package/button/dropdownbutton.d.ts +2 -2
  11. package/button/multisplitbutton.d.ts +2 -2
  12. package/calendar/calendar.d.ts +2 -2
  13. package/calendar/calendar.esm.js +4 -49
  14. package/calendar/calendar.umd.js +710 -755
  15. package/card/cardview.d.ts +1 -1
  16. package/cardview/cardview.d.ts +1 -1
  17. package/cardview/cardview.esm.js +2 -37
  18. package/cardview/cardview.umd.js +515 -550
  19. package/chart/chart.d.ts +9 -9
  20. package/chart/chart.esm.js +18 -133
  21. package/chart/chart.umd.js +822 -937
  22. package/chart/ganttchart.d.ts +20 -20
  23. package/combobox/combobox.d.ts +4 -4
  24. package/combobox/combobox.esm.js +8 -73
  25. package/combobox/combobox.umd.js +1341 -1406
  26. package/datetimepicker/datetimepicker.d.ts +1 -1
  27. package/datetimepicker/datetimepicker.esm.js +2 -37
  28. package/datetimepicker/datetimepicker.umd.js +826 -861
  29. package/dialogwindow/dialogwindow.d.ts +5 -5
  30. package/dialogwindow/dialogwindow.esm.js +10 -85
  31. package/dialogwindow/dialogwindow.umd.js +1134 -1209
  32. package/dockinglayout/dockinglayout.d.ts +7 -7
  33. package/dockinglayout/dockinglayout.esm.js +14 -109
  34. package/dockinglayout/dockinglayout.umd.js +765 -860
  35. package/dropdownbutton/dropdownbutton.d.ts +2 -2
  36. package/dropdownbutton/dropdownbutton.esm.js +4 -49
  37. package/dropdownbutton/dropdownbutton.umd.js +527 -572
  38. package/dropdownlist/dropdownlist.d.ts +4 -4
  39. package/dropdownlist/dropdownlist.esm.js +8 -73
  40. package/dropdownlist/dropdownlist.umd.js +1275 -1340
  41. package/editor/editor.d.ts +11 -9
  42. package/editor/editor.esm.js +14 -109
  43. package/editor/editor.umd.js +911 -1006
  44. package/fileupload/fileupload.d.ts +2 -1
  45. package/filterbuilder/filterbuilder.d.ts +1 -1
  46. package/filterbuilder/filterbuilder.esm.js +2 -37
  47. package/filterbuilder/filterbuilder.umd.js +463 -498
  48. package/filterpanel/filterpanel.d.ts +1 -1
  49. package/filterpanel/filterpanel.esm.js +2 -37
  50. package/filterpanel/filterpanel.umd.js +354 -389
  51. package/form/form.d.ts +1 -1
  52. package/form/form.esm.js +4 -49
  53. package/form/form.umd.js +1016 -1061
  54. package/form/formgroup.d.ts +1 -1
  55. package/ganttchart/ganttchart.d.ts +20 -20
  56. package/ganttchart/ganttchart.esm.js +40 -265
  57. package/ganttchart/ganttchart.umd.js +1666 -1891
  58. package/gauge/gauge.d.ts +2 -2
  59. package/gauge/gauge.esm.js +4 -49
  60. package/gauge/gauge.umd.js +664 -709
  61. package/grid/grid.d.ts +56 -51
  62. package/grid/grid.esm.js +96 -460
  63. package/grid/grid.umd.js +2107 -2471
  64. package/index.d.ts +45 -3
  65. package/input/input.d.ts +2 -2
  66. package/input/input.esm.js +4 -49
  67. package/input/input.umd.js +505 -550
  68. package/input/numberinput.d.ts +2 -2
  69. package/input/phoneinput.d.ts +4 -4
  70. package/kanban/kanban.d.ts +6 -6
  71. package/kanban/kanban.esm.js +12 -97
  72. package/kanban/kanban.umd.js +1334 -1419
  73. package/layout/dockinglayout.d.ts +7 -7
  74. package/listbox/listbox.d.ts +5 -5
  75. package/listbox/listbox.esm.js +10 -85
  76. package/listbox/listbox.umd.js +1170 -1245
  77. package/listmenu/listmenu.d.ts +1 -1
  78. package/listmenu/listmenu.esm.js +2 -37
  79. package/listmenu/listmenu.umd.js +1005 -1040
  80. package/menu/listmenu.d.ts +1 -1
  81. package/menu/menu.d.ts +1 -1
  82. package/menu/menu.esm.js +2 -37
  83. package/menu/menu.umd.js +1025 -1060
  84. package/multilinetextbox/multilinetextbox.d.ts +1 -1
  85. package/multilinetextbox/multilinetextbox.esm.js +2 -37
  86. package/multilinetextbox/multilinetextbox.umd.js +907 -942
  87. package/multilinewindow/multilinewindow.d.ts +5 -5
  88. package/multilinewindow/multilinewindow.esm.js +10 -85
  89. package/multilinewindow/multilinewindow.umd.js +1134 -1209
  90. package/multisplitbutton/multisplitbutton.d.ts +2 -2
  91. package/multisplitbutton/multisplitbutton.esm.js +4 -49
  92. package/multisplitbutton/multisplitbutton.umd.js +941 -986
  93. package/numberinput/numberinput.d.ts +2 -2
  94. package/numberinput/numberinput.esm.js +4 -49
  95. package/numberinput/numberinput.umd.js +348 -393
  96. package/numerictextbox/numerictextbox.d.ts +1 -1
  97. package/numerictextbox/numerictextbox.esm.js +2 -37
  98. package/numerictextbox/numerictextbox.umd.js +592 -627
  99. package/package.json +1 -1
  100. package/phoneinput/phoneinput.d.ts +4 -4
  101. package/phoneinput/phoneinput.esm.js +8 -73
  102. package/phoneinput/phoneinput.umd.js +386 -451
  103. package/pivottable/pivottable.d.ts +3 -3
  104. package/pivottable/pivottable.esm.js +6 -61
  105. package/pivottable/pivottable.umd.js +762 -817
  106. package/progresswindow/progresswindow.d.ts +5 -5
  107. package/progresswindow/progresswindow.esm.js +10 -85
  108. package/progresswindow/progresswindow.umd.js +1134 -1209
  109. package/promptwindow/promptwindow.d.ts +5 -5
  110. package/promptwindow/promptwindow.esm.js +10 -85
  111. package/promptwindow/promptwindow.umd.js +1134 -1209
  112. package/qrcode/qrcode.d.ts +3 -3
  113. package/qrcode/qrcode.esm.js +6 -61
  114. package/qrcode/qrcode.umd.js +333 -388
  115. package/querybuilder/querybuilder.d.ts +6 -1
  116. package/querybuilder/querybuilder.esm.js +14 -38
  117. package/querybuilder/querybuilder.umd.js +446 -470
  118. package/rating/rating.d.ts +1 -1
  119. package/rating/rating.esm.js +2 -37
  120. package/rating/rating.umd.js +261 -296
  121. package/scheduler/scheduler.d.ts +17 -17
  122. package/scheduler/scheduler.esm.js +34 -229
  123. package/scheduler/scheduler.umd.js +1782 -1977
  124. package/slider/slider.d.ts +2 -2
  125. package/slider/slider.esm.js +4 -49
  126. package/slider/slider.umd.js +642 -687
  127. package/source/modules/smart.accordion.js +1 -1
  128. package/source/modules/smart.array.js +2 -2
  129. package/source/modules/smart.barcode.js +1 -1
  130. package/source/modules/smart.breadcrumb.js +1 -1
  131. package/source/modules/smart.button.js +1 -1
  132. package/source/modules/smart.buttongroup.js +1 -1
  133. package/source/modules/smart.calendar.js +3 -3
  134. package/source/modules/smart.card.js +1 -1
  135. package/source/modules/smart.cardview.js +4 -4
  136. package/source/modules/smart.carousel.js +1 -1
  137. package/source/modules/smart.chart.js +1 -1
  138. package/source/modules/smart.checkbox.js +1 -1
  139. package/source/modules/smart.checkinput.js +2 -2
  140. package/source/modules/smart.chip.js +1 -1
  141. package/source/modules/smart.colorinput.js +2 -2
  142. package/source/modules/smart.colorpanel.js +2 -2
  143. package/source/modules/smart.colorpicker.js +2 -2
  144. package/source/modules/smart.combobox.js +2 -2
  145. package/source/modules/smart.common.js +1 -1
  146. package/source/modules/smart.countryinput.js +2 -2
  147. package/source/modules/smart.dateinput.js +3 -3
  148. package/source/modules/smart.daterangeinput.js +4 -4
  149. package/source/modules/smart.datetimepicker.js +3 -3
  150. package/source/modules/smart.dockinglayout.js +1 -1
  151. package/source/modules/smart.dropdownbutton.js +1 -1
  152. package/source/modules/smart.dropdownlist.js +2 -2
  153. package/source/modules/smart.editor.js +5 -5
  154. package/source/modules/smart.element.js +1 -1
  155. package/source/modules/smart.fileupload.js +3 -3
  156. package/source/modules/smart.form.js +2 -2
  157. package/source/modules/smart.formulaparser.js +1 -1
  158. package/source/modules/smart.ganttchart.js +5 -5
  159. package/source/modules/smart.gauge.js +1 -1
  160. package/source/modules/smart.grid.js +14 -14
  161. package/source/modules/smart.gridpanel.js +4 -4
  162. package/source/modules/smart.input.js +2 -2
  163. package/source/modules/smart.kanban.js +5 -5
  164. package/source/modules/smart.layout.js +1 -1
  165. package/source/modules/smart.led.js +1 -1
  166. package/source/modules/smart.listbox.js +2 -2
  167. package/source/modules/smart.listmenu.js +1 -1
  168. package/source/modules/smart.map.js +1 -1
  169. package/source/modules/smart.maskedtextbox.js +2 -2
  170. package/source/modules/smart.menu.js +1 -1
  171. package/source/modules/smart.multicomboinput.js +2 -2
  172. package/source/modules/smart.multiinput.js +2 -2
  173. package/source/modules/smart.multilinetextbox.js +2 -2
  174. package/source/modules/smart.multisplitbutton.js +2 -2
  175. package/source/modules/smart.numberinput.js +2 -2
  176. package/source/modules/smart.numerictextbox.js +2 -2
  177. package/source/modules/smart.pager.js +2 -2
  178. package/source/modules/smart.passwordinput.js +2 -2
  179. package/source/modules/smart.passwordtextbox.js +2 -2
  180. package/source/modules/smart.path.js +1 -1
  181. package/source/modules/smart.phoneinput.js +2 -2
  182. package/source/modules/smart.pivottable.js +3 -3
  183. package/source/modules/smart.progressbar.js +1 -1
  184. package/source/modules/smart.qrcode.js +1 -1
  185. package/source/modules/smart.querybuilder.js +5 -5
  186. package/source/modules/smart.radiobutton.js +1 -1
  187. package/source/modules/smart.rating.js +1 -1
  188. package/source/modules/smart.router.js +1 -1
  189. package/source/modules/smart.scheduler.js +4 -4
  190. package/source/modules/smart.scrollbar.js +1 -1
  191. package/source/modules/smart.slider.js +1 -1
  192. package/source/modules/smart.sortable.js +1 -1
  193. package/source/modules/smart.splitter.js +1 -1
  194. package/source/modules/smart.switchbutton.js +1 -1
  195. package/source/modules/smart.table.js +3 -3
  196. package/source/modules/smart.tabs.js +1 -1
  197. package/source/modules/smart.tank.js +1 -1
  198. package/source/modules/smart.textarea.js +2 -2
  199. package/source/modules/smart.textbox.js +2 -2
  200. package/source/modules/smart.timeinput.js +2 -2
  201. package/source/modules/smart.timepicker.js +1 -1
  202. package/source/modules/smart.toast.js +1 -1
  203. package/source/modules/smart.tooltip.js +1 -1
  204. package/source/modules/smart.tree.js +1 -1
  205. package/source/modules/smart.validator.js +1 -1
  206. package/source/modules/smart.window.js +2 -2
  207. package/source/smart.accordion.js +1 -1
  208. package/source/smart.ajax.js +1 -1
  209. package/source/smart.array.js +1 -1
  210. package/source/smart.barcode.js +1 -1
  211. package/source/smart.bootstrap.js +1 -1
  212. package/source/smart.breadcrumb.js +1 -1
  213. package/source/smart.button.js +1 -1
  214. package/source/smart.buttongroup.js +1 -1
  215. package/source/smart.calendar.js +2 -2
  216. package/source/smart.card.js +1 -1
  217. package/source/smart.cardview.js +1 -1
  218. package/source/smart.carousel.js +1 -1
  219. package/source/smart.chart.annotations.js +1 -1
  220. package/source/smart.chart.api.js +1 -1
  221. package/source/smart.chart.core.js +1 -1
  222. package/source/smart.chart.js +1 -1
  223. package/source/smart.chart.rangeselector.js +1 -1
  224. package/source/smart.chart.waterfall.js +1 -1
  225. package/source/smart.checkbox.js +1 -1
  226. package/source/smart.checkinput.js +1 -1
  227. package/source/smart.chip.js +1 -1
  228. package/source/smart.colorinput.js +1 -1
  229. package/source/smart.colorpanel.js +1 -1
  230. package/source/smart.colorpicker.js +1 -1
  231. package/source/smart.combobox.js +1 -1
  232. package/source/smart.complex.js +1 -1
  233. package/source/smart.core.js +1 -1
  234. package/source/smart.countryinput.js +1 -1
  235. package/source/smart.data.js +1 -1
  236. package/source/smart.date.js +1 -1
  237. package/source/smart.dateformatpanel.js +1 -1
  238. package/source/smart.dateinput.js +1 -1
  239. package/source/smart.daterangeinput.js +1 -1
  240. package/source/smart.datetimepicker.js +1 -1
  241. package/source/smart.dockinglayout.js +1 -1
  242. package/source/smart.draw.js +1 -1
  243. package/source/smart.dropdownbutton.js +1 -1
  244. package/source/smart.dropdownlist.js +1 -1
  245. package/source/smart.editor.js +2 -2
  246. package/source/smart.element.js +1 -1
  247. package/source/smart.elements.js +17 -17
  248. package/source/smart.export.js +1 -1
  249. package/source/smart.fileupload.js +2 -2
  250. package/source/smart.filter.js +1 -1
  251. package/source/smart.filterbuilder.js +2 -2
  252. package/source/smart.filterpanel.js +1 -1
  253. package/source/smart.form.js +1 -1
  254. package/source/smart.format.js +1 -1
  255. package/source/smart.formulaparser.js +1 -1
  256. package/source/smart.ganttchart.js +2 -2
  257. package/source/smart.gauge.js +1 -1
  258. package/source/smart.grid.cell.js +2 -2
  259. package/source/smart.grid.chart.js +1 -1
  260. package/source/smart.grid.column.js +1 -1
  261. package/source/smart.grid.core.js +2 -2
  262. package/source/smart.grid.dialog.js +2 -2
  263. package/source/smart.grid.edit.js +2 -2
  264. package/source/smart.grid.export.js +1 -1
  265. package/source/smart.grid.filter.js +1 -1
  266. package/source/smart.grid.group.js +1 -1
  267. package/source/smart.grid.js +1 -1
  268. package/source/smart.grid.menu.js +2 -2
  269. package/source/smart.grid.pager.js +1 -1
  270. package/source/smart.grid.reorder.js +1 -1
  271. package/source/smart.grid.resize.js +2 -2
  272. package/source/smart.grid.row.js +1 -1
  273. package/source/smart.grid.select.js +2 -2
  274. package/source/smart.grid.sort.js +1 -1
  275. package/source/smart.grid.toolbar.js +2 -2
  276. package/source/smart.grid.tree.js +1 -1
  277. package/source/smart.grid.view.js +2 -2
  278. package/source/smart.gridpanel.js +1 -1
  279. package/source/smart.input.js +2 -2
  280. package/source/smart.kanban.js +2 -2
  281. package/source/smart.layout.js +1 -1
  282. package/source/smart.led.js +1 -1
  283. package/source/smart.listbox.js +2 -2
  284. package/source/smart.listmenu.js +1 -1
  285. package/source/smart.map.js +1 -1
  286. package/source/smart.maskedtextbox.js +1 -1
  287. package/source/smart.math.js +1 -1
  288. package/source/smart.menu.js +1 -1
  289. package/source/smart.multicomboinput.js +1 -1
  290. package/source/smart.multiinput.js +1 -1
  291. package/source/smart.multilinetextbox.js +1 -1
  292. package/source/smart.multisplitbutton.js +1 -1
  293. package/source/smart.numberformatpanel.js +1 -1
  294. package/source/smart.numberinput.js +1 -1
  295. package/source/smart.numeric.js +1 -1
  296. package/source/smart.numerictextbox.js +1 -1
  297. package/source/smart.pager.js +1 -1
  298. package/source/smart.passwordinput.js +1 -1
  299. package/source/smart.passwordtextbox.js +1 -1
  300. package/source/smart.path.js +1 -1
  301. package/source/smart.phoneinput.js +1 -1
  302. package/source/smart.pivottable.js +1 -1
  303. package/source/smart.powerbutton.js +1 -1
  304. package/source/smart.progressbar.js +1 -1
  305. package/source/smart.qrcode.js +1 -1
  306. package/source/smart.radiobutton.js +1 -1
  307. package/source/smart.rating.js +1 -1
  308. package/source/smart.router.js +1 -1
  309. package/source/smart.scheduler.js +1 -1
  310. package/source/smart.scrollbar.js +1 -1
  311. package/source/smart.slider.js +1 -1
  312. package/source/smart.sortable.js +1 -1
  313. package/source/smart.splitter.js +1 -1
  314. package/source/smart.switchbutton.js +1 -1
  315. package/source/smart.table.js +1 -1
  316. package/source/smart.tabs.js +1 -1
  317. package/source/smart.tank.js +1 -1
  318. package/source/smart.textarea.js +1 -1
  319. package/source/smart.textbox.js +1 -1
  320. package/source/smart.tickintervalhandler.js +1 -1
  321. package/source/smart.timeinput.js +1 -1
  322. package/source/smart.timepicker.js +1 -1
  323. package/source/smart.toast.js +1 -1
  324. package/source/smart.tooltip.js +1 -1
  325. package/source/smart.tree.js +1 -1
  326. package/source/smart.validationpanel.js +1 -1
  327. package/source/smart.validator.js +1 -1
  328. package/source/smart.window.js +1 -1
  329. package/source/styles/components/smart.grid.css +1 -1
  330. package/source/styles/default/scss/smart.grid.scss +10 -3
  331. package/source/styles/default/smart.grid.css +7 -3
  332. package/source/styles/smart.default.css +1 -1
  333. package/source/typescript/smart.editor.d.ts +4 -2
  334. package/source/typescript/smart.elements.d.ts +45 -3
  335. package/source/typescript/smart.fileupload.d.ts +2 -1
  336. package/source/typescript/smart.grid.d.ts +34 -0
  337. package/source/typescript/smart.querybuilder.d.ts +5 -0
  338. package/splitter/splitter.d.ts +3 -3
  339. package/splitter/splitter.esm.js +6 -61
  340. package/splitter/splitter.umd.js +901 -956
  341. package/table/pivottable.d.ts +3 -3
  342. package/table/table.d.ts +7 -7
  343. package/table/table.esm.js +14 -109
  344. package/table/table.umd.js +1278 -1373
  345. package/tabs/tabs.d.ts +4 -4
  346. package/tabs/tabs.esm.js +8 -73
  347. package/tabs/tabs.umd.js +875 -940
  348. package/tabs/tabswindow.d.ts +5 -5
  349. package/tabswindow/tabswindow.d.ts +5 -5
  350. package/tabswindow/tabswindow.esm.js +10 -85
  351. package/tabswindow/tabswindow.umd.js +1134 -1209
  352. package/tank/tank.d.ts +2 -2
  353. package/tank/tank.esm.js +4 -49
  354. package/tank/tank.umd.js +598 -643
  355. package/textbox/multilinetextbox.d.ts +1 -1
  356. package/textbox/numerictextbox.d.ts +1 -1
  357. package/timepicker/datetimepicker.d.ts +1 -1
  358. package/toast/toast.d.ts +1 -1
  359. package/toast/toast.esm.js +2 -37
  360. package/toast/toast.umd.js +397 -432
  361. package/tree/tree.d.ts +4 -4
  362. package/tree/tree.esm.js +8 -73
  363. package/tree/tree.umd.js +1310 -1375
  364. package/waitwindow/waitwindow.d.ts +5 -5
  365. package/waitwindow/waitwindow.esm.js +10 -85
  366. package/waitwindow/waitwindow.umd.js +1134 -1209
  367. package/window/alertwindow.d.ts +5 -5
  368. package/window/dialogwindow.d.ts +5 -5
  369. package/window/multilinewindow.d.ts +5 -5
  370. package/window/progresswindow.d.ts +5 -5
  371. package/window/promptwindow.d.ts +5 -5
  372. package/window/tabswindow.d.ts +5 -5
  373. package/window/waitwindow.d.ts +5 -5
  374. package/window/window.d.ts +5 -5
  375. package/window/window.esm.js +10 -85
  376. package/window/window.umd.js +1134 -1209
@@ -2,442 +2,407 @@
2
2
  require('../source/modules/smart.toast');
3
3
 
4
4
  (function (global, factory) {
5
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react')) :
6
- typeof define === 'function' && define.amd ? define(['exports', 'react'], factory) :
7
- (factory((global.toast = {}),global.React));
5
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react')) :
6
+ typeof define === 'function' && define.amd ? define(['exports', 'react'], factory) :
7
+ (factory((global.toast = {}),global.React));
8
8
  }(this, (function (exports,React) { 'use strict';
9
9
 
10
- React = React && React.hasOwnProperty('default') ? React['default'] : React;
10
+ React = React && React.hasOwnProperty('default') ? React['default'] : React;
11
11
 
12
- /*! *****************************************************************************
13
- Copyright (c) Microsoft Corporation. All rights reserved.
14
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
15
- this file except in compliance with the License. You may obtain a copy of the
16
- License at http://www.apache.org/licenses/LICENSE-2.0
17
-
18
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
19
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
20
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
21
- MERCHANTABLITY OR NON-INFRINGEMENT.
22
-
23
- See the Apache Version 2.0 License for specific language governing permissions
24
- and limitations under the License.
25
- ***************************************************************************** */
26
-
27
- function __awaiter(thisArg, _arguments, P, generator) {
28
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
29
- return new (P || (P = Promise))(function (resolve, reject) {
30
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
31
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
32
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
33
- step((generator = generator.apply(thisArg, _arguments || [])).next());
34
- });
35
- }
12
+ const Smart = window.Smart;
13
+ /**
14
+ The toast component is like an alert box that is only shown for a couple of seconds when something happens.
15
+ */
16
+ class Toast extends React.Component {
17
+ constructor(props) {
18
+ super(props);
19
+ this.componentRef = React.createRef();
20
+ }
21
+ // Gets the id of the React component.
22
+ get id() {
23
+ if (!this._id) {
24
+ this._id = 'Toast' + Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);
25
+ }
26
+ return this._id;
27
+ }
28
+ /** Sets or gets the animation mode. Animation is disabled when the property is set to 'none'
29
+ * Property type: Animation | string
30
+ */
31
+ get animation() {
32
+ return this.nativeElement ? this.nativeElement.animation : undefined;
33
+ }
34
+ set animation(value) {
35
+ if (this.nativeElement) {
36
+ this.nativeElement.animation = value;
37
+ }
38
+ }
39
+ /** Specifies the container where new openned toast items will be displayed. The value can be an HTMLElement or element's id. This property is in relation with modal(lower priority than modal) and position(higher priority than position) properties.
40
+ * Property type: string
41
+ */
42
+ get appendTo() {
43
+ return this.nativeElement ? this.nativeElement.appendTo : undefined;
44
+ }
45
+ set appendTo(value) {
46
+ if (this.nativeElement) {
47
+ this.nativeElement.appendTo = value;
48
+ }
49
+ }
50
+ /** Sets or gets whether the toast will automatically close after duration equal to the autoCloseDelay property.
51
+ * Property type: boolean
52
+ */
53
+ get autoClose() {
54
+ return this.nativeElement ? this.nativeElement.autoClose : undefined;
55
+ }
56
+ set autoClose(value) {
57
+ if (this.nativeElement) {
58
+ this.nativeElement.autoClose = value;
59
+ }
60
+ }
61
+ /** Sets or gets the duration after which the toast automatically closes (works only if the autoClose property is set to true).
62
+ * Property type: number
63
+ */
64
+ get autoCloseDelay() {
65
+ return this.nativeElement ? this.nativeElement.autoCloseDelay : undefined;
66
+ }
67
+ set autoCloseDelay(value) {
68
+ if (this.nativeElement) {
69
+ this.nativeElement.autoCloseDelay = value;
70
+ }
71
+ }
72
+ /** Sets whether the toast will open automatically immediately after widget's initialization.
73
+ * Property type: boolean
74
+ */
75
+ get autoOpen() {
76
+ return this.nativeElement ? this.nativeElement.autoOpen : undefined;
77
+ }
78
+ set autoOpen(value) {
79
+ if (this.nativeElement) {
80
+ this.nativeElement.autoOpen = value;
81
+ }
82
+ }
83
+ /** The user will not be able to interact with toast items when disabled is set to true.
84
+ * Property type: boolean
85
+ */
86
+ get disabled() {
87
+ return this.nativeElement ? this.nativeElement.disabled : undefined;
88
+ }
89
+ set disabled(value) {
90
+ if (this.nativeElement) {
91
+ this.nativeElement.disabled = value;
92
+ }
93
+ }
94
+ /** Sets custom icon className which overrides the default one. Multiple class names can be applied by separating them with a space. Useful when loading from a third-party icon library (such as Bootstrap).
95
+ * Property type: string
96
+ */
97
+ get iconClass() {
98
+ return this.nativeElement ? this.nativeElement.iconClass : undefined;
99
+ }
100
+ set iconClass(value) {
101
+ if (this.nativeElement) {
102
+ this.nativeElement.iconClass = value;
103
+ }
104
+ }
105
+ /** Adds a custom class to Toast items. Multiple class names can be applied by separating them with a space. Useful when styling by using predefined class names from a third-party CSS library (such as Bootstrap).
106
+ * Property type: string
107
+ */
108
+ get itemClass() {
109
+ return this.nativeElement ? this.nativeElement.itemClass : undefined;
110
+ }
111
+ set itemClass(value) {
112
+ if (this.nativeElement) {
113
+ this.nativeElement.itemClass = value;
114
+ }
115
+ }
116
+ /** Sets custom item template.
117
+ * Property type: string
118
+ */
119
+ get itemTemplate() {
120
+ return this.nativeElement ? this.nativeElement.itemTemplate : undefined;
121
+ }
122
+ set itemTemplate(value) {
123
+ if (this.nativeElement) {
124
+ this.nativeElement.itemTemplate = value;
125
+ }
126
+ }
127
+ /** Sets or gets the language. Used in conjunction with the property messages.
128
+ * Property type: string
129
+ */
130
+ get locale() {
131
+ return this.nativeElement ? this.nativeElement.locale : undefined;
132
+ }
133
+ set locale(value) {
134
+ if (this.nativeElement) {
135
+ this.nativeElement.locale = value;
136
+ }
137
+ }
138
+ /** Callback, related to localization module.
139
+ * Property type: any
140
+ */
141
+ get localizeFormatFunction() {
142
+ return this.nativeElement ? this.nativeElement.localizeFormatFunction : undefined;
143
+ }
144
+ set localizeFormatFunction(value) {
145
+ if (this.nativeElement) {
146
+ this.nativeElement.localizeFormatFunction = value;
147
+ }
148
+ }
149
+ /** Sets or gets an object specifying strings used in the widget that can be localized. Used in conjunction with the property locale.
150
+ * Property type: any
151
+ */
152
+ get messages() {
153
+ return this.nativeElement ? this.nativeElement.messages : undefined;
154
+ }
155
+ set messages(value) {
156
+ if (this.nativeElement) {
157
+ this.nativeElement.messages = value;
158
+ }
159
+ }
160
+ /** In modal mode the toast item is positioned in the center of the screen. This property is with higher priority than position and appendTo. If modal is set to true these properties are disregarded.
161
+ * Property type: boolean
162
+ */
163
+ get modal() {
164
+ return this.nativeElement ? this.nativeElement.modal : undefined;
165
+ }
166
+ set modal(value) {
167
+ if (this.nativeElement) {
168
+ this.nativeElement.modal = value;
169
+ }
170
+ }
171
+ /** Sets the part of the browser window where the toast will be positioned. The position property is disregarded if appendTo or modal are set.
172
+ * Property type: ToastPosition | string
173
+ */
174
+ get position() {
175
+ return this.nativeElement ? this.nativeElement.position : undefined;
176
+ }
177
+ set position(value) {
178
+ if (this.nativeElement) {
179
+ this.nativeElement.position = value;
180
+ }
181
+ }
182
+ /** If the element is readonly, users cannot interact with it.
183
+ * Property type: boolean
184
+ */
185
+ get readonly() {
186
+ return this.nativeElement ? this.nativeElement.readonly : undefined;
187
+ }
188
+ set readonly(value) {
189
+ if (this.nativeElement) {
190
+ this.nativeElement.readonly = value;
191
+ }
192
+ }
193
+ /** Sets or gets the value indicating whether the element is aligned to support locales using right-to-left fonts.
194
+ * Property type: boolean
195
+ */
196
+ get rightToLeft() {
197
+ return this.nativeElement ? this.nativeElement.rightToLeft : undefined;
198
+ }
199
+ set rightToLeft(value) {
200
+ if (this.nativeElement) {
201
+ this.nativeElement.rightToLeft = value;
202
+ }
203
+ }
204
+ /** Sets or gets whether to show the toast item's close button.
205
+ * Property type: boolean
206
+ */
207
+ get showCloseButton() {
208
+ return this.nativeElement ? this.nativeElement.showCloseButton : undefined;
209
+ }
210
+ set showCloseButton(value) {
211
+ if (this.nativeElement) {
212
+ this.nativeElement.showCloseButton = value;
213
+ }
214
+ }
215
+ /** Determines the theme. Theme defines the look of the element
216
+ * Property type: string
217
+ */
218
+ get theme() {
219
+ return this.nativeElement ? this.nativeElement.theme : undefined;
220
+ }
221
+ set theme(value) {
222
+ if (this.nativeElement) {
223
+ this.nativeElement.theme = value;
224
+ }
225
+ }
226
+ /** Sets speciffic CSS settings and icon to the toast items.
227
+ * Property type: ToastType | null | string
228
+ */
229
+ get type() {
230
+ return this.nativeElement ? this.nativeElement.type : undefined;
231
+ }
232
+ set type(value) {
233
+ if (this.nativeElement) {
234
+ this.nativeElement.type = value;
235
+ }
236
+ }
237
+ /** If is set to true, the element cannot be focused.
238
+ * Property type: boolean
239
+ */
240
+ get unfocusable() {
241
+ return this.nativeElement ? this.nativeElement.unfocusable : undefined;
242
+ }
243
+ set unfocusable(value) {
244
+ if (this.nativeElement) {
245
+ this.nativeElement.unfocusable = value;
246
+ }
247
+ }
248
+ /** Sets a text value to an toast item.
249
+ * Property type: any
250
+ */
251
+ get value() {
252
+ return this.nativeElement ? this.nativeElement.value : undefined;
253
+ }
254
+ set value(value) {
255
+ if (this.nativeElement) {
256
+ this.nativeElement.value = value;
257
+ }
258
+ }
259
+ // Gets the properties of the React component.
260
+ get properties() {
261
+ return ["animation", "appendTo", "autoClose", "autoCloseDelay", "autoOpen", "disabled", "iconClass", "itemClass", "itemTemplate", "locale", "localizeFormatFunction", "messages", "modal", "position", "readonly", "rightToLeft", "showCloseButton", "theme", "type", "unfocusable", "value"];
262
+ }
263
+ // Gets the events of the React component.
264
+ get eventListeners() {
265
+ return ["onItemClick", "onClose", "onOpen", "onSwipebottom", "onSwipeleft", "onSwiperight", "onSwipetop", "onCreate", "onReady"];
266
+ }
267
+ /** Closes all opened toast items.
268
+ */
269
+ closeAll() {
270
+ if (this.nativeElement.isRendered) {
271
+ this.nativeElement.closeAll();
272
+ }
273
+ else {
274
+ this.nativeElement.whenRendered(() => {
275
+ this.nativeElement.closeAll();
276
+ });
277
+ }
278
+ }
279
+ /** Closes particular toast item.
280
+ * @param {HTMLElement | string} item. The toast item (or its id) to remove.
281
+ */
282
+ closeItem(item) {
283
+ if (this.nativeElement.isRendered) {
284
+ this.nativeElement.closeItem(item);
285
+ }
286
+ else {
287
+ this.nativeElement.whenRendered(() => {
288
+ this.nativeElement.closeItem(item);
289
+ });
290
+ }
291
+ }
292
+ /** Closes the last opened toast item.
293
+ */
294
+ closeLast() {
295
+ if (this.nativeElement.isRendered) {
296
+ this.nativeElement.closeLast();
297
+ }
298
+ else {
299
+ this.nativeElement.whenRendered(() => {
300
+ this.nativeElement.closeLast();
301
+ });
302
+ }
303
+ }
304
+ /** Opens a new toast item and returns the opened smart-toast-item instance.
305
+ * @param {HTMLElement | string} value?. The value for the toast item. If not set, the value property will be used.
306
+ * @param {string} iconType?. The icon name for the toast item. If not set, the type property determines the icon type that will be used.
307
+ * @returns {HTMLElement}
308
+ */
309
+ open(value, iconType) {
310
+ const result = this.nativeElement.open(value, iconType);
311
+ return result;
312
+ }
313
+ componentDidRender(initialize) {
314
+ const that = this;
315
+ const props = {};
316
+ const events = {};
317
+ let styles = null;
318
+ for (let prop in that.props) {
319
+ if (prop === 'children') {
320
+ continue;
321
+ }
322
+ if (prop === 'style') {
323
+ styles = that.props[prop];
324
+ continue;
325
+ }
326
+ if (prop.startsWith('on') && that.properties.indexOf(prop) === -1) {
327
+ events[prop] = that.props[prop];
328
+ continue;
329
+ }
330
+ props[prop] = that.props[prop];
331
+ }
332
+ if (initialize) {
333
+ that.nativeElement = this.componentRef.current;
334
+ }
335
+ for (let prop in props) {
336
+ if (prop === 'class' || prop === 'className') {
337
+ const classNames = props[prop].trim().split(' ');
338
+ for (let className in classNames) {
339
+ if (!that.nativeElement.classList.contains(classNames[className]) && classNames[className] !== "") {
340
+ that.nativeElement.classList.add(classNames[className]);
341
+ }
342
+ }
343
+ continue;
344
+ }
345
+ if (props[prop] !== that.nativeElement[prop]) {
346
+ const normalizeProp = (str) => {
347
+ return str.replace(/-([a-z])/g, function (g) {
348
+ return g[1].toUpperCase();
349
+ });
350
+ };
351
+ if (prop === 'hover' || prop === 'active' || prop === 'focus' || prop === 'selected') {
352
+ that.nativeElement.setAttribute(prop, '');
353
+ }
354
+ const normalizedProp = normalizeProp(prop);
355
+ that.nativeElement[normalizedProp] = props[prop];
356
+ }
357
+ }
358
+ for (let eventName in events) {
359
+ that[eventName] = events[eventName];
360
+ that.nativeElement[eventName.toLowerCase()] = events[eventName];
361
+ }
362
+ if (initialize) {
363
+ Smart.Render();
364
+ if (that.onCreate) {
365
+ that.onCreate();
366
+ }
367
+ that.nativeElement.whenRendered(() => {
368
+ if (that.onReady) {
369
+ that.onReady();
370
+ }
371
+ });
372
+ }
373
+ // setup styles.
374
+ if (styles) {
375
+ for (let styleName in styles) {
376
+ that.nativeElement.style[styleName] = styles[styleName];
377
+ }
378
+ }
379
+ }
380
+ componentDidMount() {
381
+ this.componentDidRender(true);
382
+ }
383
+ componentDidUpdate() {
384
+ this.componentDidRender(false);
385
+ }
386
+ componentWillUnmount() {
387
+ const that = this;
388
+ if (!that.nativeElement) {
389
+ return;
390
+ }
391
+ that.nativeElement.whenRenderedCallbacks = [];
392
+ for (let i = 0; i < that.eventListeners.length; i++) {
393
+ const eventName = that.eventListeners[i];
394
+ that.nativeElement.removeEventListener(eventName.substring(2).toLowerCase(), that[eventName]);
395
+ }
396
+ }
397
+ render() {
398
+ return (React.createElement("smart-toast", { ref: this.componentRef }, this.props.children));
399
+ }
400
+ }
36
401
 
37
- const Smart = window.Smart;
38
- /**
39
- The toast component is like an alert box that is only shown for a couple of seconds when something happens.
40
- */
41
- class Toast extends React.Component {
42
- constructor(props) {
43
- super(props);
44
- this.componentRef = React.createRef();
45
- }
46
- // Gets the id of the React component.
47
- get id() {
48
- if (!this._id) {
49
- this._id = 'Toast' + Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);
50
- }
51
- return this._id;
52
- }
53
- /** Sets or gets the animation mode. Animation is disabled when the property is set to 'none'
54
- * Property type: Animation | string
55
- */
56
- get animation() {
57
- return this.nativeElement ? this.nativeElement.animation : undefined;
58
- }
59
- set animation(value) {
60
- if (this.nativeElement) {
61
- this.nativeElement.animation = value;
62
- }
63
- }
64
- /** Specifies the container where new openned toast items will be displayed. The value can be an HTMLElement or element's id. This property is in relation with modal(lower priority than modal) and position(higher priority than position) properties.
65
- * Property type: string
66
- */
67
- get appendTo() {
68
- return this.nativeElement ? this.nativeElement.appendTo : undefined;
69
- }
70
- set appendTo(value) {
71
- if (this.nativeElement) {
72
- this.nativeElement.appendTo = value;
73
- }
74
- }
75
- /** Sets or gets whether the toast will automatically close after duration equal to the autoCloseDelay property.
76
- * Property type: boolean
77
- */
78
- get autoClose() {
79
- return this.nativeElement ? this.nativeElement.autoClose : undefined;
80
- }
81
- set autoClose(value) {
82
- if (this.nativeElement) {
83
- this.nativeElement.autoClose = value;
84
- }
85
- }
86
- /** Sets or gets the duration after which the toast automatically closes (works only if the autoClose property is set to true).
87
- * Property type: number
88
- */
89
- get autoCloseDelay() {
90
- return this.nativeElement ? this.nativeElement.autoCloseDelay : undefined;
91
- }
92
- set autoCloseDelay(value) {
93
- if (this.nativeElement) {
94
- this.nativeElement.autoCloseDelay = value;
95
- }
96
- }
97
- /** Sets whether the toast will open automatically immediately after widget's initialization.
98
- * Property type: boolean
99
- */
100
- get autoOpen() {
101
- return this.nativeElement ? this.nativeElement.autoOpen : undefined;
102
- }
103
- set autoOpen(value) {
104
- if (this.nativeElement) {
105
- this.nativeElement.autoOpen = value;
106
- }
107
- }
108
- /** The user will not be able to interact with toast items when disabled is set to true.
109
- * Property type: boolean
110
- */
111
- get disabled() {
112
- return this.nativeElement ? this.nativeElement.disabled : undefined;
113
- }
114
- set disabled(value) {
115
- if (this.nativeElement) {
116
- this.nativeElement.disabled = value;
117
- }
118
- }
119
- /** Sets custom icon className which overrides the default one. Multiple class names can be applied by separating them with a space. Useful when loading from a third-party icon library (such as Bootstrap).
120
- * Property type: string
121
- */
122
- get iconClass() {
123
- return this.nativeElement ? this.nativeElement.iconClass : undefined;
124
- }
125
- set iconClass(value) {
126
- if (this.nativeElement) {
127
- this.nativeElement.iconClass = value;
128
- }
129
- }
130
- /** Adds a custom class to Toast items. Multiple class names can be applied by separating them with a space. Useful when styling by using predefined class names from a third-party CSS library (such as Bootstrap).
131
- * Property type: string
132
- */
133
- get itemClass() {
134
- return this.nativeElement ? this.nativeElement.itemClass : undefined;
135
- }
136
- set itemClass(value) {
137
- if (this.nativeElement) {
138
- this.nativeElement.itemClass = value;
139
- }
140
- }
141
- /** Sets custom item template.
142
- * Property type: string
143
- */
144
- get itemTemplate() {
145
- return this.nativeElement ? this.nativeElement.itemTemplate : undefined;
146
- }
147
- set itemTemplate(value) {
148
- if (this.nativeElement) {
149
- this.nativeElement.itemTemplate = value;
150
- }
151
- }
152
- /** Sets or gets the language. Used in conjunction with the property messages.
153
- * Property type: string
154
- */
155
- get locale() {
156
- return this.nativeElement ? this.nativeElement.locale : undefined;
157
- }
158
- set locale(value) {
159
- if (this.nativeElement) {
160
- this.nativeElement.locale = value;
161
- }
162
- }
163
- /** Callback, related to localization module.
164
- * Property type: any
165
- */
166
- get localizeFormatFunction() {
167
- return this.nativeElement ? this.nativeElement.localizeFormatFunction : undefined;
168
- }
169
- set localizeFormatFunction(value) {
170
- if (this.nativeElement) {
171
- this.nativeElement.localizeFormatFunction = value;
172
- }
173
- }
174
- /** Sets or gets an object specifying strings used in the widget that can be localized. Used in conjunction with the property locale.
175
- * Property type: any
176
- */
177
- get messages() {
178
- return this.nativeElement ? this.nativeElement.messages : undefined;
179
- }
180
- set messages(value) {
181
- if (this.nativeElement) {
182
- this.nativeElement.messages = value;
183
- }
184
- }
185
- /** In modal mode the toast item is positioned in the center of the screen. This property is with higher priority than position and appendTo. If modal is set to true these properties are disregarded.
186
- * Property type: boolean
187
- */
188
- get modal() {
189
- return this.nativeElement ? this.nativeElement.modal : undefined;
190
- }
191
- set modal(value) {
192
- if (this.nativeElement) {
193
- this.nativeElement.modal = value;
194
- }
195
- }
196
- /** Sets the part of the browser window where the toast will be positioned. The position property is disregarded if appendTo or modal are set.
197
- * Property type: ToastPosition | string
198
- */
199
- get position() {
200
- return this.nativeElement ? this.nativeElement.position : undefined;
201
- }
202
- set position(value) {
203
- if (this.nativeElement) {
204
- this.nativeElement.position = value;
205
- }
206
- }
207
- /** If the element is readonly, users cannot interact with it.
208
- * Property type: boolean
209
- */
210
- get readonly() {
211
- return this.nativeElement ? this.nativeElement.readonly : undefined;
212
- }
213
- set readonly(value) {
214
- if (this.nativeElement) {
215
- this.nativeElement.readonly = value;
216
- }
217
- }
218
- /** Sets or gets the value indicating whether the element is aligned to support locales using right-to-left fonts.
219
- * Property type: boolean
220
- */
221
- get rightToLeft() {
222
- return this.nativeElement ? this.nativeElement.rightToLeft : undefined;
223
- }
224
- set rightToLeft(value) {
225
- if (this.nativeElement) {
226
- this.nativeElement.rightToLeft = value;
227
- }
228
- }
229
- /** Sets or gets whether to show the toast item's close button.
230
- * Property type: boolean
231
- */
232
- get showCloseButton() {
233
- return this.nativeElement ? this.nativeElement.showCloseButton : undefined;
234
- }
235
- set showCloseButton(value) {
236
- if (this.nativeElement) {
237
- this.nativeElement.showCloseButton = value;
238
- }
239
- }
240
- /** Determines the theme. Theme defines the look of the element
241
- * Property type: string
242
- */
243
- get theme() {
244
- return this.nativeElement ? this.nativeElement.theme : undefined;
245
- }
246
- set theme(value) {
247
- if (this.nativeElement) {
248
- this.nativeElement.theme = value;
249
- }
250
- }
251
- /** Sets speciffic CSS settings and icon to the toast items.
252
- * Property type: ToastType | null | string
253
- */
254
- get type() {
255
- return this.nativeElement ? this.nativeElement.type : undefined;
256
- }
257
- set type(value) {
258
- if (this.nativeElement) {
259
- this.nativeElement.type = value;
260
- }
261
- }
262
- /** If is set to true, the element cannot be focused.
263
- * Property type: boolean
264
- */
265
- get unfocusable() {
266
- return this.nativeElement ? this.nativeElement.unfocusable : undefined;
267
- }
268
- set unfocusable(value) {
269
- if (this.nativeElement) {
270
- this.nativeElement.unfocusable = value;
271
- }
272
- }
273
- /** Sets a text value to an toast item.
274
- * Property type: any
275
- */
276
- get value() {
277
- return this.nativeElement ? this.nativeElement.value : undefined;
278
- }
279
- set value(value) {
280
- if (this.nativeElement) {
281
- this.nativeElement.value = value;
282
- }
283
- }
284
- // Gets the properties of the React component.
285
- get properties() {
286
- return ["animation", "appendTo", "autoClose", "autoCloseDelay", "autoOpen", "disabled", "iconClass", "itemClass", "itemTemplate", "locale", "localizeFormatFunction", "messages", "modal", "position", "readonly", "rightToLeft", "showCloseButton", "theme", "type", "unfocusable", "value"];
287
- }
288
- // Gets the events of the React component.
289
- get eventListeners() {
290
- return ["onItemClick", "onClose", "onOpen", "onSwipebottom", "onSwipeleft", "onSwiperight", "onSwipetop", "onCreate", "onReady"];
291
- }
292
- /** Closes all opened toast items.
293
- */
294
- closeAll() {
295
- if (this.nativeElement.isRendered) {
296
- this.nativeElement.closeAll();
297
- }
298
- else {
299
- this.nativeElement.whenRendered(() => {
300
- this.nativeElement.closeAll();
301
- });
302
- }
303
- }
304
- /** Closes particular toast item.
305
- * @param {HTMLElement | string} item. The toast item (or its id) to remove.
306
- */
307
- closeItem(item) {
308
- if (this.nativeElement.isRendered) {
309
- this.nativeElement.closeItem(item);
310
- }
311
- else {
312
- this.nativeElement.whenRendered(() => {
313
- this.nativeElement.closeItem(item);
314
- });
315
- }
316
- }
317
- /** Closes the last opened toast item.
318
- */
319
- closeLast() {
320
- if (this.nativeElement.isRendered) {
321
- this.nativeElement.closeLast();
322
- }
323
- else {
324
- this.nativeElement.whenRendered(() => {
325
- this.nativeElement.closeLast();
326
- });
327
- }
328
- }
329
- /** Opens a new toast item and returns the opened smart-toast-item instance.
330
- * @param {HTMLElement | string} value?. The value for the toast item. If not set, the value property will be used.
331
- * @param {string} iconType?. The icon name for the toast item. If not set, the type property determines the icon type that will be used.
332
- * @returns {HTMLElement}
333
- */
334
- open(value, iconType) {
335
- return __awaiter(this, void 0, void 0, function* () {
336
- const getResultOnRender = () => {
337
- return new Promise(resolve => {
338
- this.nativeElement.whenRendered(() => {
339
- const result = this.nativeElement.open(value, iconType);
340
- resolve(result);
341
- });
342
- });
343
- };
344
- const result = yield getResultOnRender();
345
- return result;
346
- });
347
- }
348
- componentDidRender(initialize) {
349
- const that = this;
350
- const props = {};
351
- const events = {};
352
- let styles = null;
353
- for (let prop in that.props) {
354
- if (prop === 'children') {
355
- continue;
356
- }
357
- if (prop === 'style') {
358
- styles = that.props[prop];
359
- continue;
360
- }
361
- if (prop.startsWith('on') && that.properties.indexOf(prop) === -1) {
362
- events[prop] = that.props[prop];
363
- continue;
364
- }
365
- props[prop] = that.props[prop];
366
- }
367
- if (initialize) {
368
- that.nativeElement = this.componentRef.current;
369
- }
370
- for (let prop in props) {
371
- if (prop === 'class' || prop === 'className') {
372
- const classNames = props[prop].trim().split(' ');
373
- for (let className in classNames) {
374
- if (!that.nativeElement.classList.contains(classNames[className]) && classNames[className] !== "") {
375
- that.nativeElement.classList.add(classNames[className]);
376
- }
377
- }
378
- continue;
379
- }
380
- if (props[prop] !== that.nativeElement[prop]) {
381
- const normalizeProp = (str) => {
382
- return str.replace(/-([a-z])/g, function (g) {
383
- return g[1].toUpperCase();
384
- });
385
- };
386
- if (prop === 'hover' || prop === 'active' || prop === 'focus' || prop === 'selected') {
387
- that.nativeElement.setAttribute(prop, '');
388
- }
389
- const normalizedProp = normalizeProp(prop);
390
- that.nativeElement[normalizedProp] = props[prop];
391
- }
392
- }
393
- for (let eventName in events) {
394
- that[eventName] = events[eventName];
395
- that.nativeElement[eventName.toLowerCase()] = events[eventName];
396
- }
397
- if (initialize) {
398
- Smart.Render();
399
- if (that.onCreate) {
400
- that.onCreate();
401
- }
402
- that.nativeElement.whenRendered(() => {
403
- if (that.onReady) {
404
- that.onReady();
405
- }
406
- });
407
- }
408
- // setup styles.
409
- if (styles) {
410
- for (let styleName in styles) {
411
- that.nativeElement.style[styleName] = styles[styleName];
412
- }
413
- }
414
- }
415
- componentDidMount() {
416
- this.componentDidRender(true);
417
- }
418
- componentDidUpdate() {
419
- this.componentDidRender(false);
420
- }
421
- componentWillUnmount() {
422
- const that = this;
423
- if (!that.nativeElement) {
424
- return;
425
- }
426
- that.nativeElement.whenRenderedCallbacks = [];
427
- for (let i = 0; i < that.eventListeners.length; i++) {
428
- const eventName = that.eventListeners[i];
429
- that.nativeElement.removeEventListener(eventName.substring(2).toLowerCase(), that[eventName]);
430
- }
431
- }
432
- render() {
433
- return (React.createElement("smart-toast", { ref: this.componentRef }, this.props.children));
434
- }
435
- }
402
+ exports.Smart = Smart;
403
+ exports.Toast = Toast;
404
+ exports.default = Toast;
436
405
 
437
- exports.Smart = Smart;
438
- exports.Toast = Toast;
439
- exports.default = Toast;
440
-
441
- Object.defineProperty(exports, '__esModule', { value: true });
406
+ Object.defineProperty(exports, '__esModule', { value: true });
442
407
 
443
408
  })));