@syncfusion/ej2-calendars 20.2.46 → 20.3.47

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/dist/ej2-calendars.min.js +10 -0
  2. package/dist/ej2-calendars.umd.min.js +2 -2
  3. package/dist/ej2-calendars.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-calendars.es2015.js +141 -59
  5. package/dist/es6/ej2-calendars.es2015.js.map +1 -1
  6. package/dist/es6/ej2-calendars.es5.js +141 -59
  7. package/dist/es6/ej2-calendars.es5.js.map +1 -1
  8. package/dist/global/ej2-calendars.min.js +2 -2
  9. package/dist/global/ej2-calendars.min.js.map +1 -1
  10. package/dist/global/index.d.ts +1 -1
  11. package/package.json +11 -11
  12. package/src/calendar/calendar.d.ts +3 -2
  13. package/src/calendar/calendar.js +37 -12
  14. package/src/calendar/islamic.js +4 -4
  15. package/src/datepicker/datepicker.js +22 -9
  16. package/src/daterangepicker/daterangepicker.d.ts +1 -0
  17. package/src/daterangepicker/daterangepicker.js +34 -14
  18. package/src/datetimepicker/datetimepicker.js +18 -8
  19. package/src/timepicker/timepicker.js +26 -12
  20. package/styles/bootstrap-dark.css +21 -2
  21. package/styles/bootstrap.css +21 -2
  22. package/styles/bootstrap4.css +21 -2
  23. package/styles/bootstrap5-dark.css +26 -4
  24. package/styles/bootstrap5.css +26 -4
  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 +134 -6
  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 -1
  87. package/styles/datepicker/bootstrap.css +3 -1
  88. package/styles/datepicker/bootstrap4.css +3 -1
  89. package/styles/datepicker/bootstrap5-dark.css +4 -2
  90. package/styles/datepicker/bootstrap5.css +4 -2
  91. package/styles/datepicker/fabric-dark.css +3 -1
  92. package/styles/datepicker/fabric.css +3 -1
  93. package/styles/datepicker/fluent-dark.css +4 -2
  94. package/styles/datepicker/fluent.css +4 -2
  95. package/styles/datepicker/highcontrast-light.css +3 -1
  96. package/styles/datepicker/highcontrast.css +3 -1
  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 -1
  112. package/styles/datepicker/material.css +85 -0
  113. package/styles/datepicker/tailwind-dark.css +4 -2
  114. package/styles/datepicker/tailwind.css +4 -2
  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 +280 -56
  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 +11 -1
  133. package/styles/daterangepicker/bootstrap.css +11 -1
  134. package/styles/daterangepicker/bootstrap4.css +11 -1
  135. package/styles/daterangepicker/bootstrap5-dark.css +13 -2
  136. package/styles/daterangepicker/bootstrap5.css +13 -2
  137. package/styles/daterangepicker/fabric-dark.css +11 -1
  138. package/styles/daterangepicker/fabric.css +11 -1
  139. package/styles/daterangepicker/fluent-dark.css +12 -2
  140. package/styles/daterangepicker/fluent.css +12 -2
  141. package/styles/daterangepicker/highcontrast-light.css +11 -1
  142. package/styles/daterangepicker/highcontrast.css +11 -1
  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 +13 -3
  158. package/styles/daterangepicker/material.css +123 -0
  159. package/styles/daterangepicker/tailwind-dark.css +13 -2
  160. package/styles/daterangepicker/tailwind.css +13 -2
  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 +21 -2
  208. package/styles/fabric.css +21 -4
  209. package/styles/fluent-dark.css +25 -4
  210. package/styles/fluent.css +25 -4
  211. package/styles/highcontrast-light.css +21 -2
  212. package/styles/highcontrast.css +21 -2
  213. package/styles/material-dark.css +23 -4
  214. package/styles/material.css +215 -0
  215. package/styles/tailwind-dark.css +27 -4
  216. package/styles/tailwind.css +27 -4
  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
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 20.2.46
3
+ * version : 20.3.47
4
4
  * Copyright Syncfusion Inc. 2001 - 2020. All rights reserved.
5
5
  * Use of this code is subject to the terms of our license.
6
6
  * A copy of the current license can be obtained at any time by e-mailing
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "_from": "@syncfusion/ej2-calendars@*",
3
- "_id": "@syncfusion/ej2-calendars@20.2.45",
3
+ "_id": "@syncfusion/ej2-calendars@18.29.7",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-gm2Er77YnJmU5M57CsM+3ZBkCd9wmb5oudLW0Vgdh30NnqlJVbunldlL7zFsj8Gl7/IfznCkzyeBZhGes5rrTg==",
5
+ "_integrity": "sha512-r5oATghsZmaxkIjMxERQi6aiK4xRGL4R/aBoxhg3RHjx6JHzKJbnx9PyV9yLMd4tg8fb5Bwa7dDWxKYVLuPcXg==",
6
6
  "_location": "/@syncfusion/ej2-calendars",
7
7
  "_phantomChildren": {},
8
8
  "_requested": {
@@ -32,8 +32,8 @@
32
32
  "/@syncfusion/ej2-schedule",
33
33
  "/@syncfusion/ej2-vue-calendars"
34
34
  ],
35
- "_resolved": "http://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-calendars/-/ej2-calendars-20.2.45.tgz",
36
- "_shasum": "c97feb31bba8ff3a25e69381a504b6da07861c37",
35
+ "_resolved": "http://nexus.syncfusion.com/repository/ej2-release/@syncfusion/ej2-calendars/-/ej2-calendars-18.29.7.tgz",
36
+ "_shasum": "e84b6925e383db1cec6844879252bd260ab4dd68",
37
37
  "_spec": "@syncfusion/ej2-calendars@*",
38
38
  "_where": "/jenkins/workspace/automation_release_19.1.0.1-ZPMUBNQ6AUYH6YGEFBPVYMEQLRRW2SLD4XCZ6GATNZJFYJ3RIAOA/packages/included",
39
39
  "author": {
@@ -44,16 +44,16 @@
44
44
  },
45
45
  "bundleDependencies": false,
46
46
  "dependencies": {
47
- "@syncfusion/ej2-base": "~20.2.46",
48
- "@syncfusion/ej2-buttons": "~20.2.46",
49
- "@syncfusion/ej2-inputs": "~20.2.45",
50
- "@syncfusion/ej2-lists": "~20.2.46",
51
- "@syncfusion/ej2-popups": "~20.2.45"
47
+ "@syncfusion/ej2-base": "~20.3.47",
48
+ "@syncfusion/ej2-buttons": "~20.3.47",
49
+ "@syncfusion/ej2-inputs": "~20.3.47",
50
+ "@syncfusion/ej2-lists": "~20.3.47",
51
+ "@syncfusion/ej2-popups": "~20.3.47"
52
52
  },
53
53
  "deprecated": false,
54
54
  "description": "A complete package of date or time components with built-in features such as date formatting, inline editing, multiple (range) selection, range restriction, month and year selection, strict mode, and globalization.",
55
55
  "devDependencies": {},
56
- "es2015": "./dist/es6/ej2-calendars.es2015.js",
56
+ "es2015": "./dist/es6/ej2-calendars.es5.js",
57
57
  "homepage": "https://github.com/syncfusion/ej2-javascript-ui-controls#readme",
58
58
  "keywords": [
59
59
  "ej2",
@@ -81,6 +81,6 @@
81
81
  "url": "git+https://github.com/syncfusion/ej2-javascript-ui-controls.git"
82
82
  },
83
83
  "typings": "index.d.ts",
84
- "version": "20.2.46",
84
+ "version": "20.3.47",
85
85
  "sideEffects": false
86
86
  }
@@ -62,6 +62,7 @@ export declare class CalendarBase extends Component<HTMLElement> implements INot
62
62
  protected todayButtonEvent: MouseEvent | KeyboardEvent;
63
63
  protected preventChange: boolean;
64
64
  protected isAngular: boolean;
65
+ protected previousDates: boolean;
65
66
  /**
66
67
  * Gets or sets the minimum date that can be selected in the Calendar.
67
68
  *
@@ -387,7 +388,7 @@ export declare class CalendarBase extends Component<HTMLElement> implements INot
387
388
  protected preRender(value?: Date): void;
388
389
  protected minMaxDate(localDate: Date): Date;
389
390
  protected renderMonths(e?: Event, value?: Date, isCustomDate?: boolean): void;
390
- protected renderDays(currentDate: Date, value?: Date, multiSelection?: boolean, values?: Date[], isTodayDate?: boolean): HTMLElement[];
391
+ protected renderDays(currentDate: Date, value?: Date, multiSelection?: boolean, values?: Date[], isTodayDate?: boolean, e?: Event): HTMLElement[];
391
392
  protected updateFocus(otherMonth: boolean, disabled: boolean, localDate: Date, tableElement: HTMLElement, currentDate: Date): void;
392
393
  protected renderYears(e?: Event, value?: Date): void;
393
394
  protected renderDecades(e?: Event, value?: Date): void;
@@ -587,7 +588,7 @@ export declare class Calendar extends CalendarBase {
587
588
  createContent(): void;
588
589
  protected minMaxDate(localDate: Date): Date;
589
590
  protected renderMonths(e?: Event, value?: Date, isCustomDate?: boolean): void;
590
- protected renderDays(currentDate: Date, value?: Date, isMultiSelect?: boolean, values?: Date[], isCustomDate?: boolean): HTMLElement[];
591
+ protected renderDays(currentDate: Date, value?: Date, isMultiSelect?: boolean, values?: Date[], isCustomDate?: boolean, e?: Event): HTMLElement[];
591
592
  protected renderYears(e?: Event): void;
592
593
  protected renderDecades(e?: Event): void;
593
594
  protected renderTemplate(elements: HTMLElement[], count: number, classNm: string, e?: Event): void;
@@ -84,6 +84,7 @@ var CalendarBase = /** @class */ (function (_super) {
84
84
  _this.isTodayClicked = false;
85
85
  _this.preventChange = false;
86
86
  _this.isAngular = false;
87
+ _this.previousDates = false;
87
88
  return _this;
88
89
  }
89
90
  /**
@@ -133,7 +134,7 @@ var CalendarBase = /** @class */ (function (_super) {
133
134
  this.calendarElement.classList.add(DEVICE);
134
135
  }
135
136
  attributes(this.calendarElement, {
136
- 'role': 'calendar'
137
+ 'data-role': 'calendar'
137
138
  });
138
139
  }
139
140
  this.createHeader();
@@ -261,7 +262,7 @@ var CalendarBase = /** @class */ (function (_super) {
261
262
  };
262
263
  CalendarBase.prototype.createContent = function () {
263
264
  this.contentElement = this.createElement('div', { className: CONTENT });
264
- this.table = this.createElement('table', { attrs: { tabIndex: '0', 'role': 'grid', 'aria-activedescendant': '' } });
265
+ this.table = this.createElement('table', { attrs: { tabIndex: '0', 'role': 'grid', 'aria-activedescendant': '', 'aria-labelledby': this.element.id } });
265
266
  if (this.getModuleName() === 'calendar') {
266
267
  this.element.appendChild(this.contentElement);
267
268
  }
@@ -652,7 +653,7 @@ var CalendarBase = /** @class */ (function (_super) {
652
653
  var numCells = this.weekNumber ? 8 : 7;
653
654
  var tdEles;
654
655
  if (this.calendarMode === 'Gregorian') {
655
- tdEles = this.renderDays(this.currentDate, value, null, null, isCustomDate);
656
+ tdEles = this.renderDays(this.currentDate, value, null, null, isCustomDate, e);
656
657
  }
657
658
  else {
658
659
  tdEles = this.islamicModule.islamicRenderDays(this.currentDate, value);
@@ -665,7 +666,7 @@ var CalendarBase = /** @class */ (function (_super) {
665
666
  this.islamicModule.islamicRenderTemplate(tdEles, numCells, MONTH, e, value);
666
667
  }
667
668
  };
668
- CalendarBase.prototype.renderDays = function (currentDate, value, multiSelection, values, isTodayDate) {
669
+ CalendarBase.prototype.renderDays = function (currentDate, value, multiSelection, values, isTodayDate, e) {
669
670
  var tdEles = [];
670
671
  var cellsCount = 42;
671
672
  var todayDate = isTodayDate ? new Date(+currentDate) : this.getDate(new Date(), this.timezone);
@@ -756,6 +757,10 @@ var CalendarBase = /** @class */ (function (_super) {
756
757
  // if (args.isDisabled && +this.value === +args.date) {
757
758
  // this.setProperties({ value: null }, true);
758
759
  // }
760
+ var currentTarget = void 0;
761
+ if (!isNullOrUndefined(e) && e.type == 'click') {
762
+ currentTarget = e.currentTarget;
763
+ }
759
764
  if (multiSelection && !isNullOrUndefined(values) && !disabledCls) {
760
765
  for (var tempValue = 0; tempValue < values.length; tempValue++) {
761
766
  var type = (this.calendarMode === 'Gregorian') ? 'gregorian' : 'islamic';
@@ -766,6 +771,22 @@ var CalendarBase = /** @class */ (function (_super) {
766
771
  || (this.getDateVal(localDate, value))) {
767
772
  addClass([tdEle], SELECTED);
768
773
  }
774
+ if (!isNullOrUndefined(currentTarget) && currentTarget.innerText === tdEle.innerText && this.previousDates && currentTarget.classList.contains(SELECTED)) {
775
+ removeClass([tdEle], SELECTED);
776
+ this.previousDates = false;
777
+ var copyValues = this.copyValues(values);
778
+ for (var i = 0; i < copyValues.length; i++) {
779
+ var type_1 = (this.calendarMode === 'Gregorian') ? 'gregorian' : 'islamic';
780
+ var formatOptions_1 = { format: null, type: 'date', skeleton: 'short', calendar: type_1 };
781
+ var localDateString_1 = this.globalize.formatDate(date, formatOptions_1);
782
+ var tempDateString_1 = this.globalize.formatDate(copyValues[i], formatOptions_1);
783
+ if (localDateString_1 === tempDateString_1) {
784
+ var index = copyValues.indexOf(copyValues[i]);
785
+ copyValues.splice(index, 1);
786
+ }
787
+ }
788
+ this.setProperties({ values: copyValues }, true);
789
+ }
769
790
  else {
770
791
  this.updateFocus(otherMnthBool, disabledCls, localDate, tdEle, currentDate);
771
792
  }
@@ -873,7 +894,6 @@ var CalendarBase = /** @class */ (function (_super) {
873
894
  var year = startYear + rowIterator;
874
895
  localDate.setFullYear(year);
875
896
  var tdEle = this.dayCell(localDate);
876
- attributes(tdEle, { 'role': 'gridcell' });
877
897
  var dayLink = this.createElement('span');
878
898
  dayLink.textContent = this.globalize.formatDate(localDate, {
879
899
  format: null, type: 'dateTime', skeleton: 'y'
@@ -914,7 +934,7 @@ var CalendarBase = /** @class */ (function (_super) {
914
934
  var date = this.globalize.parseDate(this.globalize.formatDate(localDate, dateFormatOptions), dateFormatOptions);
915
935
  var value = date.valueOf();
916
936
  var attrs = {
917
- className: CELL, attrs: { 'id': '' + getUniqueID('' + value), 'aria-selected': 'false', 'role': 'gridcell' }
937
+ className: CELL, attrs: { 'id': '' + getUniqueID('' + value), 'aria-selected': 'false' }
918
938
  };
919
939
  return this.createElement('td', attrs);
920
940
  };
@@ -988,7 +1008,7 @@ var CalendarBase = /** @class */ (function (_super) {
988
1008
  var row = count;
989
1009
  var rowIterator = 0;
990
1010
  for (var dayCell = 0; dayCell < elements.length / count; ++dayCell) {
991
- trEle = this.createElement('tr', { attrs: { 'role': 'row' } });
1011
+ trEle = this.createElement('tr');
992
1012
  for (rowIterator = 0 + rowIterator; rowIterator < row; rowIterator++) {
993
1013
  if (!elements[rowIterator].classList.contains('e-week-number') && !isNullOrUndefined(elements[rowIterator].children[0])) {
994
1014
  addClass([elements[rowIterator].children[0]], [LINK]);
@@ -2209,8 +2229,8 @@ var Calendar = /** @class */ (function (_super) {
2209
2229
  Calendar.prototype.renderMonths = function (e, value, isCustomDate) {
2210
2230
  _super.prototype.renderMonths.call(this, e, this.value, isCustomDate);
2211
2231
  };
2212
- Calendar.prototype.renderDays = function (currentDate, value, isMultiSelect, values, isCustomDate) {
2213
- var tempDays = _super.prototype.renderDays.call(this, currentDate, this.value, this.isMultiSelection, this.values, isCustomDate);
2232
+ Calendar.prototype.renderDays = function (currentDate, value, isMultiSelect, values, isCustomDate, e) {
2233
+ var tempDays = _super.prototype.renderDays.call(this, currentDate, this.value, this.isMultiSelection, this.values, isCustomDate, e);
2214
2234
  if (this.isMultiSelection) {
2215
2235
  _super.prototype.validateValues.call(this, this.isMultiSelection, this.values);
2216
2236
  }
@@ -2248,9 +2268,14 @@ var Calendar = /** @class */ (function (_super) {
2248
2268
  if (eve.classList.contains(OTHERMONTH)) {
2249
2269
  if (this.isMultiSelection) {
2250
2270
  var copyValues = this.copyValues(this.values);
2251
- copyValues.push(this.getIdValue(e, null));
2252
- this.setProperties({ values: copyValues }, true);
2253
- this.setProperties({ value: this.values[this.values.length - 1] }, true);
2271
+ if (copyValues.toString().indexOf(this.getIdValue(e, null).toString()) === -1) {
2272
+ copyValues.push(this.getIdValue(e, null));
2273
+ this.setProperties({ values: copyValues }, true);
2274
+ this.setProperties({ value: this.values[this.values.length - 1] }, true);
2275
+ }
2276
+ else {
2277
+ this.previousDates = true;
2278
+ }
2254
2279
  }
2255
2280
  else {
2256
2281
  this.setProperties({ value: this.getIdValue(e, null) }, true);
@@ -354,14 +354,14 @@ var Islamic = /** @class */ (function () {
354
354
  dayLink.textContent = this.calendarInstance.globalize.formatDate(localDate, { type: 'dateTime', format: 'y', calendar: 'islamic' });
355
355
  if (islamicDate.year === parseInt(startHdrYr) - 1 || (year_1 < startFullYr) || (year_1 > endFullYr) && islamicDate.year !== parseInt(endHdrYr)) {
356
356
  addClass([tdEle], OTHERMONTH);
357
- if (year_1 < new Date(this.islamicInValue(this.calendarInstance.min)).getFullYear()
358
- || year_1 > new Date(this.islamicInValue(this.calendarInstance.max)).getFullYear()) {
359
- addClass([tdEle], DISABLED);
360
- }
361
357
  }
362
358
  else if (year_1 < new Date(this.islamicInValue(this.calendarInstance.min)).getFullYear()
363
359
  || year_1 > new Date(this.islamicInValue(this.calendarInstance.max)).getFullYear()) {
364
360
  addClass([tdEle], DISABLED);
361
+ if (year_1 < new Date(this.islamicInValue(this.calendarInstance.min)).getFullYear()
362
+ || year_1 > new Date(this.islamicInValue(this.calendarInstance.max)).getFullYear()) {
363
+ addClass([tdEle], DISABLED);
364
+ }
365
365
  }
366
366
  else if (!isNullOrUndefined(value) &&
367
367
  (this.getIslamicDate(localDate)).year ===
@@ -98,6 +98,10 @@ var DatePicker = /** @class */ (function (_super) {
98
98
  DatePicker.prototype.render = function () {
99
99
  this.initialize();
100
100
  this.bindEvents();
101
+ Input.calculateWidth(this.inputElement, this.inputWrapper.container);
102
+ if (!isNullOrUndefined(this.inputWrapper.buttons[0]) && !isNullOrUndefined(this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0]) && this.floatLabelType !== 'Never') {
103
+ this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0].classList.add('e-icon');
104
+ }
101
105
  this.renderComplete();
102
106
  this.setTimeZone(this.serverTimezoneOffset);
103
107
  };
@@ -161,10 +165,9 @@ var DatePicker = /** @class */ (function (_super) {
161
165
  };
162
166
  DatePicker.prototype.createInput = function () {
163
167
  var ariaAttrs = {
164
- 'aria-live': 'assertive', 'aria-atomic': 'true',
165
- 'aria-haspopup': 'true', 'aria-activedescendant': 'null',
166
- 'aria-owns': this.element.id + '_options', 'aria-expanded': 'false', 'role': 'combobox', 'autocomplete': 'off',
167
- 'autocorrect': 'off', 'autocapitalize': 'off', 'spellcheck': 'false', 'aria-invalid': 'false'
168
+ 'aria-live': 'assertive', 'aria-atomic': 'true', 'aria-expanded': 'false',
169
+ 'role': 'combobox', 'autocomplete': 'off', 'autocorrect': 'off',
170
+ 'autocapitalize': 'off', 'spellcheck': 'false', 'aria-invalid': 'false'
168
171
  };
169
172
  if (this.getModuleName() === 'datepicker') {
170
173
  var l10nLocale = { placeholder: this.placeholder };
@@ -1368,8 +1371,7 @@ var DatePicker = /** @class */ (function (_super) {
1368
1371
  }
1369
1372
  var ariaAttrs = {
1370
1373
  'aria-live': 'assertive', 'aria-atomic': 'true', 'aria-disabled': 'true',
1371
- 'aria-haspopup': 'true', 'aria-activedescendant': 'null',
1372
- 'aria-owns': this.element.id + '_options', 'aria-expanded': 'false', 'role': 'combobox', 'autocomplete': 'off',
1374
+ 'aria-expanded': 'false', 'role': 'combobox', 'autocomplete': 'off',
1373
1375
  'autocorrect': 'off', 'autocapitalize': 'off', 'spellcheck': 'false'
1374
1376
  };
1375
1377
  if (this.inputElement) {
@@ -1694,11 +1696,15 @@ var DatePicker = /** @class */ (function (_super) {
1694
1696
  DatePicker.prototype.setAriaAttributes = function () {
1695
1697
  if (this.isCalendar()) {
1696
1698
  Input.addAttributes({ 'aria-expanded': 'true' }, this.inputElement);
1697
- attributes(this.inputElement, { 'aria-activedescendant': '' + this.setActiveDescendant() });
1699
+ attributes(this.inputElement, { 'aria-owns': this.inputElement.id + '_options' });
1700
+ if (this.value) {
1701
+ attributes(this.inputElement, { 'aria-activedescendant': '' + this.setActiveDescendant() });
1702
+ }
1698
1703
  }
1699
1704
  else {
1700
1705
  Input.addAttributes({ 'aria-expanded': 'false' }, this.inputElement);
1701
- attributes(this.inputElement, { 'aria-activedescendant': 'null' });
1706
+ this.inputElement.removeAttribute('aria-owns');
1707
+ this.inputElement.removeAttribute('aria-activedescendant');
1702
1708
  }
1703
1709
  };
1704
1710
  DatePicker.prototype.errorClass = function () {
@@ -1822,11 +1828,18 @@ var DatePicker = /** @class */ (function (_super) {
1822
1828
  break;
1823
1829
  case 'width':
1824
1830
  this.setWidth(newProp.width);
1831
+ Input.calculateWidth(this.inputElement, this.inputWrapper.container);
1832
+ if (!isNullOrUndefined(this.inputWrapper.buttons[0]) && !isNullOrUndefined(this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0]) && this.floatLabelType !== 'Never') {
1833
+ this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0].classList.add('e-icon');
1834
+ }
1825
1835
  break;
1826
1836
  case 'floatLabelType':
1827
1837
  this.floatLabelType = newProp.floatLabelType;
1828
1838
  Input.removeFloating(this.inputWrapper);
1829
1839
  Input.addFloating(this.inputElement, this.floatLabelType, this.placeholder);
1840
+ if (!isNullOrUndefined(this.inputWrapper.buttons[0]) && !isNullOrUndefined(this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0]) && this.floatLabelType !== 'Never') {
1841
+ this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0].classList.add('e-icon');
1842
+ }
1830
1843
  break;
1831
1844
  case 'enableMask':
1832
1845
  if (this.enableMask) {
@@ -1848,7 +1861,7 @@ var DatePicker = /** @class */ (function (_super) {
1848
1861
  }
1849
1862
  break;
1850
1863
  }
1851
- if (!this.isDynamicValueChanged) {
1864
+ if (!this.isDynamicValueChanged && !this.isIconClicked) {
1852
1865
  this.hide(null);
1853
1866
  }
1854
1867
  this.isDynamicValueChanged = false;
@@ -169,6 +169,7 @@ export declare class DateRangePicker extends CalendarBase {
169
169
  private mobileRangePopupWrap;
170
170
  protected isAngular: boolean;
171
171
  protected preventChange: boolean;
172
+ protected isPropChanged: boolean;
172
173
  /**
173
174
  * Gets or sets the start and end date of the Calendar.
174
175
  * {% codeBlock src='daterangepicker/value/index.md' %}{% endcodeBlock %}
@@ -147,6 +147,7 @@ var DateRangePicker = /** @class */ (function (_super) {
147
147
  _this.invalidValueString = null;
148
148
  _this.isAngular = false;
149
149
  _this.preventChange = false;
150
+ _this.isPropChanged = false;
150
151
  _this.dateRangeOptions = options;
151
152
  return _this;
152
153
  }
@@ -165,6 +166,10 @@ var DateRangePicker = /** @class */ (function (_super) {
165
166
  if (this.element.hasAttribute('data-val')) {
166
167
  this.element.setAttribute('data-val', 'false');
167
168
  }
169
+ Input.calculateWidth(this.inputElement, this.inputWrapper.container);
170
+ if (!isNullOrUndefined(this.inputWrapper.buttons[0]) && !isNullOrUndefined(this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0]) && this.floatLabelType !== 'Never') {
171
+ this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0].classList.add('e-icon');
172
+ }
168
173
  this.renderComplete();
169
174
  };
170
175
  /**
@@ -2330,7 +2335,7 @@ var DateRangePicker = /** @class */ (function (_super) {
2330
2335
  if (this.enableRtl) {
2331
2336
  this.calendarElement.classList.add(RTL);
2332
2337
  }
2333
- attributes(this.calendarElement, { 'role': 'calendar' });
2338
+ attributes(this.calendarElement, { 'data-role': 'calendar' });
2334
2339
  _super.prototype.createHeader.call(this);
2335
2340
  _super.prototype.createContent.call(this);
2336
2341
  };
@@ -2889,7 +2894,7 @@ var DateRangePicker = /** @class */ (function (_super) {
2889
2894
  if (!isUndefined(this.presets[0].start && this.presets[0].end && this.presets[0].label)) {
2890
2895
  this.presetElement = this.createElement('div', { className: PRESETS, attrs: { 'tabindex': '0' } });
2891
2896
  var listTag = ListBase.createList(this.createElement, this.presetsItem, null, true);
2892
- attributes(listTag, { 'role': 'listbox', 'aria-hidden': 'false', 'id': this.element.id + '_options' });
2897
+ attributes(listTag, { 'role': 'listbox', 'aria-hidden': 'false', 'id': this.element.id + '_options', 'tabindex': '0' });
2893
2898
  this.presetElement.appendChild(listTag);
2894
2899
  this.popupWrapper.appendChild(this.presetElement);
2895
2900
  var customElement = this.presetElement.querySelector('#custom_range');
@@ -2950,7 +2955,13 @@ var DateRangePicker = /** @class */ (function (_super) {
2950
2955
  enableRtl: this.enableRtl,
2951
2956
  zIndex: this.zIndex,
2952
2957
  open: function () {
2953
- attributes(_this.inputElement, { 'aria-expanded': 'true' });
2958
+ attributes(_this.inputElement, { 'aria-expanded': 'true', 'aria-owns': _this.inputElement.id + '_options' });
2959
+ if (_this.value) {
2960
+ attributes(_this.inputElement, { 'aria-activedescendant': _this.inputElement.id });
2961
+ }
2962
+ else {
2963
+ _this.inputElement.removeAttribute('aria-activedescendant');
2964
+ }
2954
2965
  addClass([_this.inputWrapper.buttons[0]], ACTIVE);
2955
2966
  if (!_this.isMobile) {
2956
2967
  if (_this.cancelButton) {
@@ -2998,6 +3009,8 @@ var DateRangePicker = /** @class */ (function (_super) {
2998
3009
  },
2999
3010
  close: function () {
3000
3011
  attributes(_this.inputElement, { 'aria-expanded': 'false' });
3012
+ _this.inputElement.removeAttribute('aria-owns');
3013
+ _this.inputElement.removeAttribute('aria-activedescendant');
3001
3014
  removeClass([_this.inputWrapper.buttons[0]], ACTIVE);
3002
3015
  if (_this.isRangeIconClicked) {
3003
3016
  _this.inputWrapper.container.children[1].focus();
@@ -3264,7 +3277,7 @@ var DateRangePicker = /** @class */ (function (_super) {
3264
3277
  }
3265
3278
  var target = e.target;
3266
3279
  if (!this.inputWrapper.container.contains(target) ||
3267
- (!isNullOrUndefined(this.popupObj) && !closest(target, '[id="' + this.popupWrapper.id + '"]') && e.type === 'mousedown')) {
3280
+ (!isNullOrUndefined(this.popupObj) && !closest(target, '[id="' + this.popupWrapper.id + '"]') && e.type !== 'mousedown')) {
3268
3281
  if (e.type !== 'touchstart' && ((e.type === 'mousedown') ||
3269
3282
  this.closeEventArgs && !this.closeEventArgs.cancel)) {
3270
3283
  e.preventDefault();
@@ -3303,9 +3316,8 @@ var DateRangePicker = /** @class */ (function (_super) {
3303
3316
  buttons: [DATERANGEICON]
3304
3317
  }, this.createElement);
3305
3318
  attributes(this.inputElement, {
3306
- 'aria-readonly': this.readonly ? 'true' : 'false', 'tabindex': '0', 'aria-haspopup': 'true',
3307
- 'aria-activedescendant': 'null', 'aria-owns': this.element.id + '_popup', 'aria-expanded': 'false',
3308
- 'role': 'combobox', 'autocomplete': 'off', 'aria-disabled': !this.enabled ? 'true' : 'false',
3319
+ 'tabindex': '0', 'aria-expanded': 'false', 'role': 'combobox',
3320
+ 'autocomplete': 'off', 'aria-disabled': !this.enabled ? 'true' : 'false',
3309
3321
  'autocorrect': 'off', 'autocapitalize': 'off', 'spellcheck': 'false'
3310
3322
  });
3311
3323
  Input.addAttributes({ 'aria-label': 'select' }, this.inputWrapper.buttons[0]);
@@ -3736,9 +3748,8 @@ var DateRangePicker = /** @class */ (function (_super) {
3736
3748
  this.unBindEvents();
3737
3749
  this.hide(null);
3738
3750
  var ariaAttrs = {
3739
- 'aria-readonly': this.readonly ? 'true' : 'false', 'tabindex': '0', 'aria-haspopup': 'true',
3740
- 'aria-activedescendant': 'null', 'aria-owns': this.element.id + '_popup', 'aria-expanded': 'false',
3741
- 'role': 'combobox', 'autocomplete': 'off', 'aria-disabled': !this.enabled ? 'true' : 'false',
3751
+ 'tabindex': '0', 'aria-expanded': 'false', 'role': 'combobox',
3752
+ 'autocomplete': 'off', 'aria-disabled': !this.enabled ? 'true' : 'false',
3742
3753
  'autocorrect': 'off', 'autocapitalize': 'off', 'aria-invalid': 'false', 'spellcheck': 'false'
3743
3754
  };
3744
3755
  if (this.inputElement) {
@@ -4097,12 +4108,13 @@ var DateRangePicker = /** @class */ (function (_super) {
4097
4108
  for (var _i = 0, _a = Object.keys(newProp); _i < _a.length; _i++) {
4098
4109
  var prop = _a[_i];
4099
4110
  var openPopup = ['maxDays', 'minDays', 'value'];
4100
- if (openPopup.indexOf(prop) < 0) {
4101
- this.hide(null);
4102
- }
4103
4111
  switch (prop) {
4104
4112
  case 'width':
4105
4113
  this.setEleWidth(this.width);
4114
+ Input.calculateWidth(this.inputElement, this.inputWrapper.container);
4115
+ if (!isNullOrUndefined(this.inputWrapper.buttons[0]) && !isNullOrUndefined(this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0]) && this.floatLabelType !== 'Never') {
4116
+ this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0].classList.add('e-icon');
4117
+ }
4106
4118
  break;
4107
4119
  case 'separator':
4108
4120
  this.previousEleValue = this.inputElement.value;
@@ -4116,7 +4128,6 @@ var DateRangePicker = /** @class */ (function (_super) {
4116
4128
  break;
4117
4129
  case 'readonly':
4118
4130
  Input.setReadonly(this.readonly, this.inputElement);
4119
- this.inputElement.setAttribute('aria-readonly', '' + this.readonly);
4120
4131
  this.setRangeAllowEdit();
4121
4132
  break;
4122
4133
  case 'cssClass':
@@ -4294,6 +4305,9 @@ var DateRangePicker = /** @class */ (function (_super) {
4294
4305
  this.floatLabelType = newProp.floatLabelType;
4295
4306
  Input.removeFloating(this.inputWrapper);
4296
4307
  Input.addFloating(this.inputElement, this.floatLabelType, this.placeholder);
4308
+ if (!isNullOrUndefined(this.inputWrapper.buttons[0]) && !isNullOrUndefined(this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0]) && this.floatLabelType !== 'Never') {
4309
+ this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0].classList.add('e-icon');
4310
+ }
4297
4311
  break;
4298
4312
  case 'start':
4299
4313
  this.setProperties({ start: newProp.start }, true);
@@ -4303,7 +4317,13 @@ var DateRangePicker = /** @class */ (function (_super) {
4303
4317
  this.setProperties({ depth: newProp.depth }, true);
4304
4318
  this.refreshChange();
4305
4319
  break;
4320
+ default:
4321
+ this.isPropChanged = true;
4322
+ }
4323
+ if (openPopup.indexOf(prop) < 0 && !this.isPropChanged) {
4324
+ this.hide(null);
4306
4325
  }
4326
+ this.isPropChanged = false;
4307
4327
  }
4308
4328
  };
4309
4329
  __decorate([
@@ -148,13 +148,11 @@ var DateTimePicker = /** @class */ (function (_super) {
148
148
  }
149
149
  var ariaAttribute = {
150
150
  'aria-live': 'assertive', 'aria-atomic': 'true', 'aria-invalid': 'false',
151
- 'aria-haspopup': 'true', 'aria-activedescendant': 'null',
152
151
  'autocorrect': 'off', 'autocapitalize': 'off', 'spellcheck': 'false',
153
- 'aria-owns': this.element.id + '_options', 'aria-expanded': 'false', 'role': 'combobox', 'autocomplete': 'off'
152
+ 'aria-expanded': 'false', 'role': 'combobox', 'autocomplete': 'off'
154
153
  };
155
154
  if (this.inputElement) {
156
155
  Input.removeAttributes(ariaAttribute, this.inputElement);
157
- this.inputElement.removeAttribute('aria-placeholder');
158
156
  }
159
157
  if (this.isCalendar()) {
160
158
  if (this.popupWrapper) {
@@ -219,6 +217,10 @@ var DateTimePicker = /** @class */ (function (_super) {
219
217
  this.inputElement.tabIndex = -1;
220
218
  }
221
219
  }
220
+ Input.calculateWidth(this.inputElement, this.inputWrapper.container);
221
+ if (!isNullOrUndefined(this.inputWrapper.buttons[0]) && !isNullOrUndefined(this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0]) && this.floatLabelType !== 'Never') {
222
+ this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0].classList.add('e-date-time-icon');
223
+ }
222
224
  this.renderComplete();
223
225
  };
224
226
  DateTimePicker.prototype.setValue = function () {
@@ -565,6 +567,7 @@ var DateTimePicker = /** @class */ (function (_super) {
565
567
  }
566
568
  addClass([_this.inputWrapper.container], [ICONANIMATION]);
567
569
  attributes(_this.inputElement, { 'aria-expanded': 'true' });
570
+ attributes(_this.inputElement, { 'aria-owns': _this.inputElement.id + '_options' });
568
571
  EventHandler.add(document, 'mousedown touchstart', _this.documentClickHandler, _this);
569
572
  }
570
573
  });
@@ -629,7 +632,7 @@ var DateTimePicker = /** @class */ (function (_super) {
629
632
  }, close: function () {
630
633
  removeClass([_this.timeIcon], ACTIVE);
631
634
  _this.unWireTimeListEvents();
632
- _this.inputElement.setAttribute('aria-activedescendant', 'null');
635
+ _this.inputElement.removeAttribute('aria-activedescendant');
633
636
  remove(_this.popupObject.element);
634
637
  _this.popupObject.destroy();
635
638
  _this.dateTimeWrapper.innerHTML = '';
@@ -845,11 +848,11 @@ var DateTimePicker = /** @class */ (function (_super) {
845
848
  }
846
849
  };
847
850
  DateTimePicker.prototype.setTimeActiveDescendant = function () {
848
- if (!isNullOrUndefined(this.selectedElement)) {
851
+ if (!isNullOrUndefined(this.selectedElement) && this.value) {
849
852
  attributes(this.inputElement, { 'aria-activedescendant': this.selectedElement.getAttribute('id') });
850
853
  }
851
854
  else {
852
- attributes(this.inputElement, { 'aria-activedescendant': 'null' });
855
+ this.inputElement.removeAttribute('aria-activedescendant');
853
856
  }
854
857
  };
855
858
  DateTimePicker.prototype.addTimeSelection = function () {
@@ -1008,6 +1011,7 @@ var DateTimePicker = /** @class */ (function (_super) {
1008
1011
  this.popupObject.hide(new Animation(animModel));
1009
1012
  this.inputWrapper.container.classList.remove(ICONANIMATION);
1010
1013
  attributes(this.inputElement, { 'aria-expanded': 'false' });
1014
+ this.inputElement.removeAttribute('aria-owns');
1011
1015
  EventHandler.remove(document, 'mousedown touchstart', this.documentClickHandler);
1012
1016
  }
1013
1017
  };
@@ -1395,7 +1399,6 @@ var DateTimePicker = /** @class */ (function (_super) {
1395
1399
  break;
1396
1400
  case 'placeholder':
1397
1401
  Input.setPlaceholder(newProp.placeholder, this.inputElement);
1398
- this.inputElement.setAttribute('aria-placeholder', newProp.placeholder);
1399
1402
  break;
1400
1403
  case 'enabled':
1401
1404
  Input.setEnabled(this.enabled, this.inputElement);
@@ -1409,6 +1412,10 @@ var DateTimePicker = /** @class */ (function (_super) {
1409
1412
  break;
1410
1413
  case 'width':
1411
1414
  this.setWidth(newProp.width);
1415
+ Input.calculateWidth(this.inputElement, this.inputWrapper.container);
1416
+ if (!isNullOrUndefined(this.inputWrapper.buttons[0]) && !isNullOrUndefined(this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0]) && this.floatLabelType !== 'Never') {
1417
+ this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0].classList.add('e-date-time-icon');
1418
+ }
1412
1419
  break;
1413
1420
  case 'readonly':
1414
1421
  Input.setReadonly(this.readonly, this.inputElement);
@@ -1417,6 +1424,9 @@ var DateTimePicker = /** @class */ (function (_super) {
1417
1424
  this.floatLabelType = newProp.floatLabelType;
1418
1425
  Input.removeFloating(this.inputWrapper);
1419
1426
  Input.addFloating(this.inputElement, this.floatLabelType, this.placeholder);
1427
+ if (!isNullOrUndefined(this.inputWrapper.buttons[0]) && !isNullOrUndefined(this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0]) && this.floatLabelType !== 'Never') {
1428
+ this.inputWrapper.container.getElementsByClassName('e-float-text-overflow')[0].classList.add('e-date-time-icon');
1429
+ }
1420
1430
  break;
1421
1431
  case 'scrollTo':
1422
1432
  if (this.checkDateValue(new Date(this.checkValue(newProp.scrollTo)))) {
@@ -1447,7 +1457,7 @@ var DateTimePicker = /** @class */ (function (_super) {
1447
1457
  _super.prototype.onPropertyChanged.call(this, newProp, oldProp);
1448
1458
  break;
1449
1459
  }
1450
- if (!this.isDynamicValueChanged) {
1460
+ if (!this.isDynamicValueChanged && !this.isIconClicked) {
1451
1461
  this.hide(null);
1452
1462
  }
1453
1463
  this.isDynamicValueChanged = false;