@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
@@ -1,4 +1,4 @@
1
- import { Animation, Browser, ChildProperty, Collection, Component, Event, EventHandler, HijriParser, Internationalization, KeyboardEvents, L10n, NotifyPropertyChanges, Property, addClass, append, attributes, cldrData, closest, createElement, detach, extend, formatUnit, getDefaultDateObject, getUniqueID, getValue, isNullOrUndefined, isUndefined, merge, prepend, remove, removeClass, rippleEffect, select, setStyleAttribute, setValue, throwError } from '@syncfusion/ej2-base';
1
+ import { Animation, Browser, ChildProperty, Collection, Component, Event, EventHandler, HijriParser, Internationalization, KeyboardEvents, L10n, NotifyPropertyChanges, Property, Touch, addClass, append, attributes, cldrData, closest, createElement, detach, extend, formatUnit, getDefaultDateObject, getUniqueID, getValue, isNullOrUndefined, isUndefined, merge, prepend, remove, removeClass, rippleEffect, select, setStyleAttribute, setValue, throwError } from '@syncfusion/ej2-base';
2
2
  import { Popup } from '@syncfusion/ej2-popups';
3
3
  import { Input } from '@syncfusion/ej2-inputs';
4
4
  import { Button } from '@syncfusion/ej2-buttons';
@@ -1525,7 +1525,7 @@ var CalendarBase = /** @__PURE__ @class */ (function (_super) {
1525
1525
  }
1526
1526
  };
1527
1527
  CalendarBase.prototype.navigatePrevious = function (e) {
1528
- e.preventDefault();
1528
+ !Browser.isDevice && e.preventDefault();
1529
1529
  if (this.calendarMode === 'Gregorian') {
1530
1530
  this.previous();
1531
1531
  }
@@ -1556,7 +1556,7 @@ var CalendarBase = /** @__PURE__ @class */ (function (_super) {
1556
1556
  }
1557
1557
  };
1558
1558
  CalendarBase.prototype.navigateNext = function (eve) {
1559
- eve.preventDefault();
1559
+ !Browser.isDevice && eve.preventDefault();
1560
1560
  if (this.calendarMode === 'Gregorian') {
1561
1561
  this.next();
1562
1562
  }
@@ -3257,7 +3257,9 @@ var DatePicker = /** @__PURE__ @class */ (function (_super) {
3257
3257
  DatePicker.prototype.render = function () {
3258
3258
  this.initialize();
3259
3259
  this.bindEvents();
3260
- Input.calculateWidth(this.inputElement, this.inputWrapper.container);
3260
+ if (this.floatLabelType === 'Auto') {
3261
+ Input.calculateWidth(this.inputElement, this.inputWrapper.container);
3262
+ }
3261
3263
  if (!isNullOrUndefined(this.inputWrapper.buttons[0]) && !isNullOrUndefined(this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0]) && this.floatLabelType !== 'Never') {
3262
3264
  this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0].classList.add('e-icon');
3263
3265
  }
@@ -3340,6 +3342,9 @@ var DatePicker = /** @__PURE__ @class */ (function (_super) {
3340
3342
  this.l10n = new L10n('datepicker', l10nLocale, this.locale);
3341
3343
  this.setProperties({ placeholder: this.placeholder || this.l10n.getConstant('placeholder') }, true);
3342
3344
  }
3345
+ if (this.fullScreenMode && Browser.isDevice) {
3346
+ this.cssClass = "e-popup-expand";
3347
+ }
3343
3348
  var updatedCssClassValues = this.cssClass;
3344
3349
  if (!isNullOrUndefined(this.cssClass) && this.cssClass !== '') {
3345
3350
  updatedCssClassValues = (this.cssClass.replace(/\s+/g, ' ')).trim();
@@ -4141,6 +4146,13 @@ var DatePicker = /** @__PURE__ @class */ (function (_super) {
4141
4146
  zIndex: this.zIndex,
4142
4147
  collision: Browser.isDevice ? { X: 'fit', Y: 'fit' } : { X: 'flip', Y: 'flip' },
4143
4148
  open: function () {
4149
+ if (Browser.isDevice && _this.fullScreenMode) {
4150
+ _this.iconRight = parseInt(window.getComputedStyle(_this.calendarElement.querySelector('.e-header.e-month .e-prev')).marginRight, 10) > 16 ? true : false;
4151
+ _this.touchModule = new Touch(_this.calendarElement.querySelector(".e-content.e-month"), {
4152
+ swipe: _this.CalendarSwipeHandler.bind(_this)
4153
+ });
4154
+ EventHandler.add(_this.calendarElement.querySelector(".e-content.e-month"), "touchstart", _this.TouchStartHandler, _this);
4155
+ }
4144
4156
  if (_this.getModuleName() !== 'datetimepicker') {
4145
4157
  if (document.activeElement !== _this.inputElement) {
4146
4158
  _this.defaultKeyConfigs = extend(_this.defaultKeyConfigs, _this.keyConfigs);
@@ -4182,6 +4194,45 @@ var DatePicker = /** @__PURE__ @class */ (function (_super) {
4182
4194
  this.popupObj.element.className += ' ' + this.cssClass;
4183
4195
  this.setAriaAttributes();
4184
4196
  };
4197
+ DatePicker.prototype.CalendarSwipeHandler = function (e) {
4198
+ var direction = 0;
4199
+ if (this.iconRight) {
4200
+ switch (e.swipeDirection) {
4201
+ case "Left":
4202
+ direction = 1;
4203
+ break;
4204
+ case "Right":
4205
+ direction = -1;
4206
+ break;
4207
+ default:
4208
+ break;
4209
+ }
4210
+ }
4211
+ else {
4212
+ switch (e.swipeDirection) {
4213
+ case "Up":
4214
+ direction = 1;
4215
+ break;
4216
+ case "Down":
4217
+ direction = -1;
4218
+ break;
4219
+ default:
4220
+ break;
4221
+ }
4222
+ }
4223
+ if (this.touchStart) {
4224
+ if (direction === 1) {
4225
+ this.navigateNext(e);
4226
+ }
4227
+ else if (direction === -1) {
4228
+ this.navigatePrevious(e);
4229
+ }
4230
+ this.touchStart = false;
4231
+ }
4232
+ };
4233
+ DatePicker.prototype.TouchStartHandler = function (e) {
4234
+ this.touchStart = true;
4235
+ };
4185
4236
  DatePicker.prototype.setAriaDisabled = function () {
4186
4237
  if (!this.enabled) {
4187
4238
  this.inputElement.setAttribute('aria-disabled', 'true');
@@ -4220,12 +4271,25 @@ var DatePicker = /** @__PURE__ @class */ (function (_super) {
4220
4271
  dateOptions = { format: 'MMM d', skeleton: 'dateTime', calendar: 'islamic' };
4221
4272
  }
4222
4273
  monthSpan.textContent = '' + this.globalize.formatDate(this.value || new Date(), dateOptions);
4223
- modelHeader.appendChild(yearHeading);
4274
+ if (this.fullScreenMode) {
4275
+ var modelCloseIcon = this.createElement("span", { className: "e-popup-close" });
4276
+ EventHandler.add(modelCloseIcon, 'mousedown touchstart', this.modelCloseHandler, this);
4277
+ var modelTodayButton = this.calendarElement.querySelector("button.e-today");
4278
+ h2.classList.add("e-day-wrapper");
4279
+ modelTodayButton.classList.add("e-outline");
4280
+ modelHeader.appendChild(modelCloseIcon);
4281
+ modelHeader.appendChild(modelTodayButton);
4282
+ }
4283
+ if (!this.fullScreenMode)
4284
+ modelHeader.appendChild(yearHeading);
4224
4285
  h2.appendChild(daySpan);
4225
4286
  h2.appendChild(monthSpan);
4226
4287
  modelHeader.appendChild(h2);
4227
4288
  this.calendarElement.insertBefore(modelHeader, this.calendarElement.firstElementChild);
4228
4289
  };
4290
+ DatePicker.prototype.modelCloseHandler = function (e) {
4291
+ this.hide();
4292
+ };
4229
4293
  DatePicker.prototype.changeTrigger = function (event) {
4230
4294
  if (this.inputElement.value !== this.previousElementValue) {
4231
4295
  if (((this.previousDate && this.previousDate.valueOf()) !== (this.value && this.value.valueOf()))) {
@@ -5088,6 +5152,9 @@ var DatePicker = /** @__PURE__ @class */ (function (_super) {
5088
5152
  __decorate$1([
5089
5153
  Property(true)
5090
5154
  ], DatePicker.prototype, "enabled", void 0);
5155
+ __decorate$1([
5156
+ Property(false)
5157
+ ], DatePicker.prototype, "fullScreenMode", void 0);
5091
5158
  __decorate$1([
5092
5159
  Property({})
5093
5160
  ], DatePicker.prototype, "htmlAttributes", void 0);
@@ -5321,7 +5388,9 @@ var DateRangePicker = /** @__PURE__ @class */ (function (_super) {
5321
5388
  if (this.element.hasAttribute('data-val')) {
5322
5389
  this.element.setAttribute('data-val', 'false');
5323
5390
  }
5324
- Input.calculateWidth(this.inputElement, this.inputWrapper.container);
5391
+ if (this.floatLabelType === 'Auto') {
5392
+ Input.calculateWidth(this.inputElement, this.inputWrapper.container);
5393
+ }
5325
5394
  if (!isNullOrUndefined(this.inputWrapper.buttons[0]) && !isNullOrUndefined(this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0]) && this.floatLabelType !== 'Never') {
5326
5395
  this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0].classList.add('e-icon');
5327
5396
  }
@@ -5361,7 +5430,7 @@ var DateRangePicker = /** @__PURE__ @class */ (function (_super) {
5361
5430
  /**
5362
5431
  * Mobile View
5363
5432
  */
5364
- this.isMobile = window.matchMedia('(max-width:550px)').matches;
5433
+ this.isMobile = (Browser.isDevice && this.fullScreenMode) ? true : window.matchMedia('(max-width:550px)').matches;
5365
5434
  this.inputElement = this.element;
5366
5435
  this.angularTag = null;
5367
5436
  if (this.element.tagName === 'EJS-DATERANGEPICKER') {
@@ -5697,7 +5766,7 @@ var DateRangePicker = /** @__PURE__ @class */ (function (_super) {
5697
5766
  };
5698
5767
  DateRangePicker.prototype.updateHiddenInput = function () {
5699
5768
  if (this.firstHiddenChild && this.secondHiddenChild) {
5700
- var format = { type: 'datetime', skeleton: 'yMd' };
5769
+ var format = { format: this.formatString, type: 'datetime', skeleton: 'yMd' };
5701
5770
  if (typeof this.startDate === 'string') {
5702
5771
  this.startDate = this.globalize.parseDate(this.startDate, format);
5703
5772
  }
@@ -6107,7 +6176,6 @@ var DateRangePicker = /** @__PURE__ @class */ (function (_super) {
6107
6176
  this.trigger('focus', focusArguments);
6108
6177
  }
6109
6178
  this.updateClearIconState();
6110
- this.updateHiddenInput();
6111
6179
  if (this.openOnFocus && !this.preventFocus) {
6112
6180
  this.preventFocus = true;
6113
6181
  this.show();
@@ -7838,6 +7906,16 @@ var DateRangePicker = /** @__PURE__ @class */ (function (_super) {
7838
7906
  DateRangePicker.prototype.createControl = function () {
7839
7907
  var controlContainer = this.createElement('div', { className: RANGECONTAINER });
7840
7908
  var headerContainer = this.createElement('div', { className: RANGEHEADER });
7909
+ if (this.isMobile && this.fullScreenMode) {
7910
+ var modelHeaderIconWrapper = this.createElement("div", { className: "e-model-header-wrapper" });
7911
+ var modelCloseIcon = this.createElement("span", { className: "e-popup-close" });
7912
+ EventHandler.add(modelCloseIcon, 'mousedown touchstart', this.modelRangeCloseHandler, this);
7913
+ var modelApplyButton = this.createElement("span", { className: "e-apply" });
7914
+ EventHandler.add(modelApplyButton, 'mousedown touchstart', this.applyFunction, this);
7915
+ modelHeaderIconWrapper.appendChild(modelCloseIcon);
7916
+ modelHeaderIconWrapper.appendChild(modelApplyButton);
7917
+ headerContainer.appendChild(modelHeaderIconWrapper);
7918
+ }
7841
7919
  var labelContainer = this.createRangeHeader();
7842
7920
  headerContainer.appendChild(labelContainer);
7843
7921
  var daySpan = this.createElement('div', { className: DAYSPAN });
@@ -7877,6 +7955,9 @@ var DateRangePicker = /** @__PURE__ @class */ (function (_super) {
7877
7955
  }
7878
7956
  this.renderPopup();
7879
7957
  };
7958
+ DateRangePicker.prototype.modelRangeCloseHandler = function (e) {
7959
+ this.hide();
7960
+ };
7880
7961
  DateRangePicker.prototype.cancelFunction = function (eve) {
7881
7962
  if (document.activeElement !== this.inputElement) {
7882
7963
  this.preventFocus = true;
@@ -8090,7 +8171,24 @@ var DateRangePicker = /** @__PURE__ @class */ (function (_super) {
8090
8171
  this.liCollections = this.presetElement.querySelectorAll('.' + LISTCLASS);
8091
8172
  this.wireListEvents();
8092
8173
  if (this.isMobile) {
8093
- this.presetElement.style.width = this.inputWrapper.container.getBoundingClientRect().width + 'px';
8174
+ if (this.fullScreenMode) {
8175
+ var modelWrapper = createElement('div', { className: 'e-range-mob-popup-wrap' });
8176
+ var modelHeader = this.createElement('div', { className: 'e-model-header' });
8177
+ var modelTitleSpan = this.createElement("span", { className: "e-model-title" });
8178
+ modelTitleSpan.textContent = "Select Preset";
8179
+ var modelCloseIcon = this.createElement("span", { className: "e-popup-close" });
8180
+ EventHandler.add(modelCloseIcon, 'mousedown touchstart', this.modelRangeCloseHandler, this);
8181
+ var presetContent = this.presetElement;
8182
+ modelHeader.appendChild(modelCloseIcon);
8183
+ modelHeader.appendChild(modelTitleSpan);
8184
+ modelWrapper.appendChild(modelHeader);
8185
+ modelWrapper.appendChild(presetContent);
8186
+ this.popupWrapper.insertBefore(modelWrapper, this.popupWrapper.firstElementChild);
8187
+ this.presetElement.style.width = '100%';
8188
+ }
8189
+ else {
8190
+ this.presetElement.style.width = this.inputWrapper.container.getBoundingClientRect().width + 'px';
8191
+ }
8094
8192
  }
8095
8193
  if (!isNullOrUndefined(this.activeIndex) && this.activeIndex > -1) {
8096
8194
  addClass([this.liCollections[this.activeIndex]], ACTIVE$1);
@@ -8140,6 +8238,15 @@ var DateRangePicker = /** @__PURE__ @class */ (function (_super) {
8140
8238
  enableRtl: this.enableRtl,
8141
8239
  zIndex: this.zIndex,
8142
8240
  open: function () {
8241
+ if (_this.isMobile && _this.fullScreenMode) {
8242
+ _this.iconRangeRight = _this.calendarElement && window.getComputedStyle(_this.calendarElement.querySelector('.e-header.e-month .e-prev')).cssFloat;
8243
+ if (_this.iconRangeRight) {
8244
+ _this.touchRangeModule = new Touch(_this.calendarElement.querySelector(".e-content.e-month"), {
8245
+ swipe: _this.dateRangeSwipeHandler.bind(_this)
8246
+ });
8247
+ EventHandler.add(_this.calendarElement.querySelector(".e-content.e-month"), "touchstart", _this.touchStartRangeHandler, _this);
8248
+ }
8249
+ }
8143
8250
  attributes(_this.inputElement, { 'aria-expanded': 'true', 'aria-owns': _this.inputElement.id + '_options' });
8144
8251
  if (_this.value) {
8145
8252
  attributes(_this.inputElement, { 'aria-activedescendant': _this.inputElement.id });
@@ -8232,6 +8339,45 @@ var DateRangePicker = /** @__PURE__ @class */ (function (_super) {
8232
8339
  }
8233
8340
  EventHandler.add(document, 'mousedown touchstart', this.documentHandler, this);
8234
8341
  };
8342
+ DateRangePicker.prototype.dateRangeSwipeHandler = function (e) {
8343
+ var direction = 0;
8344
+ if (this.iconRangeRight == 'left') {
8345
+ switch (e.swipeDirection) {
8346
+ case "Left":
8347
+ direction = 1;
8348
+ break;
8349
+ case "Right":
8350
+ direction = -1;
8351
+ break;
8352
+ default:
8353
+ break;
8354
+ }
8355
+ }
8356
+ else {
8357
+ switch (e.swipeDirection) {
8358
+ case "Up":
8359
+ direction = 1;
8360
+ break;
8361
+ case "Down":
8362
+ direction = -1;
8363
+ break;
8364
+ default:
8365
+ break;
8366
+ }
8367
+ }
8368
+ if (this.touchRangeStart) {
8369
+ if (direction === 1) {
8370
+ this.navigateNext(e);
8371
+ }
8372
+ else if (direction === -1) {
8373
+ this.navigatePrevious(e);
8374
+ }
8375
+ this.touchRangeStart = false;
8376
+ }
8377
+ };
8378
+ DateRangePicker.prototype.touchStartRangeHandler = function (e) {
8379
+ this.touchRangeStart = true;
8380
+ };
8235
8381
  DateRangePicker.prototype.popupCloseHandler = function (e) {
8236
8382
  switch (e.keyCode) {
8237
8383
  case 27:
@@ -8483,6 +8629,9 @@ var DateRangePicker = /** @__PURE__ @class */ (function (_super) {
8483
8629
  }
8484
8630
  };
8485
8631
  DateRangePicker.prototype.createInput = function () {
8632
+ if (this.fullScreenMode && this.isMobile) {
8633
+ this.cssClass = "e-popup-expand";
8634
+ }
8486
8635
  var updatedCssClassValue = this.cssClass;
8487
8636
  if (!isNullOrUndefined(this.cssClass) && this.cssClass !== '') {
8488
8637
  updatedCssClassValue = (this.cssClass.replace(/\s+/g, ' ')).trim();
@@ -9574,6 +9723,9 @@ var DateRangePicker = /** @__PURE__ @class */ (function (_super) {
9574
9723
  __decorate$2([
9575
9724
  Property(false)
9576
9725
  ], DateRangePicker.prototype, "openOnFocus", void 0);
9726
+ __decorate$2([
9727
+ Property(false)
9728
+ ], DateRangePicker.prototype, "fullScreenMode", void 0);
9577
9729
  __decorate$2([
9578
9730
  Event()
9579
9731
  ], DateRangePicker.prototype, "created", void 0);
@@ -10002,6 +10154,9 @@ var TimePicker = /** @__PURE__ @class */ (function (_super) {
10002
10154
  return (!isNullOrUndefined(value) && value instanceof Date && !isNaN(+value)) ? value : null;
10003
10155
  };
10004
10156
  TimePicker.prototype.createInputElement = function () {
10157
+ if (this.fullScreenMode && Browser.isDevice) {
10158
+ this.cssClass = "e-popup-expand";
10159
+ }
10005
10160
  var updatedCssClassesValue = this.cssClass;
10006
10161
  var isBindClearAction = this.enableMask ? false : true;
10007
10162
  if (!isNullOrUndefined(this.cssClass) && this.cssClass !== '') {
@@ -10249,7 +10404,26 @@ var TimePicker = /** @__PURE__ @class */ (function (_super) {
10249
10404
  if (!Browser.isDevice) {
10250
10405
  this.popupObj.collision = { X: 'none', Y: 'flip' };
10251
10406
  }
10252
- this.popupObj.element.style.maxHeight = POPUPDIMENSION;
10407
+ if (Browser.isDevice && this.fullScreenMode) {
10408
+ this.popupObj.element.style.maxHeight = "100%";
10409
+ this.popupObj.element.style.width = "100%";
10410
+ }
10411
+ else {
10412
+ this.popupObj.element.style.maxHeight = POPUPDIMENSION;
10413
+ }
10414
+ if (Browser.isDevice && this.fullScreenMode) {
10415
+ var modelHeader = this.createElement('div', { className: 'e-model-header' });
10416
+ var modelTitleSpan = this.createElement("span", { className: "e-model-title" });
10417
+ modelTitleSpan.textContent = "Select time";
10418
+ var modelCloseIcon = this.createElement("span", { className: "e-popup-close" });
10419
+ EventHandler.add(modelCloseIcon, 'mousedown touchstart', this.timePopupCloseHandler, this);
10420
+ modelHeader.appendChild(modelCloseIcon);
10421
+ modelHeader.appendChild(modelTitleSpan);
10422
+ this.popupWrapper.insertBefore(modelHeader, this.popupWrapper.firstElementChild);
10423
+ }
10424
+ };
10425
+ TimePicker.prototype.timePopupCloseHandler = function (e) {
10426
+ this.hide();
10253
10427
  };
10254
10428
  //util function
10255
10429
  TimePicker.prototype.getFormattedValue = function (value) {
@@ -11493,7 +11667,7 @@ var TimePicker = /** @__PURE__ @class */ (function (_super) {
11493
11667
  this.prevDate = this.valueWithMinutes = date;
11494
11668
  if ((typeof date !== 'number') || (this.value && +new Date(+this.value).setMilliseconds(0)) !== +date) {
11495
11669
  this.setProperties({ value: date }, true);
11496
- if (this.enableMask) {
11670
+ if (this.enableMask && this.value) {
11497
11671
  this.createMask();
11498
11672
  }
11499
11673
  }
@@ -12133,6 +12307,9 @@ var TimePicker = /** @__PURE__ @class */ (function (_super) {
12133
12307
  __decorate$3([
12134
12308
  Property(true)
12135
12309
  ], TimePicker.prototype, "enabled", void 0);
12310
+ __decorate$3([
12311
+ Property(false)
12312
+ ], TimePicker.prototype, "fullScreenMode", void 0);
12136
12313
  __decorate$3([
12137
12314
  Property(false)
12138
12315
  ], TimePicker.prototype, "readonly", void 0);
@@ -12441,7 +12618,9 @@ var DateTimePicker = /** @__PURE__ @class */ (function (_super) {
12441
12618
  this.inputElement.tabIndex = -1;
12442
12619
  }
12443
12620
  }
12444
- Input.calculateWidth(this.inputElement, this.inputWrapper.container);
12621
+ if (this.floatLabelType === 'Auto') {
12622
+ Input.calculateWidth(this.inputElement, this.inputWrapper.container);
12623
+ }
12445
12624
  if (!isNullOrUndefined(this.inputWrapper.buttons[0]) && !isNullOrUndefined(this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0]) && this.floatLabelType !== 'Never') {
12446
12625
  this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0].classList.add('e-date-time-icon');
12447
12626
  }
@@ -12762,7 +12941,12 @@ var DateTimePicker = /** @__PURE__ @class */ (function (_super) {
12762
12941
  this.renderPopup();
12763
12942
  this.setTimeScrollPosition();
12764
12943
  this.openPopup(e);
12765
- this.popupObject.refreshPosition(this.inputElement);
12944
+ if (!Browser.isDevice || (Browser.isDevice && !this.fullScreenMode)) {
12945
+ this.popupObject.refreshPosition(this.inputElement);
12946
+ }
12947
+ if (Browser.isDevice && this.fullScreenMode) {
12948
+ this.dateTimeWrapper.style.left = '0px';
12949
+ }
12766
12950
  }
12767
12951
  }
12768
12952
  };
@@ -12868,7 +13052,31 @@ var DateTimePicker = /** @__PURE__ @class */ (function (_super) {
12868
13052
  }
12869
13053
  }
12870
13054
  });
12871
- this.popupObject.element.style.maxHeight = POPUPDIMENSION$1;
13055
+ if (Browser.isDevice && this.fullScreenMode) {
13056
+ this.popupObject.element.style.display = "flex";
13057
+ this.popupObject.element.style.maxHeight = "100%";
13058
+ this.popupObject.element.style.width = "100%";
13059
+ }
13060
+ else {
13061
+ this.popupObject.element.style.maxHeight = POPUPDIMENSION$1;
13062
+ }
13063
+ if (Browser.isDevice && this.fullScreenMode) {
13064
+ var modelWrapper = createElement('div', { className: 'e-datetime-mob-popup-wrap' });
13065
+ var modelHeader = this.createElement('div', { className: 'e-model-header' });
13066
+ var modelTitleSpan = this.createElement("span", { className: "e-model-title" });
13067
+ modelTitleSpan.textContent = "Select time";
13068
+ var modelCloseIcon = this.createElement("span", { className: "e-popup-close" });
13069
+ EventHandler.add(modelCloseIcon, 'mousedown touchstart', this.dateTimeCloseHandler, this);
13070
+ var timeContent = this.dateTimeWrapper.querySelector(".e-content");
13071
+ modelHeader.appendChild(modelCloseIcon);
13072
+ modelHeader.appendChild(modelTitleSpan);
13073
+ modelWrapper.appendChild(modelHeader);
13074
+ modelWrapper.appendChild(timeContent);
13075
+ this.dateTimeWrapper.insertBefore(modelWrapper, this.dateTimeWrapper.firstElementChild);
13076
+ }
13077
+ };
13078
+ DateTimePicker.prototype.dateTimeCloseHandler = function (e) {
13079
+ this.hide();
12872
13080
  };
12873
13081
  DateTimePicker.prototype.setDimension = function (width) {
12874
13082
  if (typeof width === 'number') {
@@ -12924,7 +13132,12 @@ var DateTimePicker = /** @__PURE__ @class */ (function (_super) {
12924
13132
  DateTimePicker.prototype.getPopupHeight = function () {
12925
13133
  var height = parseInt(POPUPDIMENSION$1, 10);
12926
13134
  var popupHeight = this.dateTimeWrapper.getBoundingClientRect().height;
12927
- return popupHeight > height ? height : popupHeight;
13135
+ if (Browser.isDevice && this.fullScreenMode) {
13136
+ return popupHeight;
13137
+ }
13138
+ else {
13139
+ return popupHeight > height ? height : popupHeight;
13140
+ }
12928
13141
  };
12929
13142
  DateTimePicker.prototype.changeEvent = function (e) {
12930
13143
  _super.prototype.changeEvent.call(this, e);
@@ -12962,7 +13175,13 @@ var DateTimePicker = /** @__PURE__ @class */ (function (_super) {
12962
13175
  var height = nextElement ? nextElement.offsetTop : element.offsetTop;
12963
13176
  var lineHeight = element.getBoundingClientRect().height;
12964
13177
  if ((height + element.offsetTop) > listHeight) {
12965
- this.dateTimeWrapper.scrollTop = nextElement ? (height - (listHeight / HALFPOSITION$1 + lineHeight / HALFPOSITION$1)) : height;
13178
+ if (Browser.isDevice && this.fullScreenMode) {
13179
+ var listContent = this.dateTimeWrapper.querySelector('.e-content');
13180
+ listContent.scrollTop = nextElement ? (height - (listHeight / HALFPOSITION$1 + lineHeight / HALFPOSITION$1)) : height;
13181
+ }
13182
+ else {
13183
+ this.dateTimeWrapper.scrollTop = nextElement ? (height - (listHeight / HALFPOSITION$1 + lineHeight / HALFPOSITION$1)) : height;
13184
+ }
12966
13185
  }
12967
13186
  else {
12968
13187
  this.dateTimeWrapper.scrollTop = 0;
@@ -13750,6 +13969,9 @@ var DateTimePicker = /** @__PURE__ @class */ (function (_super) {
13750
13969
  __decorate$4([
13751
13970
  Property(false)
13752
13971
  ], DateTimePicker.prototype, "strictMode", void 0);
13972
+ __decorate$4([
13973
+ Property(false)
13974
+ ], DateTimePicker.prototype, "fullScreenMode", void 0);
13753
13975
  __decorate$4([
13754
13976
  Property(null)
13755
13977
  ], DateTimePicker.prototype, "serverTimezoneOffset", void 0);
@@ -13950,6 +14172,11 @@ var MaskedDateTime = /** @__PURE__ @class */ (function () {
13950
14172
  };
13951
14173
  MaskedDateTime.prototype.validCharacterCheck = function () {
13952
14174
  var start = this.parent.inputElement.selectionStart;
14175
+ if (this.parent.moduleName !== 'timepicker') {
14176
+ if (start === this.hiddenMask.length && this.mask === this.parent.inputElement.value) {
14177
+ start = 0;
14178
+ }
14179
+ }
13953
14180
  for (var i = start, j = start - 1; i < this.hiddenMask.length || j >= 0; i++, j--) {
13954
14181
  if (i < this.hiddenMask.length && this.validCharacters.indexOf(this.hiddenMask[i]) !== -1) {
13955
14182
  this.setSelection(this.hiddenMask[i]);
@@ -14480,7 +14707,7 @@ var MaskedDateTime = /** @__PURE__ @class */ (function () {
14480
14707
  MaskedDateTime.prototype.navigateSelection = function (isbackward) {
14481
14708
  var start = this.parent.inputElement.selectionStart;
14482
14709
  var end = this.parent.inputElement.selectionEnd;
14483
- var formatIndex = isbackward ? start - 1 : end + 1;
14710
+ var formatIndex = isbackward ? start - 1 : end;
14484
14711
  this.navigated = true;
14485
14712
  while (formatIndex < this.hiddenMask.length && formatIndex >= 0) {
14486
14713
  if (this.validCharacters.indexOf(this.hiddenMask[formatIndex]) >= 0) {