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,765 +2,720 @@
2
2
  require('../source/modules/smart.calendar');
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.calendar = {}),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.calendar = {}),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
+ Calendar allows user to easily select one or more dates. This control supports multi-calendar view, special dates, holidays, weekends, decade views.
15
+ */
16
+ class Calendar 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 = 'Calendar' + 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
+ /** Applies new animation settings when it is enabled. Properties:startSpeed - Determines the initial speed of the animation.easeThreshold - Determines the point at which the animation starts to slow down - the "ease effect".step - Determines the step ( scrolling interval ) at which the animation will run. stepEaseSize - Coefficient that is used to calculated the new step once the threshold has been passed. resetThreshold - Determines the threshold for animation reset. When it's reached the animation will start over.
40
+ * Property type: any
41
+ */
42
+ get animationSettings() {
43
+ return this.nativeElement ? this.nativeElement.animationSettings : undefined;
44
+ }
45
+ set animationSettings(value) {
46
+ if (this.nativeElement) {
47
+ this.nativeElement.animationSettings = value;
48
+ }
49
+ }
50
+ /** Determines the date controls inside the header of the Calendar.
51
+ * Property type: CalendarMode | string
52
+ */
53
+ get calendarMode() {
54
+ return this.nativeElement ? this.nativeElement.calendarMode : undefined;
55
+ }
56
+ set calendarMode(value) {
57
+ if (this.nativeElement) {
58
+ this.nativeElement.calendarMode = value;
59
+ }
60
+ }
61
+ /** Determines the format of the day names located above the days inside the calendar.
62
+ * Property type: DayFormat | string
63
+ */
64
+ get dayNameFormat() {
65
+ return this.nativeElement ? this.nativeElement.dayNameFormat : undefined;
66
+ }
67
+ set dayNameFormat(value) {
68
+ if (this.nativeElement) {
69
+ this.nativeElement.dayNameFormat = value;
70
+ }
71
+ }
72
+ /** A callback that can be used to customize the format of the month name when calendarMode is set to 'default'.
73
+ * Property type: any
74
+ */
75
+ get dateFormatFunction() {
76
+ return this.nativeElement ? this.nativeElement.dateFormatFunction : undefined;
77
+ }
78
+ set dateFormatFunction(value) {
79
+ if (this.nativeElement) {
80
+ this.nativeElement.dateFormatFunction = value;
81
+ }
82
+ }
83
+ /** Enables or disables the Calendar.
84
+ * Property type: boolean
85
+ */
86
+ get disabled() {
87
+ return this.nativeElement ? this.nativeElement.disabled : undefined;
88
+ }
89
+ set disabled(value) {
90
+ if (this.nativeElement) {
91
+ this.nativeElement.disabled = value;
92
+ }
93
+ }
94
+ /** Disables auto navigation when the user clicks on a date that's not from the current month in view.
95
+ * Property type: boolean
96
+ */
97
+ get disableAutoNavigation() {
98
+ return this.nativeElement ? this.nativeElement.disableAutoNavigation : undefined;
99
+ }
100
+ set disableAutoNavigation(value) {
101
+ if (this.nativeElement) {
102
+ this.nativeElement.disableAutoNavigation = value;
103
+ }
104
+ }
105
+ /** Determines the date view of the calendar when calendarMode is set to 'default'
106
+ * Property type: CalendarDisplayMode | string
107
+ */
108
+ get displayMode() {
109
+ return this.nativeElement ? this.nativeElement.displayMode : undefined;
110
+ }
111
+ set displayMode(value) {
112
+ if (this.nativeElement) {
113
+ this.nativeElement.displayMode = value;
114
+ }
115
+ }
116
+ /** Determines the type of the month/year view when calendarMode is set to Default.
117
+ * Property type: CalendarDisplayModeView | string
118
+ */
119
+ get displayModeView() {
120
+ return this.nativeElement ? this.nativeElement.displayModeView : undefined;
121
+ }
122
+ set displayModeView(value) {
123
+ if (this.nativeElement) {
124
+ this.nativeElement.displayModeView = value;
125
+ }
126
+ }
127
+ /** Determines the height of the month's drop down inside the Calendar.
128
+ * Property type: string | number
129
+ */
130
+ get dropDownHeight() {
131
+ return this.nativeElement ? this.nativeElement.dropDownHeight : undefined;
132
+ }
133
+ set dropDownHeight(value) {
134
+ if (this.nativeElement) {
135
+ this.nativeElement.dropDownHeight = value;
136
+ }
137
+ }
138
+ /** Determines the width of the month's drop down inside the Calendar.
139
+ * Property type: string | number
140
+ */
141
+ get dropDownWidth() {
142
+ return this.nativeElement ? this.nativeElement.dropDownWidth : undefined;
143
+ }
144
+ set dropDownWidth(value) {
145
+ if (this.nativeElement) {
146
+ this.nativeElement.dropDownWidth = value;
147
+ }
148
+ }
149
+ /** Determines the first day of the week. From 0(Sunday) to 6(Saturday)
150
+ * Property type: number
151
+ */
152
+ get firstDayOfWeek() {
153
+ return this.nativeElement ? this.nativeElement.firstDayOfWeek : undefined;
154
+ }
155
+ set firstDayOfWeek(value) {
156
+ if (this.nativeElement) {
157
+ this.nativeElement.firstDayOfWeek = value;
158
+ }
159
+ }
160
+ /** Sets a custom footer template. Accepts the id of an HTMLTemplateElement or a reference ot it.
161
+ * Property type: any
162
+ */
163
+ get footerTemplate() {
164
+ return this.nativeElement ? this.nativeElement.footerTemplate : undefined;
165
+ }
166
+ set footerTemplate(value) {
167
+ if (this.nativeElement) {
168
+ this.nativeElement.footerTemplate = value;
169
+ }
170
+ }
171
+ /** Sets custom header template. Accepts the id of an HTMLTemplateElement or a reference ot it.
172
+ * Property type: any
173
+ */
174
+ get headerTemplate() {
175
+ return this.nativeElement ? this.nativeElement.headerTemplate : undefined;
176
+ }
177
+ set headerTemplate(value) {
178
+ if (this.nativeElement) {
179
+ this.nativeElement.headerTemplate = value;
180
+ }
181
+ }
182
+ /** Hides the names of the weekdays.
183
+ * Property type: boolean
184
+ */
185
+ get hideDayNames() {
186
+ return this.nativeElement ? this.nativeElement.hideDayNames : undefined;
187
+ }
188
+ set hideDayNames(value) {
189
+ if (this.nativeElement) {
190
+ this.nativeElement.hideDayNames = value;
191
+ }
192
+ }
193
+ /** Hides the dates from other months.
194
+ * Property type: boolean
195
+ */
196
+ get hideOtherMonthDays() {
197
+ return this.nativeElement ? this.nativeElement.hideOtherMonthDays : undefined;
198
+ }
199
+ set hideOtherMonthDays(value) {
200
+ if (this.nativeElement) {
201
+ this.nativeElement.hideOtherMonthDays = value;
202
+ }
203
+ }
204
+ /** Hides the arrow of the tooltip.
205
+ * Property type: boolean
206
+ */
207
+ get hideTooltipArrow() {
208
+ return this.nativeElement ? this.nativeElement.hideTooltipArrow : undefined;
209
+ }
210
+ set hideTooltipArrow(value) {
211
+ if (this.nativeElement) {
212
+ this.nativeElement.hideTooltipArrow = value;
213
+ }
214
+ }
215
+ /** Sets the dates that will be displayed as important.
216
+ * Property type: string[] | Date[]
217
+ */
218
+ get importantDates() {
219
+ return this.nativeElement ? this.nativeElement.importantDates : undefined;
220
+ }
221
+ set importantDates(value) {
222
+ if (this.nativeElement) {
223
+ this.nativeElement.importantDates = value;
224
+ }
225
+ }
226
+ /** Sets a template for the important dates. Accepts the id of an HTMLTemplate element inside the DOM of or a reference to it.
227
+ * Property type: any
228
+ */
229
+ get importantDatesTemplate() {
230
+ return this.nativeElement ? this.nativeElement.importantDatesTemplate : undefined;
231
+ }
232
+ set importantDatesTemplate(value) {
233
+ if (this.nativeElement) {
234
+ this.nativeElement.importantDatesTemplate = value;
235
+ }
236
+ }
237
+ /** Determines the language of the Calendar.
238
+ * Property type: string
239
+ */
240
+ get locale() {
241
+ return this.nativeElement ? this.nativeElement.locale : undefined;
242
+ }
243
+ set locale(value) {
244
+ if (this.nativeElement) {
245
+ this.nativeElement.locale = value;
246
+ }
247
+ }
248
+ /** Callback used to customize the format of the messages that are returned from the Localization Module.
249
+ * Property type: any
250
+ */
251
+ get localizeFormatFunction() {
252
+ return this.nativeElement ? this.nativeElement.localizeFormatFunction : undefined;
253
+ }
254
+ set localizeFormatFunction(value) {
255
+ if (this.nativeElement) {
256
+ this.nativeElement.localizeFormatFunction = value;
257
+ }
258
+ }
259
+ /** Determines the max date for the Calendar. Accepts date objects and valid date string formats.
260
+ * Property type: string | Date
261
+ */
262
+ get max() {
263
+ return this.nativeElement ? this.nativeElement.max : undefined;
264
+ }
265
+ set max(value) {
266
+ if (this.nativeElement) {
267
+ this.nativeElement.max = value;
268
+ }
269
+ }
270
+ /** Sets or gets an object specifying strings used in the widget that can be localized. Used in conjunction with the property locale.
271
+ * Property type: any
272
+ */
273
+ get messages() {
274
+ return this.nativeElement ? this.nativeElement.messages : undefined;
275
+ }
276
+ set messages(value) {
277
+ if (this.nativeElement) {
278
+ this.nativeElement.messages = value;
279
+ }
280
+ }
281
+ /** Determines the min date for the Calendar. Accepts date objects and valid date string formats.
282
+ * Property type: string | Date
283
+ */
284
+ get min() {
285
+ return this.nativeElement ? this.nativeElement.min : undefined;
286
+ }
287
+ set min(value) {
288
+ if (this.nativeElement) {
289
+ this.nativeElement.min = value;
290
+ }
291
+ }
292
+ /** Determines the number of months to be displayed inside the calendar. The maximum amount of months that can be shown is 12. By default only 1 month is shown.
293
+ * Property type: number
294
+ */
295
+ get months() {
296
+ return this.nativeElement ? this.nativeElement.months : undefined;
297
+ }
298
+ set months(value) {
299
+ if (this.nativeElement) {
300
+ this.nativeElement.months = value;
301
+ }
302
+ }
303
+ /** Determines the format of the month names in the header when DisplayMode is set to Default or when Months property is greater than 1.
304
+ * Property type: MonthFormat | string
305
+ */
306
+ get monthNameFormat() {
307
+ return this.nativeElement ? this.nativeElement.monthNameFormat : undefined;
308
+ }
309
+ set monthNameFormat(value) {
310
+ if (this.nativeElement) {
311
+ this.nativeElement.monthNameFormat = value;
312
+ }
313
+ }
314
+ /** Sets or gets the name attribute for the element. Name is used when submiting HTML forms.
315
+ * Property type: string
316
+ */
317
+ get name() {
318
+ return this.nativeElement ? this.nativeElement.name : undefined;
319
+ }
320
+ set name(value) {
321
+ if (this.nativeElement) {
322
+ this.nativeElement.name = value;
323
+ }
324
+ }
325
+ /** If the element is readonly, users cannot interact with it.
326
+ * Property type: boolean
327
+ */
328
+ get readonly() {
329
+ return this.nativeElement ? this.nativeElement.readonly : undefined;
330
+ }
331
+ set readonly(value) {
332
+ if (this.nativeElement) {
333
+ this.nativeElement.readonly = value;
334
+ }
335
+ }
336
+ /** Sets restricted dates. Restricted dates are dates that cannot be selected/hovered/focused. They are visualy styled as restricted. The dates can be javascript date objects or strings representing a valid date.
337
+ * Property type: string[] | Date[]
338
+ */
339
+ get restrictedDates() {
340
+ return this.nativeElement ? this.nativeElement.restrictedDates : undefined;
341
+ }
342
+ set restrictedDates(value) {
343
+ if (this.nativeElement) {
344
+ this.nativeElement.restrictedDates = value;
345
+ }
346
+ }
347
+ /** Sets or gets the value indicating whether the element is aligned to support locales using right-to-left fonts.
348
+ * Property type: boolean
349
+ */
350
+ get rightToLeft() {
351
+ return this.nativeElement ? this.nativeElement.rightToLeft : undefined;
352
+ }
353
+ set rightToLeft(value) {
354
+ if (this.nativeElement) {
355
+ this.nativeElement.rightToLeft = value;
356
+ }
357
+ }
358
+ /** Determines the direction of the navigation buttons located in the header and the animation.
359
+ * Property type: ViewLayout | string
360
+ */
361
+ get scrollButtonsNavigationMode() {
362
+ return this.nativeElement ? this.nativeElement.scrollButtonsNavigationMode : undefined;
363
+ }
364
+ set scrollButtonsNavigationMode(value) {
365
+ if (this.nativeElement) {
366
+ this.nativeElement.scrollButtonsNavigationMode = value;
367
+ }
368
+ }
369
+ /** Determines the position of the navigation buttons located inside the header.
370
+ * Property type: LayoutPosition | string
371
+ */
372
+ get scrollButtonsPosition() {
373
+ return this.nativeElement ? this.nativeElement.scrollButtonsPosition : undefined;
374
+ }
375
+ set scrollButtonsPosition(value) {
376
+ if (this.nativeElement) {
377
+ this.nativeElement.scrollButtonsPosition = value;
378
+ }
379
+ }
380
+ /** Sets the dates that will be selected. Selected dates are styled differently than the rest. The dates can be Date objects or strings in a valid date format.
381
+ * Property type: string[] | Date[]
382
+ */
383
+ get selectedDates() {
384
+ return this.nativeElement ? this.nativeElement.selectedDates : undefined;
385
+ }
386
+ set selectedDates(value) {
387
+ if (this.nativeElement) {
388
+ this.nativeElement.selectedDates = value;
389
+ }
390
+ }
391
+ /** Determines the date selection mode.
392
+ * Property type: CalendarSelectionMode | string
393
+ */
394
+ get selectionMode() {
395
+ return this.nativeElement ? this.nativeElement.selectionMode : undefined;
396
+ }
397
+ set selectionMode(value) {
398
+ if (this.nativeElement) {
399
+ this.nativeElement.selectionMode = value;
400
+ }
401
+ }
402
+ /** Sets the delay between clicks of the date navigation buttons located in the header of the Calendar.
403
+ * Property type: number
404
+ */
405
+ get spinButtonsDelay() {
406
+ return this.nativeElement ? this.nativeElement.spinButtonsDelay : undefined;
407
+ }
408
+ set spinButtonsDelay(value) {
409
+ if (this.nativeElement) {
410
+ this.nativeElement.spinButtonsDelay = value;
411
+ }
412
+ }
413
+ /** Determines the initial delay before the action of the date navigation buttons located in the header of the Calendar.
414
+ * Property type: number
415
+ */
416
+ get spinButtonsInitialDelay() {
417
+ return this.nativeElement ? this.nativeElement.spinButtonsInitialDelay : undefined;
418
+ }
419
+ set spinButtonsInitialDelay(value) {
420
+ if (this.nativeElement) {
421
+ this.nativeElement.spinButtonsInitialDelay = value;
422
+ }
423
+ }
424
+ /** Determines the theme. Theme defines the look of the element
425
+ * Property type: string
426
+ */
427
+ get theme() {
428
+ return this.nativeElement ? this.nativeElement.theme : undefined;
429
+ }
430
+ set theme(value) {
431
+ if (this.nativeElement) {
432
+ this.nativeElement.theme = value;
433
+ }
434
+ }
435
+ /** Sets a template for the title section of the Calendar. Accepts the id of an HTMLTemplate element inside the DOM of or a reference it.
436
+ * Property type: any
437
+ */
438
+ get titleTemplate() {
439
+ return this.nativeElement ? this.nativeElement.titleTemplate : undefined;
440
+ }
441
+ set titleTemplate(value) {
442
+ if (this.nativeElement) {
443
+ this.nativeElement.titleTemplate = value;
444
+ }
445
+ }
446
+ /** Enables/Disabled the tooltip for the important dates. If enabled when an important date is hovered a tooltip is displayed.
447
+ * Property type: boolean
448
+ */
449
+ get tooltip() {
450
+ return this.nativeElement ? this.nativeElement.tooltip : undefined;
451
+ }
452
+ set tooltip(value) {
453
+ if (this.nativeElement) {
454
+ this.nativeElement.tooltip = value;
455
+ }
456
+ }
457
+ /** Show/Hide the arrow of the the tooltip for the important dates. By default the arrow is visible.
458
+ * Property type: boolean
459
+ */
460
+ get tooltipArrow() {
461
+ return this.nativeElement ? this.nativeElement.tooltipArrow : undefined;
462
+ }
463
+ set tooltipArrow(value) {
464
+ if (this.nativeElement) {
465
+ this.nativeElement.tooltipArrow = value;
466
+ }
467
+ }
468
+ /** Sets the delay of the tooltip before it appears.
469
+ * Property type: number
470
+ */
471
+ get tooltipDelay() {
472
+ return this.nativeElement ? this.nativeElement.tooltipDelay : undefined;
473
+ }
474
+ set tooltipDelay(value) {
475
+ if (this.nativeElement) {
476
+ this.nativeElement.tooltipDelay = value;
477
+ }
478
+ }
479
+ /** Set's a custom offset to the tooltip's position. Accepts an array of two numbers: the left coordinate and the top coordinate.
480
+ * Property type: number[][]
481
+ */
482
+ get tooltipOffset() {
483
+ return this.nativeElement ? this.nativeElement.tooltipOffset : undefined;
484
+ }
485
+ set tooltipOffset(value) {
486
+ if (this.nativeElement) {
487
+ this.nativeElement.tooltipOffset = value;
488
+ }
489
+ }
490
+ /** Sets the position of the tooltip.
491
+ * Property type: TooltipPosition | string
492
+ */
493
+ get tooltipPosition() {
494
+ return this.nativeElement ? this.nativeElement.tooltipPosition : undefined;
495
+ }
496
+ set tooltipPosition(value) {
497
+ if (this.nativeElement) {
498
+ this.nativeElement.tooltipPosition = value;
499
+ }
500
+ }
501
+ /** Sets a template for the tooltip's content. Accepts the id of an HTMLTEmplate element inside the DOM or it's reference.
502
+ * Property type: any
503
+ */
504
+ get tooltipTemplate() {
505
+ return this.nativeElement ? this.nativeElement.tooltipTemplate : undefined;
506
+ }
507
+ set tooltipTemplate(value) {
508
+ if (this.nativeElement) {
509
+ this.nativeElement.tooltipTemplate = value;
510
+ }
511
+ }
512
+ /** If is set to true, the element cannot be focused.
513
+ * Property type: boolean
514
+ */
515
+ get unfocusable() {
516
+ return this.nativeElement ? this.nativeElement.unfocusable : undefined;
517
+ }
518
+ set unfocusable(value) {
519
+ if (this.nativeElement) {
520
+ this.nativeElement.unfocusable = value;
521
+ }
522
+ }
523
+ /** Determines the orientation of the Calendar.
524
+ * Property type: ViewLayout | string
525
+ */
526
+ get view() {
527
+ return this.nativeElement ? this.nativeElement.view : undefined;
528
+ }
529
+ set view(value) {
530
+ if (this.nativeElement) {
531
+ this.nativeElement.view = value;
532
+ }
533
+ }
534
+ /** Determines the visible sections of the Calendar. The view sections are : title, header, footer. Multiple sections can be applied at the same time. By default only the 'header' section is visible.
535
+ * Property type: string[]
536
+ */
537
+ get viewSections() {
538
+ return this.nativeElement ? this.nativeElement.viewSections : undefined;
539
+ }
540
+ set viewSections(value) {
541
+ if (this.nativeElement) {
542
+ this.nativeElement.viewSections = value;
543
+ }
544
+ }
545
+ /** Enables/Disabled week numbering. If enabled week numbers are displayed infront of each week inside the Calendar.
546
+ * Property type: boolean
547
+ */
548
+ get weekNumbers() {
549
+ return this.nativeElement ? this.nativeElement.weekNumbers : undefined;
550
+ }
551
+ set weekNumbers(value) {
552
+ if (this.nativeElement) {
553
+ this.nativeElement.weekNumbers = value;
554
+ }
555
+ }
556
+ /** Determines the number of visible weeks. The value of the property ranges from 1 to 6. Where 1 is one week and 6 is a full month ( 6 weeks ).
557
+ * Property type: number
558
+ */
559
+ get weeks() {
560
+ return this.nativeElement ? this.nativeElement.weeks : undefined;
561
+ }
562
+ set weeks(value) {
563
+ if (this.nativeElement) {
564
+ this.nativeElement.weeks = value;
565
+ }
566
+ }
567
+ /** Determines the year format in the header when DisplayMode is set to Default or when Months property is greater than 1.
568
+ * Property type: YearFormat | string
569
+ */
570
+ get yearFormat() {
571
+ return this.nativeElement ? this.nativeElement.yearFormat : undefined;
572
+ }
573
+ set yearFormat(value) {
574
+ if (this.nativeElement) {
575
+ this.nativeElement.yearFormat = value;
576
+ }
577
+ }
578
+ // Gets the properties of the React component.
579
+ get properties() {
580
+ return ["animation", "animationSettings", "calendarMode", "dayNameFormat", "dateFormatFunction", "disabled", "disableAutoNavigation", "displayMode", "displayModeView", "dropDownHeight", "dropDownWidth", "firstDayOfWeek", "footerTemplate", "headerTemplate", "hideDayNames", "hideOtherMonthDays", "hideTooltipArrow", "importantDates", "importantDatesTemplate", "locale", "localizeFormatFunction", "max", "messages", "min", "months", "monthNameFormat", "name", "readonly", "restrictedDates", "rightToLeft", "scrollButtonsNavigationMode", "scrollButtonsPosition", "selectedDates", "selectionMode", "spinButtonsDelay", "spinButtonsInitialDelay", "theme", "titleTemplate", "tooltip", "tooltipArrow", "tooltipDelay", "tooltipOffset", "tooltipPosition", "tooltipTemplate", "unfocusable", "view", "viewSections", "weekNumbers", "weeks", "yearFormat"];
581
+ }
582
+ // Gets the events of the React component.
583
+ get eventListeners() {
584
+ return ["onChange", "onDisplayModeChanging", "onDisplayModeChange", "onNavigationChanging", "onNavigationChange", "onOpen", "onClose", "onCreate", "onReady"];
585
+ }
586
+ /** Clears the selection. Removes all seleceted dates.
587
+ */
588
+ clearSelection() {
589
+ if (this.nativeElement.isRendered) {
590
+ this.nativeElement.clearSelection();
591
+ }
592
+ else {
593
+ this.nativeElement.whenRendered(() => {
594
+ this.nativeElement.clearSelection();
595
+ });
596
+ }
597
+ }
598
+ /** Navigates forwards/backwards depending on the argument.
599
+ * @param {number | Date | string} step. The argument can be the following: <ul><li> number - representing the number of months to scroll. Can be negavtive. If negative it will scroll backwards.</li><li> Date - a date object representing the Date to navigate to.</li><li> string - a string representing a valid Date, e.g. "2020-10-1" </li></ul>
600
+ * @returns {boolean}
601
+ */
602
+ navigate(step) {
603
+ const result = this.nativeElement.navigate(step);
604
+ return result;
605
+ }
606
+ /** Selects or Unselects a date.
607
+ * @param {Date | string} date. The date to be selected or unselected. The date can be a Date object or a string in valid date format.
608
+ */
609
+ select(date) {
610
+ if (this.nativeElement.isRendered) {
611
+ this.nativeElement.select(date);
612
+ }
613
+ else {
614
+ this.nativeElement.whenRendered(() => {
615
+ this.nativeElement.select(date);
616
+ });
617
+ }
618
+ }
619
+ /** Selects today's date.
620
+ * @returns {Date}
621
+ */
622
+ today() {
623
+ const result = this.nativeElement.today();
624
+ return result;
625
+ }
626
+ componentDidRender(initialize) {
627
+ const that = this;
628
+ const props = {};
629
+ const events = {};
630
+ let styles = null;
631
+ for (let prop in that.props) {
632
+ if (prop === 'children') {
633
+ continue;
634
+ }
635
+ if (prop === 'style') {
636
+ styles = that.props[prop];
637
+ continue;
638
+ }
639
+ if (prop.startsWith('on') && that.properties.indexOf(prop) === -1) {
640
+ events[prop] = that.props[prop];
641
+ continue;
642
+ }
643
+ props[prop] = that.props[prop];
644
+ }
645
+ if (initialize) {
646
+ that.nativeElement = this.componentRef.current;
647
+ }
648
+ for (let prop in props) {
649
+ if (prop === 'class' || prop === 'className') {
650
+ const classNames = props[prop].trim().split(' ');
651
+ for (let className in classNames) {
652
+ if (!that.nativeElement.classList.contains(classNames[className]) && classNames[className] !== "") {
653
+ that.nativeElement.classList.add(classNames[className]);
654
+ }
655
+ }
656
+ continue;
657
+ }
658
+ if (props[prop] !== that.nativeElement[prop]) {
659
+ const normalizeProp = (str) => {
660
+ return str.replace(/-([a-z])/g, function (g) {
661
+ return g[1].toUpperCase();
662
+ });
663
+ };
664
+ if (prop === 'hover' || prop === 'active' || prop === 'focus' || prop === 'selected') {
665
+ that.nativeElement.setAttribute(prop, '');
666
+ }
667
+ const normalizedProp = normalizeProp(prop);
668
+ that.nativeElement[normalizedProp] = props[prop];
669
+ }
670
+ }
671
+ for (let eventName in events) {
672
+ that[eventName] = events[eventName];
673
+ that.nativeElement[eventName.toLowerCase()] = events[eventName];
674
+ }
675
+ if (initialize) {
676
+ Smart.Render();
677
+ if (that.onCreate) {
678
+ that.onCreate();
679
+ }
680
+ that.nativeElement.whenRendered(() => {
681
+ if (that.onReady) {
682
+ that.onReady();
683
+ }
684
+ });
685
+ }
686
+ // setup styles.
687
+ if (styles) {
688
+ for (let styleName in styles) {
689
+ that.nativeElement.style[styleName] = styles[styleName];
690
+ }
691
+ }
692
+ }
693
+ componentDidMount() {
694
+ this.componentDidRender(true);
695
+ }
696
+ componentDidUpdate() {
697
+ this.componentDidRender(false);
698
+ }
699
+ componentWillUnmount() {
700
+ const that = this;
701
+ if (!that.nativeElement) {
702
+ return;
703
+ }
704
+ that.nativeElement.whenRenderedCallbacks = [];
705
+ for (let i = 0; i < that.eventListeners.length; i++) {
706
+ const eventName = that.eventListeners[i];
707
+ that.nativeElement.removeEventListener(eventName.substring(2).toLowerCase(), that[eventName]);
708
+ }
709
+ }
710
+ render() {
711
+ return (React.createElement("smart-calendar", { ref: this.componentRef }, this.props.children));
712
+ }
713
+ }
36
714
 
37
- const Smart = window.Smart;
38
- /**
39
- Calendar allows user to easily select one or more dates. This control supports multi-calendar view, special dates, holidays, weekends, decade views.
40
- */
41
- class Calendar 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 = 'Calendar' + 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
- /** Applies new animation settings when it is enabled. Properties:startSpeed - Determines the initial speed of the animation.easeThreshold - Determines the point at which the animation starts to slow down - the "ease effect".step - Determines the step ( scrolling interval ) at which the animation will run. stepEaseSize - Coefficient that is used to calculated the new step once the threshold has been passed. resetThreshold - Determines the threshold for animation reset. When it's reached the animation will start over.
65
- * Property type: any
66
- */
67
- get animationSettings() {
68
- return this.nativeElement ? this.nativeElement.animationSettings : undefined;
69
- }
70
- set animationSettings(value) {
71
- if (this.nativeElement) {
72
- this.nativeElement.animationSettings = value;
73
- }
74
- }
75
- /** Determines the date controls inside the header of the Calendar.
76
- * Property type: CalendarMode | string
77
- */
78
- get calendarMode() {
79
- return this.nativeElement ? this.nativeElement.calendarMode : undefined;
80
- }
81
- set calendarMode(value) {
82
- if (this.nativeElement) {
83
- this.nativeElement.calendarMode = value;
84
- }
85
- }
86
- /** Determines the format of the day names located above the days inside the calendar.
87
- * Property type: DayFormat | string
88
- */
89
- get dayNameFormat() {
90
- return this.nativeElement ? this.nativeElement.dayNameFormat : undefined;
91
- }
92
- set dayNameFormat(value) {
93
- if (this.nativeElement) {
94
- this.nativeElement.dayNameFormat = value;
95
- }
96
- }
97
- /** A callback that can be used to customize the format of the month name when calendarMode is set to 'default'.
98
- * Property type: any
99
- */
100
- get dateFormatFunction() {
101
- return this.nativeElement ? this.nativeElement.dateFormatFunction : undefined;
102
- }
103
- set dateFormatFunction(value) {
104
- if (this.nativeElement) {
105
- this.nativeElement.dateFormatFunction = value;
106
- }
107
- }
108
- /** Enables or disables the Calendar.
109
- * Property type: boolean
110
- */
111
- get disabled() {
112
- return this.nativeElement ? this.nativeElement.disabled : undefined;
113
- }
114
- set disabled(value) {
115
- if (this.nativeElement) {
116
- this.nativeElement.disabled = value;
117
- }
118
- }
119
- /** Disables auto navigation when the user clicks on a date that's not from the current month in view.
120
- * Property type: boolean
121
- */
122
- get disableAutoNavigation() {
123
- return this.nativeElement ? this.nativeElement.disableAutoNavigation : undefined;
124
- }
125
- set disableAutoNavigation(value) {
126
- if (this.nativeElement) {
127
- this.nativeElement.disableAutoNavigation = value;
128
- }
129
- }
130
- /** Determines the date view of the calendar when calendarMode is set to 'default'
131
- * Property type: CalendarDisplayMode | string
132
- */
133
- get displayMode() {
134
- return this.nativeElement ? this.nativeElement.displayMode : undefined;
135
- }
136
- set displayMode(value) {
137
- if (this.nativeElement) {
138
- this.nativeElement.displayMode = value;
139
- }
140
- }
141
- /** Determines the type of the month/year view when calendarMode is set to Default.
142
- * Property type: CalendarDisplayModeView | string
143
- */
144
- get displayModeView() {
145
- return this.nativeElement ? this.nativeElement.displayModeView : undefined;
146
- }
147
- set displayModeView(value) {
148
- if (this.nativeElement) {
149
- this.nativeElement.displayModeView = value;
150
- }
151
- }
152
- /** Determines the height of the month's drop down inside the Calendar.
153
- * Property type: string | number
154
- */
155
- get dropDownHeight() {
156
- return this.nativeElement ? this.nativeElement.dropDownHeight : undefined;
157
- }
158
- set dropDownHeight(value) {
159
- if (this.nativeElement) {
160
- this.nativeElement.dropDownHeight = value;
161
- }
162
- }
163
- /** Determines the width of the month's drop down inside the Calendar.
164
- * Property type: string | number
165
- */
166
- get dropDownWidth() {
167
- return this.nativeElement ? this.nativeElement.dropDownWidth : undefined;
168
- }
169
- set dropDownWidth(value) {
170
- if (this.nativeElement) {
171
- this.nativeElement.dropDownWidth = value;
172
- }
173
- }
174
- /** Determines the first day of the week. From 0(Sunday) to 6(Saturday)
175
- * Property type: number
176
- */
177
- get firstDayOfWeek() {
178
- return this.nativeElement ? this.nativeElement.firstDayOfWeek : undefined;
179
- }
180
- set firstDayOfWeek(value) {
181
- if (this.nativeElement) {
182
- this.nativeElement.firstDayOfWeek = value;
183
- }
184
- }
185
- /** Sets a custom footer template. Accepts the id of an HTMLTemplateElement or a reference ot it.
186
- * Property type: any
187
- */
188
- get footerTemplate() {
189
- return this.nativeElement ? this.nativeElement.footerTemplate : undefined;
190
- }
191
- set footerTemplate(value) {
192
- if (this.nativeElement) {
193
- this.nativeElement.footerTemplate = value;
194
- }
195
- }
196
- /** Sets custom header template. Accepts the id of an HTMLTemplateElement or a reference ot it.
197
- * Property type: any
198
- */
199
- get headerTemplate() {
200
- return this.nativeElement ? this.nativeElement.headerTemplate : undefined;
201
- }
202
- set headerTemplate(value) {
203
- if (this.nativeElement) {
204
- this.nativeElement.headerTemplate = value;
205
- }
206
- }
207
- /** Hides the names of the weekdays.
208
- * Property type: boolean
209
- */
210
- get hideDayNames() {
211
- return this.nativeElement ? this.nativeElement.hideDayNames : undefined;
212
- }
213
- set hideDayNames(value) {
214
- if (this.nativeElement) {
215
- this.nativeElement.hideDayNames = value;
216
- }
217
- }
218
- /** Hides the dates from other months.
219
- * Property type: boolean
220
- */
221
- get hideOtherMonthDays() {
222
- return this.nativeElement ? this.nativeElement.hideOtherMonthDays : undefined;
223
- }
224
- set hideOtherMonthDays(value) {
225
- if (this.nativeElement) {
226
- this.nativeElement.hideOtherMonthDays = value;
227
- }
228
- }
229
- /** Hides the arrow of the tooltip.
230
- * Property type: boolean
231
- */
232
- get hideTooltipArrow() {
233
- return this.nativeElement ? this.nativeElement.hideTooltipArrow : undefined;
234
- }
235
- set hideTooltipArrow(value) {
236
- if (this.nativeElement) {
237
- this.nativeElement.hideTooltipArrow = value;
238
- }
239
- }
240
- /** Sets the dates that will be displayed as important.
241
- * Property type: string[] | Date[]
242
- */
243
- get importantDates() {
244
- return this.nativeElement ? this.nativeElement.importantDates : undefined;
245
- }
246
- set importantDates(value) {
247
- if (this.nativeElement) {
248
- this.nativeElement.importantDates = value;
249
- }
250
- }
251
- /** Sets a template for the important dates. Accepts the id of an HTMLTemplate element inside the DOM of or a reference to it.
252
- * Property type: any
253
- */
254
- get importantDatesTemplate() {
255
- return this.nativeElement ? this.nativeElement.importantDatesTemplate : undefined;
256
- }
257
- set importantDatesTemplate(value) {
258
- if (this.nativeElement) {
259
- this.nativeElement.importantDatesTemplate = value;
260
- }
261
- }
262
- /** Determines the language of the Calendar.
263
- * Property type: string
264
- */
265
- get locale() {
266
- return this.nativeElement ? this.nativeElement.locale : undefined;
267
- }
268
- set locale(value) {
269
- if (this.nativeElement) {
270
- this.nativeElement.locale = value;
271
- }
272
- }
273
- /** Callback used to customize the format of the messages that are returned from the Localization Module.
274
- * Property type: any
275
- */
276
- get localizeFormatFunction() {
277
- return this.nativeElement ? this.nativeElement.localizeFormatFunction : undefined;
278
- }
279
- set localizeFormatFunction(value) {
280
- if (this.nativeElement) {
281
- this.nativeElement.localizeFormatFunction = value;
282
- }
283
- }
284
- /** Determines the max date for the Calendar. Accepts date objects and valid date string formats.
285
- * Property type: string | Date
286
- */
287
- get max() {
288
- return this.nativeElement ? this.nativeElement.max : undefined;
289
- }
290
- set max(value) {
291
- if (this.nativeElement) {
292
- this.nativeElement.max = value;
293
- }
294
- }
295
- /** Sets or gets an object specifying strings used in the widget that can be localized. Used in conjunction with the property locale.
296
- * Property type: any
297
- */
298
- get messages() {
299
- return this.nativeElement ? this.nativeElement.messages : undefined;
300
- }
301
- set messages(value) {
302
- if (this.nativeElement) {
303
- this.nativeElement.messages = value;
304
- }
305
- }
306
- /** Determines the min date for the Calendar. Accepts date objects and valid date string formats.
307
- * Property type: string | Date
308
- */
309
- get min() {
310
- return this.nativeElement ? this.nativeElement.min : undefined;
311
- }
312
- set min(value) {
313
- if (this.nativeElement) {
314
- this.nativeElement.min = value;
315
- }
316
- }
317
- /** Determines the number of months to be displayed inside the calendar. The maximum amount of months that can be shown is 12. By default only 1 month is shown.
318
- * Property type: number
319
- */
320
- get months() {
321
- return this.nativeElement ? this.nativeElement.months : undefined;
322
- }
323
- set months(value) {
324
- if (this.nativeElement) {
325
- this.nativeElement.months = value;
326
- }
327
- }
328
- /** Determines the format of the month names in the header when DisplayMode is set to Default or when Months property is greater than 1.
329
- * Property type: MonthFormat | string
330
- */
331
- get monthNameFormat() {
332
- return this.nativeElement ? this.nativeElement.monthNameFormat : undefined;
333
- }
334
- set monthNameFormat(value) {
335
- if (this.nativeElement) {
336
- this.nativeElement.monthNameFormat = value;
337
- }
338
- }
339
- /** Sets or gets the name attribute for the element. Name is used when submiting HTML forms.
340
- * Property type: string
341
- */
342
- get name() {
343
- return this.nativeElement ? this.nativeElement.name : undefined;
344
- }
345
- set name(value) {
346
- if (this.nativeElement) {
347
- this.nativeElement.name = value;
348
- }
349
- }
350
- /** If the element is readonly, users cannot interact with it.
351
- * Property type: boolean
352
- */
353
- get readonly() {
354
- return this.nativeElement ? this.nativeElement.readonly : undefined;
355
- }
356
- set readonly(value) {
357
- if (this.nativeElement) {
358
- this.nativeElement.readonly = value;
359
- }
360
- }
361
- /** Sets restricted dates. Restricted dates are dates that cannot be selected/hovered/focused. They are visualy styled as restricted. The dates can be javascript date objects or strings representing a valid date.
362
- * Property type: string[] | Date[]
363
- */
364
- get restrictedDates() {
365
- return this.nativeElement ? this.nativeElement.restrictedDates : undefined;
366
- }
367
- set restrictedDates(value) {
368
- if (this.nativeElement) {
369
- this.nativeElement.restrictedDates = value;
370
- }
371
- }
372
- /** Sets or gets the value indicating whether the element is aligned to support locales using right-to-left fonts.
373
- * Property type: boolean
374
- */
375
- get rightToLeft() {
376
- return this.nativeElement ? this.nativeElement.rightToLeft : undefined;
377
- }
378
- set rightToLeft(value) {
379
- if (this.nativeElement) {
380
- this.nativeElement.rightToLeft = value;
381
- }
382
- }
383
- /** Determines the direction of the navigation buttons located in the header and the animation.
384
- * Property type: ViewLayout | string
385
- */
386
- get scrollButtonsNavigationMode() {
387
- return this.nativeElement ? this.nativeElement.scrollButtonsNavigationMode : undefined;
388
- }
389
- set scrollButtonsNavigationMode(value) {
390
- if (this.nativeElement) {
391
- this.nativeElement.scrollButtonsNavigationMode = value;
392
- }
393
- }
394
- /** Determines the position of the navigation buttons located inside the header.
395
- * Property type: LayoutPosition | string
396
- */
397
- get scrollButtonsPosition() {
398
- return this.nativeElement ? this.nativeElement.scrollButtonsPosition : undefined;
399
- }
400
- set scrollButtonsPosition(value) {
401
- if (this.nativeElement) {
402
- this.nativeElement.scrollButtonsPosition = value;
403
- }
404
- }
405
- /** Sets the dates that will be selected. Selected dates are styled differently than the rest. The dates can be Date objects or strings in a valid date format.
406
- * Property type: string[] | Date[]
407
- */
408
- get selectedDates() {
409
- return this.nativeElement ? this.nativeElement.selectedDates : undefined;
410
- }
411
- set selectedDates(value) {
412
- if (this.nativeElement) {
413
- this.nativeElement.selectedDates = value;
414
- }
415
- }
416
- /** Determines the date selection mode.
417
- * Property type: CalendarSelectionMode | string
418
- */
419
- get selectionMode() {
420
- return this.nativeElement ? this.nativeElement.selectionMode : undefined;
421
- }
422
- set selectionMode(value) {
423
- if (this.nativeElement) {
424
- this.nativeElement.selectionMode = value;
425
- }
426
- }
427
- /** Sets the delay between clicks of the date navigation buttons located in the header of the Calendar.
428
- * Property type: number
429
- */
430
- get spinButtonsDelay() {
431
- return this.nativeElement ? this.nativeElement.spinButtonsDelay : undefined;
432
- }
433
- set spinButtonsDelay(value) {
434
- if (this.nativeElement) {
435
- this.nativeElement.spinButtonsDelay = value;
436
- }
437
- }
438
- /** Determines the initial delay before the action of the date navigation buttons located in the header of the Calendar.
439
- * Property type: number
440
- */
441
- get spinButtonsInitialDelay() {
442
- return this.nativeElement ? this.nativeElement.spinButtonsInitialDelay : undefined;
443
- }
444
- set spinButtonsInitialDelay(value) {
445
- if (this.nativeElement) {
446
- this.nativeElement.spinButtonsInitialDelay = value;
447
- }
448
- }
449
- /** Determines the theme. Theme defines the look of the element
450
- * Property type: string
451
- */
452
- get theme() {
453
- return this.nativeElement ? this.nativeElement.theme : undefined;
454
- }
455
- set theme(value) {
456
- if (this.nativeElement) {
457
- this.nativeElement.theme = value;
458
- }
459
- }
460
- /** Sets a template for the title section of the Calendar. Accepts the id of an HTMLTemplate element inside the DOM of or a reference it.
461
- * Property type: any
462
- */
463
- get titleTemplate() {
464
- return this.nativeElement ? this.nativeElement.titleTemplate : undefined;
465
- }
466
- set titleTemplate(value) {
467
- if (this.nativeElement) {
468
- this.nativeElement.titleTemplate = value;
469
- }
470
- }
471
- /** Enables/Disabled the tooltip for the important dates. If enabled when an important date is hovered a tooltip is displayed.
472
- * Property type: boolean
473
- */
474
- get tooltip() {
475
- return this.nativeElement ? this.nativeElement.tooltip : undefined;
476
- }
477
- set tooltip(value) {
478
- if (this.nativeElement) {
479
- this.nativeElement.tooltip = value;
480
- }
481
- }
482
- /** Show/Hide the arrow of the the tooltip for the important dates. By default the arrow is visible.
483
- * Property type: boolean
484
- */
485
- get tooltipArrow() {
486
- return this.nativeElement ? this.nativeElement.tooltipArrow : undefined;
487
- }
488
- set tooltipArrow(value) {
489
- if (this.nativeElement) {
490
- this.nativeElement.tooltipArrow = value;
491
- }
492
- }
493
- /** Sets the delay of the tooltip before it appears.
494
- * Property type: number
495
- */
496
- get tooltipDelay() {
497
- return this.nativeElement ? this.nativeElement.tooltipDelay : undefined;
498
- }
499
- set tooltipDelay(value) {
500
- if (this.nativeElement) {
501
- this.nativeElement.tooltipDelay = value;
502
- }
503
- }
504
- /** Set's a custom offset to the tooltip's position. Accepts an array of two numbers: the left coordinate and the top coordinate.
505
- * Property type: number[][]
506
- */
507
- get tooltipOffset() {
508
- return this.nativeElement ? this.nativeElement.tooltipOffset : undefined;
509
- }
510
- set tooltipOffset(value) {
511
- if (this.nativeElement) {
512
- this.nativeElement.tooltipOffset = value;
513
- }
514
- }
515
- /** Sets the position of the tooltip.
516
- * Property type: TooltipPosition | string
517
- */
518
- get tooltipPosition() {
519
- return this.nativeElement ? this.nativeElement.tooltipPosition : undefined;
520
- }
521
- set tooltipPosition(value) {
522
- if (this.nativeElement) {
523
- this.nativeElement.tooltipPosition = value;
524
- }
525
- }
526
- /** Sets a template for the tooltip's content. Accepts the id of an HTMLTEmplate element inside the DOM or it's reference.
527
- * Property type: any
528
- */
529
- get tooltipTemplate() {
530
- return this.nativeElement ? this.nativeElement.tooltipTemplate : undefined;
531
- }
532
- set tooltipTemplate(value) {
533
- if (this.nativeElement) {
534
- this.nativeElement.tooltipTemplate = value;
535
- }
536
- }
537
- /** If is set to true, the element cannot be focused.
538
- * Property type: boolean
539
- */
540
- get unfocusable() {
541
- return this.nativeElement ? this.nativeElement.unfocusable : undefined;
542
- }
543
- set unfocusable(value) {
544
- if (this.nativeElement) {
545
- this.nativeElement.unfocusable = value;
546
- }
547
- }
548
- /** Determines the orientation of the Calendar.
549
- * Property type: ViewLayout | string
550
- */
551
- get view() {
552
- return this.nativeElement ? this.nativeElement.view : undefined;
553
- }
554
- set view(value) {
555
- if (this.nativeElement) {
556
- this.nativeElement.view = value;
557
- }
558
- }
559
- /** Determines the visible sections of the Calendar. The view sections are : title, header, footer. Multiple sections can be applied at the same time. By default only the 'header' section is visible.
560
- * Property type: string[]
561
- */
562
- get viewSections() {
563
- return this.nativeElement ? this.nativeElement.viewSections : undefined;
564
- }
565
- set viewSections(value) {
566
- if (this.nativeElement) {
567
- this.nativeElement.viewSections = value;
568
- }
569
- }
570
- /** Enables/Disabled week numbering. If enabled week numbers are displayed infront of each week inside the Calendar.
571
- * Property type: boolean
572
- */
573
- get weekNumbers() {
574
- return this.nativeElement ? this.nativeElement.weekNumbers : undefined;
575
- }
576
- set weekNumbers(value) {
577
- if (this.nativeElement) {
578
- this.nativeElement.weekNumbers = value;
579
- }
580
- }
581
- /** Determines the number of visible weeks. The value of the property ranges from 1 to 6. Where 1 is one week and 6 is a full month ( 6 weeks ).
582
- * Property type: number
583
- */
584
- get weeks() {
585
- return this.nativeElement ? this.nativeElement.weeks : undefined;
586
- }
587
- set weeks(value) {
588
- if (this.nativeElement) {
589
- this.nativeElement.weeks = value;
590
- }
591
- }
592
- /** Determines the year format in the header when DisplayMode is set to Default or when Months property is greater than 1.
593
- * Property type: YearFormat | string
594
- */
595
- get yearFormat() {
596
- return this.nativeElement ? this.nativeElement.yearFormat : undefined;
597
- }
598
- set yearFormat(value) {
599
- if (this.nativeElement) {
600
- this.nativeElement.yearFormat = value;
601
- }
602
- }
603
- // Gets the properties of the React component.
604
- get properties() {
605
- return ["animation", "animationSettings", "calendarMode", "dayNameFormat", "dateFormatFunction", "disabled", "disableAutoNavigation", "displayMode", "displayModeView", "dropDownHeight", "dropDownWidth", "firstDayOfWeek", "footerTemplate", "headerTemplate", "hideDayNames", "hideOtherMonthDays", "hideTooltipArrow", "importantDates", "importantDatesTemplate", "locale", "localizeFormatFunction", "max", "messages", "min", "months", "monthNameFormat", "name", "readonly", "restrictedDates", "rightToLeft", "scrollButtonsNavigationMode", "scrollButtonsPosition", "selectedDates", "selectionMode", "spinButtonsDelay", "spinButtonsInitialDelay", "theme", "titleTemplate", "tooltip", "tooltipArrow", "tooltipDelay", "tooltipOffset", "tooltipPosition", "tooltipTemplate", "unfocusable", "view", "viewSections", "weekNumbers", "weeks", "yearFormat"];
606
- }
607
- // Gets the events of the React component.
608
- get eventListeners() {
609
- return ["onChange", "onDisplayModeChanging", "onDisplayModeChange", "onNavigationChanging", "onNavigationChange", "onOpen", "onClose", "onCreate", "onReady"];
610
- }
611
- /** Clears the selection. Removes all seleceted dates.
612
- */
613
- clearSelection() {
614
- if (this.nativeElement.isRendered) {
615
- this.nativeElement.clearSelection();
616
- }
617
- else {
618
- this.nativeElement.whenRendered(() => {
619
- this.nativeElement.clearSelection();
620
- });
621
- }
622
- }
623
- /** Navigates forwards/backwards depending on the argument.
624
- * @param {number | Date | string} step. The argument can be the following: <ul><li> number - representing the number of months to scroll. Can be negavtive. If negative it will scroll backwards.</li><li> Date - a date object representing the Date to navigate to.</li><li> string - a string representing a valid Date, e.g. "2020-10-1" </li></ul>
625
- * @returns {boolean}
626
- */
627
- navigate(step) {
628
- return __awaiter(this, void 0, void 0, function* () {
629
- const getResultOnRender = () => {
630
- return new Promise(resolve => {
631
- this.nativeElement.whenRendered(() => {
632
- const result = this.nativeElement.navigate(step);
633
- resolve(result);
634
- });
635
- });
636
- };
637
- const result = yield getResultOnRender();
638
- return result;
639
- });
640
- }
641
- /** Selects or Unselects a date.
642
- * @param {Date | string} date. The date to be selected or unselected. The date can be a Date object or a string in valid date format.
643
- */
644
- select(date) {
645
- if (this.nativeElement.isRendered) {
646
- this.nativeElement.select(date);
647
- }
648
- else {
649
- this.nativeElement.whenRendered(() => {
650
- this.nativeElement.select(date);
651
- });
652
- }
653
- }
654
- /** Selects today's date.
655
- * @returns {Date}
656
- */
657
- today() {
658
- return __awaiter(this, void 0, void 0, function* () {
659
- const getResultOnRender = () => {
660
- return new Promise(resolve => {
661
- this.nativeElement.whenRendered(() => {
662
- const result = this.nativeElement.today();
663
- resolve(result);
664
- });
665
- });
666
- };
667
- const result = yield getResultOnRender();
668
- return result;
669
- });
670
- }
671
- componentDidRender(initialize) {
672
- const that = this;
673
- const props = {};
674
- const events = {};
675
- let styles = null;
676
- for (let prop in that.props) {
677
- if (prop === 'children') {
678
- continue;
679
- }
680
- if (prop === 'style') {
681
- styles = that.props[prop];
682
- continue;
683
- }
684
- if (prop.startsWith('on') && that.properties.indexOf(prop) === -1) {
685
- events[prop] = that.props[prop];
686
- continue;
687
- }
688
- props[prop] = that.props[prop];
689
- }
690
- if (initialize) {
691
- that.nativeElement = this.componentRef.current;
692
- }
693
- for (let prop in props) {
694
- if (prop === 'class' || prop === 'className') {
695
- const classNames = props[prop].trim().split(' ');
696
- for (let className in classNames) {
697
- if (!that.nativeElement.classList.contains(classNames[className]) && classNames[className] !== "") {
698
- that.nativeElement.classList.add(classNames[className]);
699
- }
700
- }
701
- continue;
702
- }
703
- if (props[prop] !== that.nativeElement[prop]) {
704
- const normalizeProp = (str) => {
705
- return str.replace(/-([a-z])/g, function (g) {
706
- return g[1].toUpperCase();
707
- });
708
- };
709
- if (prop === 'hover' || prop === 'active' || prop === 'focus' || prop === 'selected') {
710
- that.nativeElement.setAttribute(prop, '');
711
- }
712
- const normalizedProp = normalizeProp(prop);
713
- that.nativeElement[normalizedProp] = props[prop];
714
- }
715
- }
716
- for (let eventName in events) {
717
- that[eventName] = events[eventName];
718
- that.nativeElement[eventName.toLowerCase()] = events[eventName];
719
- }
720
- if (initialize) {
721
- Smart.Render();
722
- if (that.onCreate) {
723
- that.onCreate();
724
- }
725
- that.nativeElement.whenRendered(() => {
726
- if (that.onReady) {
727
- that.onReady();
728
- }
729
- });
730
- }
731
- // setup styles.
732
- if (styles) {
733
- for (let styleName in styles) {
734
- that.nativeElement.style[styleName] = styles[styleName];
735
- }
736
- }
737
- }
738
- componentDidMount() {
739
- this.componentDidRender(true);
740
- }
741
- componentDidUpdate() {
742
- this.componentDidRender(false);
743
- }
744
- componentWillUnmount() {
745
- const that = this;
746
- if (!that.nativeElement) {
747
- return;
748
- }
749
- that.nativeElement.whenRenderedCallbacks = [];
750
- for (let i = 0; i < that.eventListeners.length; i++) {
751
- const eventName = that.eventListeners[i];
752
- that.nativeElement.removeEventListener(eventName.substring(2).toLowerCase(), that[eventName]);
753
- }
754
- }
755
- render() {
756
- return (React.createElement("smart-calendar", { ref: this.componentRef }, this.props.children));
757
- }
758
- }
715
+ exports.Smart = Smart;
716
+ exports.Calendar = Calendar;
717
+ exports.default = Calendar;
759
718
 
760
- exports.Smart = Smart;
761
- exports.Calendar = Calendar;
762
- exports.default = Calendar;
763
-
764
- Object.defineProperty(exports, '__esModule', { value: true });
719
+ Object.defineProperty(exports, '__esModule', { value: true });
765
720
 
766
721
  })));