@syncfusion/ej2-calendars 20.2.50 → 20.3.48

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 (262) hide show
  1. package/CHANGELOG.md +0 -6
  2. package/dist/ej2-calendars.min.js +10 -0
  3. package/dist/ej2-calendars.umd.min.js +2 -2
  4. package/dist/ej2-calendars.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-calendars.es2015.js +73 -57
  6. package/dist/es6/ej2-calendars.es2015.js.map +1 -1
  7. package/dist/es6/ej2-calendars.es5.js +73 -57
  8. package/dist/es6/ej2-calendars.es5.js.map +1 -1
  9. package/dist/global/ej2-calendars.min.js +2 -2
  10. package/dist/global/ej2-calendars.min.js.map +1 -1
  11. package/dist/global/index.d.ts +1 -1
  12. package/package.json +11 -11
  13. package/src/calendar/calendar.js +4 -5
  14. package/src/calendar/islamic.js +4 -4
  15. package/src/datepicker/datepicker.js +12 -10
  16. package/src/daterangepicker/daterangepicker.d.ts +1 -0
  17. package/src/daterangepicker/daterangepicker.js +30 -18
  18. package/src/datetimepicker/datetimepicker.js +7 -8
  19. package/src/timepicker/timepicker.js +16 -12
  20. package/styles/bootstrap-dark.css +13 -184
  21. package/styles/bootstrap.css +13 -184
  22. package/styles/bootstrap4.css +13 -184
  23. package/styles/bootstrap5-dark.css +18 -186
  24. package/styles/bootstrap5.css +18 -186
  25. package/styles/calendar/_all.scss +1 -1
  26. package/styles/calendar/_bootstrap-dark-definition.scss +8 -7
  27. package/styles/calendar/_bootstrap-definition.scss +6 -6
  28. package/styles/calendar/_bootstrap4-definition.scss +6 -5
  29. package/styles/calendar/_bootstrap5-definition.scss +29 -3
  30. package/styles/calendar/_fabric-dark-definition.scss +4 -1
  31. package/styles/calendar/_fabric-definition.scss +1 -0
  32. package/styles/calendar/_fluent-definition.scss +30 -4
  33. package/styles/calendar/_fusionnew-definition.scss +29 -3
  34. package/styles/calendar/_highcontrast-light-definition.scss +3 -1
  35. package/styles/calendar/_layout.scss +153 -95
  36. package/styles/calendar/_material-dark-definition.scss +3 -1
  37. package/styles/calendar/_material3-definition.scss +29 -3
  38. package/styles/calendar/_tailwind-definition.scss +27 -5
  39. package/styles/calendar/_theme.scss +111 -66
  40. package/styles/calendar/bootstrap-dark.css +1 -0
  41. package/styles/calendar/bootstrap.css +1 -0
  42. package/styles/calendar/bootstrap4.css +1 -0
  43. package/styles/calendar/bootstrap5-dark.css +1 -0
  44. package/styles/calendar/bootstrap5.css +1 -0
  45. package/styles/calendar/fabric-dark.css +1 -0
  46. package/styles/calendar/fabric.css +1 -0
  47. package/styles/calendar/fluent-dark.css +1 -0
  48. package/styles/calendar/fluent.css +1 -0
  49. package/styles/calendar/highcontrast-light.css +1 -0
  50. package/styles/calendar/highcontrast.css +1 -0
  51. package/styles/calendar/icons/_bootstrap-dark.scss +2 -1
  52. package/styles/calendar/icons/_bootstrap.scss +2 -1
  53. package/styles/calendar/icons/_bootstrap4.scss +2 -1
  54. package/styles/calendar/icons/_bootstrap5.scss +2 -1
  55. package/styles/calendar/icons/_fabric-dark.scss +2 -1
  56. package/styles/calendar/icons/_fabric.scss +2 -1
  57. package/styles/calendar/icons/_fluent.scss +2 -1
  58. package/styles/calendar/icons/_fusionnew.scss +2 -1
  59. package/styles/calendar/icons/_highcontrast-light.scss +2 -1
  60. package/styles/calendar/icons/_highcontrast.scss +2 -1
  61. package/styles/calendar/icons/_material-dark.scss +2 -1
  62. package/styles/calendar/icons/_material.scss +2 -1
  63. package/styles/calendar/icons/_material3.scss +2 -1
  64. package/styles/calendar/icons/_tailwind.scss +2 -1
  65. package/styles/calendar/material-dark.css +1 -0
  66. package/styles/calendar/material.css +1 -0
  67. package/styles/calendar/tailwind-dark.css +2 -0
  68. package/styles/calendar/tailwind.css +2 -0
  69. package/styles/datepicker/_all.scss +1 -1
  70. package/styles/datepicker/_bootstrap-dark-definition.scss +4 -1
  71. package/styles/datepicker/_bootstrap-definition.scss +2 -0
  72. package/styles/datepicker/_bootstrap4-definition.scss +2 -0
  73. package/styles/datepicker/_bootstrap5-definition.scss +5 -1
  74. package/styles/datepicker/_fabric-dark-definition.scss +3 -0
  75. package/styles/datepicker/_fabric-definition.scss +2 -0
  76. package/styles/datepicker/_fluent-definition.scss +4 -1
  77. package/styles/datepicker/_fusionnew-definition.scss +5 -1
  78. package/styles/datepicker/_highcontrast-definition.scss +2 -0
  79. package/styles/datepicker/_highcontrast-light-definition.scss +4 -1
  80. package/styles/datepicker/_layout.scss +23 -18
  81. package/styles/datepicker/_material-dark-definition.scss +4 -1
  82. package/styles/datepicker/_material-definition.scss +2 -0
  83. package/styles/datepicker/_material3-definition.scss +5 -1
  84. package/styles/datepicker/_tailwind-definition.scss +5 -1
  85. package/styles/datepicker/_theme.scss +7 -7
  86. package/styles/datepicker/bootstrap-dark.css +3 -80
  87. package/styles/datepicker/bootstrap.css +3 -80
  88. package/styles/datepicker/bootstrap4.css +3 -80
  89. package/styles/datepicker/bootstrap5-dark.css +4 -81
  90. package/styles/datepicker/bootstrap5.css +4 -81
  91. package/styles/datepicker/fabric-dark.css +3 -80
  92. package/styles/datepicker/fabric.css +3 -80
  93. package/styles/datepicker/fluent-dark.css +4 -81
  94. package/styles/datepicker/fluent.css +4 -81
  95. package/styles/datepicker/highcontrast-light.css +3 -80
  96. package/styles/datepicker/highcontrast.css +3 -80
  97. package/styles/datepicker/icons/_bootstrap-dark.scss +7 -6
  98. package/styles/datepicker/icons/_bootstrap.scss +7 -6
  99. package/styles/datepicker/icons/_bootstrap4.scss +7 -6
  100. package/styles/datepicker/icons/_bootstrap5.scss +7 -6
  101. package/styles/datepicker/icons/_fabric-dark.scss +6 -5
  102. package/styles/datepicker/icons/_fabric.scss +7 -6
  103. package/styles/datepicker/icons/_fluent.scss +7 -6
  104. package/styles/datepicker/icons/_fusionnew.scss +7 -6
  105. package/styles/datepicker/icons/_highcontrast-light.scss +7 -6
  106. package/styles/datepicker/icons/_highcontrast.scss +7 -7
  107. package/styles/datepicker/icons/_material-dark.scss +7 -6
  108. package/styles/datepicker/icons/_material.scss +7 -6
  109. package/styles/datepicker/icons/_material3.scss +7 -6
  110. package/styles/datepicker/icons/_tailwind.scss +7 -6
  111. package/styles/datepicker/material-dark.css +3 -80
  112. package/styles/datepicker/material.css +9 -3
  113. package/styles/datepicker/tailwind-dark.css +4 -81
  114. package/styles/datepicker/tailwind.css +4 -81
  115. package/styles/daterangepicker/_all.scss +1 -1
  116. package/styles/daterangepicker/_bootstrap-dark-definition.scss +4 -0
  117. package/styles/daterangepicker/_bootstrap-definition.scss +5 -1
  118. package/styles/daterangepicker/_bootstrap4-definition.scss +4 -0
  119. package/styles/daterangepicker/_bootstrap5-definition.scss +7 -0
  120. package/styles/daterangepicker/_fabric-dark-definition.scss +7 -2
  121. package/styles/daterangepicker/_fabric-definition.scss +5 -1
  122. package/styles/daterangepicker/_fluent-definition.scss +6 -1
  123. package/styles/daterangepicker/_fusionnew-definition.scss +6 -0
  124. package/styles/daterangepicker/_highcontrast-definition.scss +6 -2
  125. package/styles/daterangepicker/_highcontrast-light-definition.scss +8 -3
  126. package/styles/daterangepicker/_layout.scss +144 -71
  127. package/styles/daterangepicker/_material-dark-definition.scss +7 -2
  128. package/styles/daterangepicker/_material-definition.scss +6 -1
  129. package/styles/daterangepicker/_material3-definition.scss +6 -0
  130. package/styles/daterangepicker/_tailwind-definition.scss +5 -0
  131. package/styles/daterangepicker/_theme.scss +55 -27
  132. package/styles/daterangepicker/bootstrap-dark.css +3 -104
  133. package/styles/daterangepicker/bootstrap.css +3 -104
  134. package/styles/daterangepicker/bootstrap4.css +3 -104
  135. package/styles/daterangepicker/bootstrap5-dark.css +5 -105
  136. package/styles/daterangepicker/bootstrap5.css +5 -105
  137. package/styles/daterangepicker/fabric-dark.css +3 -104
  138. package/styles/daterangepicker/fabric.css +3 -104
  139. package/styles/daterangepicker/fluent-dark.css +4 -105
  140. package/styles/daterangepicker/fluent.css +4 -105
  141. package/styles/daterangepicker/highcontrast-light.css +3 -104
  142. package/styles/daterangepicker/highcontrast.css +3 -104
  143. package/styles/daterangepicker/icons/_bootstrap-dark.scss +13 -8
  144. package/styles/daterangepicker/icons/_bootstrap.scss +13 -8
  145. package/styles/daterangepicker/icons/_bootstrap4.scss +13 -8
  146. package/styles/daterangepicker/icons/_bootstrap5.scss +13 -8
  147. package/styles/daterangepicker/icons/_fabric-dark.scss +13 -8
  148. package/styles/daterangepicker/icons/_fabric.scss +13 -8
  149. package/styles/daterangepicker/icons/_fluent.scss +13 -8
  150. package/styles/daterangepicker/icons/_fusionnew.scss +13 -8
  151. package/styles/daterangepicker/icons/_highcontrast-light.scss +13 -8
  152. package/styles/daterangepicker/icons/_highcontrast.scss +13 -8
  153. package/styles/daterangepicker/icons/_material-dark.scss +13 -7
  154. package/styles/daterangepicker/icons/_material.scss +13 -7
  155. package/styles/daterangepicker/icons/_material3.scss +13 -8
  156. package/styles/daterangepicker/icons/_tailwind.scss +13 -8
  157. package/styles/daterangepicker/material-dark.css +5 -106
  158. package/styles/daterangepicker/material.css +12 -0
  159. package/styles/daterangepicker/tailwind-dark.css +5 -105
  160. package/styles/daterangepicker/tailwind.css +5 -105
  161. package/styles/datetimepicker/_all.scss +1 -1
  162. package/styles/datetimepicker/_bootstrap-dark-definition.scss +7 -3
  163. package/styles/datetimepicker/_bootstrap-definition.scss +6 -1
  164. package/styles/datetimepicker/_bootstrap4-definition.scss +6 -1
  165. package/styles/datetimepicker/_bootstrap5-definition.scss +5 -0
  166. package/styles/datetimepicker/_fabric-dark-definition.scss +5 -0
  167. package/styles/datetimepicker/_fabric-definition.scss +4 -0
  168. package/styles/datetimepicker/_fluent-definition.scss +8 -3
  169. package/styles/datetimepicker/_fusionnew-definition.scss +5 -0
  170. package/styles/datetimepicker/_highcontrast-definition.scss +4 -0
  171. package/styles/datetimepicker/_highcontrast-light-definition.scss +6 -1
  172. package/styles/datetimepicker/_layout.scss +2 -3
  173. package/styles/datetimepicker/_material-dark-definition.scss +6 -1
  174. package/styles/datetimepicker/_material-definition.scss +4 -0
  175. package/styles/datetimepicker/_material3-definition.scss +5 -0
  176. package/styles/datetimepicker/_tailwind-definition.scss +5 -0
  177. package/styles/datetimepicker/_theme.scss +2 -1
  178. package/styles/datetimepicker/bootstrap-dark.css +2 -0
  179. package/styles/datetimepicker/bootstrap.css +2 -0
  180. package/styles/datetimepicker/bootstrap4.css +2 -0
  181. package/styles/datetimepicker/bootstrap5-dark.css +3 -0
  182. package/styles/datetimepicker/bootstrap5.css +3 -0
  183. package/styles/datetimepicker/fabric-dark.css +2 -0
  184. package/styles/datetimepicker/fabric.css +2 -0
  185. package/styles/datetimepicker/fluent-dark.css +3 -0
  186. package/styles/datetimepicker/fluent.css +3 -0
  187. package/styles/datetimepicker/highcontrast-light.css +2 -0
  188. package/styles/datetimepicker/highcontrast.css +2 -0
  189. package/styles/datetimepicker/icons/_bootstrap-dark.scss +1 -1
  190. package/styles/datetimepicker/icons/_bootstrap.scss +1 -1
  191. package/styles/datetimepicker/icons/_bootstrap4.scss +1 -1
  192. package/styles/datetimepicker/icons/_bootstrap5.scss +1 -1
  193. package/styles/datetimepicker/icons/_fabric-dark.scss +1 -1
  194. package/styles/datetimepicker/icons/_fabric.scss +1 -1
  195. package/styles/datetimepicker/icons/_fluent.scss +1 -1
  196. package/styles/datetimepicker/icons/_fusionnew.scss +1 -1
  197. package/styles/datetimepicker/icons/_highcontrast-light.scss +1 -0
  198. package/styles/datetimepicker/icons/_highcontrast.scss +1 -1
  199. package/styles/datetimepicker/icons/_material-dark.scss +1 -1
  200. package/styles/datetimepicker/icons/_material.scss +1 -0
  201. package/styles/datetimepicker/icons/_material3.scss +1 -1
  202. package/styles/datetimepicker/icons/_tailwind.scss +1 -1
  203. package/styles/datetimepicker/material-dark.css +2 -0
  204. package/styles/datetimepicker/material.css +2 -0
  205. package/styles/datetimepicker/tailwind-dark.css +3 -0
  206. package/styles/datetimepicker/tailwind.css +3 -0
  207. package/styles/fabric-dark.css +13 -184
  208. package/styles/fabric.css +13 -186
  209. package/styles/fluent-dark.css +17 -186
  210. package/styles/fluent.css +17 -186
  211. package/styles/highcontrast-light.css +13 -184
  212. package/styles/highcontrast.css +13 -184
  213. package/styles/material-dark.css +15 -186
  214. package/styles/material.css +28 -3
  215. package/styles/tailwind-dark.css +19 -186
  216. package/styles/tailwind.css +19 -186
  217. package/styles/timepicker/_all.scss +1 -1
  218. package/styles/timepicker/_bootstrap-dark-definition.scss +6 -1
  219. package/styles/timepicker/_bootstrap-definition.scss +4 -0
  220. package/styles/timepicker/_bootstrap4-definition.scss +5 -0
  221. package/styles/timepicker/_bootstrap5-definition.scss +5 -0
  222. package/styles/timepicker/_fabric-dark-definition.scss +6 -1
  223. package/styles/timepicker/_fabric-definition.scss +4 -0
  224. package/styles/timepicker/_fluent-definition.scss +5 -0
  225. package/styles/timepicker/_fusionnew-definition.scss +5 -0
  226. package/styles/timepicker/_highcontrast-definition.scss +4 -0
  227. package/styles/timepicker/_highcontrast-light-definition.scss +6 -1
  228. package/styles/timepicker/_layout.scss +4 -5
  229. package/styles/timepicker/_material-dark-definition.scss +6 -1
  230. package/styles/timepicker/_material-definition.scss +4 -0
  231. package/styles/timepicker/_material3-definition.scss +5 -0
  232. package/styles/timepicker/_tailwind-definition.scss +5 -0
  233. package/styles/timepicker/_theme.scss +2 -1
  234. package/styles/timepicker/bootstrap-dark.css +4 -0
  235. package/styles/timepicker/bootstrap.css +4 -0
  236. package/styles/timepicker/bootstrap4.css +4 -0
  237. package/styles/timepicker/bootstrap5-dark.css +5 -0
  238. package/styles/timepicker/bootstrap5.css +5 -0
  239. package/styles/timepicker/fabric-dark.css +4 -0
  240. package/styles/timepicker/fabric.css +4 -0
  241. package/styles/timepicker/fluent-dark.css +5 -0
  242. package/styles/timepicker/fluent.css +5 -0
  243. package/styles/timepicker/highcontrast-light.css +4 -0
  244. package/styles/timepicker/highcontrast.css +4 -0
  245. package/styles/timepicker/icons/_bootstrap-dark.scss +1 -2
  246. package/styles/timepicker/icons/_bootstrap.scss +1 -2
  247. package/styles/timepicker/icons/_bootstrap4.scss +1 -2
  248. package/styles/timepicker/icons/_bootstrap5.scss +1 -2
  249. package/styles/timepicker/icons/_fabric-dark.scss +1 -2
  250. package/styles/timepicker/icons/_fabric.scss +1 -2
  251. package/styles/timepicker/icons/_fluent.scss +1 -2
  252. package/styles/timepicker/icons/_fusionnew.scss +1 -2
  253. package/styles/timepicker/icons/_highcontrast-light.scss +1 -2
  254. package/styles/timepicker/icons/_highcontrast.scss +1 -2
  255. package/styles/timepicker/icons/_material-dark.scss +1 -2
  256. package/styles/timepicker/icons/_material.scss +1 -1
  257. package/styles/timepicker/icons/_material3.scss +1 -2
  258. package/styles/timepicker/icons/_tailwind.scss +1 -2
  259. package/styles/timepicker/material-dark.css +4 -0
  260. package/styles/timepicker/material.css +4 -0
  261. package/styles/timepicker/tailwind-dark.css +5 -0
  262. package/styles/timepicker/tailwind.css +5 -0
@@ -133,7 +133,7 @@ var CalendarBase = /** @__PURE__ @class */ (function (_super) {
133
133
  this.calendarElement.classList.add(DEVICE);
134
134
  }
135
135
  attributes(this.calendarElement, {
136
- 'role': 'calendar'
136
+ 'data-role': 'calendar'
137
137
  });
138
138
  }
139
139
  this.createHeader();
@@ -261,7 +261,7 @@ var CalendarBase = /** @__PURE__ @class */ (function (_super) {
261
261
  };
262
262
  CalendarBase.prototype.createContent = function () {
263
263
  this.contentElement = this.createElement('div', { className: CONTENT });
264
- this.table = this.createElement('table', { attrs: { tabIndex: '0', 'role': 'grid', 'aria-activedescendant': '' } });
264
+ this.table = this.createElement('table', { attrs: { tabIndex: '0', 'role': 'grid', 'aria-activedescendant': '', 'aria-labelledby': this.element.id } });
265
265
  if (this.getModuleName() === 'calendar') {
266
266
  this.element.appendChild(this.contentElement);
267
267
  }
@@ -893,7 +893,6 @@ var CalendarBase = /** @__PURE__ @class */ (function (_super) {
893
893
  var year = startYear + rowIterator;
894
894
  localDate.setFullYear(year);
895
895
  var tdEle = this.dayCell(localDate);
896
- attributes(tdEle, { 'role': 'gridcell' });
897
896
  var dayLink = this.createElement('span');
898
897
  dayLink.textContent = this.globalize.formatDate(localDate, {
899
898
  format: null, type: 'dateTime', skeleton: 'y'
@@ -934,7 +933,7 @@ var CalendarBase = /** @__PURE__ @class */ (function (_super) {
934
933
  var date = this.globalize.parseDate(this.globalize.formatDate(localDate, dateFormatOptions), dateFormatOptions);
935
934
  var value = date.valueOf();
936
935
  var attrs = {
937
- className: CELL, attrs: { 'id': '' + getUniqueID('' + value), 'aria-selected': 'false', 'role': 'gridcell' }
936
+ className: CELL, attrs: { 'id': '' + getUniqueID('' + value), 'aria-selected': 'false' }
938
937
  };
939
938
  return this.createElement('td', attrs);
940
939
  };
@@ -1008,7 +1007,7 @@ var CalendarBase = /** @__PURE__ @class */ (function (_super) {
1008
1007
  var row = count;
1009
1008
  var rowIterator = 0;
1010
1009
  for (var dayCell = 0; dayCell < elements.length / count; ++dayCell) {
1011
- trEle = this.createElement('tr', { attrs: { 'role': 'row' } });
1010
+ trEle = this.createElement('tr');
1012
1011
  for (rowIterator = 0 + rowIterator; rowIterator < row; rowIterator++) {
1013
1012
  if (!elements[rowIterator].classList.contains('e-week-number') && !isNullOrUndefined(elements[rowIterator].children[0])) {
1014
1013
  addClass([elements[rowIterator].children[0]], [LINK]);
@@ -2925,14 +2924,14 @@ var Islamic = /** @__PURE__ @class */ (function () {
2925
2924
  dayLink.textContent = this.calendarInstance.globalize.formatDate(localDate, { type: 'dateTime', format: 'y', calendar: 'islamic' });
2926
2925
  if (islamicDate.year === parseInt(startHdrYr) - 1 || (year_1 < startFullYr) || (year_1 > endFullYr) && islamicDate.year !== parseInt(endHdrYr)) {
2927
2926
  addClass([tdEle], OTHERMONTH$1);
2928
- if (year_1 < new Date(this.islamicInValue(this.calendarInstance.min)).getFullYear()
2929
- || year_1 > new Date(this.islamicInValue(this.calendarInstance.max)).getFullYear()) {
2930
- addClass([tdEle], DISABLED$1);
2931
- }
2932
2927
  }
2933
2928
  else if (year_1 < new Date(this.islamicInValue(this.calendarInstance.min)).getFullYear()
2934
2929
  || year_1 > new Date(this.islamicInValue(this.calendarInstance.max)).getFullYear()) {
2935
2930
  addClass([tdEle], DISABLED$1);
2931
+ if (year_1 < new Date(this.islamicInValue(this.calendarInstance.min)).getFullYear()
2932
+ || year_1 > new Date(this.islamicInValue(this.calendarInstance.max)).getFullYear()) {
2933
+ addClass([tdEle], DISABLED$1);
2934
+ }
2936
2935
  }
2937
2936
  else if (!isNullOrUndefined(value) &&
2938
2937
  (this.getIslamicDate(localDate)).year ===
@@ -3250,10 +3249,9 @@ var DatePicker = /** @__PURE__ @class */ (function (_super) {
3250
3249
  };
3251
3250
  DatePicker.prototype.createInput = function () {
3252
3251
  var ariaAttrs = {
3253
- 'aria-live': 'assertive', 'aria-atomic': 'true',
3254
- 'aria-haspopup': 'true', 'aria-activedescendant': 'null',
3255
- 'aria-owns': this.element.id + '_options', 'aria-expanded': 'false', 'role': 'combobox', 'autocomplete': 'off',
3256
- 'autocorrect': 'off', 'autocapitalize': 'off', 'spellcheck': 'false', 'aria-invalid': 'false'
3252
+ 'aria-live': 'off', 'aria-atomic': 'true', 'aria-expanded': 'false',
3253
+ 'role': 'combobox', 'autocomplete': 'off', 'autocorrect': 'off',
3254
+ 'autocapitalize': 'off', 'spellcheck': 'false', 'aria-invalid': 'false'
3257
3255
  };
3258
3256
  if (this.getModuleName() === 'datepicker') {
3259
3257
  var l10nLocale = { placeholder: this.placeholder };
@@ -4456,9 +4454,8 @@ var DatePicker = /** @__PURE__ @class */ (function (_super) {
4456
4454
  _super.prototype.destroy.call(this);
4457
4455
  }
4458
4456
  var ariaAttrs = {
4459
- 'aria-live': 'assertive', 'aria-atomic': 'true', 'aria-disabled': 'true',
4460
- 'aria-haspopup': 'true', 'aria-activedescendant': 'null',
4461
- 'aria-owns': this.element.id + '_options', 'aria-expanded': 'false', 'role': 'combobox', 'autocomplete': 'off',
4457
+ 'aria-live': 'off', 'aria-atomic': 'true', 'aria-disabled': 'true',
4458
+ 'aria-expanded': 'false', 'role': 'combobox', 'autocomplete': 'off',
4462
4459
  'autocorrect': 'off', 'autocapitalize': 'off', 'spellcheck': 'false'
4463
4460
  };
4464
4461
  if (this.inputElement) {
@@ -4783,11 +4780,15 @@ var DatePicker = /** @__PURE__ @class */ (function (_super) {
4783
4780
  DatePicker.prototype.setAriaAttributes = function () {
4784
4781
  if (this.isCalendar()) {
4785
4782
  Input.addAttributes({ 'aria-expanded': 'true' }, this.inputElement);
4786
- attributes(this.inputElement, { 'aria-activedescendant': '' + this.setActiveDescendant() });
4783
+ attributes(this.inputElement, { 'aria-owns': this.inputElement.id + '_options' });
4784
+ if (this.value) {
4785
+ attributes(this.inputElement, { 'aria-activedescendant': '' + this.setActiveDescendant() });
4786
+ }
4787
4787
  }
4788
4788
  else {
4789
4789
  Input.addAttributes({ 'aria-expanded': 'false' }, this.inputElement);
4790
- attributes(this.inputElement, { 'aria-activedescendant': 'null' });
4790
+ this.inputElement.removeAttribute('aria-owns');
4791
+ this.inputElement.removeAttribute('aria-activedescendant');
4791
4792
  }
4792
4793
  };
4793
4794
  DatePicker.prototype.errorClass = function () {
@@ -4944,7 +4945,7 @@ var DatePicker = /** @__PURE__ @class */ (function (_super) {
4944
4945
  }
4945
4946
  break;
4946
4947
  }
4947
- if (!this.isDynamicValueChanged) {
4948
+ if (!this.isDynamicValueChanged && !this.isIconClicked) {
4948
4949
  this.hide(null);
4949
4950
  }
4950
4951
  this.isDynamicValueChanged = false;
@@ -5183,6 +5184,7 @@ var DateRangePicker = /** @__PURE__ @class */ (function (_super) {
5183
5184
  _this.invalidValueString = null;
5184
5185
  _this.isAngular = false;
5185
5186
  _this.preventChange = false;
5187
+ _this.isPropChanged = false;
5186
5188
  _this.dateRangeOptions = options;
5187
5189
  return _this;
5188
5190
  }
@@ -5837,10 +5839,12 @@ var DateRangePicker = /** @__PURE__ @class */ (function (_super) {
5837
5839
  this.updateHeader();
5838
5840
  };
5839
5841
  DateRangePicker.prototype.clearCalendarEvents = function () {
5840
- EventHandler.clearEvents(this.leftCalPrevIcon);
5841
- EventHandler.clearEvents(this.leftCalNextIcon);
5842
- EventHandler.clearEvents(this.rightCalPrevIcon);
5843
- EventHandler.clearEvents(this.rightCalNextIcon);
5842
+ if (this.leftCalPrevIcon && this.leftCalNextIcon && this.rightCalPrevIcon && this.rightCalNextIcon) {
5843
+ EventHandler.clearEvents(this.leftCalPrevIcon);
5844
+ EventHandler.clearEvents(this.leftCalNextIcon);
5845
+ EventHandler.clearEvents(this.rightCalPrevIcon);
5846
+ EventHandler.clearEvents(this.rightCalNextIcon);
5847
+ }
5844
5848
  };
5845
5849
  DateRangePicker.prototype.updateNavIcons = function () {
5846
5850
  _super.prototype.iconHandler.call(this);
@@ -6867,6 +6871,7 @@ var DateRangePicker = /** @__PURE__ @class */ (function (_super) {
6867
6871
  }
6868
6872
  }
6869
6873
  addClass([ele], SELECTED$3);
6874
+ this.calendarIconEvent();
6870
6875
  this.updateHeader();
6871
6876
  this.removeFocusedDate();
6872
6877
  };
@@ -7370,7 +7375,7 @@ var DateRangePicker = /** @__PURE__ @class */ (function (_super) {
7370
7375
  if (this.enableRtl) {
7371
7376
  this.calendarElement.classList.add(RTL$1);
7372
7377
  }
7373
- attributes(this.calendarElement, { 'role': 'calendar' });
7378
+ attributes(this.calendarElement, { 'data-role': 'calendar' });
7374
7379
  _super.prototype.createHeader.call(this);
7375
7380
  _super.prototype.createContent.call(this);
7376
7381
  };
@@ -7929,7 +7934,7 @@ var DateRangePicker = /** @__PURE__ @class */ (function (_super) {
7929
7934
  if (!isUndefined(this.presets[0].start && this.presets[0].end && this.presets[0].label)) {
7930
7935
  this.presetElement = this.createElement('div', { className: PRESETS, attrs: { 'tabindex': '0' } });
7931
7936
  var listTag = ListBase.createList(this.createElement, this.presetsItem, null, true);
7932
- attributes(listTag, { 'role': 'listbox', 'aria-hidden': 'false', 'id': this.element.id + '_options' });
7937
+ attributes(listTag, { 'role': 'listbox', 'aria-hidden': 'false', 'id': this.element.id + '_options', 'tabindex': '0' });
7933
7938
  this.presetElement.appendChild(listTag);
7934
7939
  this.popupWrapper.appendChild(this.presetElement);
7935
7940
  var customElement = this.presetElement.querySelector('#custom_range');
@@ -7990,7 +7995,13 @@ var DateRangePicker = /** @__PURE__ @class */ (function (_super) {
7990
7995
  enableRtl: this.enableRtl,
7991
7996
  zIndex: this.zIndex,
7992
7997
  open: function () {
7993
- attributes(_this.inputElement, { 'aria-expanded': 'true' });
7998
+ attributes(_this.inputElement, { 'aria-expanded': 'true', 'aria-owns': _this.inputElement.id + '_options' });
7999
+ if (_this.value) {
8000
+ attributes(_this.inputElement, { 'aria-activedescendant': _this.inputElement.id });
8001
+ }
8002
+ else {
8003
+ _this.inputElement.removeAttribute('aria-activedescendant');
8004
+ }
7994
8005
  addClass([_this.inputWrapper.buttons[0]], ACTIVE$1);
7995
8006
  if (!_this.isMobile) {
7996
8007
  if (_this.cancelButton) {
@@ -8038,6 +8049,8 @@ var DateRangePicker = /** @__PURE__ @class */ (function (_super) {
8038
8049
  },
8039
8050
  close: function () {
8040
8051
  attributes(_this.inputElement, { 'aria-expanded': 'false' });
8052
+ _this.inputElement.removeAttribute('aria-owns');
8053
+ _this.inputElement.removeAttribute('aria-activedescendant');
8041
8054
  removeClass([_this.inputWrapper.buttons[0]], ACTIVE$1);
8042
8055
  if (_this.isRangeIconClicked) {
8043
8056
  _this.inputWrapper.container.children[1].focus();
@@ -8304,7 +8317,7 @@ var DateRangePicker = /** @__PURE__ @class */ (function (_super) {
8304
8317
  }
8305
8318
  var target = e.target;
8306
8319
  if (!this.inputWrapper.container.contains(target) ||
8307
- (!isNullOrUndefined(this.popupObj) && !closest(target, '[id="' + this.popupWrapper.id + '"]') && e.type === 'mousedown')) {
8320
+ (!isNullOrUndefined(this.popupObj) && !closest(target, '[id="' + this.popupWrapper.id + '"]') && e.type !== 'mousedown')) {
8308
8321
  if (e.type !== 'touchstart' && ((e.type === 'mousedown') ||
8309
8322
  this.closeEventArgs && !this.closeEventArgs.cancel)) {
8310
8323
  e.preventDefault();
@@ -8343,9 +8356,8 @@ var DateRangePicker = /** @__PURE__ @class */ (function (_super) {
8343
8356
  buttons: [DATERANGEICON]
8344
8357
  }, this.createElement);
8345
8358
  attributes(this.inputElement, {
8346
- 'aria-readonly': this.readonly ? 'true' : 'false', 'tabindex': '0', 'aria-haspopup': 'true',
8347
- 'aria-activedescendant': 'null', 'aria-owns': this.element.id + '_popup', 'aria-expanded': 'false',
8348
- 'role': 'combobox', 'autocomplete': 'off', 'aria-disabled': !this.enabled ? 'true' : 'false',
8359
+ 'tabindex': '0', 'aria-expanded': 'false', 'role': 'combobox',
8360
+ 'autocomplete': 'off', 'aria-disabled': !this.enabled ? 'true' : 'false',
8349
8361
  'autocorrect': 'off', 'autocapitalize': 'off', 'spellcheck': 'false'
8350
8362
  });
8351
8363
  Input.addAttributes({ 'aria-label': 'select' }, this.inputWrapper.buttons[0]);
@@ -8776,9 +8788,8 @@ var DateRangePicker = /** @__PURE__ @class */ (function (_super) {
8776
8788
  this.unBindEvents();
8777
8789
  this.hide(null);
8778
8790
  var ariaAttrs = {
8779
- 'aria-readonly': this.readonly ? 'true' : 'false', 'tabindex': '0', 'aria-haspopup': 'true',
8780
- 'aria-activedescendant': 'null', 'aria-owns': this.element.id + '_popup', 'aria-expanded': 'false',
8781
- 'role': 'combobox', 'autocomplete': 'off', 'aria-disabled': !this.enabled ? 'true' : 'false',
8791
+ 'tabindex': '0', 'aria-expanded': 'false', 'role': 'combobox',
8792
+ 'autocomplete': 'off', 'aria-disabled': !this.enabled ? 'true' : 'false',
8782
8793
  'autocorrect': 'off', 'autocapitalize': 'off', 'aria-invalid': 'false', 'spellcheck': 'false'
8783
8794
  };
8784
8795
  if (this.inputElement) {
@@ -9137,9 +9148,6 @@ var DateRangePicker = /** @__PURE__ @class */ (function (_super) {
9137
9148
  for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {
9138
9149
  var prop = _a[_i];
9139
9150
  var openPopup = ['maxDays', 'minDays', 'value'];
9140
- if (openPopup.indexOf(prop) < 0) {
9141
- this.hide(null);
9142
- }
9143
9151
  switch (prop) {
9144
9152
  case 'width':
9145
9153
  this.setEleWidth(this.width);
@@ -9160,7 +9168,6 @@ var DateRangePicker = /** @__PURE__ @class */ (function (_super) {
9160
9168
  break;
9161
9169
  case 'readonly':
9162
9170
  Input.setReadonly(this.readonly, this.inputElement);
9163
- this.inputElement.setAttribute('aria-readonly', '' + this.readonly);
9164
9171
  this.setRangeAllowEdit();
9165
9172
  break;
9166
9173
  case 'cssClass':
@@ -9350,7 +9357,13 @@ var DateRangePicker = /** @__PURE__ @class */ (function (_super) {
9350
9357
  this.setProperties({ depth: newProp.depth }, true);
9351
9358
  this.refreshChange();
9352
9359
  break;
9360
+ default:
9361
+ this.isPropChanged = true;
9362
+ }
9363
+ if (openPopup.indexOf(prop) < 0 && !this.isPropChanged) {
9364
+ this.hide(null);
9353
9365
  }
9366
+ this.isPropChanged = false;
9354
9367
  }
9355
9368
  };
9356
9369
  __decorate$2([
@@ -9824,9 +9837,10 @@ var TimePicker = /** @__PURE__ @class */ (function (_super) {
9824
9837
  }, this.createElement);
9825
9838
  this.inputWrapper.container.style.width = this.setWidth(this.width);
9826
9839
  attributes(this.inputElement, {
9827
- 'aria-haspopup': 'true', 'aria-autocomplete': 'list', 'tabindex': '0', 'aria-activedescendant': 'null',
9828
- 'aria-owns': this.element.id + '_options', 'aria-expanded': 'false', 'role': 'combobox', 'autocomplete': 'off',
9829
- 'autocorrect': 'off', 'autocapitalize': 'off', 'spellcheck': 'false', 'aria-disabled': 'false', 'aria-invalid': 'false'
9840
+ 'aria-autocomplete': 'list', 'tabindex': '0',
9841
+ 'aria-expanded': 'false', 'role': 'combobox', 'autocomplete': 'off',
9842
+ 'autocorrect': 'off', 'autocapitalize': 'off', 'spellcheck': 'false',
9843
+ 'aria-disabled': 'false', 'aria-invalid': 'false'
9830
9844
  });
9831
9845
  if (!this.isNullOrEmpty(this.inputStyle)) {
9832
9846
  Input.addAttributes({ 'style': this.inputStyle }, this.inputElement);
@@ -9927,9 +9941,10 @@ var TimePicker = /** @__PURE__ @class */ (function (_super) {
9927
9941
  this.hide();
9928
9942
  this.unBindEvents();
9929
9943
  var ariaAttribute = {
9930
- 'aria-haspopup': 'true', 'aria-autocomplete': 'list', 'tabindex': '0', 'aria-activedescendant': 'null',
9931
- 'aria-owns': this.element.id + '_options', 'aria-expanded': 'false', 'role': 'combobox', 'autocomplete': 'off',
9932
- 'autocorrect': 'off', 'autocapitalize': 'off', 'spellcheck': 'false', 'aria-disabled': 'true', 'aria-invalid': 'false'
9944
+ 'aria-autocomplete': 'list', 'tabindex': '0',
9945
+ 'aria-expanded': 'false', 'role': 'combobox', 'autocomplete': 'off',
9946
+ 'autocorrect': 'off', 'autocapitalize': 'off', 'spellcheck': 'false',
9947
+ 'aria-disabled': 'true', 'aria-invalid': 'false'
9933
9948
  };
9934
9949
  if (this.inputElement) {
9935
9950
  Input.removeAttributes(ariaAttribute, this.inputElement);
@@ -10030,7 +10045,7 @@ var TimePicker = /** @__PURE__ @class */ (function (_super) {
10030
10045
  }, close: function () {
10031
10046
  removeClass([_this.inputWrapper.buttons[0]], SELECTED$4);
10032
10047
  _this.unWireListEvents();
10033
- _this.inputElement.setAttribute('aria-activedescendant', 'null');
10048
+ _this.inputElement.removeAttribute('aria-activedescendant');
10034
10049
  remove(_this.popupObj.element);
10035
10050
  _this.popupObj.destroy();
10036
10051
  _this.popupWrapper.innerHTML = '';
@@ -10522,6 +10537,8 @@ var TimePicker = /** @__PURE__ @class */ (function (_super) {
10522
10537
  _this.popupObj.hide(new Animation(animModel));
10523
10538
  removeClass([_this.inputWrapper.container], [ICONANIMATION]);
10524
10539
  attributes(_this.inputElement, { 'aria-expanded': 'false' });
10540
+ _this.inputElement.removeAttribute('aria-owns');
10541
+ _this.inputElement.removeAttribute('aria-activedescendant');
10525
10542
  EventHandler.remove(document, 'mousedown touchstart', _this.documentClickHandler);
10526
10543
  }
10527
10544
  if (Browser.isDevice && _this.modal) {
@@ -11285,11 +11302,11 @@ var TimePicker = /** @__PURE__ @class */ (function (_super) {
11285
11302
  this.clearIconState();
11286
11303
  };
11287
11304
  TimePicker.prototype.setActiveDescendant = function () {
11288
- if (!isNullOrUndefined(this.selectedElement)) {
11305
+ if (!isNullOrUndefined(this.selectedElement) && this.value) {
11289
11306
  attributes(this.inputElement, { 'aria-activedescendant': this.selectedElement.getAttribute('id') });
11290
11307
  }
11291
11308
  else {
11292
- attributes(this.inputElement, { 'aria-activedescendant': 'null' });
11309
+ this.inputElement.removeAttribute('aria-activedescendant');
11293
11310
  }
11294
11311
  };
11295
11312
  TimePicker.prototype.removeSelection = function () {
@@ -11379,7 +11396,7 @@ var TimePicker = /** @__PURE__ @class */ (function (_super) {
11379
11396
  };
11380
11397
  TimePicker.prototype.createListItems = function () {
11381
11398
  var _this = this;
11382
- this.listWrapper = this.createElement('div', { className: CONTENT$2, attrs: { 'tabindex': '0' } });
11399
+ this.listWrapper = this.createElement('div', { className: CONTENT$2, attrs: { 'tabindex': '-1' } });
11383
11400
  var start;
11384
11401
  var interval = this.step * 60000;
11385
11402
  var listItems = [];
@@ -11409,7 +11426,7 @@ var TimePicker = /** @__PURE__ @class */ (function (_super) {
11409
11426
  }
11410
11427
  };
11411
11428
  this.listTag = ListBase.createList(this.createElement, listItems, listBaseOptions, true);
11412
- attributes(this.listTag, { 'role': 'listbox', 'aria-hidden': 'false', 'id': this.element.id + '_options' });
11429
+ attributes(this.listTag, { 'role': 'listbox', 'aria-hidden': 'false', 'id': this.element.id + '_options', 'tabindex': '0' });
11413
11430
  append([this.listTag], this.listWrapper);
11414
11431
  };
11415
11432
  TimePicker.prototype.documentClickHandler = function (event) {
@@ -11622,6 +11639,7 @@ var TimePicker = /** @__PURE__ @class */ (function (_super) {
11622
11639
  }
11623
11640
  _this.setActiveDescendant();
11624
11641
  attributes(_this.inputElement, { 'aria-expanded': 'true' });
11642
+ attributes(_this.inputElement, { 'aria-owns': _this.inputElement.id + '_options' });
11625
11643
  addClass([_this.inputWrapper.container], FOCUS);
11626
11644
  EventHandler.add(document, 'mousedown touchstart', _this.documentClickHandler, _this);
11627
11645
  _this.setOverlayIndex(_this.mobileTimePopupWrap, _this.popupObj.element, _this.modal, Browser.isDevice);
@@ -11735,7 +11753,6 @@ var TimePicker = /** @__PURE__ @class */ (function (_super) {
11735
11753
  switch (prop) {
11736
11754
  case 'placeholder':
11737
11755
  Input.setPlaceholder(newProp.placeholder, this.inputElement);
11738
- this.inputElement.setAttribute('aria-placeholder', newProp.placeholder);
11739
11756
  break;
11740
11757
  case 'readonly':
11741
11758
  Input.setReadonly(this.readonly, this.inputElement, this.floatLabelType);
@@ -12138,13 +12155,11 @@ var DateTimePicker = /** @__PURE__ @class */ (function (_super) {
12138
12155
  }
12139
12156
  var ariaAttribute = {
12140
12157
  'aria-live': 'assertive', 'aria-atomic': 'true', 'aria-invalid': 'false',
12141
- 'aria-haspopup': 'true', 'aria-activedescendant': 'null',
12142
12158
  'autocorrect': 'off', 'autocapitalize': 'off', 'spellcheck': 'false',
12143
- 'aria-owns': this.element.id + '_options', 'aria-expanded': 'false', 'role': 'combobox', 'autocomplete': 'off'
12159
+ 'aria-expanded': 'false', 'role': 'combobox', 'autocomplete': 'off'
12144
12160
  };
12145
12161
  if (this.inputElement) {
12146
12162
  Input.removeAttributes(ariaAttribute, this.inputElement);
12147
- this.inputElement.removeAttribute('aria-placeholder');
12148
12163
  }
12149
12164
  if (this.isCalendar()) {
12150
12165
  if (this.popupWrapper) {
@@ -12559,6 +12574,7 @@ var DateTimePicker = /** @__PURE__ @class */ (function (_super) {
12559
12574
  }
12560
12575
  addClass([_this.inputWrapper.container], [ICONANIMATION$1]);
12561
12576
  attributes(_this.inputElement, { 'aria-expanded': 'true' });
12577
+ attributes(_this.inputElement, { 'aria-owns': _this.inputElement.id + '_options' });
12562
12578
  EventHandler.add(document, 'mousedown touchstart', _this.documentClickHandler, _this);
12563
12579
  }
12564
12580
  });
@@ -12623,7 +12639,7 @@ var DateTimePicker = /** @__PURE__ @class */ (function (_super) {
12623
12639
  }, close: function () {
12624
12640
  removeClass([_this.timeIcon], ACTIVE$2);
12625
12641
  _this.unWireTimeListEvents();
12626
- _this.inputElement.setAttribute('aria-activedescendant', 'null');
12642
+ _this.inputElement.removeAttribute('aria-activedescendant');
12627
12643
  remove(_this.popupObject.element);
12628
12644
  _this.popupObject.destroy();
12629
12645
  _this.dateTimeWrapper.innerHTML = '';
@@ -12839,11 +12855,11 @@ var DateTimePicker = /** @__PURE__ @class */ (function (_super) {
12839
12855
  }
12840
12856
  };
12841
12857
  DateTimePicker.prototype.setTimeActiveDescendant = function () {
12842
- if (!isNullOrUndefined(this.selectedElement)) {
12858
+ if (!isNullOrUndefined(this.selectedElement) && this.value) {
12843
12859
  attributes(this.inputElement, { 'aria-activedescendant': this.selectedElement.getAttribute('id') });
12844
12860
  }
12845
12861
  else {
12846
- attributes(this.inputElement, { 'aria-activedescendant': 'null' });
12862
+ this.inputElement.removeAttribute('aria-activedescendant');
12847
12863
  }
12848
12864
  };
12849
12865
  DateTimePicker.prototype.addTimeSelection = function () {
@@ -13002,6 +13018,7 @@ var DateTimePicker = /** @__PURE__ @class */ (function (_super) {
13002
13018
  this.popupObject.hide(new Animation(animModel));
13003
13019
  this.inputWrapper.container.classList.remove(ICONANIMATION$1);
13004
13020
  attributes(this.inputElement, { 'aria-expanded': 'false' });
13021
+ this.inputElement.removeAttribute('aria-owns');
13005
13022
  EventHandler.remove(document, 'mousedown touchstart', this.documentClickHandler);
13006
13023
  }
13007
13024
  };
@@ -13389,7 +13406,6 @@ var DateTimePicker = /** @__PURE__ @class */ (function (_super) {
13389
13406
  break;
13390
13407
  case 'placeholder':
13391
13408
  Input.setPlaceholder(newProp.placeholder, this.inputElement);
13392
- this.inputElement.setAttribute('aria-placeholder', newProp.placeholder);
13393
13409
  break;
13394
13410
  case 'enabled':
13395
13411
  Input.setEnabled(this.enabled, this.inputElement);
@@ -13448,7 +13464,7 @@ var DateTimePicker = /** @__PURE__ @class */ (function (_super) {
13448
13464
  _super.prototype.onPropertyChanged.call(this, newProp, oldProp);
13449
13465
  break;
13450
13466
  }
13451
- if (!this.isDynamicValueChanged) {
13467
+ if (!this.isDynamicValueChanged && !this.isIconClicked) {
13452
13468
  this.hide(null);
13453
13469
  }
13454
13470
  this.isDynamicValueChanged = false;