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,461 +2,396 @@
2
2
  require('../source/modules/smart.phoneinput');
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.phoneinput = {}),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.phoneinput = {}),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 Phone Input specifies an input field where the user can enter and validate a phone number.
15
+ */
16
+ class PhoneInput 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 = 'PhoneInput' + Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);
25
+ }
26
+ return this._id;
27
+ }
28
+ /** Enables or disables the element.
29
+ * Property type: boolean
30
+ */
31
+ get disabled() {
32
+ return this.nativeElement ? this.nativeElement.disabled : undefined;
33
+ }
34
+ set disabled(value) {
35
+ if (this.nativeElement) {
36
+ this.nativeElement.disabled = value;
37
+ }
38
+ }
39
+ /** Sets additional class names to the Input drop down.
40
+ * Property type: any
41
+ */
42
+ get dropDownClassList() {
43
+ return this.nativeElement ? this.nativeElement.dropDownClassList : undefined;
44
+ }
45
+ set dropDownClassList(value) {
46
+ if (this.nativeElement) {
47
+ this.nativeElement.dropDownClassList = value;
48
+ }
49
+ }
50
+ /** Determines the position of the drop down button.
51
+ * Property type: DropDownButtonPosition | string
52
+ */
53
+ get dropDownButtonPosition() {
54
+ return this.nativeElement ? this.nativeElement.dropDownButtonPosition : undefined;
55
+ }
56
+ set dropDownButtonPosition(value) {
57
+ if (this.nativeElement) {
58
+ this.nativeElement.dropDownButtonPosition = value;
59
+ }
60
+ }
61
+ /** Sets the height of the drop down. By default it's set to an empty string. In this case the height of the drop down is controlled by a CSS variable.
62
+ * Property type: string | number
63
+ */
64
+ get dropDownHeight() {
65
+ return this.nativeElement ? this.nativeElement.dropDownHeight : undefined;
66
+ }
67
+ set dropDownHeight(value) {
68
+ if (this.nativeElement) {
69
+ this.nativeElement.dropDownHeight = value;
70
+ }
71
+ }
72
+ /** Sets the width of the drop down. By default it's set to an empty string. In this case the width of the drop down is controlled by a CSS variable.
73
+ * Property type: string | number
74
+ */
75
+ get dropDownWidth() {
76
+ return this.nativeElement ? this.nativeElement.dropDownWidth : undefined;
77
+ }
78
+ set dropDownWidth(value) {
79
+ if (this.nativeElement) {
80
+ this.nativeElement.dropDownWidth = value;
81
+ }
82
+ }
83
+ /** Sets or gets an object specifying strings used in the widget that can be localized. Used in conjunction with the property locale.
84
+ * Property type: any
85
+ */
86
+ get messages() {
87
+ return this.nativeElement ? this.nativeElement.messages : undefined;
88
+ }
89
+ set messages(value) {
90
+ if (this.nativeElement) {
91
+ this.nativeElement.messages = value;
92
+ }
93
+ }
94
+ /** Sets or gets the name attribute for the element. Name is used when submiting data inside an HTML form.
95
+ * Property type: string
96
+ */
97
+ get name() {
98
+ return this.nativeElement ? this.nativeElement.name : undefined;
99
+ }
100
+ set name(value) {
101
+ if (this.nativeElement) {
102
+ this.nativeElement.name = value;
103
+ }
104
+ }
105
+ /** Determines whether the input will be in international or national mode i.e whether the input will start with '+'.
106
+ * Property type: boolean
107
+ */
108
+ get nationalMode() {
109
+ return this.nativeElement ? this.nativeElement.nationalMode : undefined;
110
+ }
111
+ set nationalMode(value) {
112
+ if (this.nativeElement) {
113
+ this.nativeElement.nationalMode = value;
114
+ }
115
+ }
116
+ /** Determines whether the drop down is opened or not.
117
+ * Property type: boolean
118
+ */
119
+ get opened() {
120
+ return this.nativeElement ? this.nativeElement.opened : undefined;
121
+ }
122
+ set opened(value) {
123
+ if (this.nativeElement) {
124
+ this.nativeElement.opened = value;
125
+ }
126
+ }
127
+ /** Sets or gets an array of country codes which will be used instead of the default one with all countries. The country code should be ISO 3166-1 alpha-2 codes(https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
128
+ * Property type: any
129
+ */
130
+ get onlyCountries() {
131
+ return this.nativeElement ? this.nativeElement.onlyCountries : undefined;
132
+ }
133
+ set onlyCountries(value) {
134
+ if (this.nativeElement) {
135
+ this.nativeElement.onlyCountries = value;
136
+ }
137
+ }
138
+ /** Determines the placeholder of the input.
139
+ * Property type: string
140
+ */
141
+ get placeholder() {
142
+ return this.nativeElement ? this.nativeElement.placeholder : undefined;
143
+ }
144
+ set placeholder(value) {
145
+ if (this.nativeElement) {
146
+ this.nativeElement.placeholder = value;
147
+ }
148
+ }
149
+ /** Sets or gets the selected country of the element. The country code should be ISO 3166-1 alpha-2 codes(https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
150
+ * Property type: string
151
+ */
152
+ get selectedCountry() {
153
+ return this.nativeElement ? this.nativeElement.selectedCountry : undefined;
154
+ }
155
+ set selectedCountry(value) {
156
+ if (this.nativeElement) {
157
+ this.nativeElement.selectedCountry = value;
158
+ }
159
+ }
160
+ /** Sets or gets the value indicating whether the element is aligned to support locales using right-to-left fonts.
161
+ * Property type: boolean
162
+ */
163
+ get rightToLeft() {
164
+ return this.nativeElement ? this.nativeElement.rightToLeft : undefined;
165
+ }
166
+ set rightToLeft(value) {
167
+ if (this.nativeElement) {
168
+ this.nativeElement.rightToLeft = value;
169
+ }
170
+ }
171
+ /** Determines the theme for the element. Themes define the look of the elements.
172
+ * Property type: string
173
+ */
174
+ get theme() {
175
+ return this.nativeElement ? this.nativeElement.theme : undefined;
176
+ }
177
+ set theme(value) {
178
+ if (this.nativeElement) {
179
+ this.nativeElement.theme = value;
180
+ }
181
+ }
182
+ /** If is set to true, the element cannot be focused.
183
+ * Property type: boolean
184
+ */
185
+ get unfocusable() {
186
+ return this.nativeElement ? this.nativeElement.unfocusable : undefined;
187
+ }
188
+ set unfocusable(value) {
189
+ if (this.nativeElement) {
190
+ this.nativeElement.unfocusable = value;
191
+ }
192
+ }
193
+ /** Sets or gets the value of the element.
194
+ * Property type: string
195
+ */
196
+ get value() {
197
+ return this.nativeElement ? this.nativeElement.value : undefined;
198
+ }
199
+ set value(value) {
200
+ if (this.nativeElement) {
201
+ this.nativeElement.value = value;
202
+ }
203
+ }
204
+ // Gets the properties of the React component.
205
+ get properties() {
206
+ return ["disabled", "dropDownClassList", "dropDownButtonPosition", "dropDownHeight", "dropDownWidth", "messages", "name", "nationalMode", "opened", "onlyCountries", "placeholder", "selectedCountry", "rightToLeft", "theme", "unfocusable", "value"];
207
+ }
208
+ // Gets the events of the React component.
209
+ get eventListeners() {
210
+ return ["onChange", "onChanging", "onItemClick", "onCreate", "onReady"];
211
+ }
212
+ /** Closes the drop down.
213
+ */
214
+ close() {
215
+ if (this.nativeElement.isRendered) {
216
+ this.nativeElement.close();
217
+ }
218
+ else {
219
+ this.nativeElement.whenRendered(() => {
220
+ this.nativeElement.close();
221
+ });
222
+ }
223
+ }
224
+ /** Ensures that the active ( selected ) item is always visible.
225
+ */
226
+ ensureVisible() {
227
+ if (this.nativeElement.isRendered) {
228
+ this.nativeElement.ensureVisible();
229
+ }
230
+ else {
231
+ this.nativeElement.whenRendered(() => {
232
+ this.nativeElement.ensureVisible();
233
+ });
234
+ }
235
+ }
236
+ /** Returns the entered phone number with formatting.
237
+ * @param {boolean} isInternational?. When you use 'false', the national phone number will be returned and the international phone number, when you use 'true' as parameter.
238
+ * @returns {string}
239
+ */
240
+ getNumber(isInternational) {
241
+ const result = this.nativeElement.getNumber(isInternational);
242
+ return result;
243
+ }
244
+ /** Returns an item by its country dial code. The item is an object with 'label', 'value', 'iso2' and 'dialCode' properties.
245
+ * @param {string} dialCode?. Returns the national or international phone number
246
+ * @returns {any}
247
+ */
248
+ getItemByDialCode(dialCode) {
249
+ const result = this.nativeElement.getItemByDialCode(dialCode);
250
+ return result;
251
+ }
252
+ /** Returns the selected item. The item is an object with 'label', 'value', 'iso2' and 'dialCode' properties.
253
+ * @returns {any}
254
+ */
255
+ getSelectedItem() {
256
+ const result = this.nativeElement.getSelectedItem();
257
+ return result;
258
+ }
259
+ /** Returns true or false depending on whether the entered phone number is valid.
260
+ * @returns {boolean}
261
+ */
262
+ isValidNumber() {
263
+ const result = this.nativeElement.isValidNumber();
264
+ return result;
265
+ }
266
+ /** Validates the entered phone number.
267
+ */
268
+ validate() {
269
+ if (this.nativeElement.isRendered) {
270
+ this.nativeElement.validate();
271
+ }
272
+ else {
273
+ this.nativeElement.whenRendered(() => {
274
+ this.nativeElement.validate();
275
+ });
276
+ }
277
+ }
278
+ /** Opens the drop down.
279
+ */
280
+ open() {
281
+ if (this.nativeElement.isRendered) {
282
+ this.nativeElement.open();
283
+ }
284
+ else {
285
+ this.nativeElement.whenRendered(() => {
286
+ this.nativeElement.open();
287
+ });
288
+ }
289
+ }
290
+ /** Selects the text inside the input or if it is readonly then the element is focused.
291
+ */
292
+ select() {
293
+ if (this.nativeElement.isRendered) {
294
+ this.nativeElement.select();
295
+ }
296
+ else {
297
+ this.nativeElement.whenRendered(() => {
298
+ this.nativeElement.select();
299
+ });
300
+ }
301
+ }
302
+ componentDidRender(initialize) {
303
+ const that = this;
304
+ const props = {};
305
+ const events = {};
306
+ let styles = null;
307
+ for (let prop in that.props) {
308
+ if (prop === 'children') {
309
+ continue;
310
+ }
311
+ if (prop === 'style') {
312
+ styles = that.props[prop];
313
+ continue;
314
+ }
315
+ if (prop.startsWith('on') && that.properties.indexOf(prop) === -1) {
316
+ events[prop] = that.props[prop];
317
+ continue;
318
+ }
319
+ props[prop] = that.props[prop];
320
+ }
321
+ if (initialize) {
322
+ that.nativeElement = this.componentRef.current;
323
+ }
324
+ for (let prop in props) {
325
+ if (prop === 'class' || prop === 'className') {
326
+ const classNames = props[prop].trim().split(' ');
327
+ for (let className in classNames) {
328
+ if (!that.nativeElement.classList.contains(classNames[className]) && classNames[className] !== "") {
329
+ that.nativeElement.classList.add(classNames[className]);
330
+ }
331
+ }
332
+ continue;
333
+ }
334
+ if (props[prop] !== that.nativeElement[prop]) {
335
+ const normalizeProp = (str) => {
336
+ return str.replace(/-([a-z])/g, function (g) {
337
+ return g[1].toUpperCase();
338
+ });
339
+ };
340
+ if (prop === 'hover' || prop === 'active' || prop === 'focus' || prop === 'selected') {
341
+ that.nativeElement.setAttribute(prop, '');
342
+ }
343
+ const normalizedProp = normalizeProp(prop);
344
+ that.nativeElement[normalizedProp] = props[prop];
345
+ }
346
+ }
347
+ for (let eventName in events) {
348
+ that[eventName] = events[eventName];
349
+ that.nativeElement[eventName.toLowerCase()] = events[eventName];
350
+ }
351
+ if (initialize) {
352
+ Smart.Render();
353
+ if (that.onCreate) {
354
+ that.onCreate();
355
+ }
356
+ that.nativeElement.whenRendered(() => {
357
+ if (that.onReady) {
358
+ that.onReady();
359
+ }
360
+ });
361
+ }
362
+ // setup styles.
363
+ if (styles) {
364
+ for (let styleName in styles) {
365
+ that.nativeElement.style[styleName] = styles[styleName];
366
+ }
367
+ }
368
+ }
369
+ componentDidMount() {
370
+ this.componentDidRender(true);
371
+ }
372
+ componentDidUpdate() {
373
+ this.componentDidRender(false);
374
+ }
375
+ componentWillUnmount() {
376
+ const that = this;
377
+ if (!that.nativeElement) {
378
+ return;
379
+ }
380
+ that.nativeElement.whenRenderedCallbacks = [];
381
+ for (let i = 0; i < that.eventListeners.length; i++) {
382
+ const eventName = that.eventListeners[i];
383
+ that.nativeElement.removeEventListener(eventName.substring(2).toLowerCase(), that[eventName]);
384
+ }
385
+ }
386
+ render() {
387
+ return (React.createElement("smart-phone-input", { ref: this.componentRef }, this.props.children));
388
+ }
389
+ }
36
390
 
37
- const Smart = window.Smart;
38
- /**
39
- The Phone Input specifies an input field where the user can enter and validate a phone number.
40
- */
41
- class PhoneInput 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 = 'PhoneInput' + Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);
50
- }
51
- return this._id;
52
- }
53
- /** Enables or disables the element.
54
- * Property type: boolean
55
- */
56
- get disabled() {
57
- return this.nativeElement ? this.nativeElement.disabled : undefined;
58
- }
59
- set disabled(value) {
60
- if (this.nativeElement) {
61
- this.nativeElement.disabled = value;
62
- }
63
- }
64
- /** Sets additional class names to the Input drop down.
65
- * Property type: any
66
- */
67
- get dropDownClassList() {
68
- return this.nativeElement ? this.nativeElement.dropDownClassList : undefined;
69
- }
70
- set dropDownClassList(value) {
71
- if (this.nativeElement) {
72
- this.nativeElement.dropDownClassList = value;
73
- }
74
- }
75
- /** Determines the position of the drop down button.
76
- * Property type: DropDownButtonPosition | string
77
- */
78
- get dropDownButtonPosition() {
79
- return this.nativeElement ? this.nativeElement.dropDownButtonPosition : undefined;
80
- }
81
- set dropDownButtonPosition(value) {
82
- if (this.nativeElement) {
83
- this.nativeElement.dropDownButtonPosition = value;
84
- }
85
- }
86
- /** Sets the height of the drop down. By default it's set to an empty string. In this case the height of the drop down is controlled by a CSS variable.
87
- * Property type: string | number
88
- */
89
- get dropDownHeight() {
90
- return this.nativeElement ? this.nativeElement.dropDownHeight : undefined;
91
- }
92
- set dropDownHeight(value) {
93
- if (this.nativeElement) {
94
- this.nativeElement.dropDownHeight = value;
95
- }
96
- }
97
- /** Sets the width of the drop down. By default it's set to an empty string. In this case the width of the drop down is controlled by a CSS variable.
98
- * Property type: string | number
99
- */
100
- get dropDownWidth() {
101
- return this.nativeElement ? this.nativeElement.dropDownWidth : undefined;
102
- }
103
- set dropDownWidth(value) {
104
- if (this.nativeElement) {
105
- this.nativeElement.dropDownWidth = value;
106
- }
107
- }
108
- /** Sets or gets an object specifying strings used in the widget that can be localized. Used in conjunction with the property locale.
109
- * Property type: any
110
- */
111
- get messages() {
112
- return this.nativeElement ? this.nativeElement.messages : undefined;
113
- }
114
- set messages(value) {
115
- if (this.nativeElement) {
116
- this.nativeElement.messages = value;
117
- }
118
- }
119
- /** Sets or gets the name attribute for the element. Name is used when submiting data inside an HTML form.
120
- * Property type: string
121
- */
122
- get name() {
123
- return this.nativeElement ? this.nativeElement.name : undefined;
124
- }
125
- set name(value) {
126
- if (this.nativeElement) {
127
- this.nativeElement.name = value;
128
- }
129
- }
130
- /** Determines whether the input will be in international or national mode i.e whether the input will start with '+'.
131
- * Property type: boolean
132
- */
133
- get nationalMode() {
134
- return this.nativeElement ? this.nativeElement.nationalMode : undefined;
135
- }
136
- set nationalMode(value) {
137
- if (this.nativeElement) {
138
- this.nativeElement.nationalMode = value;
139
- }
140
- }
141
- /** Determines whether the drop down is opened or not.
142
- * Property type: boolean
143
- */
144
- get opened() {
145
- return this.nativeElement ? this.nativeElement.opened : undefined;
146
- }
147
- set opened(value) {
148
- if (this.nativeElement) {
149
- this.nativeElement.opened = value;
150
- }
151
- }
152
- /** Sets or gets an array of country codes which will be used instead of the default one with all countries. The country code should be ISO 3166-1 alpha-2 codes(https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
153
- * Property type: any
154
- */
155
- get onlyCountries() {
156
- return this.nativeElement ? this.nativeElement.onlyCountries : undefined;
157
- }
158
- set onlyCountries(value) {
159
- if (this.nativeElement) {
160
- this.nativeElement.onlyCountries = value;
161
- }
162
- }
163
- /** Determines the placeholder of the input.
164
- * Property type: string
165
- */
166
- get placeholder() {
167
- return this.nativeElement ? this.nativeElement.placeholder : undefined;
168
- }
169
- set placeholder(value) {
170
- if (this.nativeElement) {
171
- this.nativeElement.placeholder = value;
172
- }
173
- }
174
- /** Sets or gets the selected country of the element. The country code should be ISO 3166-1 alpha-2 codes(https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
175
- * Property type: string
176
- */
177
- get selectedCountry() {
178
- return this.nativeElement ? this.nativeElement.selectedCountry : undefined;
179
- }
180
- set selectedCountry(value) {
181
- if (this.nativeElement) {
182
- this.nativeElement.selectedCountry = value;
183
- }
184
- }
185
- /** Sets or gets the value indicating whether the element is aligned to support locales using right-to-left fonts.
186
- * Property type: boolean
187
- */
188
- get rightToLeft() {
189
- return this.nativeElement ? this.nativeElement.rightToLeft : undefined;
190
- }
191
- set rightToLeft(value) {
192
- if (this.nativeElement) {
193
- this.nativeElement.rightToLeft = value;
194
- }
195
- }
196
- /** Determines the theme for the element. Themes define the look of the elements.
197
- * Property type: string
198
- */
199
- get theme() {
200
- return this.nativeElement ? this.nativeElement.theme : undefined;
201
- }
202
- set theme(value) {
203
- if (this.nativeElement) {
204
- this.nativeElement.theme = value;
205
- }
206
- }
207
- /** If is set to true, the element cannot be focused.
208
- * Property type: boolean
209
- */
210
- get unfocusable() {
211
- return this.nativeElement ? this.nativeElement.unfocusable : undefined;
212
- }
213
- set unfocusable(value) {
214
- if (this.nativeElement) {
215
- this.nativeElement.unfocusable = value;
216
- }
217
- }
218
- /** Sets or gets the value of the element.
219
- * Property type: string
220
- */
221
- get value() {
222
- return this.nativeElement ? this.nativeElement.value : undefined;
223
- }
224
- set value(value) {
225
- if (this.nativeElement) {
226
- this.nativeElement.value = value;
227
- }
228
- }
229
- // Gets the properties of the React component.
230
- get properties() {
231
- return ["disabled", "dropDownClassList", "dropDownButtonPosition", "dropDownHeight", "dropDownWidth", "messages", "name", "nationalMode", "opened", "onlyCountries", "placeholder", "selectedCountry", "rightToLeft", "theme", "unfocusable", "value"];
232
- }
233
- // Gets the events of the React component.
234
- get eventListeners() {
235
- return ["onChange", "onChanging", "onItemClick", "onCreate", "onReady"];
236
- }
237
- /** Closes the drop down.
238
- */
239
- close() {
240
- if (this.nativeElement.isRendered) {
241
- this.nativeElement.close();
242
- }
243
- else {
244
- this.nativeElement.whenRendered(() => {
245
- this.nativeElement.close();
246
- });
247
- }
248
- }
249
- /** Ensures that the active ( selected ) item is always visible.
250
- */
251
- ensureVisible() {
252
- if (this.nativeElement.isRendered) {
253
- this.nativeElement.ensureVisible();
254
- }
255
- else {
256
- this.nativeElement.whenRendered(() => {
257
- this.nativeElement.ensureVisible();
258
- });
259
- }
260
- }
261
- /** Returns the entered phone number with formatting.
262
- * @param {boolean} isInternational?. When you use 'false', the national phone number will be returned and the international phone number, when you use 'true' as parameter.
263
- * @returns {string}
264
- */
265
- getNumber(isInternational) {
266
- return __awaiter(this, void 0, void 0, function* () {
267
- const getResultOnRender = () => {
268
- return new Promise(resolve => {
269
- this.nativeElement.whenRendered(() => {
270
- const result = this.nativeElement.getNumber(isInternational);
271
- resolve(result);
272
- });
273
- });
274
- };
275
- const result = yield getResultOnRender();
276
- return result;
277
- });
278
- }
279
- /** Returns an item by its country dial code. The item is an object with 'label', 'value', 'iso2' and 'dialCode' properties.
280
- * @param {string} dialCode?. Returns the national or international phone number
281
- * @returns {any}
282
- */
283
- getItemByDialCode(dialCode) {
284
- return __awaiter(this, void 0, void 0, function* () {
285
- const getResultOnRender = () => {
286
- return new Promise(resolve => {
287
- this.nativeElement.whenRendered(() => {
288
- const result = this.nativeElement.getItemByDialCode(dialCode);
289
- resolve(result);
290
- });
291
- });
292
- };
293
- const result = yield getResultOnRender();
294
- return result;
295
- });
296
- }
297
- /** Returns the selected item. The item is an object with 'label', 'value', 'iso2' and 'dialCode' properties.
298
- * @returns {any}
299
- */
300
- getSelectedItem() {
301
- return __awaiter(this, void 0, void 0, function* () {
302
- const getResultOnRender = () => {
303
- return new Promise(resolve => {
304
- this.nativeElement.whenRendered(() => {
305
- const result = this.nativeElement.getSelectedItem();
306
- resolve(result);
307
- });
308
- });
309
- };
310
- const result = yield getResultOnRender();
311
- return result;
312
- });
313
- }
314
- /** Returns true or false depending on whether the entered phone number is valid.
315
- * @returns {boolean}
316
- */
317
- isValidNumber() {
318
- return __awaiter(this, void 0, void 0, function* () {
319
- const getResultOnRender = () => {
320
- return new Promise(resolve => {
321
- this.nativeElement.whenRendered(() => {
322
- const result = this.nativeElement.isValidNumber();
323
- resolve(result);
324
- });
325
- });
326
- };
327
- const result = yield getResultOnRender();
328
- return result;
329
- });
330
- }
331
- /** Validates the entered phone number.
332
- */
333
- validate() {
334
- if (this.nativeElement.isRendered) {
335
- this.nativeElement.validate();
336
- }
337
- else {
338
- this.nativeElement.whenRendered(() => {
339
- this.nativeElement.validate();
340
- });
341
- }
342
- }
343
- /** Opens the drop down.
344
- */
345
- open() {
346
- if (this.nativeElement.isRendered) {
347
- this.nativeElement.open();
348
- }
349
- else {
350
- this.nativeElement.whenRendered(() => {
351
- this.nativeElement.open();
352
- });
353
- }
354
- }
355
- /** Selects the text inside the input or if it is readonly then the element is focused.
356
- */
357
- select() {
358
- if (this.nativeElement.isRendered) {
359
- this.nativeElement.select();
360
- }
361
- else {
362
- this.nativeElement.whenRendered(() => {
363
- this.nativeElement.select();
364
- });
365
- }
366
- }
367
- componentDidRender(initialize) {
368
- const that = this;
369
- const props = {};
370
- const events = {};
371
- let styles = null;
372
- for (let prop in that.props) {
373
- if (prop === 'children') {
374
- continue;
375
- }
376
- if (prop === 'style') {
377
- styles = that.props[prop];
378
- continue;
379
- }
380
- if (prop.startsWith('on') && that.properties.indexOf(prop) === -1) {
381
- events[prop] = that.props[prop];
382
- continue;
383
- }
384
- props[prop] = that.props[prop];
385
- }
386
- if (initialize) {
387
- that.nativeElement = this.componentRef.current;
388
- }
389
- for (let prop in props) {
390
- if (prop === 'class' || prop === 'className') {
391
- const classNames = props[prop].trim().split(' ');
392
- for (let className in classNames) {
393
- if (!that.nativeElement.classList.contains(classNames[className]) && classNames[className] !== "") {
394
- that.nativeElement.classList.add(classNames[className]);
395
- }
396
- }
397
- continue;
398
- }
399
- if (props[prop] !== that.nativeElement[prop]) {
400
- const normalizeProp = (str) => {
401
- return str.replace(/-([a-z])/g, function (g) {
402
- return g[1].toUpperCase();
403
- });
404
- };
405
- if (prop === 'hover' || prop === 'active' || prop === 'focus' || prop === 'selected') {
406
- that.nativeElement.setAttribute(prop, '');
407
- }
408
- const normalizedProp = normalizeProp(prop);
409
- that.nativeElement[normalizedProp] = props[prop];
410
- }
411
- }
412
- for (let eventName in events) {
413
- that[eventName] = events[eventName];
414
- that.nativeElement[eventName.toLowerCase()] = events[eventName];
415
- }
416
- if (initialize) {
417
- Smart.Render();
418
- if (that.onCreate) {
419
- that.onCreate();
420
- }
421
- that.nativeElement.whenRendered(() => {
422
- if (that.onReady) {
423
- that.onReady();
424
- }
425
- });
426
- }
427
- // setup styles.
428
- if (styles) {
429
- for (let styleName in styles) {
430
- that.nativeElement.style[styleName] = styles[styleName];
431
- }
432
- }
433
- }
434
- componentDidMount() {
435
- this.componentDidRender(true);
436
- }
437
- componentDidUpdate() {
438
- this.componentDidRender(false);
439
- }
440
- componentWillUnmount() {
441
- const that = this;
442
- if (!that.nativeElement) {
443
- return;
444
- }
445
- that.nativeElement.whenRenderedCallbacks = [];
446
- for (let i = 0; i < that.eventListeners.length; i++) {
447
- const eventName = that.eventListeners[i];
448
- that.nativeElement.removeEventListener(eventName.substring(2).toLowerCase(), that[eventName]);
449
- }
450
- }
451
- render() {
452
- return (React.createElement("smart-phone-input", { ref: this.componentRef }, this.props.children));
453
- }
454
- }
391
+ exports.Smart = Smart;
392
+ exports.PhoneInput = PhoneInput;
393
+ exports.default = PhoneInput;
455
394
 
456
- exports.Smart = Smart;
457
- exports.PhoneInput = PhoneInput;
458
- exports.default = PhoneInput;
459
-
460
- Object.defineProperty(exports, '__esModule', { value: true });
395
+ Object.defineProperty(exports, '__esModule', { value: true });
461
396
 
462
397
  })));