@syncfusion/ej2-calendars 21.2.10 → 22.1.34

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 (264) hide show
  1. package/.eslintrc.json +1 -0
  2. package/CHANGELOG.md +7 -31
  3. package/dist/ej2-calendars.min.js +2 -2
  4. package/dist/ej2-calendars.umd.min.js +2 -2
  5. package/dist/ej2-calendars.umd.min.js.map +1 -1
  6. package/dist/es6/ej2-calendars.es2015.js +246 -19
  7. package/dist/es6/ej2-calendars.es2015.js.map +1 -1
  8. package/dist/es6/ej2-calendars.es5.js +245 -18
  9. package/dist/es6/ej2-calendars.es5.js.map +1 -1
  10. package/dist/global/ej2-calendars.min.js +2 -2
  11. package/dist/global/ej2-calendars.min.js.map +1 -1
  12. package/dist/global/index.d.ts +1 -1
  13. package/package.json +10 -10
  14. package/src/calendar/calendar-model.d.ts +1 -1
  15. package/src/calendar/calendar.d.ts +5 -5
  16. package/src/calendar/calendar.js +2 -2
  17. package/src/datepicker/datepicker-model.d.ts +8 -1
  18. package/src/datepicker/datepicker.d.ts +13 -0
  19. package/src/datepicker/datepicker.js +70 -3
  20. package/src/daterangepicker/daterangepicker-model.d.ts +8 -1
  21. package/src/daterangepicker/daterangepicker.d.ts +13 -0
  22. package/src/daterangepicker/daterangepicker.js +91 -6
  23. package/src/datetimepicker/datetimepicker-model.d.ts +8 -1
  24. package/src/datetimepicker/datetimepicker.d.ts +10 -1
  25. package/src/datetimepicker/datetimepicker.js +50 -5
  26. package/src/maskbase/masked-date-time.js +6 -1
  27. package/src/timepicker/timepicker-model.d.ts +7 -0
  28. package/src/timepicker/timepicker.d.ts +7 -0
  29. package/src/timepicker/timepicker.js +27 -2
  30. package/styles/bootstrap-dark.css +715 -19
  31. package/styles/bootstrap.css +711 -15
  32. package/styles/bootstrap4.css +711 -16
  33. package/styles/bootstrap5-dark.css +708 -12
  34. package/styles/bootstrap5.css +708 -12
  35. package/styles/calendar/_bootstrap-dark-definition.scss +1 -1
  36. package/styles/calendar/_bootstrap4-definition.scss +1 -1
  37. package/styles/calendar/_layout.scss +64 -19
  38. package/styles/calendar/_material-definition.scss +1 -1
  39. package/styles/calendar/_material3-dark-definition.scss +1 -0
  40. package/styles/calendar/_material3-definition.scss +195 -0
  41. package/styles/calendar/_theme.scss +2 -1
  42. package/styles/calendar/bootstrap-dark.css +3 -2
  43. package/styles/calendar/bootstrap.css +2 -1
  44. package/styles/calendar/bootstrap4.css +3 -2
  45. package/styles/calendar/bootstrap5-dark.css +2 -1
  46. package/styles/calendar/bootstrap5.css +2 -1
  47. package/styles/calendar/fabric-dark.css +2 -1
  48. package/styles/calendar/fabric.css +2 -1
  49. package/styles/calendar/fluent-dark.css +2 -1
  50. package/styles/calendar/fluent.css +2 -1
  51. package/styles/calendar/highcontrast-light.css +2 -1
  52. package/styles/calendar/highcontrast.css +2 -1
  53. package/styles/calendar/icons/_material3-dark.scss +1 -0
  54. package/styles/calendar/material-dark.css +2 -1
  55. package/styles/calendar/material.css +3 -2
  56. package/styles/calendar/material3-dark.css +895 -0
  57. package/styles/calendar/material3-dark.scss +6 -0
  58. package/styles/calendar/material3.css +951 -0
  59. package/styles/calendar/material3.scss +6 -0
  60. package/styles/calendar/tailwind-dark.css +2 -1
  61. package/styles/calendar/tailwind.css +2 -1
  62. package/styles/datepicker/_bootstrap-dark-definition.scss +71 -11
  63. package/styles/datepicker/_bootstrap-definition.scss +71 -9
  64. package/styles/datepicker/_bootstrap4-definition.scss +70 -9
  65. package/styles/datepicker/_bootstrap5-definition.scss +67 -6
  66. package/styles/datepicker/_fabric-dark-definition.scss +70 -9
  67. package/styles/datepicker/_fabric-definition.scss +70 -9
  68. package/styles/datepicker/_fluent-definition.scss +67 -6
  69. package/styles/datepicker/_fusionnew-definition.scss +67 -6
  70. package/styles/datepicker/_highcontrast-definition.scss +69 -8
  71. package/styles/datepicker/_highcontrast-light-definition.scss +69 -8
  72. package/styles/datepicker/_layout.scss +214 -66
  73. package/styles/datepicker/_material-dark-definition.scss +67 -6
  74. package/styles/datepicker/_material-definition.scss +67 -6
  75. package/styles/datepicker/_material3-dark-definition.scss +1 -0
  76. package/styles/datepicker/_material3-definition.scss +116 -0
  77. package/styles/datepicker/_tailwind-definition.scss +67 -6
  78. package/styles/datepicker/_theme.scss +0 -1
  79. package/styles/datepicker/bootstrap-dark.css +262 -8
  80. package/styles/datepicker/bootstrap.css +262 -8
  81. package/styles/datepicker/bootstrap4.css +261 -8
  82. package/styles/datepicker/bootstrap5-dark.css +259 -5
  83. package/styles/datepicker/bootstrap5.css +259 -5
  84. package/styles/datepicker/fabric-dark.css +255 -8
  85. package/styles/datepicker/fabric.css +255 -8
  86. package/styles/datepicker/fluent-dark.css +258 -5
  87. package/styles/datepicker/fluent.css +258 -5
  88. package/styles/datepicker/highcontrast-light.css +260 -7
  89. package/styles/datepicker/highcontrast.css +260 -7
  90. package/styles/datepicker/icons/_bootstrap-dark.scss +21 -0
  91. package/styles/datepicker/icons/_bootstrap.scss +20 -0
  92. package/styles/datepicker/icons/_bootstrap4.scss +20 -0
  93. package/styles/datepicker/icons/_bootstrap5.scss +20 -0
  94. package/styles/datepicker/icons/_fabric-dark.scss +13 -0
  95. package/styles/datepicker/icons/_fabric.scss +13 -0
  96. package/styles/datepicker/icons/_fluent.scss +20 -0
  97. package/styles/datepicker/icons/_fusionnew.scss +20 -0
  98. package/styles/datepicker/icons/_highcontrast-light.scss +20 -0
  99. package/styles/datepicker/icons/_highcontrast.scss +20 -0
  100. package/styles/datepicker/icons/_material-dark.scss +13 -0
  101. package/styles/datepicker/icons/_material.scss +13 -0
  102. package/styles/datepicker/icons/_material3-dark.scss +1 -0
  103. package/styles/datepicker/icons/_material3.scss +23 -0
  104. package/styles/datepicker/icons/_tailwind.scss +20 -0
  105. package/styles/datepicker/material-dark.css +252 -5
  106. package/styles/datepicker/material.css +204 -40
  107. package/styles/datepicker/material3-dark.css +510 -0
  108. package/styles/datepicker/material3-dark.scss +8 -0
  109. package/styles/datepicker/material3.css +566 -0
  110. package/styles/datepicker/material3.scss +8 -0
  111. package/styles/datepicker/tailwind-dark.css +258 -5
  112. package/styles/datepicker/tailwind.css +258 -5
  113. package/styles/daterangepicker/_bootstrap-dark-definition.scss +67 -2
  114. package/styles/daterangepicker/_bootstrap-definition.scss +65 -0
  115. package/styles/daterangepicker/_bootstrap4-definition.scss +65 -0
  116. package/styles/daterangepicker/_bootstrap5-definition.scss +65 -0
  117. package/styles/daterangepicker/_fabric-dark-definition.scss +65 -0
  118. package/styles/daterangepicker/_fabric-definition.scss +65 -0
  119. package/styles/daterangepicker/_fluent-definition.scss +66 -1
  120. package/styles/daterangepicker/_fusionnew-definition.scss +65 -0
  121. package/styles/daterangepicker/_highcontrast-definition.scss +65 -0
  122. package/styles/daterangepicker/_highcontrast-light-definition.scss +65 -0
  123. package/styles/daterangepicker/_layout.scss +325 -116
  124. package/styles/daterangepicker/_material-dark-definition.scss +65 -0
  125. package/styles/daterangepicker/_material-definition.scss +65 -0
  126. package/styles/daterangepicker/_material3-dark-definition.scss +1 -0
  127. package/styles/daterangepicker/_material3-definition.scss +278 -0
  128. package/styles/daterangepicker/_tailwind-definition.scss +65 -0
  129. package/styles/daterangepicker/_theme.scss +21 -1
  130. package/styles/daterangepicker/bootstrap-dark.css +358 -7
  131. package/styles/daterangepicker/bootstrap.css +355 -4
  132. package/styles/daterangepicker/bootstrap4.css +355 -4
  133. package/styles/daterangepicker/bootstrap5-dark.css +355 -4
  134. package/styles/daterangepicker/bootstrap5.css +355 -4
  135. package/styles/daterangepicker/fabric-dark.css +355 -4
  136. package/styles/daterangepicker/fabric.css +355 -4
  137. package/styles/daterangepicker/fluent-dark.css +356 -5
  138. package/styles/daterangepicker/fluent.css +356 -5
  139. package/styles/daterangepicker/highcontrast-light.css +355 -4
  140. package/styles/daterangepicker/highcontrast.css +355 -4
  141. package/styles/daterangepicker/icons/_bootstrap-dark.scss +20 -0
  142. package/styles/daterangepicker/icons/_bootstrap.scss +20 -0
  143. package/styles/daterangepicker/icons/_bootstrap4.scss +20 -0
  144. package/styles/daterangepicker/icons/_bootstrap5.scss +20 -0
  145. package/styles/daterangepicker/icons/_fabric-dark.scss +20 -0
  146. package/styles/daterangepicker/icons/_fabric.scss +20 -0
  147. package/styles/daterangepicker/icons/_fluent.scss +20 -0
  148. package/styles/daterangepicker/icons/_fusionnew.scss +20 -0
  149. package/styles/daterangepicker/icons/_highcontrast-light.scss +20 -0
  150. package/styles/daterangepicker/icons/_highcontrast.scss +20 -0
  151. package/styles/daterangepicker/icons/_material-dark.scss +20 -0
  152. package/styles/daterangepicker/icons/_material.scss +20 -0
  153. package/styles/daterangepicker/icons/_material3-dark.scss +1 -0
  154. package/styles/daterangepicker/icons/_material3.scss +32 -2
  155. package/styles/daterangepicker/icons/_tailwind.scss +20 -0
  156. package/styles/daterangepicker/material-dark.css +355 -4
  157. package/styles/daterangepicker/material.css +309 -70
  158. package/styles/daterangepicker/material3-dark.css +1330 -0
  159. package/styles/daterangepicker/material3-dark.scss +8 -0
  160. package/styles/daterangepicker/material3.css +1386 -0
  161. package/styles/daterangepicker/material3.scss +8 -0
  162. package/styles/daterangepicker/tailwind-dark.css +355 -4
  163. package/styles/daterangepicker/tailwind.css +355 -4
  164. package/styles/datetimepicker/_bootstrap-dark-definition.scss +5 -0
  165. package/styles/datetimepicker/_bootstrap-definition.scss +5 -0
  166. package/styles/datetimepicker/_bootstrap4-definition.scss +5 -0
  167. package/styles/datetimepicker/_bootstrap5-definition.scss +5 -0
  168. package/styles/datetimepicker/_fabric-dark-definition.scss +5 -0
  169. package/styles/datetimepicker/_fabric-definition.scss +5 -0
  170. package/styles/datetimepicker/_fluent-definition.scss +5 -0
  171. package/styles/datetimepicker/_fusionnew-definition.scss +5 -0
  172. package/styles/datetimepicker/_highcontrast-definition.scss +5 -0
  173. package/styles/datetimepicker/_highcontrast-light-definition.scss +5 -0
  174. package/styles/datetimepicker/_layout.scss +47 -4
  175. package/styles/datetimepicker/_material-dark-definition.scss +5 -0
  176. package/styles/datetimepicker/_material-definition.scss +5 -0
  177. package/styles/datetimepicker/_material3-dark-definition.scss +1 -0
  178. package/styles/datetimepicker/_material3-definition.scss +71 -0
  179. package/styles/datetimepicker/_tailwind-definition.scss +5 -0
  180. package/styles/datetimepicker/bootstrap-dark.css +8 -2
  181. package/styles/datetimepicker/bootstrap.css +8 -2
  182. package/styles/datetimepicker/bootstrap4.css +8 -2
  183. package/styles/datetimepicker/bootstrap5-dark.css +8 -2
  184. package/styles/datetimepicker/bootstrap5.css +8 -2
  185. package/styles/datetimepicker/fabric-dark.css +8 -2
  186. package/styles/datetimepicker/fabric.css +8 -2
  187. package/styles/datetimepicker/fluent-dark.css +8 -2
  188. package/styles/datetimepicker/fluent.css +8 -2
  189. package/styles/datetimepicker/highcontrast-light.css +8 -2
  190. package/styles/datetimepicker/highcontrast.css +8 -2
  191. package/styles/datetimepicker/icons/_material3-dark.scss +1 -0
  192. package/styles/datetimepicker/material-dark.css +8 -2
  193. package/styles/datetimepicker/material.css +8 -2
  194. package/styles/datetimepicker/material3-dark.css +283 -0
  195. package/styles/datetimepicker/material3-dark.scss +9 -0
  196. package/styles/datetimepicker/material3.css +339 -0
  197. package/styles/datetimepicker/material3.scss +9 -0
  198. package/styles/datetimepicker/tailwind-dark.css +8 -2
  199. package/styles/datetimepicker/tailwind.css +8 -2
  200. package/styles/fabric-dark.css +704 -15
  201. package/styles/fabric.css +704 -15
  202. package/styles/fluent-dark.css +708 -13
  203. package/styles/fluent.css +708 -13
  204. package/styles/highcontrast-light.css +709 -14
  205. package/styles/highcontrast.css +709 -14
  206. package/styles/material-dark.css +701 -12
  207. package/styles/material.css +608 -114
  208. package/styles/material3-dark.css +3179 -0
  209. package/styles/material3-dark.scss +7 -0
  210. package/styles/material3.css +3235 -0
  211. package/styles/material3.scss +7 -0
  212. package/styles/tailwind-dark.css +707 -12
  213. package/styles/tailwind.css +707 -12
  214. package/styles/timepicker/_bootstrap-dark-definition.scss +28 -0
  215. package/styles/timepicker/_bootstrap-definition.scss +28 -0
  216. package/styles/timepicker/_bootstrap4-definition.scss +28 -0
  217. package/styles/timepicker/_bootstrap5-definition.scss +28 -0
  218. package/styles/timepicker/_fabric-dark-definition.scss +28 -0
  219. package/styles/timepicker/_fabric-definition.scss +28 -0
  220. package/styles/timepicker/_fluent-definition.scss +28 -0
  221. package/styles/timepicker/_fusionnew-definition.scss +28 -0
  222. package/styles/timepicker/_highcontrast-definition.scss +28 -0
  223. package/styles/timepicker/_highcontrast-light-definition.scss +28 -0
  224. package/styles/timepicker/_layout.scss +86 -1
  225. package/styles/timepicker/_material-dark-definition.scss +28 -0
  226. package/styles/timepicker/_material-definition.scss +28 -0
  227. package/styles/timepicker/_material3-dark-definition.scss +1 -0
  228. package/styles/timepicker/_material3-definition.scss +99 -0
  229. package/styles/timepicker/_tailwind-definition.scss +28 -0
  230. package/styles/timepicker/_theme.scss +13 -0
  231. package/styles/timepicker/bootstrap-dark.css +84 -0
  232. package/styles/timepicker/bootstrap.css +84 -0
  233. package/styles/timepicker/bootstrap4.css +84 -0
  234. package/styles/timepicker/bootstrap5-dark.css +84 -0
  235. package/styles/timepicker/bootstrap5.css +84 -0
  236. package/styles/timepicker/fabric-dark.css +84 -0
  237. package/styles/timepicker/fabric.css +84 -0
  238. package/styles/timepicker/fluent-dark.css +84 -0
  239. package/styles/timepicker/fluent.css +84 -0
  240. package/styles/timepicker/highcontrast-light.css +84 -0
  241. package/styles/timepicker/highcontrast.css +84 -0
  242. package/styles/timepicker/icons/_bootstrap-dark.scss +12 -0
  243. package/styles/timepicker/icons/_bootstrap.scss +12 -0
  244. package/styles/timepicker/icons/_bootstrap4.scss +12 -0
  245. package/styles/timepicker/icons/_bootstrap5.scss +12 -0
  246. package/styles/timepicker/icons/_fabric-dark.scss +12 -0
  247. package/styles/timepicker/icons/_fabric.scss +12 -0
  248. package/styles/timepicker/icons/_fluent.scss +12 -0
  249. package/styles/timepicker/icons/_fusionnew.scss +12 -0
  250. package/styles/timepicker/icons/_highcontrast-light.scss +12 -0
  251. package/styles/timepicker/icons/_highcontrast.scss +12 -0
  252. package/styles/timepicker/icons/_material-dark.scss +12 -0
  253. package/styles/timepicker/icons/_material.scss +12 -0
  254. package/styles/timepicker/icons/_material3-dark.scss +1 -0
  255. package/styles/timepicker/icons/_material3.scss +12 -0
  256. package/styles/timepicker/icons/_tailwind.scss +12 -0
  257. package/styles/timepicker/material-dark.css +84 -0
  258. package/styles/timepicker/material.css +84 -0
  259. package/styles/timepicker/material3-dark.css +382 -0
  260. package/styles/timepicker/material3-dark.scss +7 -0
  261. package/styles/timepicker/material3.css +438 -0
  262. package/styles/timepicker/material3.scss +7 -0
  263. package/styles/timepicker/tailwind-dark.css +84 -0
  264. package/styles/timepicker/tailwind.css +84 -0
@@ -228,7 +228,9 @@ var DateTimePicker = /** @class */ (function (_super) {
228
228
  this.inputElement.tabIndex = -1;
229
229
  }
230
230
  }
231
- Input.calculateWidth(this.inputElement, this.inputWrapper.container);
231
+ if (this.floatLabelType === 'Auto') {
232
+ Input.calculateWidth(this.inputElement, this.inputWrapper.container);
233
+ }
232
234
  if (!isNullOrUndefined(this.inputWrapper.buttons[0]) && !isNullOrUndefined(this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0]) && this.floatLabelType !== 'Never') {
233
235
  this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0].classList.add('e-date-time-icon');
234
236
  }
@@ -549,7 +551,12 @@ var DateTimePicker = /** @class */ (function (_super) {
549
551
  this.renderPopup();
550
552
  this.setTimeScrollPosition();
551
553
  this.openPopup(e);
552
- this.popupObject.refreshPosition(this.inputElement);
554
+ if (!Browser.isDevice || (Browser.isDevice && !this.fullScreenMode)) {
555
+ this.popupObject.refreshPosition(this.inputElement);
556
+ }
557
+ if (Browser.isDevice && this.fullScreenMode) {
558
+ this.dateTimeWrapper.style.left = '0px';
559
+ }
553
560
  }
554
561
  }
555
562
  };
@@ -655,7 +662,31 @@ var DateTimePicker = /** @class */ (function (_super) {
655
662
  }
656
663
  }
657
664
  });
658
- this.popupObject.element.style.maxHeight = POPUPDIMENSION;
665
+ if (Browser.isDevice && this.fullScreenMode) {
666
+ this.popupObject.element.style.display = "flex";
667
+ this.popupObject.element.style.maxHeight = "100%";
668
+ this.popupObject.element.style.width = "100%";
669
+ }
670
+ else {
671
+ this.popupObject.element.style.maxHeight = POPUPDIMENSION;
672
+ }
673
+ if (Browser.isDevice && this.fullScreenMode) {
674
+ var modelWrapper = createElement('div', { className: 'e-datetime-mob-popup-wrap' });
675
+ var modelHeader = this.createElement('div', { className: 'e-model-header' });
676
+ var modelTitleSpan = this.createElement("span", { className: "e-model-title" });
677
+ modelTitleSpan.textContent = "Select time";
678
+ var modelCloseIcon = this.createElement("span", { className: "e-popup-close" });
679
+ EventHandler.add(modelCloseIcon, 'mousedown touchstart', this.dateTimeCloseHandler, this);
680
+ var timeContent = this.dateTimeWrapper.querySelector(".e-content");
681
+ modelHeader.appendChild(modelCloseIcon);
682
+ modelHeader.appendChild(modelTitleSpan);
683
+ modelWrapper.appendChild(modelHeader);
684
+ modelWrapper.appendChild(timeContent);
685
+ this.dateTimeWrapper.insertBefore(modelWrapper, this.dateTimeWrapper.firstElementChild);
686
+ }
687
+ };
688
+ DateTimePicker.prototype.dateTimeCloseHandler = function (e) {
689
+ this.hide();
659
690
  };
660
691
  DateTimePicker.prototype.setDimension = function (width) {
661
692
  if (typeof width === 'number') {
@@ -711,7 +742,12 @@ var DateTimePicker = /** @class */ (function (_super) {
711
742
  DateTimePicker.prototype.getPopupHeight = function () {
712
743
  var height = parseInt(POPUPDIMENSION, 10);
713
744
  var popupHeight = this.dateTimeWrapper.getBoundingClientRect().height;
714
- return popupHeight > height ? height : popupHeight;
745
+ if (Browser.isDevice && this.fullScreenMode) {
746
+ return popupHeight;
747
+ }
748
+ else {
749
+ return popupHeight > height ? height : popupHeight;
750
+ }
715
751
  };
716
752
  DateTimePicker.prototype.changeEvent = function (e) {
717
753
  _super.prototype.changeEvent.call(this, e);
@@ -749,7 +785,13 @@ var DateTimePicker = /** @class */ (function (_super) {
749
785
  var height = nextElement ? nextElement.offsetTop : element.offsetTop;
750
786
  var lineHeight = element.getBoundingClientRect().height;
751
787
  if ((height + element.offsetTop) > listHeight) {
752
- this.dateTimeWrapper.scrollTop = nextElement ? (height - (listHeight / HALFPOSITION + lineHeight / HALFPOSITION)) : height;
788
+ if (Browser.isDevice && this.fullScreenMode) {
789
+ var listContent = this.dateTimeWrapper.querySelector('.e-content');
790
+ listContent.scrollTop = nextElement ? (height - (listHeight / HALFPOSITION + lineHeight / HALFPOSITION)) : height;
791
+ }
792
+ else {
793
+ this.dateTimeWrapper.scrollTop = nextElement ? (height - (listHeight / HALFPOSITION + lineHeight / HALFPOSITION)) : height;
794
+ }
753
795
  }
754
796
  else {
755
797
  this.dateTimeWrapper.scrollTop = 0;
@@ -1537,6 +1579,9 @@ var DateTimePicker = /** @class */ (function (_super) {
1537
1579
  __decorate([
1538
1580
  Property(false)
1539
1581
  ], DateTimePicker.prototype, "strictMode", void 0);
1582
+ __decorate([
1583
+ Property(false)
1584
+ ], DateTimePicker.prototype, "fullScreenMode", void 0);
1540
1585
  __decorate([
1541
1586
  Property(null)
1542
1587
  ], DateTimePicker.prototype, "serverTimezoneOffset", void 0);
@@ -129,6 +129,11 @@ var MaskedDateTime = /** @class */ (function () {
129
129
  };
130
130
  MaskedDateTime.prototype.validCharacterCheck = function () {
131
131
  var start = this.parent.inputElement.selectionStart;
132
+ if (this.parent.moduleName !== 'timepicker') {
133
+ if (start === this.hiddenMask.length && this.mask === this.parent.inputElement.value) {
134
+ start = 0;
135
+ }
136
+ }
132
137
  for (var i = start, j = start - 1; i < this.hiddenMask.length || j >= 0; i++, j--) {
133
138
  if (i < this.hiddenMask.length && this.validCharacters.indexOf(this.hiddenMask[i]) !== -1) {
134
139
  this.setSelection(this.hiddenMask[i]);
@@ -659,7 +664,7 @@ var MaskedDateTime = /** @class */ (function () {
659
664
  MaskedDateTime.prototype.navigateSelection = function (isbackward) {
660
665
  var start = this.parent.inputElement.selectionStart;
661
666
  var end = this.parent.inputElement.selectionEnd;
662
- var formatIndex = isbackward ? start - 1 : end + 1;
667
+ var formatIndex = isbackward ? start - 1 : end;
663
668
  this.navigated = true;
664
669
  while (formatIndex < this.hiddenMask.length && formatIndex >= 0) {
665
670
  if (this.validCharacters.indexOf(this.hiddenMask[formatIndex]) >= 0) {
@@ -168,6 +168,13 @@ export interface TimePickerModel extends ComponentModel{
168
168
  */
169
169
  enabled?: boolean;
170
170
 
171
+ /**
172
+ * Specifies the component popup display full screen in mobile devices.
173
+ *
174
+ * @default false
175
+ */
176
+ fullScreenMode?: boolean;
177
+
171
178
  /**
172
179
  * Specifies the component in readonly state.
173
180
  *
@@ -288,6 +288,12 @@ export declare class TimePicker extends Component<HTMLElement> implements IInput
288
288
  * @default true
289
289
  */
290
290
  enabled: boolean;
291
+ /**
292
+ * Specifies the component popup display full screen in mobile devices.
293
+ *
294
+ * @default false
295
+ */
296
+ fullScreenMode: boolean;
291
297
  /**
292
298
  * Specifies the component in readonly state.
293
299
  *
@@ -504,6 +510,7 @@ export declare class TimePicker extends Component<HTMLElement> implements IInput
504
510
  protected getPopupHeight(): number;
505
511
  private generateList;
506
512
  private renderPopup;
513
+ private timePopupCloseHandler;
507
514
  private getFormattedValue;
508
515
  private getDateObject;
509
516
  private updateHtmlAttributeToWrapper;
@@ -329,6 +329,9 @@ var TimePicker = /** @class */ (function (_super) {
329
329
  return (!isNullOrUndefined(value) && value instanceof Date && !isNaN(+value)) ? value : null;
330
330
  };
331
331
  TimePicker.prototype.createInputElement = function () {
332
+ if (this.fullScreenMode && Browser.isDevice) {
333
+ this.cssClass = "e-popup-expand";
334
+ }
332
335
  var updatedCssClassesValue = this.cssClass;
333
336
  var isBindClearAction = this.enableMask ? false : true;
334
337
  if (!isNullOrUndefined(this.cssClass) && this.cssClass !== '') {
@@ -576,7 +579,26 @@ var TimePicker = /** @class */ (function (_super) {
576
579
  if (!Browser.isDevice) {
577
580
  this.popupObj.collision = { X: 'none', Y: 'flip' };
578
581
  }
579
- this.popupObj.element.style.maxHeight = POPUPDIMENSION;
582
+ if (Browser.isDevice && this.fullScreenMode) {
583
+ this.popupObj.element.style.maxHeight = "100%";
584
+ this.popupObj.element.style.width = "100%";
585
+ }
586
+ else {
587
+ this.popupObj.element.style.maxHeight = POPUPDIMENSION;
588
+ }
589
+ if (Browser.isDevice && this.fullScreenMode) {
590
+ var modelHeader = this.createElement('div', { className: 'e-model-header' });
591
+ var modelTitleSpan = this.createElement("span", { className: "e-model-title" });
592
+ modelTitleSpan.textContent = "Select time";
593
+ var modelCloseIcon = this.createElement("span", { className: "e-popup-close" });
594
+ EventHandler.add(modelCloseIcon, 'mousedown touchstart', this.timePopupCloseHandler, this);
595
+ modelHeader.appendChild(modelCloseIcon);
596
+ modelHeader.appendChild(modelTitleSpan);
597
+ this.popupWrapper.insertBefore(modelHeader, this.popupWrapper.firstElementChild);
598
+ }
599
+ };
600
+ TimePicker.prototype.timePopupCloseHandler = function (e) {
601
+ this.hide();
580
602
  };
581
603
  //util function
582
604
  TimePicker.prototype.getFormattedValue = function (value) {
@@ -1820,7 +1842,7 @@ var TimePicker = /** @class */ (function (_super) {
1820
1842
  this.prevDate = this.valueWithMinutes = date;
1821
1843
  if ((typeof date !== 'number') || (this.value && +new Date(+this.value).setMilliseconds(0)) !== +date) {
1822
1844
  this.setProperties({ value: date }, true);
1823
- if (this.enableMask) {
1845
+ if (this.enableMask && this.value) {
1824
1846
  this.createMask();
1825
1847
  }
1826
1848
  }
@@ -2460,6 +2482,9 @@ var TimePicker = /** @class */ (function (_super) {
2460
2482
  __decorate([
2461
2483
  Property(true)
2462
2484
  ], TimePicker.prototype, "enabled", void 0);
2485
+ __decorate([
2486
+ Property(false)
2487
+ ], TimePicker.prototype, "fullScreenMode", void 0);
2463
2488
  __decorate([
2464
2489
  Property(false)
2465
2490
  ], TimePicker.prototype, "readonly", void 0);