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,1418 +2,1353 @@
2
2
  require('../source/modules/smart.combobox');
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.combobox = {}),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.combobox = {}),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
+ Defines a list item for ListBox, ComboBox, DropDownList.
15
+ */
16
+ class ListItem 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 = 'ListItem' + Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);
25
+ }
26
+ return this._id;
27
+ }
28
+ /**
29
+ * Property type: number
30
+ */
31
+ get alternationIndex() {
32
+ return this.nativeElement ? this.nativeElement.alternationIndex : undefined;
33
+ }
34
+ set alternationIndex(value) {
35
+ if (this.nativeElement) {
36
+ this.nativeElement.alternationIndex = value;
37
+ }
38
+ }
39
+ /**
40
+ * Property type: string
41
+ */
42
+ get color() {
43
+ return this.nativeElement ? this.nativeElement.color : undefined;
44
+ }
45
+ set color(value) {
46
+ if (this.nativeElement) {
47
+ this.nativeElement.color = value;
48
+ }
49
+ }
50
+ /**
51
+ * Property type: ListItemDisplayMode | string
52
+ */
53
+ get displayMode() {
54
+ return this.nativeElement ? this.nativeElement.displayMode : undefined;
55
+ }
56
+ set displayMode(value) {
57
+ if (this.nativeElement) {
58
+ this.nativeElement.displayMode = value;
59
+ }
60
+ }
61
+ /**
62
+ * Property type: boolean
63
+ */
64
+ get grouped() {
65
+ return this.nativeElement ? this.nativeElement.grouped : undefined;
66
+ }
67
+ set grouped(value) {
68
+ if (this.nativeElement) {
69
+ this.nativeElement.grouped = value;
70
+ }
71
+ }
72
+ /**
73
+ * Property type: boolean
74
+ */
75
+ get selected() {
76
+ return this.nativeElement ? this.nativeElement.selected : undefined;
77
+ }
78
+ set selected(value) {
79
+ if (this.nativeElement) {
80
+ this.nativeElement.selected = value;
81
+ }
82
+ }
83
+ /**
84
+ * Property type: string
85
+ */
86
+ get value() {
87
+ return this.nativeElement ? this.nativeElement.value : undefined;
88
+ }
89
+ set value(value) {
90
+ if (this.nativeElement) {
91
+ this.nativeElement.value = value;
92
+ }
93
+ }
94
+ /**
95
+ * Property type: string
96
+ */
97
+ get label() {
98
+ return this.nativeElement ? this.nativeElement.label : undefined;
99
+ }
100
+ set label(value) {
101
+ if (this.nativeElement) {
102
+ this.nativeElement.label = value;
103
+ }
104
+ }
105
+ /**
106
+ * Property type: string
107
+ */
108
+ get details() {
109
+ return this.nativeElement ? this.nativeElement.details : undefined;
110
+ }
111
+ set details(value) {
112
+ if (this.nativeElement) {
113
+ this.nativeElement.details = value;
114
+ }
115
+ }
116
+ /**
117
+ * Property type: string
118
+ */
119
+ get group() {
120
+ return this.nativeElement ? this.nativeElement.group : undefined;
121
+ }
122
+ set group(value) {
123
+ if (this.nativeElement) {
124
+ this.nativeElement.group = value;
125
+ }
126
+ }
127
+ /**
128
+ * Property type: boolean
129
+ */
130
+ get hidden() {
131
+ return this.nativeElement ? this.nativeElement.hidden : undefined;
132
+ }
133
+ set hidden(value) {
134
+ if (this.nativeElement) {
135
+ this.nativeElement.hidden = value;
136
+ }
137
+ }
138
+ /**
139
+ * Property type: boolean
140
+ */
141
+ get readonly() {
142
+ return this.nativeElement ? this.nativeElement.readonly : undefined;
143
+ }
144
+ set readonly(value) {
145
+ if (this.nativeElement) {
146
+ this.nativeElement.readonly = value;
147
+ }
148
+ }
149
+ // Gets the properties of the React component.
150
+ get properties() {
151
+ return ["alternationIndex", "color", "displayMode", "grouped", "selected", "value", "label", "details", "group", "hidden", "readonly"];
152
+ }
153
+ // Gets the events of the React component.
154
+ get eventListeners() {
155
+ return ["onCreate", "onReady"];
156
+ }
157
+ componentDidRender(initialize) {
158
+ const that = this;
159
+ const props = {};
160
+ const events = {};
161
+ let styles = null;
162
+ for (let prop in that.props) {
163
+ if (prop === 'children') {
164
+ continue;
165
+ }
166
+ if (prop === 'style') {
167
+ styles = that.props[prop];
168
+ continue;
169
+ }
170
+ if (prop.startsWith('on') && that.properties.indexOf(prop) === -1) {
171
+ events[prop] = that.props[prop];
172
+ continue;
173
+ }
174
+ props[prop] = that.props[prop];
175
+ }
176
+ if (initialize) {
177
+ that.nativeElement = this.componentRef.current;
178
+ }
179
+ for (let prop in props) {
180
+ if (prop === 'class' || prop === 'className') {
181
+ const classNames = props[prop].trim().split(' ');
182
+ for (let className in classNames) {
183
+ if (!that.nativeElement.classList.contains(classNames[className]) && classNames[className] !== "") {
184
+ that.nativeElement.classList.add(classNames[className]);
185
+ }
186
+ }
187
+ continue;
188
+ }
189
+ if (props[prop] !== that.nativeElement[prop]) {
190
+ const normalizeProp = (str) => {
191
+ return str.replace(/-([a-z])/g, function (g) {
192
+ return g[1].toUpperCase();
193
+ });
194
+ };
195
+ if (prop === 'hover' || prop === 'active' || prop === 'focus' || prop === 'selected') {
196
+ that.nativeElement.setAttribute(prop, '');
197
+ }
198
+ const normalizedProp = normalizeProp(prop);
199
+ that.nativeElement[normalizedProp] = props[prop];
200
+ }
201
+ }
202
+ for (let eventName in events) {
203
+ that[eventName] = events[eventName];
204
+ that.nativeElement[eventName.toLowerCase()] = events[eventName];
205
+ }
206
+ if (initialize) {
207
+ if (that.onCreate) {
208
+ that.onCreate();
209
+ }
210
+ that.nativeElement.whenRendered(() => {
211
+ if (that.onReady) {
212
+ that.onReady();
213
+ }
214
+ });
215
+ }
216
+ // setup styles.
217
+ if (styles) {
218
+ for (let styleName in styles) {
219
+ that.nativeElement.style[styleName] = styles[styleName];
220
+ }
221
+ }
222
+ }
223
+ componentDidMount() {
224
+ this.componentDidRender(true);
225
+ }
226
+ componentDidUpdate() {
227
+ this.componentDidRender(false);
228
+ }
229
+ componentWillUnmount() {
230
+ const that = this;
231
+ if (!that.nativeElement) {
232
+ return;
233
+ }
234
+ that.nativeElement.whenRenderedCallbacks = [];
235
+ for (let i = 0; i < that.eventListeners.length; i++) {
236
+ const eventName = that.eventListeners[i];
237
+ that.nativeElement.removeEventListener(eventName.substring(2).toLowerCase(), that[eventName]);
238
+ }
239
+ }
240
+ render() {
241
+ return (React.createElement("smart-list-item", { ref: this.componentRef }, this.props.children));
242
+ }
243
+ }
36
244
 
37
- const Smart = window.Smart;
38
- /**
39
- Defines a list item for ListBox, ComboBox, DropDownList.
40
- */
41
- class ListItem 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 = 'ListItem' + Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);
50
- }
51
- return this._id;
52
- }
53
- /**
54
- * Property type: number
55
- */
56
- get alternationIndex() {
57
- return this.nativeElement ? this.nativeElement.alternationIndex : undefined;
58
- }
59
- set alternationIndex(value) {
60
- if (this.nativeElement) {
61
- this.nativeElement.alternationIndex = value;
62
- }
63
- }
64
- /**
65
- * Property type: string
66
- */
67
- get color() {
68
- return this.nativeElement ? this.nativeElement.color : undefined;
69
- }
70
- set color(value) {
71
- if (this.nativeElement) {
72
- this.nativeElement.color = value;
73
- }
74
- }
75
- /**
76
- * Property type: ListItemDisplayMode | string
77
- */
78
- get displayMode() {
79
- return this.nativeElement ? this.nativeElement.displayMode : undefined;
80
- }
81
- set displayMode(value) {
82
- if (this.nativeElement) {
83
- this.nativeElement.displayMode = value;
84
- }
85
- }
86
- /**
87
- * Property type: boolean
88
- */
89
- get grouped() {
90
- return this.nativeElement ? this.nativeElement.grouped : undefined;
91
- }
92
- set grouped(value) {
93
- if (this.nativeElement) {
94
- this.nativeElement.grouped = value;
95
- }
96
- }
97
- /**
98
- * Property type: boolean
99
- */
100
- get selected() {
101
- return this.nativeElement ? this.nativeElement.selected : undefined;
102
- }
103
- set selected(value) {
104
- if (this.nativeElement) {
105
- this.nativeElement.selected = value;
106
- }
107
- }
108
- /**
109
- * Property type: string
110
- */
111
- get value() {
112
- return this.nativeElement ? this.nativeElement.value : undefined;
113
- }
114
- set value(value) {
115
- if (this.nativeElement) {
116
- this.nativeElement.value = value;
117
- }
118
- }
119
- /**
120
- * Property type: string
121
- */
122
- get label() {
123
- return this.nativeElement ? this.nativeElement.label : undefined;
124
- }
125
- set label(value) {
126
- if (this.nativeElement) {
127
- this.nativeElement.label = value;
128
- }
129
- }
130
- /**
131
- * Property type: string
132
- */
133
- get details() {
134
- return this.nativeElement ? this.nativeElement.details : undefined;
135
- }
136
- set details(value) {
137
- if (this.nativeElement) {
138
- this.nativeElement.details = value;
139
- }
140
- }
141
- /**
142
- * Property type: string
143
- */
144
- get group() {
145
- return this.nativeElement ? this.nativeElement.group : undefined;
146
- }
147
- set group(value) {
148
- if (this.nativeElement) {
149
- this.nativeElement.group = value;
150
- }
151
- }
152
- /**
153
- * Property type: boolean
154
- */
155
- get hidden() {
156
- return this.nativeElement ? this.nativeElement.hidden : undefined;
157
- }
158
- set hidden(value) {
159
- if (this.nativeElement) {
160
- this.nativeElement.hidden = value;
161
- }
162
- }
163
- /**
164
- * Property type: boolean
165
- */
166
- get readonly() {
167
- return this.nativeElement ? this.nativeElement.readonly : undefined;
168
- }
169
- set readonly(value) {
170
- if (this.nativeElement) {
171
- this.nativeElement.readonly = value;
172
- }
173
- }
174
- // Gets the properties of the React component.
175
- get properties() {
176
- return ["alternationIndex", "color", "displayMode", "grouped", "selected", "value", "label", "details", "group", "hidden", "readonly"];
177
- }
178
- // Gets the events of the React component.
179
- get eventListeners() {
180
- return ["onCreate", "onReady"];
181
- }
182
- componentDidRender(initialize) {
183
- const that = this;
184
- const props = {};
185
- const events = {};
186
- let styles = null;
187
- for (let prop in that.props) {
188
- if (prop === 'children') {
189
- continue;
190
- }
191
- if (prop === 'style') {
192
- styles = that.props[prop];
193
- continue;
194
- }
195
- if (prop.startsWith('on') && that.properties.indexOf(prop) === -1) {
196
- events[prop] = that.props[prop];
197
- continue;
198
- }
199
- props[prop] = that.props[prop];
200
- }
201
- if (initialize) {
202
- that.nativeElement = this.componentRef.current;
203
- }
204
- for (let prop in props) {
205
- if (prop === 'class' || prop === 'className') {
206
- const classNames = props[prop].trim().split(' ');
207
- for (let className in classNames) {
208
- if (!that.nativeElement.classList.contains(classNames[className]) && classNames[className] !== "") {
209
- that.nativeElement.classList.add(classNames[className]);
210
- }
211
- }
212
- continue;
213
- }
214
- if (props[prop] !== that.nativeElement[prop]) {
215
- const normalizeProp = (str) => {
216
- return str.replace(/-([a-z])/g, function (g) {
217
- return g[1].toUpperCase();
218
- });
219
- };
220
- if (prop === 'hover' || prop === 'active' || prop === 'focus' || prop === 'selected') {
221
- that.nativeElement.setAttribute(prop, '');
222
- }
223
- const normalizedProp = normalizeProp(prop);
224
- that.nativeElement[normalizedProp] = props[prop];
225
- }
226
- }
227
- for (let eventName in events) {
228
- that[eventName] = events[eventName];
229
- that.nativeElement[eventName.toLowerCase()] = events[eventName];
230
- }
231
- if (initialize) {
232
- if (that.onCreate) {
233
- that.onCreate();
234
- }
235
- that.nativeElement.whenRendered(() => {
236
- if (that.onReady) {
237
- that.onReady();
238
- }
239
- });
240
- }
241
- // setup styles.
242
- if (styles) {
243
- for (let styleName in styles) {
244
- that.nativeElement.style[styleName] = styles[styleName];
245
- }
246
- }
247
- }
248
- componentDidMount() {
249
- this.componentDidRender(true);
250
- }
251
- componentDidUpdate() {
252
- this.componentDidRender(false);
253
- }
254
- componentWillUnmount() {
255
- const that = this;
256
- if (!that.nativeElement) {
257
- return;
258
- }
259
- that.nativeElement.whenRenderedCallbacks = [];
260
- for (let i = 0; i < that.eventListeners.length; i++) {
261
- const eventName = that.eventListeners[i];
262
- that.nativeElement.removeEventListener(eventName.substring(2).toLowerCase(), that[eventName]);
263
- }
264
- }
265
- render() {
266
- return (React.createElement("smart-list-item", { ref: this.componentRef }, this.props.children));
267
- }
268
- }
245
+ const Smart$1 = window.Smart;
246
+ /**
247
+ Defines a group of list items.
248
+ */
249
+ class ListItemsGroup extends React.Component {
250
+ constructor(props) {
251
+ super(props);
252
+ this.componentRef = React.createRef();
253
+ }
254
+ // Gets the id of the React component.
255
+ get id() {
256
+ if (!this._id) {
257
+ this._id = 'ListItemsGroup' + Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);
258
+ }
259
+ return this._id;
260
+ }
261
+ /**
262
+ * Property type: string
263
+ */
264
+ get label() {
265
+ return this.nativeElement ? this.nativeElement.label : undefined;
266
+ }
267
+ set label(value) {
268
+ if (this.nativeElement) {
269
+ this.nativeElement.label = value;
270
+ }
271
+ }
272
+ // Gets the properties of the React component.
273
+ get properties() {
274
+ return ["label"];
275
+ }
276
+ // Gets the events of the React component.
277
+ get eventListeners() {
278
+ return ["onCreate", "onReady"];
279
+ }
280
+ componentDidRender(initialize) {
281
+ const that = this;
282
+ const props = {};
283
+ const events = {};
284
+ let styles = null;
285
+ for (let prop in that.props) {
286
+ if (prop === 'children') {
287
+ continue;
288
+ }
289
+ if (prop === 'style') {
290
+ styles = that.props[prop];
291
+ continue;
292
+ }
293
+ if (prop.startsWith('on') && that.properties.indexOf(prop) === -1) {
294
+ events[prop] = that.props[prop];
295
+ continue;
296
+ }
297
+ props[prop] = that.props[prop];
298
+ }
299
+ if (initialize) {
300
+ that.nativeElement = this.componentRef.current;
301
+ }
302
+ for (let prop in props) {
303
+ if (prop === 'class' || prop === 'className') {
304
+ const classNames = props[prop].trim().split(' ');
305
+ for (let className in classNames) {
306
+ if (!that.nativeElement.classList.contains(classNames[className]) && classNames[className] !== "") {
307
+ that.nativeElement.classList.add(classNames[className]);
308
+ }
309
+ }
310
+ continue;
311
+ }
312
+ if (props[prop] !== that.nativeElement[prop]) {
313
+ const normalizeProp = (str) => {
314
+ return str.replace(/-([a-z])/g, function (g) {
315
+ return g[1].toUpperCase();
316
+ });
317
+ };
318
+ if (prop === 'hover' || prop === 'active' || prop === 'focus' || prop === 'selected') {
319
+ that.nativeElement.setAttribute(prop, '');
320
+ }
321
+ const normalizedProp = normalizeProp(prop);
322
+ that.nativeElement[normalizedProp] = props[prop];
323
+ }
324
+ }
325
+ for (let eventName in events) {
326
+ that[eventName] = events[eventName];
327
+ that.nativeElement[eventName.toLowerCase()] = events[eventName];
328
+ }
329
+ if (initialize) {
330
+ if (that.onCreate) {
331
+ that.onCreate();
332
+ }
333
+ that.nativeElement.whenRendered(() => {
334
+ if (that.onReady) {
335
+ that.onReady();
336
+ }
337
+ });
338
+ }
339
+ // setup styles.
340
+ if (styles) {
341
+ for (let styleName in styles) {
342
+ that.nativeElement.style[styleName] = styles[styleName];
343
+ }
344
+ }
345
+ }
346
+ componentDidMount() {
347
+ this.componentDidRender(true);
348
+ }
349
+ componentDidUpdate() {
350
+ this.componentDidRender(false);
351
+ }
352
+ componentWillUnmount() {
353
+ const that = this;
354
+ if (!that.nativeElement) {
355
+ return;
356
+ }
357
+ that.nativeElement.whenRenderedCallbacks = [];
358
+ for (let i = 0; i < that.eventListeners.length; i++) {
359
+ const eventName = that.eventListeners[i];
360
+ that.nativeElement.removeEventListener(eventName.substring(2).toLowerCase(), that[eventName]);
361
+ }
362
+ }
363
+ render() {
364
+ return (React.createElement("smart-list-items-group", { ref: this.componentRef }, this.props.children));
365
+ }
366
+ }
269
367
 
270
- const Smart$1 = window.Smart;
271
- /**
272
- Defines a group of list items.
273
- */
274
- class ListItemsGroup extends React.Component {
275
- constructor(props) {
276
- super(props);
277
- this.componentRef = React.createRef();
278
- }
279
- // Gets the id of the React component.
280
- get id() {
281
- if (!this._id) {
282
- this._id = 'ListItemsGroup' + Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);
283
- }
284
- return this._id;
285
- }
286
- /**
287
- * Property type: string
288
- */
289
- get label() {
290
- return this.nativeElement ? this.nativeElement.label : undefined;
291
- }
292
- set label(value) {
293
- if (this.nativeElement) {
294
- this.nativeElement.label = value;
295
- }
296
- }
297
- // Gets the properties of the React component.
298
- get properties() {
299
- return ["label"];
300
- }
301
- // Gets the events of the React component.
302
- get eventListeners() {
303
- return ["onCreate", "onReady"];
304
- }
305
- componentDidRender(initialize) {
306
- const that = this;
307
- const props = {};
308
- const events = {};
309
- let styles = null;
310
- for (let prop in that.props) {
311
- if (prop === 'children') {
312
- continue;
313
- }
314
- if (prop === 'style') {
315
- styles = that.props[prop];
316
- continue;
317
- }
318
- if (prop.startsWith('on') && that.properties.indexOf(prop) === -1) {
319
- events[prop] = that.props[prop];
320
- continue;
321
- }
322
- props[prop] = that.props[prop];
323
- }
324
- if (initialize) {
325
- that.nativeElement = this.componentRef.current;
326
- }
327
- for (let prop in props) {
328
- if (prop === 'class' || prop === 'className') {
329
- const classNames = props[prop].trim().split(' ');
330
- for (let className in classNames) {
331
- if (!that.nativeElement.classList.contains(classNames[className]) && classNames[className] !== "") {
332
- that.nativeElement.classList.add(classNames[className]);
333
- }
334
- }
335
- continue;
336
- }
337
- if (props[prop] !== that.nativeElement[prop]) {
338
- const normalizeProp = (str) => {
339
- return str.replace(/-([a-z])/g, function (g) {
340
- return g[1].toUpperCase();
341
- });
342
- };
343
- if (prop === 'hover' || prop === 'active' || prop === 'focus' || prop === 'selected') {
344
- that.nativeElement.setAttribute(prop, '');
345
- }
346
- const normalizedProp = normalizeProp(prop);
347
- that.nativeElement[normalizedProp] = props[prop];
348
- }
349
- }
350
- for (let eventName in events) {
351
- that[eventName] = events[eventName];
352
- that.nativeElement[eventName.toLowerCase()] = events[eventName];
353
- }
354
- if (initialize) {
355
- if (that.onCreate) {
356
- that.onCreate();
357
- }
358
- that.nativeElement.whenRendered(() => {
359
- if (that.onReady) {
360
- that.onReady();
361
- }
362
- });
363
- }
364
- // setup styles.
365
- if (styles) {
366
- for (let styleName in styles) {
367
- that.nativeElement.style[styleName] = styles[styleName];
368
- }
369
- }
370
- }
371
- componentDidMount() {
372
- this.componentDidRender(true);
373
- }
374
- componentDidUpdate() {
375
- this.componentDidRender(false);
376
- }
377
- componentWillUnmount() {
378
- const that = this;
379
- if (!that.nativeElement) {
380
- return;
381
- }
382
- that.nativeElement.whenRenderedCallbacks = [];
383
- for (let i = 0; i < that.eventListeners.length; i++) {
384
- const eventName = that.eventListeners[i];
385
- that.nativeElement.removeEventListener(eventName.substring(2).toLowerCase(), that[eventName]);
386
- }
387
- }
388
- render() {
389
- return (React.createElement("smart-list-items-group", { ref: this.componentRef }, this.props.children));
390
- }
391
- }
368
+ const Smart$2 = window.Smart;
369
+ /**
370
+ ComboBox is the alternate for the HTML select tag with editable option. It supports data binding, auto-complete, filtering, grouping, cascading and more.
371
+ */
372
+ class ComboBox extends React.Component {
373
+ constructor(props) {
374
+ super(props);
375
+ this.componentRef = React.createRef();
376
+ }
377
+ // Gets the id of the React component.
378
+ get id() {
379
+ if (!this._id) {
380
+ this._id = 'ComboBox' + Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);
381
+ }
382
+ return this._id;
383
+ }
384
+ /** Used only when dropDownOpenMode is set to 'auto'. Determines the delay before the opened drop down closes if the pointer is not over the element.
385
+ * Property type: number
386
+ */
387
+ get autoCloseDelay() {
388
+ return this.nativeElement ? this.nativeElement.autoCloseDelay : undefined;
389
+ }
390
+ set autoCloseDelay(value) {
391
+ if (this.nativeElement) {
392
+ this.nativeElement.autoCloseDelay = value;
393
+ }
394
+ }
395
+ /** Determines the autocomplete mode. Auto complete modes filter the items from the dataSource and show only those that match the input.
396
+ * Property type: AutoComplete | string
397
+ */
398
+ get autoComplete() {
399
+ return this.nativeElement ? this.nativeElement.autoComplete : undefined;
400
+ }
401
+ set autoComplete(value) {
402
+ if (this.nativeElement) {
403
+ this.nativeElement.autoComplete = value;
404
+ }
405
+ }
406
+ /** Determines the delay before the drop down opens to show the matches from the auto complete operation. The delay is measured in miliseconds.
407
+ * Property type: number
408
+ */
409
+ get autoCompleteDelay() {
410
+ return this.nativeElement ? this.nativeElement.autoCompleteDelay : undefined;
411
+ }
412
+ set autoCompleteDelay(value) {
413
+ if (this.nativeElement) {
414
+ this.nativeElement.autoCompleteDelay = value;
415
+ }
416
+ }
417
+ /** Allows the user to define a custom key name ( or multiple key names) to open that popup with.
418
+ * Property type: string[]
419
+ */
420
+ get autoOpenShortcutKey() {
421
+ return this.nativeElement ? this.nativeElement.autoOpenShortcutKey : undefined;
422
+ }
423
+ set autoOpenShortcutKey(value) {
424
+ if (this.nativeElement) {
425
+ this.nativeElement.autoOpenShortcutKey = value;
426
+ }
427
+ }
428
+ /** Determines the data source that will be loaded to the ComboBox. 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, group. It can also be a callback that returns an Array of items as previously described.
429
+ * Property type: any
430
+ */
431
+ get dataSource() {
432
+ return this.nativeElement ? this.nativeElement.dataSource : undefined;
433
+ }
434
+ set dataSource(value) {
435
+ if (this.nativeElement) {
436
+ this.nativeElement.dataSource = value;
437
+ }
438
+ }
439
+ /** Enables or disables the combo box.
440
+ * Property type: boolean
441
+ */
442
+ get disabled() {
443
+ return this.nativeElement ? this.nativeElement.disabled : undefined;
444
+ }
445
+ set disabled(value) {
446
+ if (this.nativeElement) {
447
+ this.nativeElement.disabled = value;
448
+ }
449
+ }
450
+ /** Determines whether an indicator will appear during filtering and remote item loading.
451
+ * Property type: boolean
452
+ */
453
+ get displayLoadingIndicator() {
454
+ return this.nativeElement ? this.nativeElement.displayLoadingIndicator : undefined;
455
+ }
456
+ set displayLoadingIndicator(value) {
457
+ if (this.nativeElement) {
458
+ this.nativeElement.displayLoadingIndicator = value;
459
+ }
460
+ }
461
+ /** Sets or gets the displayMember. The displayMember specifies the name of a property to display. The name is contained in the collection specified by the 'dataSource' property.
462
+ * Property type: string
463
+ */
464
+ get displayMember() {
465
+ return this.nativeElement ? this.nativeElement.displayMember : undefined;
466
+ }
467
+ set displayMember(value) {
468
+ if (this.nativeElement) {
469
+ this.nativeElement.displayMember = value;
470
+ }
471
+ }
472
+ /** Determines the drop down parent. The expected value is CSS Selector, ID or 'body'. The drop down can be removed from the body of the element and continue to work in another container. This is usefull when one of the parents of the element doesn't allow overflowing, by settings this property to 'body' the drop down will be appended to the DOM and the popup will open/close as usual. dropDownAppendTo can be a string representing the id of an HTML element on the page or a direct reference to that element. Reseting it back to null will take the drop down back to it's original place.
473
+ * Property type: string
474
+ */
475
+ get dropDownAppendTo() {
476
+ return this.nativeElement ? this.nativeElement.dropDownAppendTo : undefined;
477
+ }
478
+ set dropDownAppendTo(value) {
479
+ if (this.nativeElement) {
480
+ this.nativeElement.dropDownAppendTo = value;
481
+ }
482
+ }
483
+ /** Determines the position of the drop down button.
484
+ * Property type: DropDownButtonPosition | string
485
+ */
486
+ get dropDownButtonPosition() {
487
+ return this.nativeElement ? this.nativeElement.dropDownButtonPosition : undefined;
488
+ }
489
+ set dropDownButtonPosition(value) {
490
+ if (this.nativeElement) {
491
+ this.nativeElement.dropDownButtonPosition = value;
492
+ }
493
+ }
494
+ /** 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.
495
+ * Property type: string | number
496
+ */
497
+ get dropDownHeight() {
498
+ return this.nativeElement ? this.nativeElement.dropDownHeight : undefined;
499
+ }
500
+ set dropDownHeight(value) {
501
+ if (this.nativeElement) {
502
+ this.nativeElement.dropDownHeight = value;
503
+ }
504
+ }
505
+ /** Sets the maximum Height of the drop down. By default it's set to an empty string. In this case the maxHeight of the drop down is controlled by a CSS variable.
506
+ * Property type: string | number
507
+ */
508
+ get dropDownMaxHeight() {
509
+ return this.nativeElement ? this.nativeElement.dropDownMaxHeight : undefined;
510
+ }
511
+ set dropDownMaxHeight(value) {
512
+ if (this.nativeElement) {
513
+ this.nativeElement.dropDownMaxHeight = value;
514
+ }
515
+ }
516
+ /** Sets the maximum Width of the drop down. By default it's set to an empty string. In this case the maxWidth of the drop down is controlled by a CSS variable.
517
+ * Property type: string | number
518
+ */
519
+ get dropDownMaxWidth() {
520
+ return this.nativeElement ? this.nativeElement.dropDownMaxWidth : undefined;
521
+ }
522
+ set dropDownMaxWidth(value) {
523
+ if (this.nativeElement) {
524
+ this.nativeElement.dropDownMaxWidth = value;
525
+ }
526
+ }
527
+ /** Sets the minimum Height of the drop down. By default it's set to an empty string. In this case the minHeight of the drop down is controlled by a CSS variable.
528
+ * Property type: string | number
529
+ */
530
+ get dropDownMinHeight() {
531
+ return this.nativeElement ? this.nativeElement.dropDownMinHeight : undefined;
532
+ }
533
+ set dropDownMinHeight(value) {
534
+ if (this.nativeElement) {
535
+ this.nativeElement.dropDownMinHeight = value;
536
+ }
537
+ }
538
+ /** Sets the minimum Width of the drop down. By default it's set to an empty string. In this case the minWidth of the drop down is controlled by a CSS variable.
539
+ * Property type: string | number
540
+ */
541
+ get dropDownMinWidth() {
542
+ return this.nativeElement ? this.nativeElement.dropDownMinWidth : undefined;
543
+ }
544
+ set dropDownMinWidth(value) {
545
+ if (this.nativeElement) {
546
+ this.nativeElement.dropDownMinWidth = value;
547
+ }
548
+ }
549
+ /** Determines how the drop down is going to open.
550
+ * Property type: DropDownOpenMode | string
551
+ */
552
+ get dropDownOpenMode() {
553
+ return this.nativeElement ? this.nativeElement.dropDownOpenMode : undefined;
554
+ }
555
+ set dropDownOpenMode(value) {
556
+ if (this.nativeElement) {
557
+ this.nativeElement.dropDownOpenMode = value;
558
+ }
559
+ }
560
+ /** If this property is enabled, when the element's dropdown is opened, a transparent overlay is positioned between the dropdown and the rest of the document. The purpose of the overlay is to make sure that clicking anywhere outside the popup will will target the overlay and not the DOM.
561
+ * Property type: boolean
562
+ */
563
+ get dropDownOverlay() {
564
+ return this.nativeElement ? this.nativeElement.dropDownOverlay : undefined;
565
+ }
566
+ set dropDownOverlay(value) {
567
+ if (this.nativeElement) {
568
+ this.nativeElement.dropDownOverlay = value;
569
+ }
570
+ }
571
+ /** Determines the placeholder for the drop down, displayed when there are no items in it.
572
+ * Property type: string
573
+ */
574
+ get dropDownPlaceholder() {
575
+ return this.nativeElement ? this.nativeElement.dropDownPlaceholder : undefined;
576
+ }
577
+ set dropDownPlaceholder(value) {
578
+ if (this.nativeElement) {
579
+ this.nativeElement.dropDownPlaceholder = value;
580
+ }
581
+ }
582
+ /** Determines the position of the drop down when opened.
583
+ * Property type: DropDownPosition | string
584
+ */
585
+ get dropDownPosition() {
586
+ return this.nativeElement ? this.nativeElement.dropDownPosition : undefined;
587
+ }
588
+ set dropDownPosition(value) {
589
+ if (this.nativeElement) {
590
+ this.nativeElement.dropDownPosition = value;
591
+ }
592
+ }
593
+ /** 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.
594
+ * Property type: string | number
595
+ */
596
+ get dropDownWidth() {
597
+ return this.nativeElement ? this.nativeElement.dropDownWidth : undefined;
598
+ }
599
+ set dropDownWidth(value) {
600
+ if (this.nativeElement) {
601
+ this.nativeElement.dropDownWidth = value;
602
+ }
603
+ }
604
+ /** Determines the behavior of the element when Escape key is pressed.
605
+ * Property type: ComboBoxEscKeyMode | string
606
+ */
607
+ get escKeyMode() {
608
+ return this.nativeElement ? this.nativeElement.escKeyMode : undefined;
609
+ }
610
+ set escKeyMode(value) {
611
+ if (this.nativeElement) {
612
+ this.nativeElement.escKeyMode = value;
613
+ }
614
+ }
615
+ /** Determines whether filtering is enabled.
616
+ * Property type: boolean
617
+ */
618
+ get filterable() {
619
+ return this.nativeElement ? this.nativeElement.filterable : undefined;
620
+ }
621
+ set filterable(value) {
622
+ if (this.nativeElement) {
623
+ this.nativeElement.filterable = value;
624
+ }
625
+ }
626
+ /** Determines the placeholder for the drop down list filter input field.
627
+ * Property type: string
628
+ */
629
+ get filterInputPlaceholder() {
630
+ return this.nativeElement ? this.nativeElement.filterInputPlaceholder : undefined;
631
+ }
632
+ set filterInputPlaceholder(value) {
633
+ if (this.nativeElement) {
634
+ this.nativeElement.filterInputPlaceholder = value;
635
+ }
636
+ }
637
+ /** Determines the filtering mode of the Combo box.
638
+ * Property type: FilterMode | string
639
+ */
640
+ get filterMode() {
641
+ return this.nativeElement ? this.nativeElement.filterMode : undefined;
642
+ }
643
+ set filterMode(value) {
644
+ if (this.nativeElement) {
645
+ this.nativeElement.filterMode = value;
646
+ }
647
+ }
648
+ /** If enabled, the items will be grouped by their first letter. Can't be applied if the dataSource already contains groups.
649
+ * Property type: boolean
650
+ */
651
+ get grouped() {
652
+ return this.nativeElement ? this.nativeElement.grouped : undefined;
653
+ }
654
+ set grouped(value) {
655
+ if (this.nativeElement) {
656
+ this.nativeElement.grouped = value;
657
+ }
658
+ }
659
+ /** Determines which attribute from the dataSource object will be used as the group member for the items. If not set, by default 'group' property is used from the source object. groupMember is especially usefull when loading the data from a JSON file as a dataSource for the ListBox and there's a specific property that should be used to group the items.
660
+ * Property type: string
661
+ */
662
+ get groupMember() {
663
+ return this.nativeElement ? this.nativeElement.groupMember : undefined;
664
+ }
665
+ set groupMember(value) {
666
+ if (this.nativeElement) {
667
+ this.nativeElement.groupMember = value;
668
+ }
669
+ }
670
+ /** Sets additional helper text below the element. The hint is visible only when the element is focused.
671
+ * Property type: string
672
+ */
673
+ get hint() {
674
+ return this.nativeElement ? this.nativeElement.hint : undefined;
675
+ }
676
+ set hint(value) {
677
+ if (this.nativeElement) {
678
+ this.nativeElement.hint = value;
679
+ }
680
+ }
681
+ /** Determines the visibility of the horizontal Scroll bar inside the drop down.
682
+ * Property type: HorizontalScrollBarVisibility | string
683
+ */
684
+ get horizontalScrollBarVisibility() {
685
+ return this.nativeElement ? this.nativeElement.horizontalScrollBarVisibility : undefined;
686
+ }
687
+ set horizontalScrollBarVisibility(value) {
688
+ if (this.nativeElement) {
689
+ this.nativeElement.horizontalScrollBarVisibility = value;
690
+ }
691
+ }
692
+ /** Represents the property name of a List item. Determines the value of the input when a ListItem is selected. Usefull in cases where the user wants to display for example the value of an item instead of it's label. By default the label is displayed in the input.
693
+ * Property type: string
694
+ */
695
+ get inputMember() {
696
+ return this.nativeElement ? this.nativeElement.inputMember : undefined;
697
+ }
698
+ set inputMember(value) {
699
+ if (this.nativeElement) {
700
+ this.nativeElement.inputMember = value;
701
+ }
702
+ }
703
+ /** 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.
704
+ * Property type: string
705
+ */
706
+ get inputPurpose() {
707
+ return this.nativeElement ? this.nativeElement.inputPurpose : undefined;
708
+ }
709
+ set inputPurpose(value) {
710
+ if (this.nativeElement) {
711
+ this.nativeElement.inputPurpose = value;
712
+ }
713
+ }
714
+ /** IncrementalSearchDelay property specifies the time-interval in milliseconds until the previous search query is cleared. The timer starts when the user stops typing. A new query can be started only when the delay has passed.
715
+ * Property type: number
716
+ */
717
+ get incrementalSearchDelay() {
718
+ return this.nativeElement ? this.nativeElement.incrementalSearchDelay : undefined;
719
+ }
720
+ set incrementalSearchDelay(value) {
721
+ if (this.nativeElement) {
722
+ this.nativeElement.incrementalSearchDelay = value;
723
+ }
724
+ }
725
+ /** Sets ot gets the mode of the incremental search mode. Incremental search is enabled by default. Typing while the drop down is focused starts the incremental search.
726
+ * Property type: SearchMode | string
727
+ */
728
+ get incrementalSearchMode() {
729
+ return this.nativeElement ? this.nativeElement.incrementalSearchMode : undefined;
730
+ }
731
+ set incrementalSearchMode(value) {
732
+ if (this.nativeElement) {
733
+ this.nativeElement.incrementalSearchMode = value;
734
+ }
735
+ }
736
+ /** Sets the height for all list items. Used only when virtualization is enabled.
737
+ * Property type: number
738
+ */
739
+ get itemHeight() {
740
+ return this.nativeElement ? this.nativeElement.itemHeight : undefined;
741
+ }
742
+ set itemHeight(value) {
743
+ if (this.nativeElement) {
744
+ this.nativeElement.itemHeight = value;
745
+ }
746
+ }
747
+ /** Determines the item width measuring algorithm.
748
+ * Property type: ListItemMeasureMode | string
749
+ */
750
+ get itemMeasureMode() {
751
+ return this.nativeElement ? this.nativeElement.itemMeasureMode : undefined;
752
+ }
753
+ set itemMeasureMode(value) {
754
+ if (this.nativeElement) {
755
+ this.nativeElement.itemMeasureMode = value;
756
+ }
757
+ }
758
+ /** A getter that returns an array of all List items inside the drop down.
759
+ * Property type: {label: string, value: string}[]
760
+ */
761
+ get items() {
762
+ return this.nativeElement ? this.nativeElement.items : undefined;
763
+ }
764
+ set items(value) {
765
+ if (this.nativeElement) {
766
+ this.nativeElement.items = value;
767
+ }
768
+ }
769
+ /** The itemTemplate property is a string that represents the id of an HTMLTemplateElement in the DOM. It's used to set a customize the content of the list items.
770
+ * Property type: any
771
+ */
772
+ get itemTemplate() {
773
+ return this.nativeElement ? this.nativeElement.itemTemplate : undefined;
774
+ }
775
+ set itemTemplate(value) {
776
+ if (this.nativeElement) {
777
+ this.nativeElement.itemTemplate = value;
778
+ }
779
+ }
780
+ /** Sets a little text label above the element.
781
+ * Property type: string
782
+ */
783
+ get label() {
784
+ return this.nativeElement ? this.nativeElement.label : undefined;
785
+ }
786
+ set label(value) {
787
+ if (this.nativeElement) {
788
+ this.nativeElement.label = value;
789
+ }
790
+ }
791
+ /** Determines the text that will be displayed next to the loading indicator when the loader is visible and it's position is top or bottom.
792
+ * Property type: string
793
+ */
794
+ get loadingIndicatorPlaceholder() {
795
+ return this.nativeElement ? this.nativeElement.loadingIndicatorPlaceholder : undefined;
796
+ }
797
+ set loadingIndicatorPlaceholder(value) {
798
+ if (this.nativeElement) {
799
+ this.nativeElement.loadingIndicatorPlaceholder = value;
800
+ }
801
+ }
802
+ /** Determines the position of the loading indicator.
803
+ * Property type: VerticalAlignment | string
804
+ */
805
+ get loadingIndicatorPosition() {
806
+ return this.nativeElement ? this.nativeElement.loadingIndicatorPosition : undefined;
807
+ }
808
+ set loadingIndicatorPosition(value) {
809
+ if (this.nativeElement) {
810
+ this.nativeElement.loadingIndicatorPosition = value;
811
+ }
812
+ }
813
+ /** Sets or gets the language. Used in conjunction with the property messages.
814
+ * Property type: string
815
+ */
816
+ get locale() {
817
+ return this.nativeElement ? this.nativeElement.locale : undefined;
818
+ }
819
+ set locale(value) {
820
+ if (this.nativeElement) {
821
+ this.nativeElement.locale = value;
822
+ }
823
+ }
824
+ /** Callback used to customize the format of the messages that are returned from the Localization Module.
825
+ * Property type: any
826
+ */
827
+ get localizeFormatFunction() {
828
+ return this.nativeElement ? this.nativeElement.localizeFormatFunction : undefined;
829
+ }
830
+ set localizeFormatFunction(value) {
831
+ if (this.nativeElement) {
832
+ this.nativeElement.localizeFormatFunction = value;
833
+ }
834
+ }
835
+ /** Sets or gets an object specifying strings used in the widget that can be localized. Used in conjunction with the property locale.
836
+ * Property type: any
837
+ */
838
+ get messages() {
839
+ return this.nativeElement ? this.nativeElement.messages : undefined;
840
+ }
841
+ set messages(value) {
842
+ if (this.nativeElement) {
843
+ this.nativeElement.messages = value;
844
+ }
845
+ }
846
+ /** Determines the minimum number of characters inside the input in order to trigger the autocomplete functionality
847
+ * Property type: number
848
+ */
849
+ get minLength() {
850
+ return this.nativeElement ? this.nativeElement.minLength : undefined;
851
+ }
852
+ set minLength(value) {
853
+ if (this.nativeElement) {
854
+ this.nativeElement.minLength = value;
855
+ }
856
+ }
857
+ /** Determines the maximum number of characters inside the input.
858
+ * Property type: number
859
+ */
860
+ get maxLength() {
861
+ return this.nativeElement ? this.nativeElement.maxLength : undefined;
862
+ }
863
+ set maxLength(value) {
864
+ if (this.nativeElement) {
865
+ this.nativeElement.maxLength = value;
866
+ }
867
+ }
868
+ /** Sets or gets the name attribute for the element. Name is used when submiting HTML forms.
869
+ * Property type: string
870
+ */
871
+ get name() {
872
+ return this.nativeElement ? this.nativeElement.name : undefined;
873
+ }
874
+ set name(value) {
875
+ if (this.nativeElement) {
876
+ this.nativeElement.name = value;
877
+ }
878
+ }
879
+ /** Determines whether the popup is opened or closed
880
+ * Property type: boolean
881
+ */
882
+ get opened() {
883
+ return this.nativeElement ? this.nativeElement.opened : undefined;
884
+ }
885
+ set opened(value) {
886
+ if (this.nativeElement) {
887
+ this.nativeElement.opened = value;
888
+ }
889
+ }
890
+ /** Determines the input's placeholder.
891
+ * Property type: string
892
+ */
893
+ get placeholder() {
894
+ return this.nativeElement ? this.nativeElement.placeholder : undefined;
895
+ }
896
+ set placeholder(value) {
897
+ if (this.nativeElement) {
898
+ this.nativeElement.placeholder = value;
899
+ }
900
+ }
901
+ /** Disables user interaction with the element.
902
+ * Property type: boolean
903
+ */
904
+ get readonly() {
905
+ return this.nativeElement ? this.nativeElement.readonly : undefined;
906
+ }
907
+ set readonly(value) {
908
+ if (this.nativeElement) {
909
+ this.nativeElement.readonly = value;
910
+ }
911
+ }
912
+ /** Sets or gets the value indicating whether the element is aligned to support locales using right-to-left fonts.
913
+ * Property type: boolean
914
+ */
915
+ get rightToLeft() {
916
+ return this.nativeElement ? this.nativeElement.rightToLeft : undefined;
917
+ }
918
+ set rightToLeft(value) {
919
+ if (this.nativeElement) {
920
+ this.nativeElement.rightToLeft = value;
921
+ }
922
+ }
923
+ /** Determines whether the resize indicator in the bottom right corner of the drop down is visible or not. This property is used in conjunction with resizeMode.
924
+ * Property type: boolean
925
+ */
926
+ get resizeIndicator() {
927
+ return this.nativeElement ? this.nativeElement.resizeIndicator : undefined;
928
+ }
929
+ set resizeIndicator(value) {
930
+ if (this.nativeElement) {
931
+ this.nativeElement.resizeIndicator = value;
932
+ }
933
+ }
934
+ /** Determines whether the dropDown can be resized or not. When resizing is enabled, a resize bar appears on the top/bottom side of the drop down.
935
+ * Property type: ResizeMode | string
936
+ */
937
+ get resizeMode() {
938
+ return this.nativeElement ? this.nativeElement.resizeMode : undefined;
939
+ }
940
+ set resizeMode(value) {
941
+ if (this.nativeElement) {
942
+ this.nativeElement.resizeMode = value;
943
+ }
944
+ }
945
+ /** Determines what will be displayed in the input.
946
+ * Property type: SelectionDisplayMode | string
947
+ */
948
+ get selectionDisplayMode() {
949
+ return this.nativeElement ? this.nativeElement.selectionDisplayMode : undefined;
950
+ }
951
+ set selectionDisplayMode(value) {
952
+ if (this.nativeElement) {
953
+ this.nativeElement.selectionDisplayMode = value;
954
+ }
955
+ }
956
+ /** Sets or gets the selected indexes. Selected indexes represents an array of the indexes of the items that should be selected.
957
+ * Property type: number[]
958
+ */
959
+ get selectedIndexes() {
960
+ return this.nativeElement ? this.nativeElement.selectedIndexes : undefined;
961
+ }
962
+ set selectedIndexes(value) {
963
+ if (this.nativeElement) {
964
+ this.nativeElement.selectedIndexes = value;
965
+ }
966
+ }
967
+ /** Sets or gets elected indexes. Selected values represents the values of the items that should be selected.
968
+ * Property type: string[]
969
+ */
970
+ get selectedValues() {
971
+ return this.nativeElement ? this.nativeElement.selectedValues : undefined;
972
+ }
973
+ set selectedValues(value) {
974
+ if (this.nativeElement) {
975
+ this.nativeElement.selectedValues = value;
976
+ }
977
+ }
978
+ /** Determines how many items can be selected.
979
+ * Property type: ListSelectionMode | string
980
+ */
981
+ get selectionMode() {
982
+ return this.nativeElement ? this.nativeElement.selectionMode : undefined;
983
+ }
984
+ set selectionMode(value) {
985
+ if (this.nativeElement) {
986
+ this.nativeElement.selectionMode = value;
987
+ }
988
+ }
989
+ /** Determines whether the items are sorted alphabetically or not
990
+ * Property type: boolean
991
+ */
992
+ get sorted() {
993
+ return this.nativeElement ? this.nativeElement.sorted : undefined;
994
+ }
995
+ set sorted(value) {
996
+ if (this.nativeElement) {
997
+ this.nativeElement.sorted = value;
998
+ }
999
+ }
1000
+ /** Determines sorting direction - ascending(asc) or descending(desc)
1001
+ * Property type: string
1002
+ */
1003
+ get sortDirection() {
1004
+ return this.nativeElement ? this.nativeElement.sortDirection : undefined;
1005
+ }
1006
+ set sortDirection(value) {
1007
+ if (this.nativeElement) {
1008
+ this.nativeElement.sortDirection = value;
1009
+ }
1010
+ }
1011
+ /** Determines the theme for the element. Themes define the look of the elements.
1012
+ * Property type: string
1013
+ */
1014
+ get theme() {
1015
+ return this.nativeElement ? this.nativeElement.theme : undefined;
1016
+ }
1017
+ set theme(value) {
1018
+ if (this.nativeElement) {
1019
+ this.nativeElement.theme = value;
1020
+ }
1021
+ }
1022
+ /** Sets a custom content for the tokens when selectionDisplayMode is set to 'tokens'. Tokens are used only for multiple selection.
1023
+ * Property type: any
1024
+ */
1025
+ get tokenTemplate() {
1026
+ return this.nativeElement ? this.nativeElement.tokenTemplate : undefined;
1027
+ }
1028
+ set tokenTemplate(value) {
1029
+ if (this.nativeElement) {
1030
+ this.nativeElement.tokenTemplate = value;
1031
+ }
1032
+ }
1033
+ /** If is set to true, the element cannot be focused.
1034
+ * Property type: boolean
1035
+ */
1036
+ get unfocusable() {
1037
+ return this.nativeElement ? this.nativeElement.unfocusable : undefined;
1038
+ }
1039
+ set unfocusable(value) {
1040
+ if (this.nativeElement) {
1041
+ this.nativeElement.unfocusable = value;
1042
+ }
1043
+ }
1044
+ /** Sets or gets the value.
1045
+ * Property type: string
1046
+ */
1047
+ get value() {
1048
+ return this.nativeElement ? this.nativeElement.value : undefined;
1049
+ }
1050
+ set value(value) {
1051
+ if (this.nativeElement) {
1052
+ this.nativeElement.value = value;
1053
+ }
1054
+ }
1055
+ /** Determines the value member of an item. Stored as value in the item object. Similar to groupMember, valueMember is especially usefull when using data from a JSON file as a dataSource for the ListBox and there's a specific property that should be used for the value the items.
1056
+ * Property type: string
1057
+ */
1058
+ get valueMember() {
1059
+ return this.nativeElement ? this.nativeElement.valueMember : undefined;
1060
+ }
1061
+ set valueMember(value) {
1062
+ if (this.nativeElement) {
1063
+ this.nativeElement.valueMember = value;
1064
+ }
1065
+ }
1066
+ /** Determines the visibility of the vertical scroll bar.
1067
+ * Property type: VerticalScrollBarVisibility | string
1068
+ */
1069
+ get verticalScrollBarVisibility() {
1070
+ return this.nativeElement ? this.nativeElement.verticalScrollBarVisibility : undefined;
1071
+ }
1072
+ set verticalScrollBarVisibility(value) {
1073
+ if (this.nativeElement) {
1074
+ this.nativeElement.verticalScrollBarVisibility = value;
1075
+ }
1076
+ }
1077
+ /** Determines weather or not Virtualization is used for the Combo box. Virtualization allows a huge amount of items to be loaded to the List box while preserving the performance. For example a milion items can be loaded to the list box.
1078
+ * Property type: boolean
1079
+ */
1080
+ get virtualized() {
1081
+ return this.nativeElement ? this.nativeElement.virtualized : undefined;
1082
+ }
1083
+ set virtualized(value) {
1084
+ if (this.nativeElement) {
1085
+ this.nativeElement.virtualized = value;
1086
+ }
1087
+ }
1088
+ // Gets the properties of the React component.
1089
+ get properties() {
1090
+ return ["autoCloseDelay", "autoComplete", "autoCompleteDelay", "autoOpenShortcutKey", "dataSource", "disabled", "displayLoadingIndicator", "displayMember", "dropDownAppendTo", "dropDownButtonPosition", "dropDownHeight", "dropDownMaxHeight", "dropDownMaxWidth", "dropDownMinHeight", "dropDownMinWidth", "dropDownOpenMode", "dropDownOverlay", "dropDownPlaceholder", "dropDownPosition", "dropDownWidth", "escKeyMode", "filterable", "filterInputPlaceholder", "filterMode", "grouped", "groupMember", "hint", "horizontalScrollBarVisibility", "inputMember", "inputPurpose", "incrementalSearchDelay", "incrementalSearchMode", "itemHeight", "itemMeasureMode", "items", "itemTemplate", "label", "loadingIndicatorPlaceholder", "loadingIndicatorPosition", "locale", "localizeFormatFunction", "messages", "minLength", "maxLength", "name", "opened", "placeholder", "readonly", "rightToLeft", "resizeIndicator", "resizeMode", "selectionDisplayMode", "selectedIndexes", "selectedValues", "selectionMode", "sorted", "sortDirection", "theme", "tokenTemplate", "unfocusable", "value", "valueMember", "verticalScrollBarVisibility", "virtualized"];
1091
+ }
1092
+ // Gets the events of the React component.
1093
+ get eventListeners() {
1094
+ return ["onChange", "onClose", "onClosing", "onItemClick", "onOpen", "onOpening", "onResizeStart", "onResizeEnd", "onScrollBottomReached", "onScrollTopReached", "onTokenClick", "onCreate", "onReady"];
1095
+ }
1096
+ /** Appends a ListItem to the end of the list of items inside element.
1097
+ * @param {Node} node. A ListItem element that should be added to the rest of the items as the last item.
1098
+ * @returns {Node}
1099
+ */
1100
+ appendChild(node) {
1101
+ const result = this.nativeElement.appendChild(node);
1102
+ return result;
1103
+ }
1104
+ /** Removes all items from the drop down list.
1105
+ */
1106
+ clearItems() {
1107
+ if (this.nativeElement.isRendered) {
1108
+ this.nativeElement.clearItems();
1109
+ }
1110
+ else {
1111
+ this.nativeElement.whenRendered(() => {
1112
+ this.nativeElement.clearItems();
1113
+ });
1114
+ }
1115
+ }
1116
+ /** Unselects all items.
1117
+ */
1118
+ clearSelection() {
1119
+ if (this.nativeElement.isRendered) {
1120
+ this.nativeElement.clearSelection();
1121
+ }
1122
+ else {
1123
+ this.nativeElement.whenRendered(() => {
1124
+ this.nativeElement.clearSelection();
1125
+ });
1126
+ }
1127
+ }
1128
+ /** Closes the dropDown list.
1129
+ */
1130
+ close() {
1131
+ if (this.nativeElement.isRendered) {
1132
+ this.nativeElement.close();
1133
+ }
1134
+ else {
1135
+ this.nativeElement.whenRendered(() => {
1136
+ this.nativeElement.close();
1137
+ });
1138
+ }
1139
+ }
1140
+ /** Ensures the desired item is visible by scrolling to it.
1141
+ * @param {HTMLElement | string} item. A list item or value of the desired item to be visible.
1142
+ */
1143
+ ensureVisible(item) {
1144
+ if (this.nativeElement.isRendered) {
1145
+ this.nativeElement.ensureVisible(item);
1146
+ }
1147
+ else {
1148
+ this.nativeElement.whenRendered(() => {
1149
+ this.nativeElement.ensureVisible(item);
1150
+ });
1151
+ }
1152
+ }
1153
+ /** Returns an item instance from the dropDown list.
1154
+ * @param {string} value. The value of an item from the drop down list.
1155
+ * @returns {HTMLElement}
1156
+ */
1157
+ getItem(value) {
1158
+ const result = this.nativeElement.getItem(value);
1159
+ return result;
1160
+ }
1161
+ /** Inserts a new item at a specified position.
1162
+ * @param {number} position. The position where the item must be inserted.
1163
+ * @param {any} item. Describes the properties of the item that will be inserted.
1164
+ */
1165
+ insert(position, item) {
1166
+ if (this.nativeElement.isRendered) {
1167
+ this.nativeElement.insert(position, item);
1168
+ }
1169
+ else {
1170
+ this.nativeElement.whenRendered(() => {
1171
+ this.nativeElement.insert(position, item);
1172
+ });
1173
+ }
1174
+ }
1175
+ /** Inserts a new ListItem before another in the list.
1176
+ * @param {Node} node. A ListItem element that should be added before the referenceItem in the list.
1177
+ * @param {Node | null} referenceNode. A ListItem element that acts as the reference item before which a new item is about to be inserted. The referenceNode must be in the same list as the node.
1178
+ * @returns {Node}
1179
+ */
1180
+ insertBefore(node, referenceNode) {
1181
+ const result = this.nativeElement.insertBefore(node, referenceNode);
1182
+ return result;
1183
+ }
1184
+ /** Opens the dropDown list.
1185
+ */
1186
+ open() {
1187
+ if (this.nativeElement.isRendered) {
1188
+ this.nativeElement.open();
1189
+ }
1190
+ else {
1191
+ this.nativeElement.whenRendered(() => {
1192
+ this.nativeElement.open();
1193
+ });
1194
+ }
1195
+ }
1196
+ /** Removes an item at a specified position.
1197
+ * @param {number} position. The position of the removed item.
1198
+ */
1199
+ removeAt(position) {
1200
+ if (this.nativeElement.isRendered) {
1201
+ this.nativeElement.removeAt(position);
1202
+ }
1203
+ else {
1204
+ this.nativeElement.whenRendered(() => {
1205
+ this.nativeElement.removeAt(position);
1206
+ });
1207
+ }
1208
+ }
1209
+ /** Removes a ListItem from the list of items inside element.
1210
+ * @param {Node} node. A ListItem element that is part of the list of items inside the element.
1211
+ * @returns {Node}
1212
+ */
1213
+ removeChild(node) {
1214
+ const result = this.nativeElement.removeChild(node);
1215
+ return result;
1216
+ }
1217
+ /** Selects an item from the dropDown list.
1218
+ * @param {string | HTMLElement} item. A string, representing the value of the item or an HTML Element referencing an item from the list
1219
+ */
1220
+ select(item) {
1221
+ if (this.nativeElement.isRendered) {
1222
+ this.nativeElement.select(item);
1223
+ }
1224
+ else {
1225
+ this.nativeElement.whenRendered(() => {
1226
+ this.nativeElement.select(item);
1227
+ });
1228
+ }
1229
+ }
1230
+ /** Unselects an item from the dropDown list.
1231
+ * @param {string | HTMLElement} item. A string, representing the value of the item or an HTML Element referencing an item from the list
1232
+ */
1233
+ unselect(item) {
1234
+ if (this.nativeElement.isRendered) {
1235
+ this.nativeElement.unselect(item);
1236
+ }
1237
+ else {
1238
+ this.nativeElement.whenRendered(() => {
1239
+ this.nativeElement.unselect(item);
1240
+ });
1241
+ }
1242
+ }
1243
+ /** Updates an item from the dropDown list.
1244
+ * @param {number} position. The position where the item must be updated.
1245
+ * @param {any} value. The value of the updated item.
1246
+ */
1247
+ update(position, value) {
1248
+ if (this.nativeElement.isRendered) {
1249
+ this.nativeElement.update(position, value);
1250
+ }
1251
+ else {
1252
+ this.nativeElement.whenRendered(() => {
1253
+ this.nativeElement.update(position, value);
1254
+ });
1255
+ }
1256
+ }
1257
+ componentDidRender(initialize) {
1258
+ const that = this;
1259
+ const props = {};
1260
+ const events = {};
1261
+ let styles = null;
1262
+ for (let prop in that.props) {
1263
+ if (prop === 'children') {
1264
+ continue;
1265
+ }
1266
+ if (prop === 'style') {
1267
+ styles = that.props[prop];
1268
+ continue;
1269
+ }
1270
+ if (prop.startsWith('on') && that.properties.indexOf(prop) === -1) {
1271
+ events[prop] = that.props[prop];
1272
+ continue;
1273
+ }
1274
+ props[prop] = that.props[prop];
1275
+ }
1276
+ if (initialize) {
1277
+ that.nativeElement = this.componentRef.current;
1278
+ }
1279
+ for (let prop in props) {
1280
+ if (prop === 'class' || prop === 'className') {
1281
+ const classNames = props[prop].trim().split(' ');
1282
+ for (let className in classNames) {
1283
+ if (!that.nativeElement.classList.contains(classNames[className]) && classNames[className] !== "") {
1284
+ that.nativeElement.classList.add(classNames[className]);
1285
+ }
1286
+ }
1287
+ continue;
1288
+ }
1289
+ if (props[prop] !== that.nativeElement[prop]) {
1290
+ const normalizeProp = (str) => {
1291
+ return str.replace(/-([a-z])/g, function (g) {
1292
+ return g[1].toUpperCase();
1293
+ });
1294
+ };
1295
+ if (prop === 'hover' || prop === 'active' || prop === 'focus' || prop === 'selected') {
1296
+ that.nativeElement.setAttribute(prop, '');
1297
+ }
1298
+ const normalizedProp = normalizeProp(prop);
1299
+ that.nativeElement[normalizedProp] = props[prop];
1300
+ }
1301
+ }
1302
+ for (let eventName in events) {
1303
+ that[eventName] = events[eventName];
1304
+ that.nativeElement[eventName.toLowerCase()] = events[eventName];
1305
+ }
1306
+ if (initialize) {
1307
+ Smart$2.Render();
1308
+ if (that.onCreate) {
1309
+ that.onCreate();
1310
+ }
1311
+ that.nativeElement.whenRendered(() => {
1312
+ if (that.onReady) {
1313
+ that.onReady();
1314
+ }
1315
+ });
1316
+ }
1317
+ // setup styles.
1318
+ if (styles) {
1319
+ for (let styleName in styles) {
1320
+ that.nativeElement.style[styleName] = styles[styleName];
1321
+ }
1322
+ }
1323
+ }
1324
+ componentDidMount() {
1325
+ this.componentDidRender(true);
1326
+ }
1327
+ componentDidUpdate() {
1328
+ this.componentDidRender(false);
1329
+ }
1330
+ componentWillUnmount() {
1331
+ const that = this;
1332
+ if (!that.nativeElement) {
1333
+ return;
1334
+ }
1335
+ that.nativeElement.whenRenderedCallbacks = [];
1336
+ for (let i = 0; i < that.eventListeners.length; i++) {
1337
+ const eventName = that.eventListeners[i];
1338
+ that.nativeElement.removeEventListener(eventName.substring(2).toLowerCase(), that[eventName]);
1339
+ }
1340
+ }
1341
+ render() {
1342
+ return (React.createElement("smart-combo-box", { ref: this.componentRef }, this.props.children));
1343
+ }
1344
+ }
392
1345
 
393
- const Smart$2 = window.Smart;
394
- /**
395
- ComboBox is the alternate for the HTML select tag with editable option. It supports data binding, auto-complete, filtering, grouping, cascading and more.
396
- */
397
- class ComboBox extends React.Component {
398
- constructor(props) {
399
- super(props);
400
- this.componentRef = React.createRef();
401
- }
402
- // Gets the id of the React component.
403
- get id() {
404
- if (!this._id) {
405
- this._id = 'ComboBox' + Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);
406
- }
407
- return this._id;
408
- }
409
- /** Used only when dropDownOpenMode is set to 'auto'. Determines the delay before the opened drop down closes if the pointer is not over the element.
410
- * Property type: number
411
- */
412
- get autoCloseDelay() {
413
- return this.nativeElement ? this.nativeElement.autoCloseDelay : undefined;
414
- }
415
- set autoCloseDelay(value) {
416
- if (this.nativeElement) {
417
- this.nativeElement.autoCloseDelay = value;
418
- }
419
- }
420
- /** Determines the autocomplete mode. Auto complete modes filter the items from the dataSource and show only those that match the input.
421
- * Property type: AutoComplete | string
422
- */
423
- get autoComplete() {
424
- return this.nativeElement ? this.nativeElement.autoComplete : undefined;
425
- }
426
- set autoComplete(value) {
427
- if (this.nativeElement) {
428
- this.nativeElement.autoComplete = value;
429
- }
430
- }
431
- /** Determines the delay before the drop down opens to show the matches from the auto complete operation. The delay is measured in miliseconds.
432
- * Property type: number
433
- */
434
- get autoCompleteDelay() {
435
- return this.nativeElement ? this.nativeElement.autoCompleteDelay : undefined;
436
- }
437
- set autoCompleteDelay(value) {
438
- if (this.nativeElement) {
439
- this.nativeElement.autoCompleteDelay = value;
440
- }
441
- }
442
- /** Allows the user to define a custom key name ( or multiple key names) to open that popup with.
443
- * Property type: string[]
444
- */
445
- get autoOpenShortcutKey() {
446
- return this.nativeElement ? this.nativeElement.autoOpenShortcutKey : undefined;
447
- }
448
- set autoOpenShortcutKey(value) {
449
- if (this.nativeElement) {
450
- this.nativeElement.autoOpenShortcutKey = value;
451
- }
452
- }
453
- /** Determines the data source that will be loaded to the ComboBox. 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, group. It can also be a callback that returns an Array of items as previously described.
454
- * Property type: any
455
- */
456
- get dataSource() {
457
- return this.nativeElement ? this.nativeElement.dataSource : undefined;
458
- }
459
- set dataSource(value) {
460
- if (this.nativeElement) {
461
- this.nativeElement.dataSource = value;
462
- }
463
- }
464
- /** Enables or disables the combo box.
465
- * Property type: boolean
466
- */
467
- get disabled() {
468
- return this.nativeElement ? this.nativeElement.disabled : undefined;
469
- }
470
- set disabled(value) {
471
- if (this.nativeElement) {
472
- this.nativeElement.disabled = value;
473
- }
474
- }
475
- /** Determines whether an indicator will appear during filtering and remote item loading.
476
- * Property type: boolean
477
- */
478
- get displayLoadingIndicator() {
479
- return this.nativeElement ? this.nativeElement.displayLoadingIndicator : undefined;
480
- }
481
- set displayLoadingIndicator(value) {
482
- if (this.nativeElement) {
483
- this.nativeElement.displayLoadingIndicator = value;
484
- }
485
- }
486
- /** Sets or gets the displayMember. The displayMember specifies the name of a property to display. The name is contained in the collection specified by the 'dataSource' property.
487
- * Property type: string
488
- */
489
- get displayMember() {
490
- return this.nativeElement ? this.nativeElement.displayMember : undefined;
491
- }
492
- set displayMember(value) {
493
- if (this.nativeElement) {
494
- this.nativeElement.displayMember = value;
495
- }
496
- }
497
- /** Determines the drop down parent. The expected value is CSS Selector, ID or 'body'. The drop down can be removed from the body of the element and continue to work in another container. This is usefull when one of the parents of the element doesn't allow overflowing, by settings this property to 'body' the drop down will be appended to the DOM and the popup will open/close as usual. dropDownAppendTo can be a string representing the id of an HTML element on the page or a direct reference to that element. Reseting it back to null will take the drop down back to it's original place.
498
- * Property type: string
499
- */
500
- get dropDownAppendTo() {
501
- return this.nativeElement ? this.nativeElement.dropDownAppendTo : undefined;
502
- }
503
- set dropDownAppendTo(value) {
504
- if (this.nativeElement) {
505
- this.nativeElement.dropDownAppendTo = value;
506
- }
507
- }
508
- /** Determines the position of the drop down button.
509
- * Property type: DropDownButtonPosition | string
510
- */
511
- get dropDownButtonPosition() {
512
- return this.nativeElement ? this.nativeElement.dropDownButtonPosition : undefined;
513
- }
514
- set dropDownButtonPosition(value) {
515
- if (this.nativeElement) {
516
- this.nativeElement.dropDownButtonPosition = value;
517
- }
518
- }
519
- /** 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.
520
- * Property type: string | number
521
- */
522
- get dropDownHeight() {
523
- return this.nativeElement ? this.nativeElement.dropDownHeight : undefined;
524
- }
525
- set dropDownHeight(value) {
526
- if (this.nativeElement) {
527
- this.nativeElement.dropDownHeight = value;
528
- }
529
- }
530
- /** Sets the maximum Height of the drop down. By default it's set to an empty string. In this case the maxHeight of the drop down is controlled by a CSS variable.
531
- * Property type: string | number
532
- */
533
- get dropDownMaxHeight() {
534
- return this.nativeElement ? this.nativeElement.dropDownMaxHeight : undefined;
535
- }
536
- set dropDownMaxHeight(value) {
537
- if (this.nativeElement) {
538
- this.nativeElement.dropDownMaxHeight = value;
539
- }
540
- }
541
- /** Sets the maximum Width of the drop down. By default it's set to an empty string. In this case the maxWidth of the drop down is controlled by a CSS variable.
542
- * Property type: string | number
543
- */
544
- get dropDownMaxWidth() {
545
- return this.nativeElement ? this.nativeElement.dropDownMaxWidth : undefined;
546
- }
547
- set dropDownMaxWidth(value) {
548
- if (this.nativeElement) {
549
- this.nativeElement.dropDownMaxWidth = value;
550
- }
551
- }
552
- /** Sets the minimum Height of the drop down. By default it's set to an empty string. In this case the minHeight of the drop down is controlled by a CSS variable.
553
- * Property type: string | number
554
- */
555
- get dropDownMinHeight() {
556
- return this.nativeElement ? this.nativeElement.dropDownMinHeight : undefined;
557
- }
558
- set dropDownMinHeight(value) {
559
- if (this.nativeElement) {
560
- this.nativeElement.dropDownMinHeight = value;
561
- }
562
- }
563
- /** Sets the minimum Width of the drop down. By default it's set to an empty string. In this case the minWidth of the drop down is controlled by a CSS variable.
564
- * Property type: string | number
565
- */
566
- get dropDownMinWidth() {
567
- return this.nativeElement ? this.nativeElement.dropDownMinWidth : undefined;
568
- }
569
- set dropDownMinWidth(value) {
570
- if (this.nativeElement) {
571
- this.nativeElement.dropDownMinWidth = value;
572
- }
573
- }
574
- /** Determines how the drop down is going to open.
575
- * Property type: DropDownOpenMode | string
576
- */
577
- get dropDownOpenMode() {
578
- return this.nativeElement ? this.nativeElement.dropDownOpenMode : undefined;
579
- }
580
- set dropDownOpenMode(value) {
581
- if (this.nativeElement) {
582
- this.nativeElement.dropDownOpenMode = value;
583
- }
584
- }
585
- /** If this property is enabled, when the element's dropdown is opened, a transparent overlay is positioned between the dropdown and the rest of the document. The purpose of the overlay is to make sure that clicking anywhere outside the popup will will target the overlay and not the DOM.
586
- * Property type: boolean
587
- */
588
- get dropDownOverlay() {
589
- return this.nativeElement ? this.nativeElement.dropDownOverlay : undefined;
590
- }
591
- set dropDownOverlay(value) {
592
- if (this.nativeElement) {
593
- this.nativeElement.dropDownOverlay = value;
594
- }
595
- }
596
- /** Determines the placeholder for the drop down, displayed when there are no items in it.
597
- * Property type: string
598
- */
599
- get dropDownPlaceholder() {
600
- return this.nativeElement ? this.nativeElement.dropDownPlaceholder : undefined;
601
- }
602
- set dropDownPlaceholder(value) {
603
- if (this.nativeElement) {
604
- this.nativeElement.dropDownPlaceholder = value;
605
- }
606
- }
607
- /** Determines the position of the drop down when opened.
608
- * Property type: DropDownPosition | string
609
- */
610
- get dropDownPosition() {
611
- return this.nativeElement ? this.nativeElement.dropDownPosition : undefined;
612
- }
613
- set dropDownPosition(value) {
614
- if (this.nativeElement) {
615
- this.nativeElement.dropDownPosition = value;
616
- }
617
- }
618
- /** 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.
619
- * Property type: string | number
620
- */
621
- get dropDownWidth() {
622
- return this.nativeElement ? this.nativeElement.dropDownWidth : undefined;
623
- }
624
- set dropDownWidth(value) {
625
- if (this.nativeElement) {
626
- this.nativeElement.dropDownWidth = value;
627
- }
628
- }
629
- /** Determines the behavior of the element when Escape key is pressed.
630
- * Property type: ComboBoxEscKeyMode | string
631
- */
632
- get escKeyMode() {
633
- return this.nativeElement ? this.nativeElement.escKeyMode : undefined;
634
- }
635
- set escKeyMode(value) {
636
- if (this.nativeElement) {
637
- this.nativeElement.escKeyMode = value;
638
- }
639
- }
640
- /** Determines whether filtering is enabled.
641
- * Property type: boolean
642
- */
643
- get filterable() {
644
- return this.nativeElement ? this.nativeElement.filterable : undefined;
645
- }
646
- set filterable(value) {
647
- if (this.nativeElement) {
648
- this.nativeElement.filterable = value;
649
- }
650
- }
651
- /** Determines the placeholder for the drop down list filter input field.
652
- * Property type: string
653
- */
654
- get filterInputPlaceholder() {
655
- return this.nativeElement ? this.nativeElement.filterInputPlaceholder : undefined;
656
- }
657
- set filterInputPlaceholder(value) {
658
- if (this.nativeElement) {
659
- this.nativeElement.filterInputPlaceholder = value;
660
- }
661
- }
662
- /** Determines the filtering mode of the Combo box.
663
- * Property type: FilterMode | string
664
- */
665
- get filterMode() {
666
- return this.nativeElement ? this.nativeElement.filterMode : undefined;
667
- }
668
- set filterMode(value) {
669
- if (this.nativeElement) {
670
- this.nativeElement.filterMode = value;
671
- }
672
- }
673
- /** If enabled, the items will be grouped by their first letter. Can't be applied if the dataSource already contains groups.
674
- * Property type: boolean
675
- */
676
- get grouped() {
677
- return this.nativeElement ? this.nativeElement.grouped : undefined;
678
- }
679
- set grouped(value) {
680
- if (this.nativeElement) {
681
- this.nativeElement.grouped = value;
682
- }
683
- }
684
- /** Determines which attribute from the dataSource object will be used as the group member for the items. If not set, by default 'group' property is used from the source object. groupMember is especially usefull when loading the data from a JSON file as a dataSource for the ListBox and there's a specific property that should be used to group the items.
685
- * Property type: string
686
- */
687
- get groupMember() {
688
- return this.nativeElement ? this.nativeElement.groupMember : undefined;
689
- }
690
- set groupMember(value) {
691
- if (this.nativeElement) {
692
- this.nativeElement.groupMember = value;
693
- }
694
- }
695
- /** Sets additional helper text below the element. The hint is visible only when the element is focused.
696
- * Property type: string
697
- */
698
- get hint() {
699
- return this.nativeElement ? this.nativeElement.hint : undefined;
700
- }
701
- set hint(value) {
702
- if (this.nativeElement) {
703
- this.nativeElement.hint = value;
704
- }
705
- }
706
- /** Determines the visibility of the horizontal Scroll bar inside the drop down.
707
- * Property type: HorizontalScrollBarVisibility | string
708
- */
709
- get horizontalScrollBarVisibility() {
710
- return this.nativeElement ? this.nativeElement.horizontalScrollBarVisibility : undefined;
711
- }
712
- set horizontalScrollBarVisibility(value) {
713
- if (this.nativeElement) {
714
- this.nativeElement.horizontalScrollBarVisibility = value;
715
- }
716
- }
717
- /** Represents the property name of a List item. Determines the value of the input when a ListItem is selected. Usefull in cases where the user wants to display for example the value of an item instead of it's label. By default the label is displayed in the input.
718
- * Property type: string
719
- */
720
- get inputMember() {
721
- return this.nativeElement ? this.nativeElement.inputMember : undefined;
722
- }
723
- set inputMember(value) {
724
- if (this.nativeElement) {
725
- this.nativeElement.inputMember = value;
726
- }
727
- }
728
- /** 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.
729
- * Property type: string
730
- */
731
- get inputPurpose() {
732
- return this.nativeElement ? this.nativeElement.inputPurpose : undefined;
733
- }
734
- set inputPurpose(value) {
735
- if (this.nativeElement) {
736
- this.nativeElement.inputPurpose = value;
737
- }
738
- }
739
- /** IncrementalSearchDelay property specifies the time-interval in milliseconds until the previous search query is cleared. The timer starts when the user stops typing. A new query can be started only when the delay has passed.
740
- * Property type: number
741
- */
742
- get incrementalSearchDelay() {
743
- return this.nativeElement ? this.nativeElement.incrementalSearchDelay : undefined;
744
- }
745
- set incrementalSearchDelay(value) {
746
- if (this.nativeElement) {
747
- this.nativeElement.incrementalSearchDelay = value;
748
- }
749
- }
750
- /** Sets ot gets the mode of the incremental search mode. Incremental search is enabled by default. Typing while the drop down is focused starts the incremental search.
751
- * Property type: SearchMode | string
752
- */
753
- get incrementalSearchMode() {
754
- return this.nativeElement ? this.nativeElement.incrementalSearchMode : undefined;
755
- }
756
- set incrementalSearchMode(value) {
757
- if (this.nativeElement) {
758
- this.nativeElement.incrementalSearchMode = value;
759
- }
760
- }
761
- /** Sets the height for all list items. Used only when virtualization is enabled.
762
- * Property type: number
763
- */
764
- get itemHeight() {
765
- return this.nativeElement ? this.nativeElement.itemHeight : undefined;
766
- }
767
- set itemHeight(value) {
768
- if (this.nativeElement) {
769
- this.nativeElement.itemHeight = value;
770
- }
771
- }
772
- /** Determines the item width measuring algorithm.
773
- * Property type: ListItemMeasureMode | string
774
- */
775
- get itemMeasureMode() {
776
- return this.nativeElement ? this.nativeElement.itemMeasureMode : undefined;
777
- }
778
- set itemMeasureMode(value) {
779
- if (this.nativeElement) {
780
- this.nativeElement.itemMeasureMode = value;
781
- }
782
- }
783
- /** A getter that returns an array of all List items inside the drop down.
784
- * Property type: {label: string, value: string}[]
785
- */
786
- get items() {
787
- return this.nativeElement ? this.nativeElement.items : undefined;
788
- }
789
- set items(value) {
790
- if (this.nativeElement) {
791
- this.nativeElement.items = value;
792
- }
793
- }
794
- /** The itemTemplate property is a string that represents the id of an HTMLTemplateElement in the DOM. It's used to set a customize the content of the list items.
795
- * Property type: any
796
- */
797
- get itemTemplate() {
798
- return this.nativeElement ? this.nativeElement.itemTemplate : undefined;
799
- }
800
- set itemTemplate(value) {
801
- if (this.nativeElement) {
802
- this.nativeElement.itemTemplate = value;
803
- }
804
- }
805
- /** Sets a little text label above the element.
806
- * Property type: string
807
- */
808
- get label() {
809
- return this.nativeElement ? this.nativeElement.label : undefined;
810
- }
811
- set label(value) {
812
- if (this.nativeElement) {
813
- this.nativeElement.label = value;
814
- }
815
- }
816
- /** Determines the text that will be displayed next to the loading indicator when the loader is visible and it's position is top or bottom.
817
- * Property type: string
818
- */
819
- get loadingIndicatorPlaceholder() {
820
- return this.nativeElement ? this.nativeElement.loadingIndicatorPlaceholder : undefined;
821
- }
822
- set loadingIndicatorPlaceholder(value) {
823
- if (this.nativeElement) {
824
- this.nativeElement.loadingIndicatorPlaceholder = value;
825
- }
826
- }
827
- /** Determines the position of the loading indicator.
828
- * Property type: VerticalAlignment | string
829
- */
830
- get loadingIndicatorPosition() {
831
- return this.nativeElement ? this.nativeElement.loadingIndicatorPosition : undefined;
832
- }
833
- set loadingIndicatorPosition(value) {
834
- if (this.nativeElement) {
835
- this.nativeElement.loadingIndicatorPosition = value;
836
- }
837
- }
838
- /** Sets or gets the language. Used in conjunction with the property messages.
839
- * Property type: string
840
- */
841
- get locale() {
842
- return this.nativeElement ? this.nativeElement.locale : undefined;
843
- }
844
- set locale(value) {
845
- if (this.nativeElement) {
846
- this.nativeElement.locale = value;
847
- }
848
- }
849
- /** Callback used to customize the format of the messages that are returned from the Localization Module.
850
- * Property type: any
851
- */
852
- get localizeFormatFunction() {
853
- return this.nativeElement ? this.nativeElement.localizeFormatFunction : undefined;
854
- }
855
- set localizeFormatFunction(value) {
856
- if (this.nativeElement) {
857
- this.nativeElement.localizeFormatFunction = value;
858
- }
859
- }
860
- /** Sets or gets an object specifying strings used in the widget that can be localized. Used in conjunction with the property locale.
861
- * Property type: any
862
- */
863
- get messages() {
864
- return this.nativeElement ? this.nativeElement.messages : undefined;
865
- }
866
- set messages(value) {
867
- if (this.nativeElement) {
868
- this.nativeElement.messages = value;
869
- }
870
- }
871
- /** Determines the minimum number of characters inside the input in order to trigger the autocomplete functionality
872
- * Property type: number
873
- */
874
- get minLength() {
875
- return this.nativeElement ? this.nativeElement.minLength : undefined;
876
- }
877
- set minLength(value) {
878
- if (this.nativeElement) {
879
- this.nativeElement.minLength = value;
880
- }
881
- }
882
- /** Determines the maximum number of characters inside the input.
883
- * Property type: number
884
- */
885
- get maxLength() {
886
- return this.nativeElement ? this.nativeElement.maxLength : undefined;
887
- }
888
- set maxLength(value) {
889
- if (this.nativeElement) {
890
- this.nativeElement.maxLength = value;
891
- }
892
- }
893
- /** Sets or gets the name attribute for the element. Name is used when submiting HTML forms.
894
- * Property type: string
895
- */
896
- get name() {
897
- return this.nativeElement ? this.nativeElement.name : undefined;
898
- }
899
- set name(value) {
900
- if (this.nativeElement) {
901
- this.nativeElement.name = value;
902
- }
903
- }
904
- /** Determines whether the popup is opened or closed
905
- * Property type: boolean
906
- */
907
- get opened() {
908
- return this.nativeElement ? this.nativeElement.opened : undefined;
909
- }
910
- set opened(value) {
911
- if (this.nativeElement) {
912
- this.nativeElement.opened = value;
913
- }
914
- }
915
- /** Determines the input's placeholder.
916
- * Property type: string
917
- */
918
- get placeholder() {
919
- return this.nativeElement ? this.nativeElement.placeholder : undefined;
920
- }
921
- set placeholder(value) {
922
- if (this.nativeElement) {
923
- this.nativeElement.placeholder = value;
924
- }
925
- }
926
- /** Disables user interaction with the element.
927
- * Property type: boolean
928
- */
929
- get readonly() {
930
- return this.nativeElement ? this.nativeElement.readonly : undefined;
931
- }
932
- set readonly(value) {
933
- if (this.nativeElement) {
934
- this.nativeElement.readonly = value;
935
- }
936
- }
937
- /** Sets or gets the value indicating whether the element is aligned to support locales using right-to-left fonts.
938
- * Property type: boolean
939
- */
940
- get rightToLeft() {
941
- return this.nativeElement ? this.nativeElement.rightToLeft : undefined;
942
- }
943
- set rightToLeft(value) {
944
- if (this.nativeElement) {
945
- this.nativeElement.rightToLeft = value;
946
- }
947
- }
948
- /** Determines whether the resize indicator in the bottom right corner of the drop down is visible or not. This property is used in conjunction with resizeMode.
949
- * Property type: boolean
950
- */
951
- get resizeIndicator() {
952
- return this.nativeElement ? this.nativeElement.resizeIndicator : undefined;
953
- }
954
- set resizeIndicator(value) {
955
- if (this.nativeElement) {
956
- this.nativeElement.resizeIndicator = value;
957
- }
958
- }
959
- /** Determines whether the dropDown can be resized or not. When resizing is enabled, a resize bar appears on the top/bottom side of the drop down.
960
- * Property type: ResizeMode | string
961
- */
962
- get resizeMode() {
963
- return this.nativeElement ? this.nativeElement.resizeMode : undefined;
964
- }
965
- set resizeMode(value) {
966
- if (this.nativeElement) {
967
- this.nativeElement.resizeMode = value;
968
- }
969
- }
970
- /** Determines what will be displayed in the input.
971
- * Property type: SelectionDisplayMode | string
972
- */
973
- get selectionDisplayMode() {
974
- return this.nativeElement ? this.nativeElement.selectionDisplayMode : undefined;
975
- }
976
- set selectionDisplayMode(value) {
977
- if (this.nativeElement) {
978
- this.nativeElement.selectionDisplayMode = value;
979
- }
980
- }
981
- /** Sets or gets the selected indexes. Selected indexes represents an array of the indexes of the items that should be selected.
982
- * Property type: number[]
983
- */
984
- get selectedIndexes() {
985
- return this.nativeElement ? this.nativeElement.selectedIndexes : undefined;
986
- }
987
- set selectedIndexes(value) {
988
- if (this.nativeElement) {
989
- this.nativeElement.selectedIndexes = value;
990
- }
991
- }
992
- /** Sets or gets elected indexes. Selected values represents the values of the items that should be selected.
993
- * Property type: string[]
994
- */
995
- get selectedValues() {
996
- return this.nativeElement ? this.nativeElement.selectedValues : undefined;
997
- }
998
- set selectedValues(value) {
999
- if (this.nativeElement) {
1000
- this.nativeElement.selectedValues = value;
1001
- }
1002
- }
1003
- /** Determines how many items can be selected.
1004
- * Property type: ListSelectionMode | string
1005
- */
1006
- get selectionMode() {
1007
- return this.nativeElement ? this.nativeElement.selectionMode : undefined;
1008
- }
1009
- set selectionMode(value) {
1010
- if (this.nativeElement) {
1011
- this.nativeElement.selectionMode = value;
1012
- }
1013
- }
1014
- /** Determines whether the items are sorted alphabetically or not
1015
- * Property type: boolean
1016
- */
1017
- get sorted() {
1018
- return this.nativeElement ? this.nativeElement.sorted : undefined;
1019
- }
1020
- set sorted(value) {
1021
- if (this.nativeElement) {
1022
- this.nativeElement.sorted = value;
1023
- }
1024
- }
1025
- /** Determines sorting direction - ascending(asc) or descending(desc)
1026
- * Property type: string
1027
- */
1028
- get sortDirection() {
1029
- return this.nativeElement ? this.nativeElement.sortDirection : undefined;
1030
- }
1031
- set sortDirection(value) {
1032
- if (this.nativeElement) {
1033
- this.nativeElement.sortDirection = value;
1034
- }
1035
- }
1036
- /** Determines the theme for the element. Themes define the look of the elements.
1037
- * Property type: string
1038
- */
1039
- get theme() {
1040
- return this.nativeElement ? this.nativeElement.theme : undefined;
1041
- }
1042
- set theme(value) {
1043
- if (this.nativeElement) {
1044
- this.nativeElement.theme = value;
1045
- }
1046
- }
1047
- /** Sets a custom content for the tokens when selectionDisplayMode is set to 'tokens'. Tokens are used only for multiple selection.
1048
- * Property type: any
1049
- */
1050
- get tokenTemplate() {
1051
- return this.nativeElement ? this.nativeElement.tokenTemplate : undefined;
1052
- }
1053
- set tokenTemplate(value) {
1054
- if (this.nativeElement) {
1055
- this.nativeElement.tokenTemplate = value;
1056
- }
1057
- }
1058
- /** If is set to true, the element cannot be focused.
1059
- * Property type: boolean
1060
- */
1061
- get unfocusable() {
1062
- return this.nativeElement ? this.nativeElement.unfocusable : undefined;
1063
- }
1064
- set unfocusable(value) {
1065
- if (this.nativeElement) {
1066
- this.nativeElement.unfocusable = value;
1067
- }
1068
- }
1069
- /** Sets or gets the value.
1070
- * Property type: string
1071
- */
1072
- get value() {
1073
- return this.nativeElement ? this.nativeElement.value : undefined;
1074
- }
1075
- set value(value) {
1076
- if (this.nativeElement) {
1077
- this.nativeElement.value = value;
1078
- }
1079
- }
1080
- /** Determines the value member of an item. Stored as value in the item object. Similar to groupMember, valueMember is especially usefull when using data from a JSON file as a dataSource for the ListBox and there's a specific property that should be used for the value the items.
1081
- * Property type: string
1082
- */
1083
- get valueMember() {
1084
- return this.nativeElement ? this.nativeElement.valueMember : undefined;
1085
- }
1086
- set valueMember(value) {
1087
- if (this.nativeElement) {
1088
- this.nativeElement.valueMember = value;
1089
- }
1090
- }
1091
- /** Determines the visibility of the vertical scroll bar.
1092
- * Property type: VerticalScrollBarVisibility | string
1093
- */
1094
- get verticalScrollBarVisibility() {
1095
- return this.nativeElement ? this.nativeElement.verticalScrollBarVisibility : undefined;
1096
- }
1097
- set verticalScrollBarVisibility(value) {
1098
- if (this.nativeElement) {
1099
- this.nativeElement.verticalScrollBarVisibility = value;
1100
- }
1101
- }
1102
- /** Determines weather or not Virtualization is used for the Combo box. Virtualization allows a huge amount of items to be loaded to the List box while preserving the performance. For example a milion items can be loaded to the list box.
1103
- * Property type: boolean
1104
- */
1105
- get virtualized() {
1106
- return this.nativeElement ? this.nativeElement.virtualized : undefined;
1107
- }
1108
- set virtualized(value) {
1109
- if (this.nativeElement) {
1110
- this.nativeElement.virtualized = value;
1111
- }
1112
- }
1113
- // Gets the properties of the React component.
1114
- get properties() {
1115
- return ["autoCloseDelay", "autoComplete", "autoCompleteDelay", "autoOpenShortcutKey", "dataSource", "disabled", "displayLoadingIndicator", "displayMember", "dropDownAppendTo", "dropDownButtonPosition", "dropDownHeight", "dropDownMaxHeight", "dropDownMaxWidth", "dropDownMinHeight", "dropDownMinWidth", "dropDownOpenMode", "dropDownOverlay", "dropDownPlaceholder", "dropDownPosition", "dropDownWidth", "escKeyMode", "filterable", "filterInputPlaceholder", "filterMode", "grouped", "groupMember", "hint", "horizontalScrollBarVisibility", "inputMember", "inputPurpose", "incrementalSearchDelay", "incrementalSearchMode", "itemHeight", "itemMeasureMode", "items", "itemTemplate", "label", "loadingIndicatorPlaceholder", "loadingIndicatorPosition", "locale", "localizeFormatFunction", "messages", "minLength", "maxLength", "name", "opened", "placeholder", "readonly", "rightToLeft", "resizeIndicator", "resizeMode", "selectionDisplayMode", "selectedIndexes", "selectedValues", "selectionMode", "sorted", "sortDirection", "theme", "tokenTemplate", "unfocusable", "value", "valueMember", "verticalScrollBarVisibility", "virtualized"];
1116
- }
1117
- // Gets the events of the React component.
1118
- get eventListeners() {
1119
- return ["onChange", "onClose", "onClosing", "onItemClick", "onOpen", "onOpening", "onResizeStart", "onResizeEnd", "onScrollBottomReached", "onScrollTopReached", "onTokenClick", "onCreate", "onReady"];
1120
- }
1121
- /** Appends a ListItem to the end of the list of items inside element.
1122
- * @param {Node} node. A ListItem element that should be added to the rest of the items as the last item.
1123
- * @returns {Node}
1124
- */
1125
- appendChild(node) {
1126
- return __awaiter(this, void 0, void 0, function* () {
1127
- const getResultOnRender = () => {
1128
- return new Promise(resolve => {
1129
- this.nativeElement.whenRendered(() => {
1130
- const result = this.nativeElement.appendChild(node);
1131
- resolve(result);
1132
- });
1133
- });
1134
- };
1135
- const result = yield getResultOnRender();
1136
- return result;
1137
- });
1138
- }
1139
- /** Removes all items from the drop down list.
1140
- */
1141
- clearItems() {
1142
- if (this.nativeElement.isRendered) {
1143
- this.nativeElement.clearItems();
1144
- }
1145
- else {
1146
- this.nativeElement.whenRendered(() => {
1147
- this.nativeElement.clearItems();
1148
- });
1149
- }
1150
- }
1151
- /** Unselects all items.
1152
- */
1153
- clearSelection() {
1154
- if (this.nativeElement.isRendered) {
1155
- this.nativeElement.clearSelection();
1156
- }
1157
- else {
1158
- this.nativeElement.whenRendered(() => {
1159
- this.nativeElement.clearSelection();
1160
- });
1161
- }
1162
- }
1163
- /** Closes the dropDown list.
1164
- */
1165
- close() {
1166
- if (this.nativeElement.isRendered) {
1167
- this.nativeElement.close();
1168
- }
1169
- else {
1170
- this.nativeElement.whenRendered(() => {
1171
- this.nativeElement.close();
1172
- });
1173
- }
1174
- }
1175
- /** Ensures the desired item is visible by scrolling to it.
1176
- * @param {HTMLElement | string} item. A list item or value of the desired item to be visible.
1177
- */
1178
- ensureVisible(item) {
1179
- if (this.nativeElement.isRendered) {
1180
- this.nativeElement.ensureVisible(item);
1181
- }
1182
- else {
1183
- this.nativeElement.whenRendered(() => {
1184
- this.nativeElement.ensureVisible(item);
1185
- });
1186
- }
1187
- }
1188
- /** Returns an item instance from the dropDown list.
1189
- * @param {string} value. The value of an item from the drop down list.
1190
- * @returns {HTMLElement}
1191
- */
1192
- getItem(value) {
1193
- return __awaiter(this, void 0, void 0, function* () {
1194
- const getResultOnRender = () => {
1195
- return new Promise(resolve => {
1196
- this.nativeElement.whenRendered(() => {
1197
- const result = this.nativeElement.getItem(value);
1198
- resolve(result);
1199
- });
1200
- });
1201
- };
1202
- const result = yield getResultOnRender();
1203
- return result;
1204
- });
1205
- }
1206
- /** Inserts a new item at a specified position.
1207
- * @param {number} position. The position where the item must be inserted.
1208
- * @param {any} item. Describes the properties of the item that will be inserted.
1209
- */
1210
- insert(position, item) {
1211
- if (this.nativeElement.isRendered) {
1212
- this.nativeElement.insert(position, item);
1213
- }
1214
- else {
1215
- this.nativeElement.whenRendered(() => {
1216
- this.nativeElement.insert(position, item);
1217
- });
1218
- }
1219
- }
1220
- /** Inserts a new ListItem before another in the list.
1221
- * @param {Node} node. A ListItem element that should be added before the referenceItem in the list.
1222
- * @param {Node | null} referenceNode. A ListItem element that acts as the reference item before which a new item is about to be inserted. The referenceNode must be in the same list as the node.
1223
- * @returns {Node}
1224
- */
1225
- insertBefore(node, referenceNode) {
1226
- return __awaiter(this, void 0, void 0, function* () {
1227
- const getResultOnRender = () => {
1228
- return new Promise(resolve => {
1229
- this.nativeElement.whenRendered(() => {
1230
- const result = this.nativeElement.insertBefore(node, referenceNode);
1231
- resolve(result);
1232
- });
1233
- });
1234
- };
1235
- const result = yield getResultOnRender();
1236
- return result;
1237
- });
1238
- }
1239
- /** Opens the dropDown list.
1240
- */
1241
- open() {
1242
- if (this.nativeElement.isRendered) {
1243
- this.nativeElement.open();
1244
- }
1245
- else {
1246
- this.nativeElement.whenRendered(() => {
1247
- this.nativeElement.open();
1248
- });
1249
- }
1250
- }
1251
- /** Removes an item at a specified position.
1252
- * @param {number} position. The position of the removed item.
1253
- */
1254
- removeAt(position) {
1255
- if (this.nativeElement.isRendered) {
1256
- this.nativeElement.removeAt(position);
1257
- }
1258
- else {
1259
- this.nativeElement.whenRendered(() => {
1260
- this.nativeElement.removeAt(position);
1261
- });
1262
- }
1263
- }
1264
- /** Removes a ListItem from the list of items inside element.
1265
- * @param {Node} node. A ListItem element that is part of the list of items inside the element.
1266
- * @returns {Node}
1267
- */
1268
- removeChild(node) {
1269
- return __awaiter(this, void 0, void 0, function* () {
1270
- const getResultOnRender = () => {
1271
- return new Promise(resolve => {
1272
- this.nativeElement.whenRendered(() => {
1273
- const result = this.nativeElement.removeChild(node);
1274
- resolve(result);
1275
- });
1276
- });
1277
- };
1278
- const result = yield getResultOnRender();
1279
- return result;
1280
- });
1281
- }
1282
- /** Selects an item from the dropDown list.
1283
- * @param {string | HTMLElement} item. A string, representing the value of the item or an HTML Element referencing an item from the list
1284
- */
1285
- select(item) {
1286
- if (this.nativeElement.isRendered) {
1287
- this.nativeElement.select(item);
1288
- }
1289
- else {
1290
- this.nativeElement.whenRendered(() => {
1291
- this.nativeElement.select(item);
1292
- });
1293
- }
1294
- }
1295
- /** Unselects an item from the dropDown list.
1296
- * @param {string | HTMLElement} item. A string, representing the value of the item or an HTML Element referencing an item from the list
1297
- */
1298
- unselect(item) {
1299
- if (this.nativeElement.isRendered) {
1300
- this.nativeElement.unselect(item);
1301
- }
1302
- else {
1303
- this.nativeElement.whenRendered(() => {
1304
- this.nativeElement.unselect(item);
1305
- });
1306
- }
1307
- }
1308
- /** Updates an item from the dropDown list.
1309
- * @param {number} position. The position where the item must be updated.
1310
- * @param {any} value. The value of the updated item.
1311
- */
1312
- update(position, value) {
1313
- if (this.nativeElement.isRendered) {
1314
- this.nativeElement.update(position, value);
1315
- }
1316
- else {
1317
- this.nativeElement.whenRendered(() => {
1318
- this.nativeElement.update(position, value);
1319
- });
1320
- }
1321
- }
1322
- componentDidRender(initialize) {
1323
- const that = this;
1324
- const props = {};
1325
- const events = {};
1326
- let styles = null;
1327
- for (let prop in that.props) {
1328
- if (prop === 'children') {
1329
- continue;
1330
- }
1331
- if (prop === 'style') {
1332
- styles = that.props[prop];
1333
- continue;
1334
- }
1335
- if (prop.startsWith('on') && that.properties.indexOf(prop) === -1) {
1336
- events[prop] = that.props[prop];
1337
- continue;
1338
- }
1339
- props[prop] = that.props[prop];
1340
- }
1341
- if (initialize) {
1342
- that.nativeElement = this.componentRef.current;
1343
- }
1344
- for (let prop in props) {
1345
- if (prop === 'class' || prop === 'className') {
1346
- const classNames = props[prop].trim().split(' ');
1347
- for (let className in classNames) {
1348
- if (!that.nativeElement.classList.contains(classNames[className]) && classNames[className] !== "") {
1349
- that.nativeElement.classList.add(classNames[className]);
1350
- }
1351
- }
1352
- continue;
1353
- }
1354
- if (props[prop] !== that.nativeElement[prop]) {
1355
- const normalizeProp = (str) => {
1356
- return str.replace(/-([a-z])/g, function (g) {
1357
- return g[1].toUpperCase();
1358
- });
1359
- };
1360
- if (prop === 'hover' || prop === 'active' || prop === 'focus' || prop === 'selected') {
1361
- that.nativeElement.setAttribute(prop, '');
1362
- }
1363
- const normalizedProp = normalizeProp(prop);
1364
- that.nativeElement[normalizedProp] = props[prop];
1365
- }
1366
- }
1367
- for (let eventName in events) {
1368
- that[eventName] = events[eventName];
1369
- that.nativeElement[eventName.toLowerCase()] = events[eventName];
1370
- }
1371
- if (initialize) {
1372
- Smart$2.Render();
1373
- if (that.onCreate) {
1374
- that.onCreate();
1375
- }
1376
- that.nativeElement.whenRendered(() => {
1377
- if (that.onReady) {
1378
- that.onReady();
1379
- }
1380
- });
1381
- }
1382
- // setup styles.
1383
- if (styles) {
1384
- for (let styleName in styles) {
1385
- that.nativeElement.style[styleName] = styles[styleName];
1386
- }
1387
- }
1388
- }
1389
- componentDidMount() {
1390
- this.componentDidRender(true);
1391
- }
1392
- componentDidUpdate() {
1393
- this.componentDidRender(false);
1394
- }
1395
- componentWillUnmount() {
1396
- const that = this;
1397
- if (!that.nativeElement) {
1398
- return;
1399
- }
1400
- that.nativeElement.whenRenderedCallbacks = [];
1401
- for (let i = 0; i < that.eventListeners.length; i++) {
1402
- const eventName = that.eventListeners[i];
1403
- that.nativeElement.removeEventListener(eventName.substring(2).toLowerCase(), that[eventName]);
1404
- }
1405
- }
1406
- render() {
1407
- return (React.createElement("smart-combo-box", { ref: this.componentRef }, this.props.children));
1408
- }
1409
- }
1346
+ exports.Smart = Smart$2;
1347
+ exports.ComboBox = ComboBox;
1348
+ exports.default = ComboBox;
1349
+ exports.ListItem = ListItem;
1350
+ exports.ListItemsGroup = ListItemsGroup;
1410
1351
 
1411
- exports.Smart = Smart$2;
1412
- exports.ComboBox = ComboBox;
1413
- exports.default = ComboBox;
1414
- exports.ListItem = ListItem;
1415
- exports.ListItemsGroup = ListItemsGroup;
1416
-
1417
- Object.defineProperty(exports, '__esModule', { value: true });
1352
+ Object.defineProperty(exports, '__esModule', { value: true });
1418
1353
 
1419
1354
  })));