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,560 +2,515 @@
2
2
  require('../source/modules/smart.input');
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.input = {}),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.input = {}),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
+ Input specifies an input field where the user can enter data. Auto-complete options are displayed for easier input.
15
+ */
16
+ class Input 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 = 'Input' + Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);
25
+ }
26
+ return this._id;
27
+ }
28
+ /** Determines the delay before the drop down opens to show the matches from the auto complete operation. The delay is measured in miliseconds.
29
+ * Property type: number
30
+ */
31
+ get autoCompleteDelay() {
32
+ return this.nativeElement ? this.nativeElement.autoCompleteDelay : undefined;
33
+ }
34
+ set autoCompleteDelay(value) {
35
+ if (this.nativeElement) {
36
+ this.nativeElement.autoCompleteDelay = value;
37
+ }
38
+ }
39
+ /** Determines the data source that will be loaded to the Input. The dataSource can be an array of strings/numbers or objects where the attributes represent the properties of a List Item. For example label, value. It can also be a callback that returns an Array of items as previously described. The data source item object may have the following fields: 'label' - string, 'value' - string or number, 'selected' - boolean, 'prefix' - string, 'suffix' - string, 'title' - string. The 'prefix' and 'suffix' add html before and after the label.
40
+ * Property type: any
41
+ */
42
+ get dataSource() {
43
+ return this.nativeElement ? this.nativeElement.dataSource : undefined;
44
+ }
45
+ set dataSource(value) {
46
+ if (this.nativeElement) {
47
+ this.nativeElement.dataSource = value;
48
+ }
49
+ }
50
+ /** Enables or disables the element.
51
+ * Property type: boolean
52
+ */
53
+ get disabled() {
54
+ return this.nativeElement ? this.nativeElement.disabled : undefined;
55
+ }
56
+ set disabled(value) {
57
+ if (this.nativeElement) {
58
+ this.nativeElement.disabled = value;
59
+ }
60
+ }
61
+ /** Sets additional class names to the Input drop down.
62
+ * Property type: any
63
+ */
64
+ get dropDownClassList() {
65
+ return this.nativeElement ? this.nativeElement.dropDownClassList : undefined;
66
+ }
67
+ set dropDownClassList(value) {
68
+ if (this.nativeElement) {
69
+ this.nativeElement.dropDownClassList = value;
70
+ }
71
+ }
72
+ /** Determines the position of the drop down button.
73
+ * Property type: DropDownButtonPosition | string
74
+ */
75
+ get dropDownButtonPosition() {
76
+ return this.nativeElement ? this.nativeElement.dropDownButtonPosition : undefined;
77
+ }
78
+ set dropDownButtonPosition(value) {
79
+ if (this.nativeElement) {
80
+ this.nativeElement.dropDownButtonPosition = value;
81
+ }
82
+ }
83
+ /** 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.
84
+ * Property type: string | number
85
+ */
86
+ get dropDownHeight() {
87
+ return this.nativeElement ? this.nativeElement.dropDownHeight : undefined;
88
+ }
89
+ set dropDownHeight(value) {
90
+ if (this.nativeElement) {
91
+ this.nativeElement.dropDownHeight = value;
92
+ }
93
+ }
94
+ /** 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.
95
+ * Property type: string | number
96
+ */
97
+ get dropDownWidth() {
98
+ return this.nativeElement ? this.nativeElement.dropDownWidth : undefined;
99
+ }
100
+ set dropDownWidth(value) {
101
+ if (this.nativeElement) {
102
+ this.nativeElement.dropDownWidth = value;
103
+ }
104
+ }
105
+ /** Sets the purpose of the input and what, if any, permission the user agent has to provide automated assistance in filling out the element's input when in a form, as well as guidance to the browser as to the type of information expected in the element. This value corresponds to the standard HTML autocomplete attribute and can be set to values such as 'on', 'name', 'organization', 'street-address', etc.
106
+ * Property type: string
107
+ */
108
+ get inputPurpose() {
109
+ return this.nativeElement ? this.nativeElement.inputPurpose : undefined;
110
+ }
111
+ set inputPurpose(value) {
112
+ if (this.nativeElement) {
113
+ this.nativeElement.inputPurpose = value;
114
+ }
115
+ }
116
+ /** Determines the maximum number of matched items that should be visible inside the drop down as a result of a new autoComplete query. By default the maximum number of 8 items can be displayed inside the drop down.
117
+ * Property type: number
118
+ */
119
+ get items() {
120
+ return this.nativeElement ? this.nativeElement.items : undefined;
121
+ }
122
+ set items(value) {
123
+ if (this.nativeElement) {
124
+ this.nativeElement.items = 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 used to customize the format of the messages that are returned from the 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
+ /** Determines the minimum number of characters inside the input in order to trigger the autocomplete functionality that will open the drop down and show the matched items.
161
+ * Property type: number
162
+ */
163
+ get minLength() {
164
+ return this.nativeElement ? this.nativeElement.minLength : undefined;
165
+ }
166
+ set minLength(value) {
167
+ if (this.nativeElement) {
168
+ this.nativeElement.minLength = value;
169
+ }
170
+ }
171
+ /** Sets or gets the name attribute for the element. Name is used when submiting data inside an HTML form.
172
+ * Property type: string
173
+ */
174
+ get name() {
175
+ return this.nativeElement ? this.nativeElement.name : undefined;
176
+ }
177
+ set name(value) {
178
+ if (this.nativeElement) {
179
+ this.nativeElement.name = value;
180
+ }
181
+ }
182
+ /** Determines whether the drop down is opened or not.
183
+ * Property type: boolean
184
+ */
185
+ get opened() {
186
+ return this.nativeElement ? this.nativeElement.opened : undefined;
187
+ }
188
+ set opened(value) {
189
+ if (this.nativeElement) {
190
+ this.nativeElement.opened = value;
191
+ }
192
+ }
193
+ /** Determines the placeholder of the input.
194
+ * Property type: string
195
+ */
196
+ get placeholder() {
197
+ return this.nativeElement ? this.nativeElement.placeholder : undefined;
198
+ }
199
+ set placeholder(value) {
200
+ if (this.nativeElement) {
201
+ this.nativeElement.placeholder = value;
202
+ }
203
+ }
204
+ /** Sets or gets the query that is used to filter the items. Query is used by the autoComplete operation. Empty string means that all items from the data source will be displayed and no filter query is applied.
205
+ * Property type: string | number
206
+ */
207
+ get query() {
208
+ return this.nativeElement ? this.nativeElement.query : undefined;
209
+ }
210
+ set query(value) {
211
+ if (this.nativeElement) {
212
+ this.nativeElement.query = value;
213
+ }
214
+ }
215
+ /** Determines the auto complete query mode. This property also determines the matching algorithm for the autocomplete operation.
216
+ * Property type: InputQueryMode | string
217
+ */
218
+ get queryMode() {
219
+ return this.nativeElement ? this.nativeElement.queryMode : undefined;
220
+ }
221
+ set queryMode(value) {
222
+ if (this.nativeElement) {
223
+ this.nativeElement.queryMode = value;
224
+ }
225
+ }
226
+ /** Determines whether ot not the user can enter text inside the input. if dropDownButtonPosition is set to 'left' or 'right' then readonly determines whether the element acts as a ComboBox or a DropDownList if a dataSource is provided.
227
+ * Property type: boolean
228
+ */
229
+ get readonly() {
230
+ return this.nativeElement ? this.nativeElement.readonly : undefined;
231
+ }
232
+ set readonly(value) {
233
+ if (this.nativeElement) {
234
+ this.nativeElement.readonly = value;
235
+ }
236
+ }
237
+ /** Sets or gets the value indicating whether the element is aligned to support locales using right-to-left fonts.
238
+ * Property type: boolean
239
+ */
240
+ get rightToLeft() {
241
+ return this.nativeElement ? this.nativeElement.rightToLeft : undefined;
242
+ }
243
+ set rightToLeft(value) {
244
+ if (this.nativeElement) {
245
+ this.nativeElement.rightToLeft = value;
246
+ }
247
+ }
248
+ /** Determines whether the items are sorted alphabetically or not
249
+ * Property type: boolean
250
+ */
251
+ get sorted() {
252
+ return this.nativeElement ? this.nativeElement.sorted : undefined;
253
+ }
254
+ set sorted(value) {
255
+ if (this.nativeElement) {
256
+ this.nativeElement.sorted = value;
257
+ }
258
+ }
259
+ /** Determines the sorting algorithm - ascending(asc) or descending(desc) if sort is enabled.
260
+ * Property type: string
261
+ */
262
+ get sortDirection() {
263
+ return this.nativeElement ? this.nativeElement.sortDirection : undefined;
264
+ }
265
+ set sortDirection(value) {
266
+ if (this.nativeElement) {
267
+ this.nativeElement.sortDirection = value;
268
+ }
269
+ }
270
+ /** Determines the selected index.
271
+ * Property type: number
272
+ */
273
+ get selectedIndex() {
274
+ return this.nativeElement ? this.nativeElement.selectedIndex : undefined;
275
+ }
276
+ set selectedIndex(value) {
277
+ if (this.nativeElement) {
278
+ this.nativeElement.selectedIndex = value;
279
+ }
280
+ }
281
+ /** Determines the selected value.
282
+ * Property type: string | number
283
+ */
284
+ get selectedValue() {
285
+ return this.nativeElement ? this.nativeElement.selectedValue : undefined;
286
+ }
287
+ set selectedValue(value) {
288
+ if (this.nativeElement) {
289
+ this.nativeElement.selectedValue = value;
290
+ }
291
+ }
292
+ /** Determines the theme for the element. Themes define the look of the elements.
293
+ * Property type: string
294
+ */
295
+ get theme() {
296
+ return this.nativeElement ? this.nativeElement.theme : undefined;
297
+ }
298
+ set theme(value) {
299
+ if (this.nativeElement) {
300
+ this.nativeElement.theme = value;
301
+ }
302
+ }
303
+ /** Determines the input type. Input type determines what input can be entered.
304
+ * Property type: string
305
+ */
306
+ get type() {
307
+ return this.nativeElement ? this.nativeElement.type : undefined;
308
+ }
309
+ set type(value) {
310
+ if (this.nativeElement) {
311
+ this.nativeElement.type = value;
312
+ }
313
+ }
314
+ /** If is set to true, the element cannot be focused.
315
+ * Property type: boolean
316
+ */
317
+ get unfocusable() {
318
+ return this.nativeElement ? this.nativeElement.unfocusable : undefined;
319
+ }
320
+ set unfocusable(value) {
321
+ if (this.nativeElement) {
322
+ this.nativeElement.unfocusable = value;
323
+ }
324
+ }
325
+ /** Sets or gets the value of the element.
326
+ * Property type: string
327
+ */
328
+ get value() {
329
+ return this.nativeElement ? this.nativeElement.value : undefined;
330
+ }
331
+ set value(value) {
332
+ if (this.nativeElement) {
333
+ this.nativeElement.value = value;
334
+ }
335
+ }
336
+ // Gets the properties of the React component.
337
+ get properties() {
338
+ return ["autoCompleteDelay", "dataSource", "disabled", "dropDownClassList", "dropDownButtonPosition", "dropDownHeight", "dropDownWidth", "inputPurpose", "items", "locale", "localizeFormatFunction", "messages", "minLength", "name", "opened", "placeholder", "query", "queryMode", "readonly", "rightToLeft", "sorted", "sortDirection", "selectedIndex", "selectedValue", "theme", "type", "unfocusable", "value"];
339
+ }
340
+ // Gets the events of the React component.
341
+ get eventListeners() {
342
+ return ["onChange", "onChanging", "onOpen", "onClose", "onItemClick", "onCreate", "onReady"];
343
+ }
344
+ /** Closes the drop down.
345
+ */
346
+ close() {
347
+ if (this.nativeElement.isRendered) {
348
+ this.nativeElement.close();
349
+ }
350
+ else {
351
+ this.nativeElement.whenRendered(() => {
352
+ this.nativeElement.close();
353
+ });
354
+ }
355
+ }
356
+ /** Ensures that the active ( selected ) item is always visible.
357
+ */
358
+ ensureVisible() {
359
+ if (this.nativeElement.isRendered) {
360
+ this.nativeElement.ensureVisible();
361
+ }
362
+ else {
363
+ this.nativeElement.whenRendered(() => {
364
+ this.nativeElement.ensureVisible();
365
+ });
366
+ }
367
+ }
368
+ /** Opens the drop down.
369
+ */
370
+ open() {
371
+ if (this.nativeElement.isRendered) {
372
+ this.nativeElement.open();
373
+ }
374
+ else {
375
+ this.nativeElement.whenRendered(() => {
376
+ this.nativeElement.open();
377
+ });
378
+ }
379
+ }
380
+ /** Focuses and selects the text inside the input or if it is readonly then the element is focused.
381
+ */
382
+ select() {
383
+ if (this.nativeElement.isRendered) {
384
+ this.nativeElement.select();
385
+ }
386
+ else {
387
+ this.nativeElement.whenRendered(() => {
388
+ this.nativeElement.select();
389
+ });
390
+ }
391
+ }
392
+ /** Selects an item by value. For example, if your data source is ['Item 1', 'Item 2', 'Item 3'], you can use 'Item 1' as an argument. If your data source is an object with label and value, pass the value when you call selectItem.
393
+ * @param {string | number} value. The item's value when the item is an object or string when the item is a string item.
394
+ */
395
+ selectItem(value) {
396
+ if (this.nativeElement.isRendered) {
397
+ this.nativeElement.selectItem(value);
398
+ }
399
+ else {
400
+ this.nativeElement.whenRendered(() => {
401
+ this.nativeElement.selectItem(value);
402
+ });
403
+ }
404
+ }
405
+ /** Gets an item by value. For example, if your data source is ['Item 1', 'Item 2', 'Item 3'], you can use 'Item 1' as an argument. If your data source is an object with label and value, pass the value when you call selectItem.
406
+ * @param {string | number} value. The item's value when the item is an object or string when the item is a string item.
407
+ * @returns {any}
408
+ */
409
+ getItem(value) {
410
+ const result = this.nativeElement.getItem(value);
411
+ return result;
412
+ }
413
+ /** Gets the selected item. For example, if your data source is ['Item 1', 'Item 2', 'Item 3'] and the user selected the second item, the method returns 'Item 2'. If your data source is an object with label and value, the returned value would be the 'value'.
414
+ * @param {string | number} value. The item's value when the item is an object or string when the item is a string item.
415
+ * @returns {any}
416
+ */
417
+ getSelectedItem(value) {
418
+ const result = this.nativeElement.getSelectedItem(value);
419
+ return result;
420
+ }
421
+ componentDidRender(initialize) {
422
+ const that = this;
423
+ const props = {};
424
+ const events = {};
425
+ let styles = null;
426
+ for (let prop in that.props) {
427
+ if (prop === 'children') {
428
+ continue;
429
+ }
430
+ if (prop === 'style') {
431
+ styles = that.props[prop];
432
+ continue;
433
+ }
434
+ if (prop.startsWith('on') && that.properties.indexOf(prop) === -1) {
435
+ events[prop] = that.props[prop];
436
+ continue;
437
+ }
438
+ props[prop] = that.props[prop];
439
+ }
440
+ if (initialize) {
441
+ that.nativeElement = this.componentRef.current;
442
+ }
443
+ for (let prop in props) {
444
+ if (prop === 'class' || prop === 'className') {
445
+ const classNames = props[prop].trim().split(' ');
446
+ for (let className in classNames) {
447
+ if (!that.nativeElement.classList.contains(classNames[className]) && classNames[className] !== "") {
448
+ that.nativeElement.classList.add(classNames[className]);
449
+ }
450
+ }
451
+ continue;
452
+ }
453
+ if (props[prop] !== that.nativeElement[prop]) {
454
+ const normalizeProp = (str) => {
455
+ return str.replace(/-([a-z])/g, function (g) {
456
+ return g[1].toUpperCase();
457
+ });
458
+ };
459
+ if (prop === 'hover' || prop === 'active' || prop === 'focus' || prop === 'selected') {
460
+ that.nativeElement.setAttribute(prop, '');
461
+ }
462
+ const normalizedProp = normalizeProp(prop);
463
+ that.nativeElement[normalizedProp] = props[prop];
464
+ }
465
+ }
466
+ for (let eventName in events) {
467
+ that[eventName] = events[eventName];
468
+ that.nativeElement[eventName.toLowerCase()] = events[eventName];
469
+ }
470
+ if (initialize) {
471
+ Smart.Render();
472
+ if (that.onCreate) {
473
+ that.onCreate();
474
+ }
475
+ that.nativeElement.whenRendered(() => {
476
+ if (that.onReady) {
477
+ that.onReady();
478
+ }
479
+ });
480
+ }
481
+ // setup styles.
482
+ if (styles) {
483
+ for (let styleName in styles) {
484
+ that.nativeElement.style[styleName] = styles[styleName];
485
+ }
486
+ }
487
+ }
488
+ componentDidMount() {
489
+ this.componentDidRender(true);
490
+ }
491
+ componentDidUpdate() {
492
+ this.componentDidRender(false);
493
+ }
494
+ componentWillUnmount() {
495
+ const that = this;
496
+ if (!that.nativeElement) {
497
+ return;
498
+ }
499
+ that.nativeElement.whenRenderedCallbacks = [];
500
+ for (let i = 0; i < that.eventListeners.length; i++) {
501
+ const eventName = that.eventListeners[i];
502
+ that.nativeElement.removeEventListener(eventName.substring(2).toLowerCase(), that[eventName]);
503
+ }
504
+ }
505
+ render() {
506
+ return (React.createElement("smart-input", { ref: this.componentRef }, this.props.children));
507
+ }
508
+ }
36
509
 
37
- const Smart = window.Smart;
38
- /**
39
- Input specifies an input field where the user can enter data. Auto-complete options are displayed for easier input.
40
- */
41
- class Input 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 = 'Input' + Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);
50
- }
51
- return this._id;
52
- }
53
- /** Determines the delay before the drop down opens to show the matches from the auto complete operation. The delay is measured in miliseconds.
54
- * Property type: number
55
- */
56
- get autoCompleteDelay() {
57
- return this.nativeElement ? this.nativeElement.autoCompleteDelay : undefined;
58
- }
59
- set autoCompleteDelay(value) {
60
- if (this.nativeElement) {
61
- this.nativeElement.autoCompleteDelay = value;
62
- }
63
- }
64
- /** Determines the data source that will be loaded to the Input. The dataSource can be an array of strings/numbers or objects where the attributes represent the properties of a List Item. For example label, value. It can also be a callback that returns an Array of items as previously described. The data source item object may have the following fields: 'label' - string, 'value' - string or number, 'selected' - boolean, 'prefix' - string, 'suffix' - string, 'title' - string. The 'prefix' and 'suffix' add html before and after the label.
65
- * Property type: any
66
- */
67
- get dataSource() {
68
- return this.nativeElement ? this.nativeElement.dataSource : undefined;
69
- }
70
- set dataSource(value) {
71
- if (this.nativeElement) {
72
- this.nativeElement.dataSource = value;
73
- }
74
- }
75
- /** Enables or disables the element.
76
- * Property type: boolean
77
- */
78
- get disabled() {
79
- return this.nativeElement ? this.nativeElement.disabled : undefined;
80
- }
81
- set disabled(value) {
82
- if (this.nativeElement) {
83
- this.nativeElement.disabled = value;
84
- }
85
- }
86
- /** Sets additional class names to the Input drop down.
87
- * Property type: any
88
- */
89
- get dropDownClassList() {
90
- return this.nativeElement ? this.nativeElement.dropDownClassList : undefined;
91
- }
92
- set dropDownClassList(value) {
93
- if (this.nativeElement) {
94
- this.nativeElement.dropDownClassList = value;
95
- }
96
- }
97
- /** Determines the position of the drop down button.
98
- * Property type: DropDownButtonPosition | string
99
- */
100
- get dropDownButtonPosition() {
101
- return this.nativeElement ? this.nativeElement.dropDownButtonPosition : undefined;
102
- }
103
- set dropDownButtonPosition(value) {
104
- if (this.nativeElement) {
105
- this.nativeElement.dropDownButtonPosition = value;
106
- }
107
- }
108
- /** 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.
109
- * Property type: string | number
110
- */
111
- get dropDownHeight() {
112
- return this.nativeElement ? this.nativeElement.dropDownHeight : undefined;
113
- }
114
- set dropDownHeight(value) {
115
- if (this.nativeElement) {
116
- this.nativeElement.dropDownHeight = value;
117
- }
118
- }
119
- /** 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.
120
- * Property type: string | number
121
- */
122
- get dropDownWidth() {
123
- return this.nativeElement ? this.nativeElement.dropDownWidth : undefined;
124
- }
125
- set dropDownWidth(value) {
126
- if (this.nativeElement) {
127
- this.nativeElement.dropDownWidth = value;
128
- }
129
- }
130
- /** Sets the purpose of the input and what, if any, permission the user agent has to provide automated assistance in filling out the element's input when in a form, as well as guidance to the browser as to the type of information expected in the element. This value corresponds to the standard HTML autocomplete attribute and can be set to values such as 'on', 'name', 'organization', 'street-address', etc.
131
- * Property type: string
132
- */
133
- get inputPurpose() {
134
- return this.nativeElement ? this.nativeElement.inputPurpose : undefined;
135
- }
136
- set inputPurpose(value) {
137
- if (this.nativeElement) {
138
- this.nativeElement.inputPurpose = value;
139
- }
140
- }
141
- /** Determines the maximum number of matched items that should be visible inside the drop down as a result of a new autoComplete query. By default the maximum number of 8 items can be displayed inside the drop down.
142
- * Property type: number
143
- */
144
- get items() {
145
- return this.nativeElement ? this.nativeElement.items : undefined;
146
- }
147
- set items(value) {
148
- if (this.nativeElement) {
149
- this.nativeElement.items = 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 used to customize the format of the messages that are returned from the 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
- /** Determines the minimum number of characters inside the input in order to trigger the autocomplete functionality that will open the drop down and show the matched items.
186
- * Property type: number
187
- */
188
- get minLength() {
189
- return this.nativeElement ? this.nativeElement.minLength : undefined;
190
- }
191
- set minLength(value) {
192
- if (this.nativeElement) {
193
- this.nativeElement.minLength = value;
194
- }
195
- }
196
- /** Sets or gets the name attribute for the element. Name is used when submiting data inside an HTML form.
197
- * Property type: string
198
- */
199
- get name() {
200
- return this.nativeElement ? this.nativeElement.name : undefined;
201
- }
202
- set name(value) {
203
- if (this.nativeElement) {
204
- this.nativeElement.name = value;
205
- }
206
- }
207
- /** Determines whether the drop down is opened or not.
208
- * Property type: boolean
209
- */
210
- get opened() {
211
- return this.nativeElement ? this.nativeElement.opened : undefined;
212
- }
213
- set opened(value) {
214
- if (this.nativeElement) {
215
- this.nativeElement.opened = value;
216
- }
217
- }
218
- /** Determines the placeholder of the input.
219
- * Property type: string
220
- */
221
- get placeholder() {
222
- return this.nativeElement ? this.nativeElement.placeholder : undefined;
223
- }
224
- set placeholder(value) {
225
- if (this.nativeElement) {
226
- this.nativeElement.placeholder = value;
227
- }
228
- }
229
- /** Sets or gets the query that is used to filter the items. Query is used by the autoComplete operation. Empty string means that all items from the data source will be displayed and no filter query is applied.
230
- * Property type: string | number
231
- */
232
- get query() {
233
- return this.nativeElement ? this.nativeElement.query : undefined;
234
- }
235
- set query(value) {
236
- if (this.nativeElement) {
237
- this.nativeElement.query = value;
238
- }
239
- }
240
- /** Determines the auto complete query mode. This property also determines the matching algorithm for the autocomplete operation.
241
- * Property type: InputQueryMode | string
242
- */
243
- get queryMode() {
244
- return this.nativeElement ? this.nativeElement.queryMode : undefined;
245
- }
246
- set queryMode(value) {
247
- if (this.nativeElement) {
248
- this.nativeElement.queryMode = value;
249
- }
250
- }
251
- /** Determines whether ot not the user can enter text inside the input. if dropDownButtonPosition is set to 'left' or 'right' then readonly determines whether the element acts as a ComboBox or a DropDownList if a dataSource is provided.
252
- * Property type: boolean
253
- */
254
- get readonly() {
255
- return this.nativeElement ? this.nativeElement.readonly : undefined;
256
- }
257
- set readonly(value) {
258
- if (this.nativeElement) {
259
- this.nativeElement.readonly = value;
260
- }
261
- }
262
- /** Sets or gets the value indicating whether the element is aligned to support locales using right-to-left fonts.
263
- * Property type: boolean
264
- */
265
- get rightToLeft() {
266
- return this.nativeElement ? this.nativeElement.rightToLeft : undefined;
267
- }
268
- set rightToLeft(value) {
269
- if (this.nativeElement) {
270
- this.nativeElement.rightToLeft = value;
271
- }
272
- }
273
- /** Determines whether the items are sorted alphabetically or not
274
- * Property type: boolean
275
- */
276
- get sorted() {
277
- return this.nativeElement ? this.nativeElement.sorted : undefined;
278
- }
279
- set sorted(value) {
280
- if (this.nativeElement) {
281
- this.nativeElement.sorted = value;
282
- }
283
- }
284
- /** Determines the sorting algorithm - ascending(asc) or descending(desc) if sort is enabled.
285
- * Property type: string
286
- */
287
- get sortDirection() {
288
- return this.nativeElement ? this.nativeElement.sortDirection : undefined;
289
- }
290
- set sortDirection(value) {
291
- if (this.nativeElement) {
292
- this.nativeElement.sortDirection = value;
293
- }
294
- }
295
- /** Determines the selected index.
296
- * Property type: number
297
- */
298
- get selectedIndex() {
299
- return this.nativeElement ? this.nativeElement.selectedIndex : undefined;
300
- }
301
- set selectedIndex(value) {
302
- if (this.nativeElement) {
303
- this.nativeElement.selectedIndex = value;
304
- }
305
- }
306
- /** Determines the selected value.
307
- * Property type: string | number
308
- */
309
- get selectedValue() {
310
- return this.nativeElement ? this.nativeElement.selectedValue : undefined;
311
- }
312
- set selectedValue(value) {
313
- if (this.nativeElement) {
314
- this.nativeElement.selectedValue = value;
315
- }
316
- }
317
- /** Determines the theme for the element. Themes define the look of the elements.
318
- * Property type: string
319
- */
320
- get theme() {
321
- return this.nativeElement ? this.nativeElement.theme : undefined;
322
- }
323
- set theme(value) {
324
- if (this.nativeElement) {
325
- this.nativeElement.theme = value;
326
- }
327
- }
328
- /** Determines the input type. Input type determines what input can be entered.
329
- * Property type: string
330
- */
331
- get type() {
332
- return this.nativeElement ? this.nativeElement.type : undefined;
333
- }
334
- set type(value) {
335
- if (this.nativeElement) {
336
- this.nativeElement.type = value;
337
- }
338
- }
339
- /** If is set to true, the element cannot be focused.
340
- * Property type: boolean
341
- */
342
- get unfocusable() {
343
- return this.nativeElement ? this.nativeElement.unfocusable : undefined;
344
- }
345
- set unfocusable(value) {
346
- if (this.nativeElement) {
347
- this.nativeElement.unfocusable = value;
348
- }
349
- }
350
- /** Sets or gets the value of the element.
351
- * Property type: string
352
- */
353
- get value() {
354
- return this.nativeElement ? this.nativeElement.value : undefined;
355
- }
356
- set value(value) {
357
- if (this.nativeElement) {
358
- this.nativeElement.value = value;
359
- }
360
- }
361
- // Gets the properties of the React component.
362
- get properties() {
363
- return ["autoCompleteDelay", "dataSource", "disabled", "dropDownClassList", "dropDownButtonPosition", "dropDownHeight", "dropDownWidth", "inputPurpose", "items", "locale", "localizeFormatFunction", "messages", "minLength", "name", "opened", "placeholder", "query", "queryMode", "readonly", "rightToLeft", "sorted", "sortDirection", "selectedIndex", "selectedValue", "theme", "type", "unfocusable", "value"];
364
- }
365
- // Gets the events of the React component.
366
- get eventListeners() {
367
- return ["onChange", "onChanging", "onOpen", "onClose", "onItemClick", "onCreate", "onReady"];
368
- }
369
- /** Closes the drop down.
370
- */
371
- close() {
372
- if (this.nativeElement.isRendered) {
373
- this.nativeElement.close();
374
- }
375
- else {
376
- this.nativeElement.whenRendered(() => {
377
- this.nativeElement.close();
378
- });
379
- }
380
- }
381
- /** Ensures that the active ( selected ) item is always visible.
382
- */
383
- ensureVisible() {
384
- if (this.nativeElement.isRendered) {
385
- this.nativeElement.ensureVisible();
386
- }
387
- else {
388
- this.nativeElement.whenRendered(() => {
389
- this.nativeElement.ensureVisible();
390
- });
391
- }
392
- }
393
- /** Opens the drop down.
394
- */
395
- open() {
396
- if (this.nativeElement.isRendered) {
397
- this.nativeElement.open();
398
- }
399
- else {
400
- this.nativeElement.whenRendered(() => {
401
- this.nativeElement.open();
402
- });
403
- }
404
- }
405
- /** Focuses and selects the text inside the input or if it is readonly then the element is focused.
406
- */
407
- select() {
408
- if (this.nativeElement.isRendered) {
409
- this.nativeElement.select();
410
- }
411
- else {
412
- this.nativeElement.whenRendered(() => {
413
- this.nativeElement.select();
414
- });
415
- }
416
- }
417
- /** Selects an item by value. For example, if your data source is ['Item 1', 'Item 2', 'Item 3'], you can use 'Item 1' as an argument. If your data source is an object with label and value, pass the value when you call selectItem.
418
- * @param {string | number} value. The item's value when the item is an object or string when the item is a string item.
419
- */
420
- selectItem(value) {
421
- if (this.nativeElement.isRendered) {
422
- this.nativeElement.selectItem(value);
423
- }
424
- else {
425
- this.nativeElement.whenRendered(() => {
426
- this.nativeElement.selectItem(value);
427
- });
428
- }
429
- }
430
- /** Gets an item by value. For example, if your data source is ['Item 1', 'Item 2', 'Item 3'], you can use 'Item 1' as an argument. If your data source is an object with label and value, pass the value when you call selectItem.
431
- * @param {string | number} value. The item's value when the item is an object or string when the item is a string item.
432
- * @returns {any}
433
- */
434
- getItem(value) {
435
- return __awaiter(this, void 0, void 0, function* () {
436
- const getResultOnRender = () => {
437
- return new Promise(resolve => {
438
- this.nativeElement.whenRendered(() => {
439
- const result = this.nativeElement.getItem(value);
440
- resolve(result);
441
- });
442
- });
443
- };
444
- const result = yield getResultOnRender();
445
- return result;
446
- });
447
- }
448
- /** Gets the selected item. For example, if your data source is ['Item 1', 'Item 2', 'Item 3'] and the user selected the second item, the method returns 'Item 2'. If your data source is an object with label and value, the returned value would be the 'value'.
449
- * @param {string | number} value. The item's value when the item is an object or string when the item is a string item.
450
- * @returns {any}
451
- */
452
- getSelectedItem(value) {
453
- return __awaiter(this, void 0, void 0, function* () {
454
- const getResultOnRender = () => {
455
- return new Promise(resolve => {
456
- this.nativeElement.whenRendered(() => {
457
- const result = this.nativeElement.getSelectedItem(value);
458
- resolve(result);
459
- });
460
- });
461
- };
462
- const result = yield getResultOnRender();
463
- return result;
464
- });
465
- }
466
- componentDidRender(initialize) {
467
- const that = this;
468
- const props = {};
469
- const events = {};
470
- let styles = null;
471
- for (let prop in that.props) {
472
- if (prop === 'children') {
473
- continue;
474
- }
475
- if (prop === 'style') {
476
- styles = that.props[prop];
477
- continue;
478
- }
479
- if (prop.startsWith('on') && that.properties.indexOf(prop) === -1) {
480
- events[prop] = that.props[prop];
481
- continue;
482
- }
483
- props[prop] = that.props[prop];
484
- }
485
- if (initialize) {
486
- that.nativeElement = this.componentRef.current;
487
- }
488
- for (let prop in props) {
489
- if (prop === 'class' || prop === 'className') {
490
- const classNames = props[prop].trim().split(' ');
491
- for (let className in classNames) {
492
- if (!that.nativeElement.classList.contains(classNames[className]) && classNames[className] !== "") {
493
- that.nativeElement.classList.add(classNames[className]);
494
- }
495
- }
496
- continue;
497
- }
498
- if (props[prop] !== that.nativeElement[prop]) {
499
- const normalizeProp = (str) => {
500
- return str.replace(/-([a-z])/g, function (g) {
501
- return g[1].toUpperCase();
502
- });
503
- };
504
- if (prop === 'hover' || prop === 'active' || prop === 'focus' || prop === 'selected') {
505
- that.nativeElement.setAttribute(prop, '');
506
- }
507
- const normalizedProp = normalizeProp(prop);
508
- that.nativeElement[normalizedProp] = props[prop];
509
- }
510
- }
511
- for (let eventName in events) {
512
- that[eventName] = events[eventName];
513
- that.nativeElement[eventName.toLowerCase()] = events[eventName];
514
- }
515
- if (initialize) {
516
- Smart.Render();
517
- if (that.onCreate) {
518
- that.onCreate();
519
- }
520
- that.nativeElement.whenRendered(() => {
521
- if (that.onReady) {
522
- that.onReady();
523
- }
524
- });
525
- }
526
- // setup styles.
527
- if (styles) {
528
- for (let styleName in styles) {
529
- that.nativeElement.style[styleName] = styles[styleName];
530
- }
531
- }
532
- }
533
- componentDidMount() {
534
- this.componentDidRender(true);
535
- }
536
- componentDidUpdate() {
537
- this.componentDidRender(false);
538
- }
539
- componentWillUnmount() {
540
- const that = this;
541
- if (!that.nativeElement) {
542
- return;
543
- }
544
- that.nativeElement.whenRenderedCallbacks = [];
545
- for (let i = 0; i < that.eventListeners.length; i++) {
546
- const eventName = that.eventListeners[i];
547
- that.nativeElement.removeEventListener(eventName.substring(2).toLowerCase(), that[eventName]);
548
- }
549
- }
550
- render() {
551
- return (React.createElement("smart-input", { ref: this.componentRef }, this.props.children));
552
- }
553
- }
510
+ exports.Smart = Smart;
511
+ exports.Input = Input;
512
+ exports.default = Input;
554
513
 
555
- exports.Smart = Smart;
556
- exports.Input = Input;
557
- exports.default = Input;
558
-
559
- Object.defineProperty(exports, '__esModule', { value: true });
514
+ Object.defineProperty(exports, '__esModule', { value: true });
560
515
 
561
516
  })));