smart-webcomponents-react 14.2.92 → 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 (372) 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 +2 -2
  134. package/source/modules/smart.card.js +1 -1
  135. package/source/modules/smart.cardview.js +3 -3
  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 +2 -2
  148. package/source/modules/smart.daterangeinput.js +3 -3
  149. package/source/modules/smart.datetimepicker.js +2 -2
  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 +4 -4
  159. package/source/modules/smart.gauge.js +1 -1
  160. package/source/modules/smart.grid.js +9 -9
  161. package/source/modules/smart.gridpanel.js +3 -3
  162. package/source/modules/smart.input.js +2 -2
  163. package/source/modules/smart.kanban.js +4 -4
  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 +4 -4
  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 +3 -3
  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 +1 -1
  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 +13 -13
  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 +1 -1
  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 +1 -1
  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 +1 -1
  276. package/source/smart.grid.tree.js +1 -1
  277. package/source/smart.grid.view.js +1 -1
  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/typescript/smart.editor.d.ts +4 -2
  330. package/source/typescript/smart.elements.d.ts +45 -3
  331. package/source/typescript/smart.fileupload.d.ts +2 -1
  332. package/source/typescript/smart.grid.d.ts +34 -0
  333. package/source/typescript/smart.querybuilder.d.ts +5 -0
  334. package/splitter/splitter.d.ts +3 -3
  335. package/splitter/splitter.esm.js +6 -61
  336. package/splitter/splitter.umd.js +901 -956
  337. package/table/pivottable.d.ts +3 -3
  338. package/table/table.d.ts +7 -7
  339. package/table/table.esm.js +14 -109
  340. package/table/table.umd.js +1278 -1373
  341. package/tabs/tabs.d.ts +4 -4
  342. package/tabs/tabs.esm.js +8 -73
  343. package/tabs/tabs.umd.js +875 -940
  344. package/tabs/tabswindow.d.ts +5 -5
  345. package/tabswindow/tabswindow.d.ts +5 -5
  346. package/tabswindow/tabswindow.esm.js +10 -85
  347. package/tabswindow/tabswindow.umd.js +1134 -1209
  348. package/tank/tank.d.ts +2 -2
  349. package/tank/tank.esm.js +4 -49
  350. package/tank/tank.umd.js +598 -643
  351. package/textbox/multilinetextbox.d.ts +1 -1
  352. package/textbox/numerictextbox.d.ts +1 -1
  353. package/timepicker/datetimepicker.d.ts +1 -1
  354. package/toast/toast.d.ts +1 -1
  355. package/toast/toast.esm.js +2 -37
  356. package/toast/toast.umd.js +397 -432
  357. package/tree/tree.d.ts +4 -4
  358. package/tree/tree.esm.js +8 -73
  359. package/tree/tree.umd.js +1310 -1375
  360. package/waitwindow/waitwindow.d.ts +5 -5
  361. package/waitwindow/waitwindow.esm.js +10 -85
  362. package/waitwindow/waitwindow.umd.js +1134 -1209
  363. package/window/alertwindow.d.ts +5 -5
  364. package/window/dialogwindow.d.ts +5 -5
  365. package/window/multilinewindow.d.ts +5 -5
  366. package/window/progresswindow.d.ts +5 -5
  367. package/window/promptwindow.d.ts +5 -5
  368. package/window/tabswindow.d.ts +5 -5
  369. package/window/waitwindow.d.ts +5 -5
  370. package/window/window.d.ts +5 -5
  371. package/window/window.esm.js +10 -85
  372. package/window/window.umd.js +1134 -1209
@@ -2,582 +2,537 @@
2
2
  require('../source/modules/smart.button');
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.dropdownbutton = {}),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.dropdownbutton = {}),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
+ DropDownButton displays any type of content like components, text, images, etc in a DropDown.
15
+ */
16
+ class DropDownButton 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 = 'DropDownButton' + Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);
25
+ }
26
+ return this._id;
27
+ }
28
+ /** Sets or gets the animation mode. Animation is disabled when the property is set to 'none'
29
+ * Property type: Animation | string
30
+ */
31
+ get animation() {
32
+ return this.nativeElement ? this.nativeElement.animation : undefined;
33
+ }
34
+ set animation(value) {
35
+ if (this.nativeElement) {
36
+ this.nativeElement.animation = value;
37
+ }
38
+ }
39
+ /** Determines the delay before the opened drop down closes when dropDownOpenMode is set to 'auto'.
40
+ * Property type: number
41
+ */
42
+ get autoCloseDelay() {
43
+ return this.nativeElement ? this.nativeElement.autoCloseDelay : undefined;
44
+ }
45
+ set autoCloseDelay(value) {
46
+ if (this.nativeElement) {
47
+ this.nativeElement.autoCloseDelay = value;
48
+ }
49
+ }
50
+ /** Enables or disables the element.
51
+ * Property type: boolean
52
+ */
53
+ get disabled() {
54
+ return this.nativeElement ? this.nativeElement.disabled : undefined;
55
+ }
56
+ set disabled(value) {
57
+ if (this.nativeElement) {
58
+ this.nativeElement.disabled = value;
59
+ }
60
+ }
61
+ /** Sets the parent container of the dropDown (the popup). Used when a CSS property of unknowned parent is interfering with the visibility of the dropDown.
62
+ * Property type: string
63
+ */
64
+ get dropDownAppendTo() {
65
+ return this.nativeElement ? this.nativeElement.dropDownAppendTo : undefined;
66
+ }
67
+ set dropDownAppendTo(value) {
68
+ if (this.nativeElement) {
69
+ this.nativeElement.dropDownAppendTo = value;
70
+ }
71
+ }
72
+ /** Determines the position of the drop down button.
73
+ * Property type: DropDownButtonPosition | string
74
+ */
75
+ get dropDownButtonPosition() {
76
+ return this.nativeElement ? this.nativeElement.dropDownButtonPosition : undefined;
77
+ }
78
+ set dropDownButtonPosition(value) {
79
+ if (this.nativeElement) {
80
+ this.nativeElement.dropDownButtonPosition = value;
81
+ }
82
+ }
83
+ /** Sets the height of the drop down. Default value of empty string means that CSS variables are used. This property should be used when the browser doesn't support CSS variables.
84
+ * Property type: string | number
85
+ */
86
+ get dropDownHeight() {
87
+ return this.nativeElement ? this.nativeElement.dropDownHeight : undefined;
88
+ }
89
+ set dropDownHeight(value) {
90
+ if (this.nativeElement) {
91
+ this.nativeElement.dropDownHeight = value;
92
+ }
93
+ }
94
+ /** Sets the max height of the drop down. Default value of empty string means that CSS variables are used. This property should be used when the browser doesn't support CSS variables.
95
+ * Property type: string | number
96
+ */
97
+ get dropDownMaxHeight() {
98
+ return this.nativeElement ? this.nativeElement.dropDownMaxHeight : undefined;
99
+ }
100
+ set dropDownMaxHeight(value) {
101
+ if (this.nativeElement) {
102
+ this.nativeElement.dropDownMaxHeight = value;
103
+ }
104
+ }
105
+ /** Sets the max width of the drop down. Default value of empty string means that CSS variables are used. This property should be used when the browser doesn't support CSS variables.
106
+ * Property type: string | number
107
+ */
108
+ get dropDownMaxWidth() {
109
+ return this.nativeElement ? this.nativeElement.dropDownMaxWidth : undefined;
110
+ }
111
+ set dropDownMaxWidth(value) {
112
+ if (this.nativeElement) {
113
+ this.nativeElement.dropDownMaxWidth = value;
114
+ }
115
+ }
116
+ /** Sets the min height of the drop down. Default value of empty string means that CSS variables are used. This property should be used when the browser doesn't support CSS variables.
117
+ * Property type: string | number
118
+ */
119
+ get dropDownMinHeight() {
120
+ return this.nativeElement ? this.nativeElement.dropDownMinHeight : undefined;
121
+ }
122
+ set dropDownMinHeight(value) {
123
+ if (this.nativeElement) {
124
+ this.nativeElement.dropDownMinHeight = value;
125
+ }
126
+ }
127
+ /** Sets the min width of the drop down. Default value of empty string means that CSS variables are used. This property should be used when the browser doesn't support CSS variables.
128
+ * Property type: string | number
129
+ */
130
+ get dropDownMinWidth() {
131
+ return this.nativeElement ? this.nativeElement.dropDownMinWidth : undefined;
132
+ }
133
+ set dropDownMinWidth(value) {
134
+ if (this.nativeElement) {
135
+ this.nativeElement.dropDownMinWidth = value;
136
+ }
137
+ }
138
+ /** Determines how the drop down is going to open.
139
+ * Property type: DropDownOpenMode | string
140
+ */
141
+ get dropDownOpenMode() {
142
+ return this.nativeElement ? this.nativeElement.dropDownOpenMode : undefined;
143
+ }
144
+ set dropDownOpenMode(value) {
145
+ if (this.nativeElement) {
146
+ this.nativeElement.dropDownOpenMode = value;
147
+ }
148
+ }
149
+ /** 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.
150
+ * Property type: boolean
151
+ */
152
+ get dropDownOverlay() {
153
+ return this.nativeElement ? this.nativeElement.dropDownOverlay : undefined;
154
+ }
155
+ set dropDownOverlay(value) {
156
+ if (this.nativeElement) {
157
+ this.nativeElement.dropDownOverlay = value;
158
+ }
159
+ }
160
+ /** Sets a placeholder text to appear when there is no content inside the dropdown.
161
+ * Property type: string
162
+ */
163
+ get dropDownPlaceholder() {
164
+ return this.nativeElement ? this.nativeElement.dropDownPlaceholder : undefined;
165
+ }
166
+ set dropDownPlaceholder(value) {
167
+ if (this.nativeElement) {
168
+ this.nativeElement.dropDownPlaceholder = value;
169
+ }
170
+ }
171
+ /** Determines the vertical position of the dropDown. 'Auto' means its automatically determined depending on the viewport size.
172
+ * Property type: DropDownPosition | string
173
+ */
174
+ get dropDownPosition() {
175
+ return this.nativeElement ? this.nativeElement.dropDownPosition : undefined;
176
+ }
177
+ set dropDownPosition(value) {
178
+ if (this.nativeElement) {
179
+ this.nativeElement.dropDownPosition = value;
180
+ }
181
+ }
182
+ /** Sets the width of the drop down. Default value of empty string means that CSS variables are used. This property should be used when the browser doesn't support CSS variables.
183
+ * Property type: string | number
184
+ */
185
+ get dropDownWidth() {
186
+ return this.nativeElement ? this.nativeElement.dropDownWidth : undefined;
187
+ }
188
+ set dropDownWidth(value) {
189
+ if (this.nativeElement) {
190
+ this.nativeElement.dropDownWidth = value;
191
+ }
192
+ }
193
+ /** Sets additional helper text below the element. The hint is visible only when the element is focused.
194
+ * Property type: string
195
+ */
196
+ get hint() {
197
+ return this.nativeElement ? this.nativeElement.hint : undefined;
198
+ }
199
+ set hint(value) {
200
+ if (this.nativeElement) {
201
+ this.nativeElement.hint = value;
202
+ }
203
+ }
204
+ /** Determines the visibility of the horizontal Scroll bar inside the drop down.
205
+ * Property type: HorizontalScrollBarVisibility | string
206
+ */
207
+ get horizontalScrollBarVisibility() {
208
+ return this.nativeElement ? this.nativeElement.horizontalScrollBarVisibility : undefined;
209
+ }
210
+ set horizontalScrollBarVisibility(value) {
211
+ if (this.nativeElement) {
212
+ this.nativeElement.horizontalScrollBarVisibility = value;
213
+ }
214
+ }
215
+ /** Sets a label above the element. The label is always visible.
216
+ * Property type: string
217
+ */
218
+ get label() {
219
+ return this.nativeElement ? this.nativeElement.label : undefined;
220
+ }
221
+ set label(value) {
222
+ if (this.nativeElement) {
223
+ this.nativeElement.label = value;
224
+ }
225
+ }
226
+ /** Sets or gets the language. Used in conjunction with the property messages.
227
+ * Property type: string
228
+ */
229
+ get locale() {
230
+ return this.nativeElement ? this.nativeElement.locale : undefined;
231
+ }
232
+ set locale(value) {
233
+ if (this.nativeElement) {
234
+ this.nativeElement.locale = value;
235
+ }
236
+ }
237
+ /** Callback used to customize the format of the messages that are returned from the Localization Module.
238
+ * Property type: any
239
+ */
240
+ get localizeFormatFunction() {
241
+ return this.nativeElement ? this.nativeElement.localizeFormatFunction : undefined;
242
+ }
243
+ set localizeFormatFunction(value) {
244
+ if (this.nativeElement) {
245
+ this.nativeElement.localizeFormatFunction = value;
246
+ }
247
+ }
248
+ /** Sets or gets an object specifying strings used in the widget that can be localized. Used in conjunction with the property locale.
249
+ * Property type: any
250
+ */
251
+ get messages() {
252
+ return this.nativeElement ? this.nativeElement.messages : undefined;
253
+ }
254
+ set messages(value) {
255
+ if (this.nativeElement) {
256
+ this.nativeElement.messages = value;
257
+ }
258
+ }
259
+ /** Determines whether the popup is opened or closed
260
+ * Property type: boolean
261
+ */
262
+ get opened() {
263
+ return this.nativeElement ? this.nativeElement.opened : undefined;
264
+ }
265
+ set opened(value) {
266
+ if (this.nativeElement) {
267
+ this.nativeElement.opened = value;
268
+ }
269
+ }
270
+ /** Determines the element's placeholder, displayed in the element's action button container.
271
+ * Property type: string
272
+ */
273
+ get placeholder() {
274
+ return this.nativeElement ? this.nativeElement.placeholder : undefined;
275
+ }
276
+ set placeholder(value) {
277
+ if (this.nativeElement) {
278
+ this.nativeElement.placeholder = value;
279
+ }
280
+ }
281
+ /** Determines the element's placeholder template, displayed in the element's action button container. You can pass 'string', 'function' or HTMLTemplateElement as a value.
282
+ * Property type: any
283
+ */
284
+ get placeholderTemplate() {
285
+ return this.nativeElement ? this.nativeElement.placeholderTemplate : undefined;
286
+ }
287
+ set placeholderTemplate(value) {
288
+ if (this.nativeElement) {
289
+ this.nativeElement.placeholderTemplate = value;
290
+ }
291
+ }
292
+ /** Disables user interaction with the element.
293
+ * Property type: boolean
294
+ */
295
+ get readonly() {
296
+ return this.nativeElement ? this.nativeElement.readonly : undefined;
297
+ }
298
+ set readonly(value) {
299
+ if (this.nativeElement) {
300
+ this.nativeElement.readonly = value;
301
+ }
302
+ }
303
+ /** Determines whether the resize indicator in the bottom right corner is visible or not.
304
+ * Property type: boolean
305
+ */
306
+ get resizeIndicator() {
307
+ return this.nativeElement ? this.nativeElement.resizeIndicator : undefined;
308
+ }
309
+ set resizeIndicator(value) {
310
+ if (this.nativeElement) {
311
+ this.nativeElement.resizeIndicator = value;
312
+ }
313
+ }
314
+ /** 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.
315
+ * Property type: ResizeMode | string
316
+ */
317
+ get resizeMode() {
318
+ return this.nativeElement ? this.nativeElement.resizeMode : undefined;
319
+ }
320
+ set resizeMode(value) {
321
+ if (this.nativeElement) {
322
+ this.nativeElement.resizeMode = value;
323
+ }
324
+ }
325
+ /** Sets or gets the value indicating whether the element is aligned to support locales using right-to-left fonts.
326
+ * Property type: boolean
327
+ */
328
+ get rightToLeft() {
329
+ return this.nativeElement ? this.nativeElement.rightToLeft : undefined;
330
+ }
331
+ set rightToLeft(value) {
332
+ if (this.nativeElement) {
333
+ this.nativeElement.rightToLeft = value;
334
+ }
335
+ }
336
+ /** Determines the theme. Theme defines the look of the element
337
+ * Property type: string
338
+ */
339
+ get theme() {
340
+ return this.nativeElement ? this.nativeElement.theme : undefined;
341
+ }
342
+ set theme(value) {
343
+ if (this.nativeElement) {
344
+ this.nativeElement.theme = value;
345
+ }
346
+ }
347
+ /** If is set to true, the element cannot be focused.
348
+ * Property type: boolean
349
+ */
350
+ get unfocusable() {
351
+ return this.nativeElement ? this.nativeElement.unfocusable : undefined;
352
+ }
353
+ set unfocusable(value) {
354
+ if (this.nativeElement) {
355
+ this.nativeElement.unfocusable = value;
356
+ }
357
+ }
358
+ /** Determines the visibility of the vertical scroll bar.
359
+ * Property type: VerticalScrollBarVisibility | string
360
+ */
361
+ get verticalScrollBarVisibility() {
362
+ return this.nativeElement ? this.nativeElement.verticalScrollBarVisibility : undefined;
363
+ }
364
+ set verticalScrollBarVisibility(value) {
365
+ if (this.nativeElement) {
366
+ this.nativeElement.verticalScrollBarVisibility = value;
367
+ }
368
+ }
369
+ // Gets the properties of the React component.
370
+ get properties() {
371
+ return ["animation", "autoCloseDelay", "disabled", "dropDownAppendTo", "dropDownButtonPosition", "dropDownHeight", "dropDownMaxHeight", "dropDownMaxWidth", "dropDownMinHeight", "dropDownMinWidth", "dropDownOpenMode", "dropDownOverlay", "dropDownPlaceholder", "dropDownPosition", "dropDownWidth", "hint", "horizontalScrollBarVisibility", "label", "locale", "localizeFormatFunction", "messages", "opened", "placeholder", "placeholderTemplate", "readonly", "resizeIndicator", "resizeMode", "rightToLeft", "theme", "unfocusable", "verticalScrollBarVisibility"];
372
+ }
373
+ // Gets the events of the React component.
374
+ get eventListeners() {
375
+ return ["onActionButtonClick", "onClose", "onClosing", "onDropDownButtonClick", "onOpen", "onOpening", "onResizeStart", "onResizeEnd", "onCreate", "onReady"];
376
+ }
377
+ /** Appends a new HTML node to the drop down.
378
+ * @param {Node} node. The node to be appended
379
+ * @returns {Node}
380
+ */
381
+ appendChild(node) {
382
+ const result = this.nativeElement.appendChild(node);
383
+ return result;
384
+ }
385
+ /** Closes the dropDown.
386
+ */
387
+ close() {
388
+ if (this.nativeElement.isRendered) {
389
+ this.nativeElement.close();
390
+ }
391
+ else {
392
+ this.nativeElement.whenRendered(() => {
393
+ this.nativeElement.close();
394
+ });
395
+ }
396
+ }
397
+ /** Opens the dropDown.
398
+ */
399
+ open() {
400
+ if (this.nativeElement.isRendered) {
401
+ this.nativeElement.open();
402
+ }
403
+ else {
404
+ this.nativeElement.whenRendered(() => {
405
+ this.nativeElement.open();
406
+ });
407
+ }
408
+ }
409
+ /** Removes everything from the drop down.
410
+ */
411
+ removeAll() {
412
+ if (this.nativeElement.isRendered) {
413
+ this.nativeElement.removeAll();
414
+ }
415
+ else {
416
+ this.nativeElement.whenRendered(() => {
417
+ this.nativeElement.removeAll();
418
+ });
419
+ }
420
+ }
421
+ /** Removes a child node from the drop down.
422
+ * @param {Node} node. The node to remove.
423
+ * @returns {Node}
424
+ */
425
+ removeChild(node) {
426
+ const result = this.nativeElement.removeChild(node);
427
+ return result;
428
+ }
429
+ /** Scrolls the drop down to a specific position.
430
+ * @param {number} top. Y axis coordinate
431
+ * @param {number} left. X axis coordinate
432
+ */
433
+ scrollTo(top, left) {
434
+ if (this.nativeElement.isRendered) {
435
+ this.nativeElement.scrollTo(top, left);
436
+ }
437
+ else {
438
+ this.nativeElement.whenRendered(() => {
439
+ this.nativeElement.scrollTo(top, left);
440
+ });
441
+ }
442
+ }
443
+ componentDidRender(initialize) {
444
+ const that = this;
445
+ const props = {};
446
+ const events = {};
447
+ let styles = null;
448
+ for (let prop in that.props) {
449
+ if (prop === 'children') {
450
+ continue;
451
+ }
452
+ if (prop === 'style') {
453
+ styles = that.props[prop];
454
+ continue;
455
+ }
456
+ if (prop.startsWith('on') && that.properties.indexOf(prop) === -1) {
457
+ events[prop] = that.props[prop];
458
+ continue;
459
+ }
460
+ props[prop] = that.props[prop];
461
+ }
462
+ if (initialize) {
463
+ that.nativeElement = this.componentRef.current;
464
+ }
465
+ for (let prop in props) {
466
+ if (prop === 'class' || prop === 'className') {
467
+ const classNames = props[prop].trim().split(' ');
468
+ for (let className in classNames) {
469
+ if (!that.nativeElement.classList.contains(classNames[className]) && classNames[className] !== "") {
470
+ that.nativeElement.classList.add(classNames[className]);
471
+ }
472
+ }
473
+ continue;
474
+ }
475
+ if (props[prop] !== that.nativeElement[prop]) {
476
+ const normalizeProp = (str) => {
477
+ return str.replace(/-([a-z])/g, function (g) {
478
+ return g[1].toUpperCase();
479
+ });
480
+ };
481
+ if (prop === 'hover' || prop === 'active' || prop === 'focus' || prop === 'selected') {
482
+ that.nativeElement.setAttribute(prop, '');
483
+ }
484
+ const normalizedProp = normalizeProp(prop);
485
+ that.nativeElement[normalizedProp] = props[prop];
486
+ }
487
+ }
488
+ for (let eventName in events) {
489
+ that[eventName] = events[eventName];
490
+ that.nativeElement[eventName.toLowerCase()] = events[eventName];
491
+ }
492
+ if (initialize) {
493
+ Smart.Render();
494
+ if (that.onCreate) {
495
+ that.onCreate();
496
+ }
497
+ that.nativeElement.whenRendered(() => {
498
+ if (that.onReady) {
499
+ that.onReady();
500
+ }
501
+ });
502
+ }
503
+ // setup styles.
504
+ if (styles) {
505
+ for (let styleName in styles) {
506
+ that.nativeElement.style[styleName] = styles[styleName];
507
+ }
508
+ }
509
+ }
510
+ componentDidMount() {
511
+ this.componentDidRender(true);
512
+ }
513
+ componentDidUpdate() {
514
+ this.componentDidRender(false);
515
+ }
516
+ componentWillUnmount() {
517
+ const that = this;
518
+ if (!that.nativeElement) {
519
+ return;
520
+ }
521
+ that.nativeElement.whenRenderedCallbacks = [];
522
+ for (let i = 0; i < that.eventListeners.length; i++) {
523
+ const eventName = that.eventListeners[i];
524
+ that.nativeElement.removeEventListener(eventName.substring(2).toLowerCase(), that[eventName]);
525
+ }
526
+ }
527
+ render() {
528
+ return (React.createElement("smart-drop-down-button", { ref: this.componentRef }, this.props.children));
529
+ }
530
+ }
36
531
 
37
- const Smart = window.Smart;
38
- /**
39
- DropDownButton displays any type of content like components, text, images, etc in a DropDown.
40
- */
41
- class DropDownButton 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 = 'DropDownButton' + Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);
50
- }
51
- return this._id;
52
- }
53
- /** Sets or gets the animation mode. Animation is disabled when the property is set to 'none'
54
- * Property type: Animation | string
55
- */
56
- get animation() {
57
- return this.nativeElement ? this.nativeElement.animation : undefined;
58
- }
59
- set animation(value) {
60
- if (this.nativeElement) {
61
- this.nativeElement.animation = value;
62
- }
63
- }
64
- /** Determines the delay before the opened drop down closes when dropDownOpenMode is set to 'auto'.
65
- * Property type: number
66
- */
67
- get autoCloseDelay() {
68
- return this.nativeElement ? this.nativeElement.autoCloseDelay : undefined;
69
- }
70
- set autoCloseDelay(value) {
71
- if (this.nativeElement) {
72
- this.nativeElement.autoCloseDelay = value;
73
- }
74
- }
75
- /** Enables or disables the element.
76
- * Property type: boolean
77
- */
78
- get disabled() {
79
- return this.nativeElement ? this.nativeElement.disabled : undefined;
80
- }
81
- set disabled(value) {
82
- if (this.nativeElement) {
83
- this.nativeElement.disabled = value;
84
- }
85
- }
86
- /** Sets the parent container of the dropDown (the popup). Used when a CSS property of unknowned parent is interfering with the visibility of the dropDown.
87
- * Property type: string
88
- */
89
- get dropDownAppendTo() {
90
- return this.nativeElement ? this.nativeElement.dropDownAppendTo : undefined;
91
- }
92
- set dropDownAppendTo(value) {
93
- if (this.nativeElement) {
94
- this.nativeElement.dropDownAppendTo = value;
95
- }
96
- }
97
- /** Determines the position of the drop down button.
98
- * Property type: DropDownButtonPosition | string
99
- */
100
- get dropDownButtonPosition() {
101
- return this.nativeElement ? this.nativeElement.dropDownButtonPosition : undefined;
102
- }
103
- set dropDownButtonPosition(value) {
104
- if (this.nativeElement) {
105
- this.nativeElement.dropDownButtonPosition = value;
106
- }
107
- }
108
- /** Sets the height of the drop down. Default value of empty string means that CSS variables are used. This property should be used when the browser doesn't support CSS variables.
109
- * Property type: string | number
110
- */
111
- get dropDownHeight() {
112
- return this.nativeElement ? this.nativeElement.dropDownHeight : undefined;
113
- }
114
- set dropDownHeight(value) {
115
- if (this.nativeElement) {
116
- this.nativeElement.dropDownHeight = value;
117
- }
118
- }
119
- /** Sets the max height of the drop down. Default value of empty string means that CSS variables are used. This property should be used when the browser doesn't support CSS variables.
120
- * Property type: string | number
121
- */
122
- get dropDownMaxHeight() {
123
- return this.nativeElement ? this.nativeElement.dropDownMaxHeight : undefined;
124
- }
125
- set dropDownMaxHeight(value) {
126
- if (this.nativeElement) {
127
- this.nativeElement.dropDownMaxHeight = value;
128
- }
129
- }
130
- /** Sets the max width of the drop down. Default value of empty string means that CSS variables are used. This property should be used when the browser doesn't support CSS variables.
131
- * Property type: string | number
132
- */
133
- get dropDownMaxWidth() {
134
- return this.nativeElement ? this.nativeElement.dropDownMaxWidth : undefined;
135
- }
136
- set dropDownMaxWidth(value) {
137
- if (this.nativeElement) {
138
- this.nativeElement.dropDownMaxWidth = value;
139
- }
140
- }
141
- /** Sets the min height of the drop down. Default value of empty string means that CSS variables are used. This property should be used when the browser doesn't support CSS variables.
142
- * Property type: string | number
143
- */
144
- get dropDownMinHeight() {
145
- return this.nativeElement ? this.nativeElement.dropDownMinHeight : undefined;
146
- }
147
- set dropDownMinHeight(value) {
148
- if (this.nativeElement) {
149
- this.nativeElement.dropDownMinHeight = value;
150
- }
151
- }
152
- /** Sets the min width of the drop down. Default value of empty string means that CSS variables are used. This property should be used when the browser doesn't support CSS variables.
153
- * Property type: string | number
154
- */
155
- get dropDownMinWidth() {
156
- return this.nativeElement ? this.nativeElement.dropDownMinWidth : undefined;
157
- }
158
- set dropDownMinWidth(value) {
159
- if (this.nativeElement) {
160
- this.nativeElement.dropDownMinWidth = value;
161
- }
162
- }
163
- /** Determines how the drop down is going to open.
164
- * Property type: DropDownOpenMode | string
165
- */
166
- get dropDownOpenMode() {
167
- return this.nativeElement ? this.nativeElement.dropDownOpenMode : undefined;
168
- }
169
- set dropDownOpenMode(value) {
170
- if (this.nativeElement) {
171
- this.nativeElement.dropDownOpenMode = value;
172
- }
173
- }
174
- /** 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.
175
- * Property type: boolean
176
- */
177
- get dropDownOverlay() {
178
- return this.nativeElement ? this.nativeElement.dropDownOverlay : undefined;
179
- }
180
- set dropDownOverlay(value) {
181
- if (this.nativeElement) {
182
- this.nativeElement.dropDownOverlay = value;
183
- }
184
- }
185
- /** Sets a placeholder text to appear when there is no content inside the dropdown.
186
- * Property type: string
187
- */
188
- get dropDownPlaceholder() {
189
- return this.nativeElement ? this.nativeElement.dropDownPlaceholder : undefined;
190
- }
191
- set dropDownPlaceholder(value) {
192
- if (this.nativeElement) {
193
- this.nativeElement.dropDownPlaceholder = value;
194
- }
195
- }
196
- /** Determines the vertical position of the dropDown. 'Auto' means its automatically determined depending on the viewport size.
197
- * Property type: DropDownPosition | string
198
- */
199
- get dropDownPosition() {
200
- return this.nativeElement ? this.nativeElement.dropDownPosition : undefined;
201
- }
202
- set dropDownPosition(value) {
203
- if (this.nativeElement) {
204
- this.nativeElement.dropDownPosition = value;
205
- }
206
- }
207
- /** Sets the width of the drop down. Default value of empty string means that CSS variables are used. This property should be used when the browser doesn't support CSS variables.
208
- * Property type: string | number
209
- */
210
- get dropDownWidth() {
211
- return this.nativeElement ? this.nativeElement.dropDownWidth : undefined;
212
- }
213
- set dropDownWidth(value) {
214
- if (this.nativeElement) {
215
- this.nativeElement.dropDownWidth = value;
216
- }
217
- }
218
- /** Sets additional helper text below the element. The hint is visible only when the element is focused.
219
- * Property type: string
220
- */
221
- get hint() {
222
- return this.nativeElement ? this.nativeElement.hint : undefined;
223
- }
224
- set hint(value) {
225
- if (this.nativeElement) {
226
- this.nativeElement.hint = value;
227
- }
228
- }
229
- /** Determines the visibility of the horizontal Scroll bar inside the drop down.
230
- * Property type: HorizontalScrollBarVisibility | string
231
- */
232
- get horizontalScrollBarVisibility() {
233
- return this.nativeElement ? this.nativeElement.horizontalScrollBarVisibility : undefined;
234
- }
235
- set horizontalScrollBarVisibility(value) {
236
- if (this.nativeElement) {
237
- this.nativeElement.horizontalScrollBarVisibility = value;
238
- }
239
- }
240
- /** Sets a label above the element. The label is always visible.
241
- * Property type: string
242
- */
243
- get label() {
244
- return this.nativeElement ? this.nativeElement.label : undefined;
245
- }
246
- set label(value) {
247
- if (this.nativeElement) {
248
- this.nativeElement.label = value;
249
- }
250
- }
251
- /** Sets or gets the language. Used in conjunction with the property messages.
252
- * Property type: string
253
- */
254
- get locale() {
255
- return this.nativeElement ? this.nativeElement.locale : undefined;
256
- }
257
- set locale(value) {
258
- if (this.nativeElement) {
259
- this.nativeElement.locale = value;
260
- }
261
- }
262
- /** Callback used to customize the format of the messages that are returned from the Localization Module.
263
- * Property type: any
264
- */
265
- get localizeFormatFunction() {
266
- return this.nativeElement ? this.nativeElement.localizeFormatFunction : undefined;
267
- }
268
- set localizeFormatFunction(value) {
269
- if (this.nativeElement) {
270
- this.nativeElement.localizeFormatFunction = value;
271
- }
272
- }
273
- /** Sets or gets an object specifying strings used in the widget that can be localized. Used in conjunction with the property locale.
274
- * Property type: any
275
- */
276
- get messages() {
277
- return this.nativeElement ? this.nativeElement.messages : undefined;
278
- }
279
- set messages(value) {
280
- if (this.nativeElement) {
281
- this.nativeElement.messages = value;
282
- }
283
- }
284
- /** Determines whether the popup is opened or closed
285
- * Property type: boolean
286
- */
287
- get opened() {
288
- return this.nativeElement ? this.nativeElement.opened : undefined;
289
- }
290
- set opened(value) {
291
- if (this.nativeElement) {
292
- this.nativeElement.opened = value;
293
- }
294
- }
295
- /** Determines the element's placeholder, displayed in the element's action button container.
296
- * Property type: string
297
- */
298
- get placeholder() {
299
- return this.nativeElement ? this.nativeElement.placeholder : undefined;
300
- }
301
- set placeholder(value) {
302
- if (this.nativeElement) {
303
- this.nativeElement.placeholder = value;
304
- }
305
- }
306
- /** Determines the element's placeholder template, displayed in the element's action button container. You can pass 'string', 'function' or HTMLTemplateElement as a value.
307
- * Property type: any
308
- */
309
- get placeholderTemplate() {
310
- return this.nativeElement ? this.nativeElement.placeholderTemplate : undefined;
311
- }
312
- set placeholderTemplate(value) {
313
- if (this.nativeElement) {
314
- this.nativeElement.placeholderTemplate = value;
315
- }
316
- }
317
- /** Disables user interaction with the element.
318
- * Property type: boolean
319
- */
320
- get readonly() {
321
- return this.nativeElement ? this.nativeElement.readonly : undefined;
322
- }
323
- set readonly(value) {
324
- if (this.nativeElement) {
325
- this.nativeElement.readonly = value;
326
- }
327
- }
328
- /** Determines whether the resize indicator in the bottom right corner is visible or not.
329
- * Property type: boolean
330
- */
331
- get resizeIndicator() {
332
- return this.nativeElement ? this.nativeElement.resizeIndicator : undefined;
333
- }
334
- set resizeIndicator(value) {
335
- if (this.nativeElement) {
336
- this.nativeElement.resizeIndicator = value;
337
- }
338
- }
339
- /** 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.
340
- * Property type: ResizeMode | string
341
- */
342
- get resizeMode() {
343
- return this.nativeElement ? this.nativeElement.resizeMode : undefined;
344
- }
345
- set resizeMode(value) {
346
- if (this.nativeElement) {
347
- this.nativeElement.resizeMode = value;
348
- }
349
- }
350
- /** Sets or gets the value indicating whether the element is aligned to support locales using right-to-left fonts.
351
- * Property type: boolean
352
- */
353
- get rightToLeft() {
354
- return this.nativeElement ? this.nativeElement.rightToLeft : undefined;
355
- }
356
- set rightToLeft(value) {
357
- if (this.nativeElement) {
358
- this.nativeElement.rightToLeft = value;
359
- }
360
- }
361
- /** Determines the theme. Theme defines the look of the element
362
- * Property type: string
363
- */
364
- get theme() {
365
- return this.nativeElement ? this.nativeElement.theme : undefined;
366
- }
367
- set theme(value) {
368
- if (this.nativeElement) {
369
- this.nativeElement.theme = value;
370
- }
371
- }
372
- /** If is set to true, the element cannot be focused.
373
- * Property type: boolean
374
- */
375
- get unfocusable() {
376
- return this.nativeElement ? this.nativeElement.unfocusable : undefined;
377
- }
378
- set unfocusable(value) {
379
- if (this.nativeElement) {
380
- this.nativeElement.unfocusable = value;
381
- }
382
- }
383
- /** Determines the visibility of the vertical scroll bar.
384
- * Property type: VerticalScrollBarVisibility | string
385
- */
386
- get verticalScrollBarVisibility() {
387
- return this.nativeElement ? this.nativeElement.verticalScrollBarVisibility : undefined;
388
- }
389
- set verticalScrollBarVisibility(value) {
390
- if (this.nativeElement) {
391
- this.nativeElement.verticalScrollBarVisibility = value;
392
- }
393
- }
394
- // Gets the properties of the React component.
395
- get properties() {
396
- return ["animation", "autoCloseDelay", "disabled", "dropDownAppendTo", "dropDownButtonPosition", "dropDownHeight", "dropDownMaxHeight", "dropDownMaxWidth", "dropDownMinHeight", "dropDownMinWidth", "dropDownOpenMode", "dropDownOverlay", "dropDownPlaceholder", "dropDownPosition", "dropDownWidth", "hint", "horizontalScrollBarVisibility", "label", "locale", "localizeFormatFunction", "messages", "opened", "placeholder", "placeholderTemplate", "readonly", "resizeIndicator", "resizeMode", "rightToLeft", "theme", "unfocusable", "verticalScrollBarVisibility"];
397
- }
398
- // Gets the events of the React component.
399
- get eventListeners() {
400
- return ["onActionButtonClick", "onClose", "onClosing", "onDropDownButtonClick", "onOpen", "onOpening", "onResizeStart", "onResizeEnd", "onCreate", "onReady"];
401
- }
402
- /** Appends a new HTML node to the drop down.
403
- * @param {Node} node. The node to be appended
404
- * @returns {Node}
405
- */
406
- appendChild(node) {
407
- return __awaiter(this, void 0, void 0, function* () {
408
- const getResultOnRender = () => {
409
- return new Promise(resolve => {
410
- this.nativeElement.whenRendered(() => {
411
- const result = this.nativeElement.appendChild(node);
412
- resolve(result);
413
- });
414
- });
415
- };
416
- const result = yield getResultOnRender();
417
- return result;
418
- });
419
- }
420
- /** Closes the dropDown.
421
- */
422
- close() {
423
- if (this.nativeElement.isRendered) {
424
- this.nativeElement.close();
425
- }
426
- else {
427
- this.nativeElement.whenRendered(() => {
428
- this.nativeElement.close();
429
- });
430
- }
431
- }
432
- /** Opens the dropDown.
433
- */
434
- open() {
435
- if (this.nativeElement.isRendered) {
436
- this.nativeElement.open();
437
- }
438
- else {
439
- this.nativeElement.whenRendered(() => {
440
- this.nativeElement.open();
441
- });
442
- }
443
- }
444
- /** Removes everything from the drop down.
445
- */
446
- removeAll() {
447
- if (this.nativeElement.isRendered) {
448
- this.nativeElement.removeAll();
449
- }
450
- else {
451
- this.nativeElement.whenRendered(() => {
452
- this.nativeElement.removeAll();
453
- });
454
- }
455
- }
456
- /** Removes a child node from the drop down.
457
- * @param {Node} node. The node to remove.
458
- * @returns {Node}
459
- */
460
- removeChild(node) {
461
- return __awaiter(this, void 0, void 0, function* () {
462
- const getResultOnRender = () => {
463
- return new Promise(resolve => {
464
- this.nativeElement.whenRendered(() => {
465
- const result = this.nativeElement.removeChild(node);
466
- resolve(result);
467
- });
468
- });
469
- };
470
- const result = yield getResultOnRender();
471
- return result;
472
- });
473
- }
474
- /** Scrolls the drop down to a specific position.
475
- * @param {number} top. Y axis coordinate
476
- * @param {number} left. X axis coordinate
477
- */
478
- scrollTo(top, left) {
479
- if (this.nativeElement.isRendered) {
480
- this.nativeElement.scrollTo(top, left);
481
- }
482
- else {
483
- this.nativeElement.whenRendered(() => {
484
- this.nativeElement.scrollTo(top, left);
485
- });
486
- }
487
- }
488
- componentDidRender(initialize) {
489
- const that = this;
490
- const props = {};
491
- const events = {};
492
- let styles = null;
493
- for (let prop in that.props) {
494
- if (prop === 'children') {
495
- continue;
496
- }
497
- if (prop === 'style') {
498
- styles = that.props[prop];
499
- continue;
500
- }
501
- if (prop.startsWith('on') && that.properties.indexOf(prop) === -1) {
502
- events[prop] = that.props[prop];
503
- continue;
504
- }
505
- props[prop] = that.props[prop];
506
- }
507
- if (initialize) {
508
- that.nativeElement = this.componentRef.current;
509
- }
510
- for (let prop in props) {
511
- if (prop === 'class' || prop === 'className') {
512
- const classNames = props[prop].trim().split(' ');
513
- for (let className in classNames) {
514
- if (!that.nativeElement.classList.contains(classNames[className]) && classNames[className] !== "") {
515
- that.nativeElement.classList.add(classNames[className]);
516
- }
517
- }
518
- continue;
519
- }
520
- if (props[prop] !== that.nativeElement[prop]) {
521
- const normalizeProp = (str) => {
522
- return str.replace(/-([a-z])/g, function (g) {
523
- return g[1].toUpperCase();
524
- });
525
- };
526
- if (prop === 'hover' || prop === 'active' || prop === 'focus' || prop === 'selected') {
527
- that.nativeElement.setAttribute(prop, '');
528
- }
529
- const normalizedProp = normalizeProp(prop);
530
- that.nativeElement[normalizedProp] = props[prop];
531
- }
532
- }
533
- for (let eventName in events) {
534
- that[eventName] = events[eventName];
535
- that.nativeElement[eventName.toLowerCase()] = events[eventName];
536
- }
537
- if (initialize) {
538
- Smart.Render();
539
- if (that.onCreate) {
540
- that.onCreate();
541
- }
542
- that.nativeElement.whenRendered(() => {
543
- if (that.onReady) {
544
- that.onReady();
545
- }
546
- });
547
- }
548
- // setup styles.
549
- if (styles) {
550
- for (let styleName in styles) {
551
- that.nativeElement.style[styleName] = styles[styleName];
552
- }
553
- }
554
- }
555
- componentDidMount() {
556
- this.componentDidRender(true);
557
- }
558
- componentDidUpdate() {
559
- this.componentDidRender(false);
560
- }
561
- componentWillUnmount() {
562
- const that = this;
563
- if (!that.nativeElement) {
564
- return;
565
- }
566
- that.nativeElement.whenRenderedCallbacks = [];
567
- for (let i = 0; i < that.eventListeners.length; i++) {
568
- const eventName = that.eventListeners[i];
569
- that.nativeElement.removeEventListener(eventName.substring(2).toLowerCase(), that[eventName]);
570
- }
571
- }
572
- render() {
573
- return (React.createElement("smart-drop-down-button", { ref: this.componentRef }, this.props.children));
574
- }
575
- }
532
+ exports.Smart = Smart;
533
+ exports.DropDownButton = DropDownButton;
534
+ exports.default = DropDownButton;
576
535
 
577
- exports.Smart = Smart;
578
- exports.DropDownButton = DropDownButton;
579
- exports.default = DropDownButton;
580
-
581
- Object.defineProperty(exports, '__esModule', { value: true });
536
+ Object.defineProperty(exports, '__esModule', { value: true });
582
537
 
583
538
  })));