nxt-pick-datetime 11.0.0 → 13.0.1

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 (131) hide show
  1. package/README.md +221 -221
  2. package/assets/picker.scss +668 -668
  3. package/esm2020/lib/class/date-time-adapter.class.mjs +112 -0
  4. package/esm2020/lib/class/date-time-format.class.mjs +4 -0
  5. package/esm2020/lib/class/date-time.class.mjs +161 -0
  6. package/esm2020/lib/class/dialog-config.class.mjs +56 -0
  7. package/esm2020/lib/class/dialog-ref.class.mjs +121 -0
  8. package/esm2020/lib/date-time/calendar/calendar.component.mjs +345 -0
  9. package/esm2020/lib/date-time/calendar-body/calendar-body.component.mjs +145 -0
  10. package/esm2020/lib/date-time/calendar-month-view/calendar-month-view.component.mjs +438 -0
  11. package/esm2020/lib/date-time/calendar-multi-year-view/calendar-multi-year-view.component.mjs +359 -0
  12. package/esm2020/lib/date-time/calendar-year-view/calendar-year-view.component.mjs +369 -0
  13. package/esm2020/lib/date-time/date-time-inline/date-time-inline.component.mjs +264 -0
  14. package/esm2020/lib/date-time/date-time-picker/date-time-picker.component.mjs +529 -0
  15. package/esm2020/lib/date-time/date-time-picker-container/date-time-picker-container.animations.mjs +18 -0
  16. package/esm2020/lib/date-time/date-time-picker-container/date-time-picker-container.component.mjs +390 -0
  17. package/esm2020/lib/date-time/date-time-picker-input.directive.mjs +624 -0
  18. package/esm2020/lib/date-time/date-time-picker-intl.service.mjs +61 -0
  19. package/esm2020/lib/date-time/date-time-picker-trigger.directive.mjs +68 -0
  20. package/esm2020/lib/date-time/date-time.module.mjs +88 -0
  21. package/esm2020/lib/date-time/number-fixed-len.pipe.mjs +25 -0
  22. package/esm2020/lib/date-time/timer/timer.component.mjs +292 -0
  23. package/esm2020/lib/date-time/timer-box/timer-box.component.mjs +88 -0
  24. package/esm2020/lib/dialog/dialog-container/dialog-container.component.mjs +243 -0
  25. package/esm2020/lib/dialog/dialog.module.mjs +34 -0
  26. package/esm2020/lib/dialog/dialog.service.mjs +240 -0
  27. package/esm2020/lib/utils/object.mjs +23 -0
  28. package/esm2020/moment-adapter/date-time-adapter.class.mjs +215 -0
  29. package/{esm2015/moment-adapter/date-time-format.class.js → esm2020/moment-adapter/date-time-format.class.mjs} +1 -1
  30. package/esm2020/moment-adapter/moment-adapter.module.mjs +41 -0
  31. package/esm2020/moment-adapter/nxt-pick-datetime-moment-adapter.mjs +5 -0
  32. package/{esm2015/moment-adapter/public-api.js → esm2020/moment-adapter/public-api.mjs} +1 -1
  33. package/esm2020/native-adapter/date-time-adapter.class.mjs +344 -0
  34. package/{esm2015/native-adapter/date-time-format.class.js → esm2020/native-adapter/date-time-format.class.mjs} +1 -1
  35. package/esm2020/native-adapter/native-adapter.module.mjs +35 -0
  36. package/esm2020/native-adapter/nxt-pick-datetime-native-adapter.mjs +5 -0
  37. package/{esm2015/native-adapter/public-api.js → esm2020/native-adapter/public-api.mjs} +1 -1
  38. package/esm2020/nxt-pick-datetime.mjs +5 -0
  39. package/{esm2015/public-api.js → esm2020/public-api.mjs} +1 -1
  40. package/fesm2015/nxt-pick-datetime-moment-adapter.mjs +269 -0
  41. package/fesm2015/nxt-pick-datetime-moment-adapter.mjs.map +1 -0
  42. package/fesm2015/{nxt-pick-datetime-native-adapter.js → nxt-pick-datetime-native-adapter.mjs} +41 -27
  43. package/fesm2015/nxt-pick-datetime-native-adapter.mjs.map +1 -0
  44. package/fesm2015/nxt-pick-datetime.mjs +4974 -0
  45. package/fesm2015/nxt-pick-datetime.mjs.map +1 -0
  46. package/{fesm2015/nxt-pick-datetime-moment-adapter.js → fesm2020/nxt-pick-datetime-moment-adapter.mjs} +48 -27
  47. package/fesm2020/nxt-pick-datetime-moment-adapter.mjs.map +1 -0
  48. package/fesm2020/nxt-pick-datetime-native-adapter.mjs +390 -0
  49. package/fesm2020/nxt-pick-datetime-native-adapter.mjs.map +1 -0
  50. package/{fesm2015/nxt-pick-datetime.js → fesm2020/nxt-pick-datetime.mjs} +2207 -1967
  51. package/fesm2020/nxt-pick-datetime.mjs.map +1 -0
  52. package/lib/class/date-time.class.d.ts +3 -0
  53. package/lib/class/dialog-ref.class.d.ts +2 -0
  54. package/lib/date-time/calendar/calendar.component.d.ts +3 -0
  55. package/lib/date-time/calendar-body/calendar-body.component.d.ts +3 -0
  56. package/lib/date-time/calendar-month-view/calendar-month-view.component.d.ts +3 -0
  57. package/lib/date-time/calendar-multi-year-view/calendar-multi-year-view.component.d.ts +3 -0
  58. package/lib/date-time/calendar-year-view/calendar-year-view.component.d.ts +3 -0
  59. package/lib/date-time/date-time-inline/date-time-inline.component.d.ts +3 -0
  60. package/lib/date-time/date-time-picker/date-time-picker.component.d.ts +3 -0
  61. package/lib/date-time/date-time-picker-container/date-time-picker-container.component.d.ts +3 -0
  62. package/lib/date-time/date-time-picker-input.directive.d.ts +3 -0
  63. package/lib/date-time/date-time-picker-intl.service.d.ts +3 -0
  64. package/lib/date-time/date-time-picker-trigger.directive.d.ts +3 -0
  65. package/lib/date-time/date-time.module.d.ts +21 -0
  66. package/lib/date-time/number-fixed-len.pipe.d.ts +3 -0
  67. package/lib/date-time/timer/timer.component.d.ts +3 -0
  68. package/lib/date-time/timer-box/timer-box.component.d.ts +3 -0
  69. package/lib/dialog/dialog-container/dialog-container.component.d.ts +5 -2
  70. package/lib/dialog/dialog.module.d.ts +9 -0
  71. package/lib/dialog/dialog.service.d.ts +6 -2
  72. package/moment-adapter/date-time-adapter.class.d.ts +3 -0
  73. package/moment-adapter/moment-adapter.module.d.ts +7 -0
  74. package/moment-adapter/nxt-pick-datetime-moment-adapter.d.ts +1 -3
  75. package/moment-adapter/package.json +6 -7
  76. package/native-adapter/date-time-adapter.class.d.ts +3 -0
  77. package/native-adapter/native-adapter.module.d.ts +8 -0
  78. package/native-adapter/nxt-pick-datetime-native-adapter.d.ts +1 -3
  79. package/native-adapter/package.json +6 -7
  80. package/nxt-pick-datetime.d.ts +1 -14
  81. package/package.json +44 -13
  82. package/bundles/nxt-pick-datetime-moment-adapter.umd.js +0 -579
  83. package/bundles/nxt-pick-datetime-moment-adapter.umd.js.map +0 -1
  84. package/bundles/nxt-pick-datetime-moment-adapter.umd.min.js +0 -16
  85. package/bundles/nxt-pick-datetime-moment-adapter.umd.min.js.map +0 -1
  86. package/bundles/nxt-pick-datetime-native-adapter.umd.js +0 -706
  87. package/bundles/nxt-pick-datetime-native-adapter.umd.js.map +0 -1
  88. package/bundles/nxt-pick-datetime-native-adapter.umd.min.js +0 -16
  89. package/bundles/nxt-pick-datetime-native-adapter.umd.min.js.map +0 -1
  90. package/bundles/nxt-pick-datetime.umd.js +0 -5809
  91. package/bundles/nxt-pick-datetime.umd.js.map +0 -1
  92. package/bundles/nxt-pick-datetime.umd.min.js +0 -17
  93. package/bundles/nxt-pick-datetime.umd.min.js.map +0 -1
  94. package/esm2015/lib/class/date-time-adapter.class.js +0 -112
  95. package/esm2015/lib/class/date-time-format.class.js +0 -4
  96. package/esm2015/lib/class/date-time.class.js +0 -151
  97. package/esm2015/lib/class/dialog-config.class.js +0 -56
  98. package/esm2015/lib/class/dialog-ref.class.js +0 -113
  99. package/esm2015/lib/date-time/calendar/calendar.component.js +0 -331
  100. package/esm2015/lib/date-time/calendar-body/calendar-body.component.js +0 -144
  101. package/esm2015/lib/date-time/calendar-month-view/calendar-month-view.component.js +0 -425
  102. package/esm2015/lib/date-time/calendar-multi-year-view/calendar-multi-year-view.component.js +0 -347
  103. package/esm2015/lib/date-time/calendar-year-view/calendar-year-view.component.js +0 -356
  104. package/esm2015/lib/date-time/date-time-inline/date-time-inline.component.js +0 -246
  105. package/esm2015/lib/date-time/date-time-picker/date-time-picker.component.js +0 -511
  106. package/esm2015/lib/date-time/date-time-picker-container/date-time-picker-container.animations.js +0 -18
  107. package/esm2015/lib/date-time/date-time-picker-container/date-time-picker-container.component.js +0 -373
  108. package/esm2015/lib/date-time/date-time-picker-input.directive.js +0 -592
  109. package/esm2015/lib/date-time/date-time-picker-intl.service.js +0 -59
  110. package/esm2015/lib/date-time/date-time-picker-trigger.directive.js +0 -63
  111. package/esm2015/lib/date-time/date-time.module.js +0 -60
  112. package/esm2015/lib/date-time/number-fixed-len.pipe.js +0 -21
  113. package/esm2015/lib/date-time/timer/timer.component.js +0 -287
  114. package/esm2015/lib/date-time/timer-box/timer-box.component.js +0 -77
  115. package/esm2015/lib/dialog/dialog-container/dialog-container.component.js +0 -202
  116. package/esm2015/lib/dialog/dialog.module.js +0 -26
  117. package/esm2015/lib/dialog/dialog.service.js +0 -225
  118. package/esm2015/lib/utils/object.js +0 -23
  119. package/esm2015/moment-adapter/date-time-adapter.class.js +0 -206
  120. package/esm2015/moment-adapter/moment-adapter.module.js +0 -28
  121. package/esm2015/moment-adapter/nxt-pick-datetime-moment-adapter.js +0 -8
  122. package/esm2015/native-adapter/date-time-adapter.class.js +0 -342
  123. package/esm2015/native-adapter/native-adapter.module.js +0 -26
  124. package/esm2015/native-adapter/nxt-pick-datetime-native-adapter.js +0 -8
  125. package/esm2015/nxt-pick-datetime.js +0 -19
  126. package/fesm2015/nxt-pick-datetime-moment-adapter.js.map +0 -1
  127. package/fesm2015/nxt-pick-datetime-native-adapter.js.map +0 -1
  128. package/fesm2015/nxt-pick-datetime.js.map +0 -1
  129. package/moment-adapter/nxt-pick-datetime-moment-adapter.metadata.json +0 -1
  130. package/native-adapter/nxt-pick-datetime-native-adapter.metadata.json +0 -1
  131. package/nxt-pick-datetime.metadata.json +0 -1
@@ -0,0 +1,112 @@
1
+ import { inject, InjectionToken, LOCALE_ID } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ /** InjectionToken for date time picker that can be used to override default locale code. */
4
+ export const OWL_DATE_TIME_LOCALE = new InjectionToken('OWL_DATE_TIME_LOCALE', {
5
+ providedIn: 'root',
6
+ factory: OWL_DATE_TIME_LOCALE_FACTORY
7
+ });
8
+ /** @docs-private */
9
+ export function OWL_DATE_TIME_LOCALE_FACTORY() {
10
+ return inject(LOCALE_ID);
11
+ }
12
+ /** Provider for OWL_DATE_TIME_LOCALE injection token. */
13
+ export const OWL_DATE_TIME_LOCALE_PROVIDER = {
14
+ provide: OWL_DATE_TIME_LOCALE,
15
+ useExisting: LOCALE_ID
16
+ };
17
+ export class DateTimeAdapter {
18
+ constructor() {
19
+ /** A stream that emits when the locale changes. */
20
+ this._localeChanges = new Subject();
21
+ /** total milliseconds in a day. */
22
+ this.millisecondsInDay = 86400000;
23
+ /** total milliseconds in a minute. */
24
+ this.milliseondsInMinute = 60000;
25
+ }
26
+ get localeChanges() {
27
+ return this._localeChanges;
28
+ }
29
+ /**
30
+ * Compare two given dates
31
+ * 1 if the first date is after the second,
32
+ * -1 if the first date is before the second
33
+ * 0 if dates are equal.
34
+ * */
35
+ compare(first, second) {
36
+ if (!this.isValid(first) || !this.isValid(second)) {
37
+ throw Error('JSNativeDate: Cannot compare invalid dates.');
38
+ }
39
+ const dateFirst = this.clone(first);
40
+ const dateSecond = this.clone(second);
41
+ const diff = this.getTime(dateFirst) - this.getTime(dateSecond);
42
+ if (diff < 0) {
43
+ return -1;
44
+ }
45
+ else if (diff > 0) {
46
+ return 1;
47
+ }
48
+ else {
49
+ // Return 0 if diff is 0; return NaN if diff is NaN
50
+ return diff;
51
+ }
52
+ }
53
+ /**
54
+ * Check if two given dates are in the same year
55
+ * 1 if the first date's year is after the second,
56
+ * -1 if the first date's year is before the second
57
+ * 0 if two given dates are in the same year
58
+ * */
59
+ compareYear(first, second) {
60
+ if (!this.isValid(first) || !this.isValid(second)) {
61
+ throw Error('JSNativeDate: Cannot compare invalid dates.');
62
+ }
63
+ const yearLeft = this.getYear(first);
64
+ const yearRight = this.getYear(second);
65
+ const diff = yearLeft - yearRight;
66
+ if (diff < 0) {
67
+ return -1;
68
+ }
69
+ else if (diff > 0) {
70
+ return 1;
71
+ }
72
+ else {
73
+ return 0;
74
+ }
75
+ }
76
+ /**
77
+ * Attempts to deserialize a value to a valid date object. This is different from parsing in that
78
+ * deserialize should only accept non-ambiguous, locale-independent formats (e.g. a ISO 8601
79
+ * string). The default implementation does not allow any deserialization, it simply checks that
80
+ * the given value is already a valid date object or null. The `<mat-datepicker>` will call this
81
+ * method on all of it's `@Input()` properties that accept dates. It is therefore possible to
82
+ * support passing values from your backend directly to these properties by overriding this method
83
+ * to also deserialize the format used by your backend.
84
+ */
85
+ deserialize(value) {
86
+ if (value == null ||
87
+ (this.isDateInstance(value) && this.isValid(value))) {
88
+ return value;
89
+ }
90
+ return this.invalid();
91
+ }
92
+ /**
93
+ * Sets the locale used for all dates.
94
+ */
95
+ setLocale(locale) {
96
+ this.locale = locale;
97
+ this._localeChanges.next();
98
+ }
99
+ /**
100
+ * Clamp the given date between min and max dates.
101
+ */
102
+ clampDate(date, min, max) {
103
+ if (min && this.compare(date, min) < 0) {
104
+ return min;
105
+ }
106
+ if (max && this.compare(date, max) > 0) {
107
+ return max;
108
+ }
109
+ return date;
110
+ }
111
+ }
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLWFkYXB0ZXIuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtcGljay1kYXRldGltZS9zcmMvbGliL2NsYXNzL2RhdGUtdGltZS1hZGFwdGVyLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUNqRSxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBRTFDLDRGQUE0RjtBQUM1RixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLGNBQWMsQ0FDbEQsc0JBQXNCLEVBQ3RCO0lBQ0ksVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLDRCQUE0QjtDQUN4QyxDQUNKLENBQUE7QUFFRCxvQkFBb0I7QUFDcEIsTUFBTSxVQUFVLDRCQUE0QjtJQUN4QyxPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQUM1QixDQUFDO0FBRUQseURBQXlEO0FBQ3pELE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHO0lBQ3pDLE9BQU8sRUFBRSxvQkFBb0I7SUFDN0IsV0FBVyxFQUFFLFNBQVM7Q0FDekIsQ0FBQTtBQUVELE1BQU0sT0FBZ0IsZUFBZTtJQUFyQztRQUlJLG1EQUFtRDtRQUN6QyxtQkFBYyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUE7UUFLOUMsbUNBQW1DO1FBQ2hCLHNCQUFpQixHQUFHLFFBQVEsQ0FBQTtRQUUvQyxzQ0FBc0M7UUFDbkIsd0JBQW1CLEdBQUcsS0FBSyxDQUFBO0lBc1FsRCxDQUFDO0lBOVFHLElBQUksYUFBYTtRQUNiLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQTtJQUM5QixDQUFDO0lBa0xEOzs7OztTQUtLO0lBQ0wsT0FBTyxDQUFDLEtBQVEsRUFBRSxNQUFTO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUMvQyxNQUFNLEtBQUssQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFBO1NBQzdEO1FBRUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNuQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBRXJDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQTtRQUUvRCxJQUFJLElBQUksR0FBRyxDQUFDLEVBQUU7WUFDVixPQUFPLENBQUMsQ0FBQyxDQUFBO1NBQ1o7YUFBTSxJQUFJLElBQUksR0FBRyxDQUFDLEVBQUU7WUFDakIsT0FBTyxDQUFDLENBQUE7U0FDWDthQUFNO1lBQ0gsbURBQW1EO1lBQ25ELE9BQU8sSUFBSSxDQUFBO1NBQ2Q7SUFDTCxDQUFDO0lBRUQ7Ozs7O1NBS0s7SUFDTCxXQUFXLENBQUMsS0FBUSxFQUFFLE1BQVM7UUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQy9DLE1BQU0sS0FBSyxDQUFDLDZDQUE2QyxDQUFDLENBQUE7U0FDN0Q7UUFFRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3BDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUE7UUFFdEMsTUFBTSxJQUFJLEdBQUcsUUFBUSxHQUFHLFNBQVMsQ0FBQTtRQUVqQyxJQUFJLElBQUksR0FBRyxDQUFDLEVBQUU7WUFDVixPQUFPLENBQUMsQ0FBQyxDQUFBO1NBQ1o7YUFBTSxJQUFJLElBQUksR0FBRyxDQUFDLEVBQUU7WUFDakIsT0FBTyxDQUFDLENBQUE7U0FDWDthQUFNO1lBQ0gsT0FBTyxDQUFDLENBQUE7U0FDWDtJQUNMLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILFdBQVcsQ0FBQyxLQUFVO1FBQ2xCLElBQ0ksS0FBSyxJQUFJLElBQUk7WUFDYixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUNyRDtZQUNFLE9BQU8sS0FBSyxDQUFBO1NBQ2Y7UUFDRCxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQTtJQUN6QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxTQUFTLENBQUMsTUFBVztRQUNqQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQTtRQUNwQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFBO0lBQzlCLENBQUM7SUFFRDs7T0FFRztJQUNILFNBQVMsQ0FBQyxJQUFPLEVBQUUsR0FBYyxFQUFFLEdBQWM7UUFDN0MsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3BDLE9BQU8sR0FBRyxDQUFBO1NBQ2I7UUFDRCxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDcEMsT0FBTyxHQUFHLENBQUE7U0FDYjtRQUNELE9BQU8sSUFBSSxDQUFBO0lBQ2YsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3Rpb25Ub2tlbiwgTE9DQUxFX0lEIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJ1xuXG4vKiogSW5qZWN0aW9uVG9rZW4gZm9yIGRhdGUgdGltZSBwaWNrZXIgdGhhdCBjYW4gYmUgdXNlZCB0byBvdmVycmlkZSBkZWZhdWx0IGxvY2FsZSBjb2RlLiAqL1xuZXhwb3J0IGNvbnN0IE9XTF9EQVRFX1RJTUVfTE9DQUxFID0gbmV3IEluamVjdGlvblRva2VuPHN0cmluZz4oXG4gICAgJ09XTF9EQVRFX1RJTUVfTE9DQUxFJyxcbiAgICB7XG4gICAgICAgIHByb3ZpZGVkSW46ICdyb290JyxcbiAgICAgICAgZmFjdG9yeTogT1dMX0RBVEVfVElNRV9MT0NBTEVfRkFDVE9SWVxuICAgIH1cbilcblxuLyoqIEBkb2NzLXByaXZhdGUgKi9cbmV4cG9ydCBmdW5jdGlvbiBPV0xfREFURV9USU1FX0xPQ0FMRV9GQUNUT1JZKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGluamVjdChMT0NBTEVfSUQpXG59XG5cbi8qKiBQcm92aWRlciBmb3IgT1dMX0RBVEVfVElNRV9MT0NBTEUgaW5qZWN0aW9uIHRva2VuLiAqL1xuZXhwb3J0IGNvbnN0IE9XTF9EQVRFX1RJTUVfTE9DQUxFX1BST1ZJREVSID0ge1xuICAgIHByb3ZpZGU6IE9XTF9EQVRFX1RJTUVfTE9DQUxFLFxuICAgIHVzZUV4aXN0aW5nOiBMT0NBTEVfSURcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIERhdGVUaW1lQWRhcHRlcjxUPiB7XG4gICAgLyoqIFRoZSBsb2NhbGUgdG8gdXNlIGZvciBhbGwgZGF0ZXMuICovXG4gICAgcHJvdGVjdGVkIGxvY2FsZTogYW55XG5cbiAgICAvKiogQSBzdHJlYW0gdGhhdCBlbWl0cyB3aGVuIHRoZSBsb2NhbGUgY2hhbmdlcy4gKi9cbiAgICBwcm90ZWN0ZWQgX2xvY2FsZUNoYW5nZXMgPSBuZXcgU3ViamVjdDx2b2lkPigpXG4gICAgZ2V0IGxvY2FsZUNoYW5nZXMoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9sb2NhbGVDaGFuZ2VzXG4gICAgfVxuXG4gICAgLyoqIHRvdGFsIG1pbGxpc2Vjb25kcyBpbiBhIGRheS4gKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbWlsbGlzZWNvbmRzSW5EYXkgPSA4NjQwMDAwMFxuXG4gICAgLyoqIHRvdGFsIG1pbGxpc2Vjb25kcyBpbiBhIG1pbnV0ZS4gKi9cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbWlsbGlzZW9uZHNJbk1pbnV0ZSA9IDYwMDAwXG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIHllYXIgb2YgdGhlIGdpdmVuIGRhdGVcbiAgICAgKi9cbiAgICBhYnN0cmFjdCBnZXRZZWFyKGRhdGU6IFQpOiBudW1iZXJcblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgbW9udGggb2YgdGhlIGdpdmVuIGRhdGVcbiAgICAgKiAwIC0tIEphbnVhcnlcbiAgICAgKiAxMSAtLSBEZWNlbWJlclxuICAgICAqICovXG4gICAgYWJzdHJhY3QgZ2V0TW9udGgoZGF0ZTogVCk6IG51bWJlclxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBkYXkgb2YgdGhlIHdlZWsgb2YgdGhlIGdpdmVuIGRhdGVcbiAgICAgKiAwIC0tIFN1bmRheVxuICAgICAqIDYgLS0gU2F0dXJkYXlcbiAgICAgKiAqL1xuICAgIGFic3RyYWN0IGdldERheShkYXRlOiBUKTogbnVtYmVyXG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIGRheSBudW0gb2YgdGhlIGdpdmVuIGRhdGVcbiAgICAgKi9cbiAgICBhYnN0cmFjdCBnZXREYXRlKGRhdGU6IFQpOiBudW1iZXJcblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgaG91cnMgb2YgdGhlIGdpdmVuIGRhdGVcbiAgICAgKi9cbiAgICBhYnN0cmFjdCBnZXRIb3VycyhkYXRlOiBUKTogbnVtYmVyXG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIG1pbnV0ZXMgb2YgdGhlIGdpdmVuIGRhdGVcbiAgICAgKi9cbiAgICBhYnN0cmFjdCBnZXRNaW51dGVzKGRhdGU6IFQpOiBudW1iZXJcblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgc2Vjb25kcyBvZiB0aGUgZ2l2ZW4gZGF0ZVxuICAgICAqL1xuICAgIGFic3RyYWN0IGdldFNlY29uZHMoZGF0ZTogVCk6IG51bWJlclxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBtaWxsaXNlY29uZHMgdGltZXN0YW1wIG9mIHRoZSBnaXZlbiBkYXRlXG4gICAgICovXG4gICAgYWJzdHJhY3QgZ2V0VGltZShkYXRlOiBUKTogbnVtYmVyXG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBudW1iZXIgb2YgZGF5cyBpbiB0aGUgbW9udGggb2YgdGhlIGdpdmVuIGRhdGUuXG4gICAgICovXG4gICAgYWJzdHJhY3QgZ2V0TnVtRGF5c0luTW9udGgoZGF0ZTogVCk6IG51bWJlclxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBudW1iZXIgb2YgY2FsZW5kYXIgZGF5cyBiZXR3ZWVuIHRoZSBnaXZlbiBkYXRlcy5cbiAgICAgKiBJZiBkYXRlTGVmdCBpcyBiZWZvcmUgZGF0ZVJpZ2h0LCBpdCB3b3VsZCByZXR1cm4gcG9zaXRpdmUgdmFsdWVcbiAgICAgKiBJZiBkYXRlTGVmdCBpcyBhZnRlciBkYXRlUmlnaHQsIGl0IHdvdWxkIHJldHVybiBuZWdhdGl2ZSB2YWx1ZVxuICAgICAqL1xuICAgIGFic3RyYWN0IGRpZmZlcmVuY2VJbkNhbGVuZGFyRGF5cyhkYXRlTGVmdDogVCwgZGF0ZVJpZ2h0OiBUKTogbnVtYmVyXG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBuYW1lIGZvciB0aGUgeWVhciBvZiB0aGUgZ2l2ZW4gZGF0ZS5cbiAgICAgKi9cbiAgICBhYnN0cmFjdCBnZXRZZWFyTmFtZShkYXRlOiBUKTogc3RyaW5nXG5cbiAgICAvKipcbiAgICAgKiBHZXQgYSBsaXN0IG9mIG1vbnRoIG5hbWVzXG4gICAgICovXG4gICAgYWJzdHJhY3QgZ2V0TW9udGhOYW1lcyhzdHlsZTogJ2xvbmcnIHwgJ3Nob3J0JyB8ICduYXJyb3cnKTogc3RyaW5nW11cblxuICAgIC8qKlxuICAgICAqIEdldCBhIGxpc3Qgb2Ygd2VlayBuYW1lc1xuICAgICAqL1xuICAgIGFic3RyYWN0IGdldERheU9mV2Vla05hbWVzKHN0eWxlOiAnbG9uZycgfCAnc2hvcnQnIHwgJ25hcnJvdycpOiBzdHJpbmdbXVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBhIGxpc3Qgb2YgbmFtZXMgZm9yIHRoZSBkYXRlcyBvZiB0aGUgbW9udGguXG4gICAgICovXG4gICAgYWJzdHJhY3QgZ2V0RGF0ZU5hbWVzKCk6IHN0cmluZ1tdXG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm4gYSBEYXRlIG9iamVjdCBhcyBhIHN0cmluZywgdXNpbmcgdGhlIElTTyBzdGFuZGFyZFxuICAgICAqL1xuICAgIGFic3RyYWN0IHRvSXNvODYwMShkYXRlOiBUKTogc3RyaW5nXG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiB0aGUgZ2l2ZSBkYXRlcyBhcmUgZXF1YWxcbiAgICAgKi9cbiAgICBhYnN0cmFjdCBpc0VxdWFsKGRhdGVMZWZ0OiBULCBkYXRlUmlnaHQ6IFQpOiBib29sZWFuXG5cbiAgICAvKipcbiAgICAgKiBDaGVjayBpZiB0aGUgZ2l2ZSBkYXRlcyBhcmUgdGhlIHNhbWUgZGF5XG4gICAgICovXG4gICAgYWJzdHJhY3QgaXNTYW1lRGF5KGRhdGVMZWZ0OiBULCBkYXRlUmlnaHQ6IFQpOiBib29sZWFuXG5cbiAgICAvKipcbiAgICAgKiBDaGVja3Mgd2hldGhlciB0aGUgZ2l2ZW4gZGF0ZSBpcyB2YWxpZC5cbiAgICAgKi9cbiAgICBhYnN0cmFjdCBpc1ZhbGlkKGRhdGU6IFQpOiBib29sZWFuXG5cbiAgICAvKipcbiAgICAgKiBHZXRzIGRhdGUgaW5zdGFuY2UgdGhhdCBpcyBub3QgdmFsaWQuXG4gICAgICovXG4gICAgYWJzdHJhY3QgaW52YWxpZCgpOiBUXG5cbiAgICAvKipcbiAgICAgKiBDaGVja3Mgd2hldGhlciB0aGUgZ2l2ZW4gb2JqZWN0IGlzIGNvbnNpZGVyZWQgYSBkYXRlIGluc3RhbmNlIGJ5IHRoaXMgRGF0ZVRpbWVBZGFwdGVyLlxuICAgICAqL1xuICAgIGFic3RyYWN0IGlzRGF0ZUluc3RhbmNlKG9iajogYW55KTogYm9vbGVhblxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIHllYXJzIHRvIHRoZSBnaXZlbiBkYXRlXG4gICAgICovXG4gICAgYWJzdHJhY3QgYWRkQ2FsZW5kYXJZZWFycyhkYXRlOiBULCBhbW91bnQ6IG51bWJlcik6IFRcblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBtb250aHMgdG8gdGhlIGdpdmVuIGRhdGVcbiAgICAgKi9cbiAgICBhYnN0cmFjdCBhZGRDYWxlbmRhck1vbnRocyhkYXRlOiBULCBhbW91bnQ6IG51bWJlcik6IFRcblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBkYXlzIHRvIHRoZSBnaXZlbiBkYXRlXG4gICAgICovXG4gICAgYWJzdHJhY3QgYWRkQ2FsZW5kYXJEYXlzKGRhdGU6IFQsIGFtb3VudDogbnVtYmVyKTogVFxuXG4gICAgLyoqXG4gICAgICogU2V0IHRoZSBob3VycyB0byB0aGUgZ2l2ZW4gZGF0ZS5cbiAgICAgKi9cbiAgICBhYnN0cmFjdCBzZXRIb3VycyhkYXRlOiBULCBhbW91bnQ6IG51bWJlcik6IFRcblxuICAgIC8qKlxuICAgICAqIFNldCB0aGUgbWludXRlcyB0byB0aGUgZ2l2ZW4gZGF0ZS5cbiAgICAgKi9cbiAgICBhYnN0cmFjdCBzZXRNaW51dGVzKGRhdGU6IFQsIGFtb3VudDogbnVtYmVyKTogVFxuXG4gICAgLyoqXG4gICAgICogU2V0IHRoZSBzZWNvbmRzIHRvIHRoZSBnaXZlbiBkYXRlLlxuICAgICAqL1xuICAgIGFic3RyYWN0IHNldFNlY29uZHMoZGF0ZTogVCwgYW1vdW50OiBudW1iZXIpOiBUXG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZGF0ZSB3aXRoIHRoZSBnaXZlbiB5ZWFyLCBtb250aCwgZGF0ZSwgaG91ciwgbWludXRlIGFuZCBzZWNvbmQuIERvZXMgbm90IGFsbG93IG92ZXIvdW5kZXItZmxvdyBvZiB0aGVcbiAgICAgKiBtb250aCBhbmQgZGF0ZS5cbiAgICAgKi9cbiAgICBhYnN0cmFjdCBjcmVhdGVEYXRlKHllYXI6IG51bWJlciwgbW9udGg6IG51bWJlciwgZGF0ZTogbnVtYmVyKTogVFxuICAgIGFic3RyYWN0IGNyZWF0ZURhdGUoXG4gICAgICAgIHllYXI6IG51bWJlcixcbiAgICAgICAgbW9udGg6IG51bWJlcixcbiAgICAgICAgZGF0ZTogbnVtYmVyLFxuICAgICAgICBob3VyczogbnVtYmVyLFxuICAgICAgICBtaW51dGVzOiBudW1iZXIsXG4gICAgICAgIHNlY29uZHM6IG51bWJlclxuICAgICk6IFRcblxuICAgIC8qKlxuICAgICAqIENsb25lIHRoZSBnaXZlbiBkYXRlXG4gICAgICovXG4gICAgYWJzdHJhY3QgY2xvbmUoZGF0ZTogVCk6IFRcblxuICAgIC8qKlxuICAgICAqIEdldCBhIG5ldyBtb21lbnRcbiAgICAgKiAqL1xuICAgIGFic3RyYWN0IG5vdygpOiBUXG5cbiAgICAvKipcbiAgICAgKiBGb3JtYXRzIGEgZGF0ZSBhcyBhIHN0cmluZyBhY2NvcmRpbmcgdG8gdGhlIGdpdmVuIGZvcm1hdC5cbiAgICAgKi9cbiAgICBhYnN0cmFjdCBmb3JtYXQoZGF0ZTogVCwgZGlzcGxheUZvcm1hdDogYW55KTogc3RyaW5nXG5cbiAgICAvKipcbiAgICAgKiBQYXJzZSBhIHVzZXItcHJvdmlkZWQgdmFsdWUgdG8gYSBEYXRlIE9iamVjdFxuICAgICAqL1xuICAgIGFic3RyYWN0IHBhcnNlKHZhbHVlOiBhbnksIHBhcnNlRm9ybWF0OiBhbnkpOiBUIHwgbnVsbFxuXG4gICAgLyoqXG4gICAgICogQ29tcGFyZSB0d28gZ2l2ZW4gZGF0ZXNcbiAgICAgKiAxIGlmIHRoZSBmaXJzdCBkYXRlIGlzIGFmdGVyIHRoZSBzZWNvbmQsXG4gICAgICogLTEgaWYgdGhlIGZpcnN0IGRhdGUgaXMgYmVmb3JlIHRoZSBzZWNvbmRcbiAgICAgKiAwIGlmIGRhdGVzIGFyZSBlcXVhbC5cbiAgICAgKiAqL1xuICAgIGNvbXBhcmUoZmlyc3Q6IFQsIHNlY29uZDogVCk6IG51bWJlciB7XG4gICAgICAgIGlmICghdGhpcy5pc1ZhbGlkKGZpcnN0KSB8fCAhdGhpcy5pc1ZhbGlkKHNlY29uZCkpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKCdKU05hdGl2ZURhdGU6IENhbm5vdCBjb21wYXJlIGludmFsaWQgZGF0ZXMuJylcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRhdGVGaXJzdCA9IHRoaXMuY2xvbmUoZmlyc3QpXG4gICAgICAgIGNvbnN0IGRhdGVTZWNvbmQgPSB0aGlzLmNsb25lKHNlY29uZClcblxuICAgICAgICBjb25zdCBkaWZmID0gdGhpcy5nZXRUaW1lKGRhdGVGaXJzdCkgLSB0aGlzLmdldFRpbWUoZGF0ZVNlY29uZClcblxuICAgICAgICBpZiAoZGlmZiA8IDApIHtcbiAgICAgICAgICAgIHJldHVybiAtMVxuICAgICAgICB9IGVsc2UgaWYgKGRpZmYgPiAwKSB7XG4gICAgICAgICAgICByZXR1cm4gMVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gUmV0dXJuIDAgaWYgZGlmZiBpcyAwOyByZXR1cm4gTmFOIGlmIGRpZmYgaXMgTmFOXG4gICAgICAgICAgICByZXR1cm4gZGlmZlxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgdHdvIGdpdmVuIGRhdGVzIGFyZSBpbiB0aGUgc2FtZSB5ZWFyXG4gICAgICogMSBpZiB0aGUgZmlyc3QgZGF0ZSdzIHllYXIgaXMgYWZ0ZXIgdGhlIHNlY29uZCxcbiAgICAgKiAtMSBpZiB0aGUgZmlyc3QgZGF0ZSdzIHllYXIgaXMgYmVmb3JlIHRoZSBzZWNvbmRcbiAgICAgKiAwIGlmIHR3byBnaXZlbiBkYXRlcyBhcmUgaW4gdGhlIHNhbWUgeWVhclxuICAgICAqICovXG4gICAgY29tcGFyZVllYXIoZmlyc3Q6IFQsIHNlY29uZDogVCk6IG51bWJlciB7XG4gICAgICAgIGlmICghdGhpcy5pc1ZhbGlkKGZpcnN0KSB8fCAhdGhpcy5pc1ZhbGlkKHNlY29uZCkpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKCdKU05hdGl2ZURhdGU6IENhbm5vdCBjb21wYXJlIGludmFsaWQgZGF0ZXMuJylcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHllYXJMZWZ0ID0gdGhpcy5nZXRZZWFyKGZpcnN0KVxuICAgICAgICBjb25zdCB5ZWFyUmlnaHQgPSB0aGlzLmdldFllYXIoc2Vjb25kKVxuXG4gICAgICAgIGNvbnN0IGRpZmYgPSB5ZWFyTGVmdCAtIHllYXJSaWdodFxuXG4gICAgICAgIGlmIChkaWZmIDwgMCkge1xuICAgICAgICAgICAgcmV0dXJuIC0xXG4gICAgICAgIH0gZWxzZSBpZiAoZGlmZiA+IDApIHtcbiAgICAgICAgICAgIHJldHVybiAxXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gMFxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQXR0ZW1wdHMgdG8gZGVzZXJpYWxpemUgYSB2YWx1ZSB0byBhIHZhbGlkIGRhdGUgb2JqZWN0LiBUaGlzIGlzIGRpZmZlcmVudCBmcm9tIHBhcnNpbmcgaW4gdGhhdFxuICAgICAqIGRlc2VyaWFsaXplIHNob3VsZCBvbmx5IGFjY2VwdCBub24tYW1iaWd1b3VzLCBsb2NhbGUtaW5kZXBlbmRlbnQgZm9ybWF0cyAoZS5nLiBhIElTTyA4NjAxXG4gICAgICogc3RyaW5nKS4gVGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24gZG9lcyBub3QgYWxsb3cgYW55IGRlc2VyaWFsaXphdGlvbiwgaXQgc2ltcGx5IGNoZWNrcyB0aGF0XG4gICAgICogdGhlIGdpdmVuIHZhbHVlIGlzIGFscmVhZHkgYSB2YWxpZCBkYXRlIG9iamVjdCBvciBudWxsLiBUaGUgYDxtYXQtZGF0ZXBpY2tlcj5gIHdpbGwgY2FsbCB0aGlzXG4gICAgICogbWV0aG9kIG9uIGFsbCBvZiBpdCdzIGBASW5wdXQoKWAgcHJvcGVydGllcyB0aGF0IGFjY2VwdCBkYXRlcy4gSXQgaXMgdGhlcmVmb3JlIHBvc3NpYmxlIHRvXG4gICAgICogc3VwcG9ydCBwYXNzaW5nIHZhbHVlcyBmcm9tIHlvdXIgYmFja2VuZCBkaXJlY3RseSB0byB0aGVzZSBwcm9wZXJ0aWVzIGJ5IG92ZXJyaWRpbmcgdGhpcyBtZXRob2RcbiAgICAgKiB0byBhbHNvIGRlc2VyaWFsaXplIHRoZSBmb3JtYXQgdXNlZCBieSB5b3VyIGJhY2tlbmQuXG4gICAgICovXG4gICAgZGVzZXJpYWxpemUodmFsdWU6IGFueSk6IFQgfCBudWxsIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgdmFsdWUgPT0gbnVsbCB8fFxuICAgICAgICAgICAgKHRoaXMuaXNEYXRlSW5zdGFuY2UodmFsdWUpICYmIHRoaXMuaXNWYWxpZCh2YWx1ZSkpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuaW52YWxpZCgpXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgbG9jYWxlIHVzZWQgZm9yIGFsbCBkYXRlcy5cbiAgICAgKi9cbiAgICBzZXRMb2NhbGUobG9jYWxlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5sb2NhbGUgPSBsb2NhbGVcbiAgICAgICAgdGhpcy5fbG9jYWxlQ2hhbmdlcy5uZXh0KClcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDbGFtcCB0aGUgZ2l2ZW4gZGF0ZSBiZXR3ZWVuIG1pbiBhbmQgbWF4IGRhdGVzLlxuICAgICAqL1xuICAgIGNsYW1wRGF0ZShkYXRlOiBULCBtaW4/OiBUIHwgbnVsbCwgbWF4PzogVCB8IG51bGwpOiBUIHtcbiAgICAgICAgaWYgKG1pbiAmJiB0aGlzLmNvbXBhcmUoZGF0ZSwgbWluKSA8IDApIHtcbiAgICAgICAgICAgIHJldHVybiBtaW5cbiAgICAgICAgfVxuICAgICAgICBpZiAobWF4ICYmIHRoaXMuY29tcGFyZShkYXRlLCBtYXgpID4gMCkge1xuICAgICAgICAgICAgcmV0dXJuIG1heFxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkYXRlXG4gICAgfVxufVxuIl19
@@ -0,0 +1,4 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ /** InjectionToken for date time picker that can be used to override default format. */
3
+ export const OWL_DATE_TIME_FORMATS = new InjectionToken('OWL_DATE_TIME_FORMATS');
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLWZvcm1hdC5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1waWNrLWRhdGV0aW1lL3NyYy9saWIvY2xhc3MvZGF0ZS10aW1lLWZvcm1hdC5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBWTlDLHVGQUF1RjtBQUN2RixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLGNBQWMsQ0FBcUIsdUJBQXVCLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuZXhwb3J0IGludGVyZmFjZSBPd2xEYXRlVGltZUZvcm1hdHMge1xuICAgIHBhcnNlSW5wdXQ6IGFueVxuICAgIGZ1bGxQaWNrZXJJbnB1dDogYW55XG4gICAgZGF0ZVBpY2tlcklucHV0OiBhbnlcbiAgICB0aW1lUGlja2VySW5wdXQ6IGFueVxuICAgIG1vbnRoWWVhckxhYmVsOiBhbnlcbiAgICBkYXRlQTExeUxhYmVsOiBhbnlcbiAgICBtb250aFllYXJBMTF5TGFiZWw6IGFueVxufVxuXG4vKiogSW5qZWN0aW9uVG9rZW4gZm9yIGRhdGUgdGltZSBwaWNrZXIgdGhhdCBjYW4gYmUgdXNlZCB0byBvdmVycmlkZSBkZWZhdWx0IGZvcm1hdC4gKi9cbmV4cG9ydCBjb25zdCBPV0xfREFURV9USU1FX0ZPUk1BVFMgPSBuZXcgSW5qZWN0aW9uVG9rZW48T3dsRGF0ZVRpbWVGb3JtYXRzPignT1dMX0RBVEVfVElNRV9GT1JNQVRTJylcbiJdfQ==
@@ -0,0 +1,161 @@
1
+ import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
2
+ import { Directive, Inject, Input, Optional } from '@angular/core';
3
+ import { OWL_DATE_TIME_FORMATS } from './date-time-format.class';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "./date-time-adapter.class";
6
+ let nextUniqueId = 0;
7
+ export class OwlDateTimeDirective {
8
+ constructor(dateTimeAdapter, dateTimeFormats) {
9
+ this.dateTimeAdapter = dateTimeAdapter;
10
+ this.dateTimeFormats = dateTimeFormats;
11
+ /**
12
+ * Whether to show the second's timer
13
+ */
14
+ this._showSecondsTimer = false;
15
+ /**
16
+ * Whether the timer is in hour12 format
17
+ */
18
+ this._hour12Timer = false;
19
+ /**
20
+ * The view that the calendar should start in.
21
+ */
22
+ this.startView = 'month';
23
+ /**
24
+ * Hours to change per step
25
+ */
26
+ this._stepHour = 1;
27
+ /**
28
+ * Minutes to change per step
29
+ */
30
+ this._stepMinute = 1;
31
+ /**
32
+ * Seconds to change per step
33
+ */
34
+ this._stepSecond = 1;
35
+ /**
36
+ * Set the first day of week
37
+ */
38
+ this._firstDayOfWeek = 0;
39
+ /**
40
+ * Whether to hide dates in other months at the start or end of the current month.
41
+ */
42
+ this._hideOtherMonths = false;
43
+ /**
44
+ * Date Time Checker to check if the give dateTime is selectable
45
+ */
46
+ this.dateTimeChecker = (dateTime) => (!!dateTime &&
47
+ (!this.dateTimeFilter || this.dateTimeFilter(dateTime)) &&
48
+ (!this.minDateTime ||
49
+ this.dateTimeAdapter.compare(dateTime, this.minDateTime) >=
50
+ 0) &&
51
+ (!this.maxDateTime ||
52
+ this.dateTimeAdapter.compare(dateTime, this.maxDateTime) <= 0));
53
+ if (!this.dateTimeAdapter) {
54
+ throw Error('OwlDateTimePicker: No provider found for DateTimeAdapter. You must import one of the following ' +
55
+ 'modules at your application root: OwlNativeDateTimeModule, OwlMomentDateTimeModule, or provide a ' +
56
+ 'custom implementation.');
57
+ }
58
+ if (!this.dateTimeFormats) {
59
+ throw Error('OwlDateTimePicker: No provider found for OWL_DATE_TIME_FORMATS. You must import one of the following ' +
60
+ 'modules at your application root: OwlNativeDateTimeModule, OwlMomentDateTimeModule, or provide a ' +
61
+ 'custom implementation.');
62
+ }
63
+ this._id = `owl-dt-picker-${nextUniqueId++}`;
64
+ }
65
+ get showSecondsTimer() {
66
+ return this._showSecondsTimer;
67
+ }
68
+ set showSecondsTimer(val) {
69
+ this._showSecondsTimer = coerceBooleanProperty(val);
70
+ }
71
+ get hour12Timer() {
72
+ return this._hour12Timer;
73
+ }
74
+ set hour12Timer(val) {
75
+ this._hour12Timer = coerceBooleanProperty(val);
76
+ }
77
+ get stepHour() {
78
+ return this._stepHour;
79
+ }
80
+ set stepHour(val) {
81
+ this._stepHour = coerceNumberProperty(val, 1);
82
+ }
83
+ get stepMinute() {
84
+ return this._stepMinute;
85
+ }
86
+ set stepMinute(val) {
87
+ this._stepMinute = coerceNumberProperty(val, 1);
88
+ }
89
+ get stepSecond() {
90
+ return this._stepSecond;
91
+ }
92
+ set stepSecond(val) {
93
+ this._stepSecond = coerceNumberProperty(val, 1);
94
+ }
95
+ get firstDayOfWeek() {
96
+ return this._firstDayOfWeek;
97
+ }
98
+ set firstDayOfWeek(value) {
99
+ value = coerceNumberProperty(value, 0);
100
+ if (value > 6 || value < 0) {
101
+ this._firstDayOfWeek = 0;
102
+ }
103
+ else {
104
+ this._firstDayOfWeek = value;
105
+ }
106
+ }
107
+ get hideOtherMonths() {
108
+ return this._hideOtherMonths;
109
+ }
110
+ set hideOtherMonths(val) {
111
+ this._hideOtherMonths = coerceBooleanProperty(val);
112
+ }
113
+ get id() {
114
+ return this._id;
115
+ }
116
+ get formatString() {
117
+ return this.pickerType === 'both'
118
+ ? this.dateTimeFormats.fullPickerInput
119
+ : this.pickerType === 'calendar'
120
+ ? this.dateTimeFormats.datePickerInput
121
+ : this.dateTimeFormats.timePickerInput;
122
+ }
123
+ get disabled() {
124
+ return false;
125
+ }
126
+ getValidDate(obj) {
127
+ return this.dateTimeAdapter.isDateInstance(obj) &&
128
+ this.dateTimeAdapter.isValid(obj)
129
+ ? obj
130
+ : null;
131
+ }
132
+ }
133
+ OwlDateTimeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: OwlDateTimeDirective, deps: [{ token: i1.DateTimeAdapter, optional: true }, { token: OWL_DATE_TIME_FORMATS, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
134
+ OwlDateTimeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.2", type: OwlDateTimeDirective, inputs: { showSecondsTimer: "showSecondsTimer", hour12Timer: "hour12Timer", startView: "startView", stepHour: "stepHour", stepMinute: "stepMinute", stepSecond: "stepSecond", firstDayOfWeek: "firstDayOfWeek", hideOtherMonths: "hideOtherMonths" }, ngImport: i0 });
135
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: OwlDateTimeDirective, decorators: [{
136
+ type: Directive
137
+ }], ctorParameters: function () { return [{ type: i1.DateTimeAdapter, decorators: [{
138
+ type: Optional
139
+ }] }, { type: undefined, decorators: [{
140
+ type: Optional
141
+ }, {
142
+ type: Inject,
143
+ args: [OWL_DATE_TIME_FORMATS]
144
+ }] }]; }, propDecorators: { showSecondsTimer: [{
145
+ type: Input
146
+ }], hour12Timer: [{
147
+ type: Input
148
+ }], startView: [{
149
+ type: Input
150
+ }], stepHour: [{
151
+ type: Input
152
+ }], stepMinute: [{
153
+ type: Input
154
+ }], stepSecond: [{
155
+ type: Input
156
+ }], firstDayOfWeek: [{
157
+ type: Input
158
+ }], hideOtherMonths: [{
159
+ type: Input
160
+ }] } });
161
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnh0LXBpY2stZGF0ZXRpbWUvc3JjL2xpYi9jbGFzcy9kYXRlLXRpbWUuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFDbkYsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFaEYsT0FBTyxFQUFzQixxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFBOzs7QUFFcEYsSUFBSSxZQUFZLEdBQUcsQ0FBQyxDQUFBO0FBYXBCLE1BQU0sT0FBZ0Isb0JBQW9CO0lBdUt0QyxZQUMwQixlQUFtQyxFQUcvQyxlQUFtQztRQUh2QixvQkFBZSxHQUFmLGVBQWUsQ0FBb0I7UUFHL0Msb0JBQWUsR0FBZixlQUFlLENBQW9CO1FBMUtqRDs7V0FFRztRQUNLLHNCQUFpQixHQUFHLEtBQUssQ0FBQTtRQVVqQzs7V0FFRztRQUNLLGlCQUFZLEdBQUcsS0FBSyxDQUFBO1FBVTVCOztXQUVHO1FBRUgsY0FBUyxHQUFxQyxPQUFPLENBQUE7UUFFckQ7O1dBRUc7UUFDSyxjQUFTLEdBQUcsQ0FBQyxDQUFBO1FBVXJCOztXQUVHO1FBQ0ssZ0JBQVcsR0FBRyxDQUFDLENBQUE7UUFVdkI7O1dBRUc7UUFDSyxnQkFBVyxHQUFHLENBQUMsQ0FBQTtRQVV2Qjs7V0FFRztRQUNLLG9CQUFlLEdBQUcsQ0FBQyxDQUFBO1FBZTNCOztXQUVHO1FBQ0sscUJBQWdCLEdBQUcsS0FBSyxDQUFBO1FBeURoQzs7V0FFRztRQUNJLG9CQUFlLEdBQUcsQ0FBQyxRQUFXLEVBQUUsRUFBRSxDQUFDLENBQ2xDLENBQUMsQ0FBQyxRQUFRO1lBQ1YsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLElB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QUFDO0lBb0NELElBQUksWUFBWTtRQUNaLE9BQU8sSUFBSSxDQUFDLFVBQVUsS0FBSyxNQUFNO1lBQzdCLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLGVBQWU7WUFDdEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEtBQUssVUFBVTtnQkFDNUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsZUFBZTtnQkFDdEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsZUFBZSxDQUFBO0lBQ2xELENBQUM7SUFlRCxJQUFJLFFBQVE7UUFDUixPQUFPLEtBQUssQ0FBQTtJQUNoQixDQUFDO0lBMkJTLFlBQVksQ0FBQyxHQUFRO1FBQzNCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDO1lBQzNDLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztZQUNqQyxDQUFDLENBQUMsR0FBRztZQUNMLENBQUMsQ0FBQyxJQUFJLENBQUE7SUFDZCxDQUFDOztpSEFyTWlCLG9CQUFvQixpRUEwSzFCLHFCQUFxQjtxR0ExS2Ysb0JBQW9COzJGQUFwQixvQkFBb0I7a0JBRHpDLFNBQVM7OzBCQXlLRCxRQUFROzswQkFDUixRQUFROzswQkFDUixNQUFNOzJCQUFDLHFCQUFxQjs0Q0FwSzdCLGdCQUFnQjtzQkFEbkIsS0FBSztnQkFjRixXQUFXO3NCQURkLEtBQUs7Z0JBYU4sU0FBUztzQkFEUixLQUFLO2dCQVFGLFFBQVE7c0JBRFgsS0FBSztnQkFjRixVQUFVO3NCQURiLEtBQUs7Z0JBY0YsVUFBVTtzQkFEYixLQUFLO2dCQWNGLGNBQWM7c0JBRGpCLEtBQUs7Z0JBbUJGLGVBQWU7c0JBRGxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHksIGNvZXJjZU51bWJlclByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJ1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIEluamVjdCwgSW5wdXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IERhdGVUaW1lQWRhcHRlciB9IGZyb20gJy4vZGF0ZS10aW1lLWFkYXB0ZXIuY2xhc3MnXG5pbXBvcnQgeyBPd2xEYXRlVGltZUZvcm1hdHMsIE9XTF9EQVRFX1RJTUVfRk9STUFUUyB9IGZyb20gJy4vZGF0ZS10aW1lLWZvcm1hdC5jbGFzcydcblxubGV0IG5leHRVbmlxdWVJZCA9IDBcblxuZXhwb3J0IHR5cGUgUGlja2VyVHlwZSA9ICdib3RoJyB8ICdjYWxlbmRhcicgfCAndGltZXInXG5cbmV4cG9ydCB0eXBlIFBpY2tlck1vZGUgPSAncG9wdXAnIHwgJ2RpYWxvZycgfCAnaW5saW5lJ1xuXG5leHBvcnQgdHlwZSBTZWxlY3RNb2RlID0gJ3NpbmdsZScgfCAncmFuZ2UnIHwgJ3JhbmdlRnJvbScgfCAncmFuZ2VUbydcblxuZXhwb3J0IHR5cGUgUmVuZGVySXRlbSA9ICd5ZWFyJyB8ICdtb250aCcgfCAnZGF0ZSdcblxuZXhwb3J0IHR5cGUgRGF0ZUZpbHRlcjxUPiA9IChkYXRlOiBULCBmb3JSZW5kZXI/OiBSZW5kZXJJdGVtKSA9PiBib29sZWFuXG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE93bERhdGVUaW1lRGlyZWN0aXZlPFQ+IHtcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRvIHNob3cgdGhlIHNlY29uZCdzIHRpbWVyXG4gICAgICovXG4gICAgcHJpdmF0ZSBfc2hvd1NlY29uZHNUaW1lciA9IGZhbHNlXG4gICAgQElucHV0KClcbiAgICBnZXQgc2hvd1NlY29uZHNUaW1lcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Nob3dTZWNvbmRzVGltZXJcbiAgICB9XG5cbiAgICBzZXQgc2hvd1NlY29uZHNUaW1lcih2YWw6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fc2hvd1NlY29uZHNUaW1lciA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWwpXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgdGltZXIgaXMgaW4gaG91cjEyIGZvcm1hdFxuICAgICAqL1xuICAgIHByaXZhdGUgX2hvdXIxMlRpbWVyID0gZmFsc2VcbiAgICBASW5wdXQoKVxuICAgIGdldCBob3VyMTJUaW1lcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hvdXIxMlRpbWVyXG4gICAgfVxuXG4gICAgc2V0IGhvdXIxMlRpbWVyKHZhbDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9ob3VyMTJUaW1lciA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWwpXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIHZpZXcgdGhhdCB0aGUgY2FsZW5kYXIgc2hvdWxkIHN0YXJ0IGluLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc3RhcnRWaWV3OiAnbW9udGgnIHwgJ3llYXInIHwgJ211bHRpLXllYXJzJyA9ICdtb250aCdcblxuICAgIC8qKlxuICAgICAqIEhvdXJzIHRvIGNoYW5nZSBwZXIgc3RlcFxuICAgICAqL1xuICAgIHByaXZhdGUgX3N0ZXBIb3VyID0gMVxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IHN0ZXBIb3VyKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zdGVwSG91clxuICAgIH1cblxuICAgIHNldCBzdGVwSG91cih2YWw6IG51bWJlcikge1xuICAgICAgICB0aGlzLl9zdGVwSG91ciA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbCwgMSlcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNaW51dGVzIHRvIGNoYW5nZSBwZXIgc3RlcFxuICAgICAqL1xuICAgIHByaXZhdGUgX3N0ZXBNaW51dGUgPSAxXG4gICAgQElucHV0KClcbiAgICBnZXQgc3RlcE1pbnV0ZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fc3RlcE1pbnV0ZVxuICAgIH1cblxuICAgIHNldCBzdGVwTWludXRlKHZhbDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuX3N0ZXBNaW51dGUgPSBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWwsIDEpXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2Vjb25kcyB0byBjaGFuZ2UgcGVyIHN0ZXBcbiAgICAgKi9cbiAgICBwcml2YXRlIF9zdGVwU2Vjb25kID0gMVxuICAgIEBJbnB1dCgpXG4gICAgZ2V0IHN0ZXBTZWNvbmQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0ZXBTZWNvbmRcbiAgICB9XG5cbiAgICBzZXQgc3RlcFNlY29uZCh2YWw6IG51bWJlcikge1xuICAgICAgICB0aGlzLl9zdGVwU2Vjb25kID0gY29lcmNlTnVtYmVyUHJvcGVydHkodmFsLCAxKVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldCB0aGUgZmlyc3QgZGF5IG9mIHdlZWtcbiAgICAgKi9cbiAgICBwcml2YXRlIF9maXJzdERheU9mV2VlayA9IDBcbiAgICBASW5wdXQoKVxuICAgIGdldCBmaXJzdERheU9mV2VlaygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZpcnN0RGF5T2ZXZWVrXG4gICAgfVxuXG4gICAgc2V0IGZpcnN0RGF5T2ZXZWVrKHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgdmFsdWUgPSBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZSwgMClcbiAgICAgICAgaWYgKHZhbHVlID4gNiB8fCB2YWx1ZSA8IDApIHtcbiAgICAgICAgICAgIHRoaXMuX2ZpcnN0RGF5T2ZXZWVrID0gMFxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fZmlyc3REYXlPZldlZWsgPSB2YWx1ZVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0byBoaWRlIGRhdGVzIGluIG90aGVyIG1vbnRocyBhdCB0aGUgc3RhcnQgb3IgZW5kIG9mIHRoZSBjdXJyZW50IG1vbnRoLlxuICAgICAqL1xuICAgIHByaXZhdGUgX2hpZGVPdGhlck1vbnRocyA9IGZhbHNlXG4gICAgQElucHV0KClcbiAgICBnZXQgaGlkZU90aGVyTW9udGhzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faGlkZU90aGVyTW9udGhzXG4gICAgfVxuXG4gICAgc2V0IGhpZGVPdGhlck1vbnRocyh2YWw6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5faGlkZU90aGVyTW9udGhzID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbClcbiAgICB9XG5cbiAgICBwcml2YXRlIF9pZDogc3RyaW5nXG4gICAgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pZFxuICAgIH1cblxuICAgIGFic3RyYWN0IGdldCBzZWxlY3RlZCgpOiBUIHwgbnVsbFxuXG4gICAgYWJzdHJhY3QgZ2V0IHNlbGVjdGVkcygpOiBUW10gfCBudWxsXG5cbiAgICBhYnN0cmFjdCBnZXQgZGF0ZVRpbWVGaWx0ZXIoKTogKGRhdGU6IFQgfCBudWxsKSA9PiBib29sZWFuXG5cbiAgICBhYnN0cmFjdCBnZXQgbWF4RGF0ZVRpbWUoKTogVCB8IG51bGxcblxuICAgIGFic3RyYWN0IGdldCBtaW5EYXRlVGltZSgpOiBUIHwgbnVsbFxuXG4gICAgYWJzdHJhY3QgZ2V0IHNlbGVjdE1vZGUoKTogU2VsZWN0TW9kZVxuXG4gICAgYWJzdHJhY3QgZ2V0IHN0YXJ0QXQoKTogVCB8IG51bGxcblxuICAgIGFic3RyYWN0IGdldCBvcGVuZWQoKTogYm9vbGVhblxuXG4gICAgYWJzdHJhY3QgZ2V0IHBpY2tlck1vZGUoKTogUGlja2VyTW9kZVxuXG4gICAgYWJzdHJhY3QgZ2V0IHBpY2tlclR5cGUoKTogUGlja2VyVHlwZVxuXG4gICAgYWJzdHJhY3QgZ2V0IGlzSW5TaW5nbGVNb2RlKCk6IGJvb2xlYW5cblxuICAgIGFic3RyYWN0IGdldCBpc0luUmFuZ2VNb2RlKCk6IGJvb2xlYW5cblxuICAgIGFic3RyYWN0IHNlbGVjdChkYXRlOiBUIHwgVFtdKTogdm9pZFxuXG4gICAgYWJzdHJhY3QgeWVhclNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8VD5cblxuICAgIGFic3RyYWN0IG1vbnRoU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxUPlxuXG4gICAgYWJzdHJhY3Qgc2VsZWN0WWVhcihub3JtYWxpemVkWWVhcjogVCk6IHZvaWRcblxuICAgIGFic3RyYWN0IHNlbGVjdE1vbnRoKG5vcm1hbGl6ZWRNb250aDogVCk6IHZvaWRcblxuICAgIGdldCBmb3JtYXRTdHJpbmcoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGlja2VyVHlwZSA9PT0gJ2JvdGgnXG4gICAgICAgICAgICA/IHRoaXMuZGF0ZVRpbWVGb3JtYXRzLmZ1bGxQaWNrZXJJbnB1dFxuICAgICAgICAgICAgOiB0aGlzLnBpY2tlclR5cGUgPT09ICdjYWxlbmRhcidcbiAgICAgICAgICAgICAgICA/IHRoaXMuZGF0ZVRpbWVGb3JtYXRzLmRhdGVQaWNrZXJJbnB1dFxuICAgICAgICAgICAgICAgIDogdGhpcy5kYXRlVGltZUZvcm1hdHMudGltZVBpY2tlcklucHV0XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGF0ZSBUaW1lIENoZWNrZXIgdG8gY2hlY2sgaWYgdGhlIGdpdmUgZGF0ZVRpbWUgaXMgc2VsZWN0YWJsZVxuICAgICAqL1xuICAgIHB1YmxpYyBkYXRlVGltZUNoZWNrZXIgPSAoZGF0ZVRpbWU6IFQpID0+IChcbiAgICAgICAgICAgICEhZGF0ZVRpbWUgJiZcbiAgICAgICAgICAgICghdGhpcy5kYXRlVGltZUZpbHRlciB8fCB0aGlzLmRhdGVUaW1lRmlsdGVyKGRhdGVUaW1lKSkgJiZcbiAgICAgICAgICAgICghdGhpcy5taW5EYXRlVGltZSB8fFxuICAgICAgICAgICAgICAgIHRoaXMuZGF0ZVRpbWVBZGFwdGVyLmNvbXBhcmUoZGF0ZVRpbWUsIHRoaXMubWluRGF0ZVRpbWUpID49XG4gICAgICAgICAgICAgICAgMCkgJiZcbiAgICAgICAgICAgICghdGhpcy5tYXhEYXRlVGltZSB8fFxuICAgICAgICAgICAgICAgIHRoaXMuZGF0ZVRpbWVBZGFwdGVyLmNvbXBhcmUoZGF0ZVRpbWUsIHRoaXMubWF4RGF0ZVRpbWUpIDw9IDApXG4gICAgICAgIClcblxuICAgIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpIHByb3RlY3RlZCBkYXRlVGltZUFkYXB0ZXI6IERhdGVUaW1lQWRhcHRlcjxUPixcbiAgICAgICAgQE9wdGlvbmFsKClcbiAgICAgICAgQEluamVjdChPV0xfREFURV9USU1FX0ZPUk1BVFMpXG4gICAgICAgIHByb3RlY3RlZCBkYXRlVGltZUZvcm1hdHM6IE93bERhdGVUaW1lRm9ybWF0c1xuICAgICkge1xuICAgICAgICBpZiAoIXRoaXMuZGF0ZVRpbWVBZGFwdGVyKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcihcbiAgICAgICAgICAgICAgICAnT3dsRGF0ZVRpbWVQaWNrZXI6IE5vIHByb3ZpZGVyIGZvdW5kIGZvciBEYXRlVGltZUFkYXB0ZXIuIFlvdSBtdXN0IGltcG9ydCBvbmUgb2YgdGhlIGZvbGxvd2luZyAnICtcbiAgICAgICAgICAgICAgICAnbW9kdWxlcyBhdCB5b3VyIGFwcGxpY2F0aW9uIHJvb3Q6IE93bE5hdGl2ZURhdGVUaW1lTW9kdWxlLCBPd2xNb21lbnREYXRlVGltZU1vZHVsZSwgb3IgcHJvdmlkZSBhICcgK1xuICAgICAgICAgICAgICAgICdjdXN0b20gaW1wbGVtZW50YXRpb24uJ1xuICAgICAgICAgICAgKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLmRhdGVUaW1lRm9ybWF0cykge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoXG4gICAgICAgICAgICAgICAgJ093bERhdGVUaW1lUGlja2VyOiBObyBwcm92aWRlciBmb3VuZCBmb3IgT1dMX0RBVEVfVElNRV9GT1JNQVRTLiBZb3UgbXVzdCBpbXBvcnQgb25lIG9mIHRoZSBmb2xsb3dpbmcgJyArXG4gICAgICAgICAgICAgICAgJ21vZHVsZXMgYXQgeW91ciBhcHBsaWNhdGlvbiByb290OiBPd2xOYXRpdmVEYXRlVGltZU1vZHVsZSwgT3dsTW9tZW50RGF0ZVRpbWVNb2R1bGUsIG9yIHByb3ZpZGUgYSAnICtcbiAgICAgICAgICAgICAgICAnY3VzdG9tIGltcGxlbWVudGF0aW9uLidcbiAgICAgICAgICAgIClcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2lkID0gYG93bC1kdC1waWNrZXItJHtuZXh0VW5pcXVlSWQrK31gXG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldFZhbGlkRGF0ZShvYmo6IGFueSk6IFQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0ZVRpbWVBZGFwdGVyLmlzRGF0ZUluc3RhbmNlKG9iaikgJiZcbiAgICAgICAgICAgIHRoaXMuZGF0ZVRpbWVBZGFwdGVyLmlzVmFsaWQob2JqKVxuICAgICAgICAgICAgPyBvYmpcbiAgICAgICAgICAgIDogbnVsbFxuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,56 @@
1
+ import { NoopScrollStrategy } from '@angular/cdk/overlay';
2
+ let uniqueId = 0;
3
+ export class OwlDialogConfig {
4
+ constructor() {
5
+ /**
6
+ * ID of the element that describes the dialog.
7
+ */
8
+ this.ariaDescribedBy = null;
9
+ /**
10
+ * Whether to focus the dialog when the dialog is opened
11
+ */
12
+ this.autoFocus = true;
13
+ /** Whether the dialog has a backdrop. */
14
+ this.hasBackdrop = true;
15
+ /** Data being injected into the child component. */
16
+ this.data = null;
17
+ /** Whether the user can use escape or clicking outside to close a modal. */
18
+ this.disableClose = false;
19
+ /**
20
+ * The ARIA role of the dialog element.
21
+ */
22
+ this.role = 'dialog';
23
+ /**
24
+ * Custom class for the pane
25
+ * */
26
+ this.paneClass = '';
27
+ /**
28
+ * Mouse Event
29
+ * */
30
+ this.event = null;
31
+ /**
32
+ * Custom class for the backdrop
33
+ * */
34
+ this.backdropClass = '';
35
+ /**
36
+ * Whether the dialog should close when the user goes backwards/forwards in history.
37
+ * */
38
+ this.closeOnNavigation = true;
39
+ /** Width of the dialog. */
40
+ this.width = '';
41
+ /** Height of the dialog. */
42
+ this.height = '';
43
+ /**
44
+ * The max-width of the overlay panel.
45
+ * If a number is provided, pixel units are assumed.
46
+ * */
47
+ this.maxWidth = '85vw';
48
+ /**
49
+ * The scroll strategy when the dialog is open
50
+ * Learn more this from https://material.angular.io/cdk/overlay/overview#scroll-strategies
51
+ * */
52
+ this.scrollStrategy = new NoopScrollStrategy();
53
+ this.id = `owl-dialog-${uniqueId++}`;
54
+ }
55
+ }
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNvbmZpZy5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1waWNrLWRhdGV0aW1lL3NyYy9saWIvY2xhc3MvZGlhbG9nLWNvbmZpZy5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQWtCLE1BQU0sc0JBQXNCLENBQUE7QUFHekUsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFBO0FBaUJoQixNQUFNLE9BQU8sZUFBZTtJQWdHeEI7UUEvRkE7O1dBRUc7UUFDSSxvQkFBZSxHQUFtQixJQUFJLENBQUE7UUFFN0M7O1dBRUc7UUFDSSxjQUFTLEdBQUksSUFBSSxDQUFBO1FBRXhCLHlDQUF5QztRQUNsQyxnQkFBVyxHQUFJLElBQUksQ0FBQTtRQU8xQixvREFBb0Q7UUFDN0MsU0FBSSxHQUFTLElBQUksQ0FBQTtRQUV4Qiw0RUFBNEU7UUFDckUsaUJBQVksR0FBSSxLQUFLLENBQUE7UUFPNUI7O1dBRUc7UUFDSSxTQUFJLEdBQThCLFFBQVEsQ0FBQTtRQUVqRDs7YUFFSztRQUNFLGNBQVMsR0FBdUIsRUFBRSxDQUFBO1FBRXpDOzthQUVLO1FBQ0UsVUFBSyxHQUFnQixJQUFJLENBQUE7UUFFaEM7O2FBRUs7UUFDRSxrQkFBYSxHQUF1QixFQUFFLENBQUE7UUFFN0M7O2FBRUs7UUFDRSxzQkFBaUIsR0FBYSxJQUFJLENBQUE7UUFFekMsMkJBQTJCO1FBQ3BCLFVBQUssR0FBWSxFQUFFLENBQUE7UUFFMUIsNEJBQTRCO1FBQ3JCLFdBQU0sR0FBWSxFQUFFLENBQUE7UUFjM0I7OzthQUdLO1FBQ0UsYUFBUSxHQUFxQixNQUFNLENBQUE7UUFXMUM7OzthQUdLO1FBQ0UsbUJBQWMsR0FBb0IsSUFBSSxrQkFBa0IsRUFBRSxDQUFBO1FBSzdELElBQUksQ0FBQyxFQUFFLEdBQUcsY0FBYyxRQUFRLEVBQUUsRUFBRSxDQUFBO0lBQ3hDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5vb3BTY3JvbGxTdHJhdGVneSwgU2Nyb2xsU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSdcbmltcG9ydCB7IFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5sZXQgdW5pcXVlSWQgPSAwXG5cbi8qKiBQb3NzaWJsZSBvdmVycmlkZXMgZm9yIGEgZGlhbG9nJ3MgcG9zaXRpb24uICovXG5leHBvcnQgaW50ZXJmYWNlIERpYWxvZ1Bvc2l0aW9uIHtcbiAgICAvKiogT3ZlcnJpZGUgZm9yIHRoZSBkaWFsb2cncyB0b3AgcG9zaXRpb24uICovXG4gICAgdG9wPzogc3RyaW5nXG5cbiAgICAvKiogT3ZlcnJpZGUgZm9yIHRoZSBkaWFsb2cncyBib3R0b20gcG9zaXRpb24uICovXG4gICAgYm90dG9tPzogc3RyaW5nXG5cbiAgICAvKiogT3ZlcnJpZGUgZm9yIHRoZSBkaWFsb2cncyBsZWZ0IHBvc2l0aW9uLiAqL1xuICAgIGxlZnQ/OiBzdHJpbmdcblxuICAgIC8qKiBPdmVycmlkZSBmb3IgdGhlIGRpYWxvZydzIHJpZ2h0IHBvc2l0aW9uLiAqL1xuICAgIHJpZ2h0Pzogc3RyaW5nXG59XG5cbmV4cG9ydCBjbGFzcyBPd2xEaWFsb2dDb25maWcge1xuICAgIC8qKlxuICAgICAqIElEIG9mIHRoZSBlbGVtZW50IHRoYXQgZGVzY3JpYmVzIHRoZSBkaWFsb2cuXG4gICAgICovXG4gICAgcHVibGljIGFyaWFEZXNjcmliZWRCeT86IHN0cmluZyB8IG51bGwgPSBudWxsXG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRvIGZvY3VzIHRoZSBkaWFsb2cgd2hlbiB0aGUgZGlhbG9nIGlzIG9wZW5lZFxuICAgICAqL1xuICAgIHB1YmxpYyBhdXRvRm9jdXMgPz0gdHJ1ZVxuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGRpYWxvZyBoYXMgYSBiYWNrZHJvcC4gKi9cbiAgICBwdWJsaWMgaGFzQmFja2Ryb3AgPz0gdHJ1ZVxuXG4gICAgLyoqXG4gICAgICogQ3VzdG9tIHN0eWxlIGZvciB0aGUgYmFja2Ryb3BcbiAgICAgKiAqL1xuICAgIHB1YmxpYyBiYWNrZHJvcFN0eWxlPzogYW55XG5cbiAgICAvKiogRGF0YSBiZWluZyBpbmplY3RlZCBpbnRvIHRoZSBjaGlsZCBjb21wb25lbnQuICovXG4gICAgcHVibGljIGRhdGE/OiBhbnkgPSBudWxsXG5cbiAgICAvKiogV2hldGhlciB0aGUgdXNlciBjYW4gdXNlIGVzY2FwZSBvciBjbGlja2luZyBvdXRzaWRlIHRvIGNsb3NlIGEgbW9kYWwuICovXG4gICAgcHVibGljIGRpc2FibGVDbG9zZSA/PSBmYWxzZVxuXG4gICAgLyoqXG4gICAgICogSUQgZm9yIHRoZSBtb2RhbC4gSWYgb21pdHRlZCwgYSB1bmlxdWUgb25lIHdpbGwgYmUgZ2VuZXJhdGVkLlxuICAgICAqL1xuICAgIHB1YmxpYyBpZD86IHN0cmluZ1xuXG4gICAgLyoqXG4gICAgICogVGhlIEFSSUEgcm9sZSBvZiB0aGUgZGlhbG9nIGVsZW1lbnQuXG4gICAgICovXG4gICAgcHVibGljIHJvbGU/OiAnZGlhbG9nJyB8ICdhbGVydGRpYWxvZycgPSAnZGlhbG9nJ1xuXG4gICAgLyoqXG4gICAgICogQ3VzdG9tIGNsYXNzIGZvciB0aGUgcGFuZVxuICAgICAqICovXG4gICAgcHVibGljIHBhbmVDbGFzcz86IHN0cmluZyB8IHN0cmluZ1tdID0gJydcblxuICAgIC8qKlxuICAgICAqIE1vdXNlIEV2ZW50XG4gICAgICogKi9cbiAgICBwdWJsaWMgZXZlbnQ/OiBNb3VzZUV2ZW50ID0gbnVsbFxuXG4gICAgLyoqXG4gICAgICogQ3VzdG9tIGNsYXNzIGZvciB0aGUgYmFja2Ryb3BcbiAgICAgKiAqL1xuICAgIHB1YmxpYyBiYWNrZHJvcENsYXNzPzogc3RyaW5nIHwgc3RyaW5nW10gPSAnJ1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgZGlhbG9nIHNob3VsZCBjbG9zZSB3aGVuIHRoZSB1c2VyIGdvZXMgYmFja3dhcmRzL2ZvcndhcmRzIGluIGhpc3RvcnkuXG4gICAgICogKi9cbiAgICBwdWJsaWMgY2xvc2VPbk5hdmlnYXRpb24/OiBib29sZWFuID0gdHJ1ZVxuXG4gICAgLyoqIFdpZHRoIG9mIHRoZSBkaWFsb2cuICovXG4gICAgcHVibGljIHdpZHRoPzogc3RyaW5nID0gJydcblxuICAgIC8qKiBIZWlnaHQgb2YgdGhlIGRpYWxvZy4gKi9cbiAgICBwdWJsaWMgaGVpZ2h0Pzogc3RyaW5nID0gJydcblxuICAgIC8qKlxuICAgICAqIFRoZSBtaW4td2lkdGggb2YgdGhlIG92ZXJsYXkgcGFuZWwuXG4gICAgICogSWYgYSBudW1iZXIgaXMgcHJvdmlkZWQsIHBpeGVsIHVuaXRzIGFyZSBhc3N1bWVkLlxuICAgICAqICovXG4gICAgcHVibGljIG1pbldpZHRoPzogbnVtYmVyIHwgc3RyaW5nXG5cbiAgICAvKipcbiAgICAgKiBUaGUgbWluLWhlaWdodCBvZiB0aGUgb3ZlcmxheSBwYW5lbC5cbiAgICAgKiBJZiBhIG51bWJlciBpcyBwcm92aWRlZCwgcGl4ZWwgdW5pdHMgYXJlIGFzc3VtZWQuXG4gICAgICogKi9cbiAgICBwdWJsaWMgbWluSGVpZ2h0PzogbnVtYmVyIHwgc3RyaW5nXG5cbiAgICAvKipcbiAgICAgKiBUaGUgbWF4LXdpZHRoIG9mIHRoZSBvdmVybGF5IHBhbmVsLlxuICAgICAqIElmIGEgbnVtYmVyIGlzIHByb3ZpZGVkLCBwaXhlbCB1bml0cyBhcmUgYXNzdW1lZC5cbiAgICAgKiAqL1xuICAgIHB1YmxpYyBtYXhXaWR0aD86IG51bWJlciB8IHN0cmluZyA9ICc4NXZ3J1xuXG4gICAgLyoqXG4gICAgICogVGhlIG1heC1oZWlnaHQgb2YgdGhlIG92ZXJsYXkgcGFuZWwuXG4gICAgICogSWYgYSBudW1iZXIgaXMgcHJvdmlkZWQsIHBpeGVsIHVuaXRzIGFyZSBhc3N1bWVkLlxuICAgICAqICovXG4gICAgcHVibGljIG1heEhlaWdodD86IG51bWJlciB8IHN0cmluZ1xuXG4gICAgLyoqIFBvc2l0aW9uIG92ZXJyaWRlcy4gKi9cbiAgICBwdWJsaWMgcG9zaXRpb24/OiBEaWFsb2dQb3NpdGlvblxuXG4gICAgLyoqXG4gICAgICogVGhlIHNjcm9sbCBzdHJhdGVneSB3aGVuIHRoZSBkaWFsb2cgaXMgb3BlblxuICAgICAqIExlYXJuIG1vcmUgdGhpcyBmcm9tIGh0dHBzOi8vbWF0ZXJpYWwuYW5ndWxhci5pby9jZGsvb3ZlcmxheS9vdmVydmlldyNzY3JvbGwtc3RyYXRlZ2llc1xuICAgICAqICovXG4gICAgcHVibGljIHNjcm9sbFN0cmF0ZWd5PzogU2Nyb2xsU3RyYXRlZ3kgPSBuZXcgTm9vcFNjcm9sbFN0cmF0ZWd5KClcblxuICAgIHB1YmxpYyB2aWV3Q29udGFpbmVyUmVmPzogVmlld0NvbnRhaW5lclJlZlxuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuaWQgPSBgb3dsLWRpYWxvZy0ke3VuaXF1ZUlkKyt9YFxuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,121 @@
1
+ import { ESCAPE } from '@angular/cdk/keycodes';
2
+ import { Subject, Subscription } from 'rxjs';
3
+ import { filter, take } from 'rxjs/operators';
4
+ export class OwlDialogRef {
5
+ constructor(overlayRef, container, id, location) {
6
+ this.overlayRef = overlayRef;
7
+ this.container = container;
8
+ this.id = id;
9
+ this._beforeClose$ = new Subject();
10
+ this._afterOpen$ = new Subject();
11
+ this._afterClosed$ = new Subject();
12
+ /** Subscription to changes in the user's location. */
13
+ this.locationChanged = Subscription.EMPTY;
14
+ /** Whether the user is allowed to close the dialog. */
15
+ this.disableClose = this.container.config.disableClose;
16
+ this.container.animationStateChanged
17
+ .pipe(filter((event) => event.phaseName === 'done' && event.toState === 'enter'), take(1))
18
+ .subscribe(() => {
19
+ this._afterOpen$.next();
20
+ this._afterOpen$.complete();
21
+ });
22
+ this.container.animationStateChanged
23
+ .pipe(filter((event) => event.phaseName === 'done' && event.toState === 'exit'), take(1))
24
+ .subscribe(() => {
25
+ this.overlayRef.dispose();
26
+ this.locationChanged.unsubscribe();
27
+ this._afterClosed$.next(this.result);
28
+ this._afterClosed$.complete();
29
+ this.componentInstance = null;
30
+ });
31
+ this.overlayRef.keydownEvents()
32
+ .pipe(filter(event => event.keyCode === ESCAPE && !this.disableClose))
33
+ .subscribe(() => this.close());
34
+ if (location) {
35
+ this.locationChanged = location.subscribe(() => {
36
+ if (this.container.config.closeOnNavigation) {
37
+ this.close();
38
+ }
39
+ });
40
+ }
41
+ }
42
+ close(dialogResult) {
43
+ this.result = dialogResult;
44
+ this.container.animationStateChanged
45
+ .pipe(filter((event) => event.phaseName === 'start'), take(1))
46
+ .subscribe(() => {
47
+ this._beforeClose$.next(dialogResult);
48
+ this._beforeClose$.complete();
49
+ this.overlayRef.detachBackdrop();
50
+ });
51
+ this.container.startExitAnimation();
52
+ }
53
+ /**
54
+ * Gets an observable that emits when the overlay's backdrop has been clicked.
55
+ */
56
+ backdropClick() {
57
+ return this.overlayRef.backdropClick();
58
+ }
59
+ /**
60
+ * Gets an observable that emits when keydown events are targeted on the overlay.
61
+ */
62
+ keydownEvents() {
63
+ return this.overlayRef.keydownEvents();
64
+ }
65
+ /**
66
+ * Updates the dialog's position.
67
+ *
68
+ * @param position New dialog position.
69
+ */
70
+ updatePosition(position) {
71
+ const strategy = this.getPositionStrategy();
72
+ if (position && (position.left || position.right)) {
73
+ if (position.left)
74
+ strategy.left(position.left);
75
+ else
76
+ strategy.right(position.right);
77
+ }
78
+ else {
79
+ strategy.centerHorizontally();
80
+ }
81
+ if (position && (position.top || position.bottom)) {
82
+ if (position.top)
83
+ strategy.top(position.top);
84
+ else
85
+ strategy.bottom(position.bottom);
86
+ }
87
+ else {
88
+ strategy.centerVertically();
89
+ }
90
+ this.overlayRef.updatePosition();
91
+ return this;
92
+ }
93
+ /**
94
+ * Updates the dialog's width and height.
95
+ *
96
+ * @param width New width of the dialog.
97
+ * @param height New height of the dialog.
98
+ */
99
+ updateSize(width = 'auto', height = 'auto') {
100
+ this.overlayRef.updateSize({ width, height });
101
+ this.overlayRef.updatePosition();
102
+ return this;
103
+ }
104
+ isAnimating() {
105
+ return this.container.isAnimating;
106
+ }
107
+ afterOpen() {
108
+ return this._afterOpen$.asObservable();
109
+ }
110
+ beforeClose() {
111
+ return this._beforeClose$.asObservable();
112
+ }
113
+ afterClosed() {
114
+ return this._afterClosed$.asObservable();
115
+ }
116
+ /** Fetches the position strategy object from the overlay ref. */
117
+ getPositionStrategy() {
118
+ return this.overlayRef.getConfig().positionStrategy;
119
+ }
120
+ }
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLXJlZi5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1waWNrLWRhdGV0aW1lL3NyYy9saWIvY2xhc3MvZGlhbG9nLXJlZi5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUE7QUFHOUMsT0FBTyxFQUFjLE9BQU8sRUFBRSxZQUFZLEVBQXFDLE1BQU0sTUFBTSxDQUFBO0FBQzNGLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFJN0MsTUFBTSxPQUFPLFlBQVk7SUFxQnJCLFlBQW9CLFVBQXNCLEVBQzlCLFNBQXNDLEVBQzlCLEVBQVUsRUFDMUIsUUFBbUI7UUFISCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQzlCLGNBQVMsR0FBVCxTQUFTLENBQTZCO1FBQzlCLE9BQUUsR0FBRixFQUFFLENBQVE7UUFuQnRCLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQU8sQ0FBQTtRQUVsQyxnQkFBVyxHQUFHLElBQUksT0FBTyxFQUFPLENBQUE7UUFFaEMsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBTyxDQUFBO1FBRTFDLHNEQUFzRDtRQUM5QyxvQkFBZSxHQUFrQixZQUFZLENBQUMsS0FBSyxDQUFBO1FBTzNELHVEQUF1RDtRQUNoRCxpQkFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQTtRQU9wRCxJQUFJLENBQUMsU0FBUyxDQUFDLHFCQUFxQjthQUMvQixJQUFJLENBQ0QsTUFBTSxDQUFDLENBQUMsS0FBcUIsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFNBQVMsS0FBSyxNQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxPQUFPLENBQUMsRUFDMUYsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUNWO2FBQ0EsU0FBUyxDQUFDLEdBQUcs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VUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFDLGdCQUEwQyxDQUFBO0lBQ2pGLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFuaW1hdGlvbkV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucydcbmltcG9ydCB7IEVTQ0FQRSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2RlcydcbmltcG9ydCB7IEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3ksIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSdcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uLCBTdWJzY3JpcHRpb25MaWtlIGFzIElTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgZmlsdGVyLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXG5pbXBvcnQgeyBPd2xEaWFsb2dDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuLi9kaWFsb2cvZGlhbG9nLWNvbnRhaW5lci9kaWFsb2ctY29udGFpbmVyLmNvbXBvbmVudCdcbmltcG9ydCB7IERpYWxvZ1Bvc2l0aW9uIH0gZnJvbSAnLi9kaWFsb2ctY29uZmlnLmNsYXNzJ1xuXG5leHBvcnQgY2xhc3MgT3dsRGlhbG9nUmVmPFQ+IHtcblxuICAgIHByaXZhdGUgcmVzdWx0OiBhbnlcblxuICAgIHByaXZhdGUgX2JlZm9yZUNsb3NlJCA9IG5ldyBTdWJqZWN0PGFueT4oKVxuXG4gICAgcHJpdmF0ZSBfYWZ0ZXJPcGVuJCA9IG5ldyBTdWJqZWN0PGFueT4oKVxuXG4gICAgcHJpdmF0ZSBfYWZ0ZXJDbG9zZWQkID0gbmV3IFN1YmplY3Q8YW55PigpXG5cbiAgICAvKiogU3Vic2NyaXB0aW9uIHRvIGNoYW5nZXMgaW4gdGhlIHVzZXIncyBsb2NhdGlvbi4gKi9cbiAgICBwcml2YXRlIGxvY2F0aW9uQ2hhbmdlZDogSVN1YnNjcmlwdGlvbiA9IFN1YnNjcmlwdGlvbi5FTVBUWVxuXG4gICAgLyoqXG4gICAgICogVGhlIGluc3RhbmNlIG9mIGNvbXBvbmVudCBvcGVuZWQgaW50byBtb2RhbFxuICAgICAqICovXG4gICAgcHVibGljIGNvbXBvbmVudEluc3RhbmNlOiBUXG5cbiAgICAvKiogV2hldGhlciB0aGUgdXNlciBpcyBhbGxvd2VkIHRvIGNsb3NlIHRoZSBkaWFsb2cuICovXG4gICAgcHVibGljIGRpc2FibGVDbG9zZSA9IHRoaXMuY29udGFpbmVyLmNvbmZpZy5kaXNhYmxlQ2xvc2VcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgb3ZlcmxheVJlZjogT3ZlcmxheVJlZixcbiAgICAgICAgcHJpdmF0ZSBjb250YWluZXI6IE93bERpYWxvZ0NvbnRhaW5lckNvbXBvbmVudCxcbiAgICAgICAgcHVibGljIHJlYWRvbmx5IGlkOiBzdHJpbmcsXG4gICAgICAgIGxvY2F0aW9uPzogTG9jYXRpb24pIHtcblxuICAgICAgICB0aGlzLmNvbnRhaW5lci5hbmltYXRpb25TdGF0ZUNoYW5nZWRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcigoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSA9PiBldmVudC5waGFzZU5hbWUgPT09ICdkb25lJyAmJiBldmVudC50b1N0YXRlID09PSAnZW50ZXInKSxcbiAgICAgICAgICAgICAgICB0YWtlKDEpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9hZnRlck9wZW4kLm5leHQoKVxuICAgICAgICAgICAgICAgIHRoaXMuX2FmdGVyT3BlbiQuY29tcGxldGUoKVxuICAgICAgICAgICAgfSlcblxuICAgICAgICB0aGlzLmNvbnRhaW5lci5hbmltYXRpb25TdGF0ZUNoYW5nZWRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcigoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSA9PiBldmVudC5waGFzZU5hbWUgPT09ICdkb25lJyAmJiBldmVudC50b1N0YXRlID09PSAnZXhpdCcpLFxuICAgICAgICAgICAgICAgIHRha2UoMSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub3ZlcmxheVJlZi5kaXNwb3NlKClcbiAgICAgICAgICAgICAgICB0aGlzLmxvY2F0aW9uQ2hhbmdlZC51bnN1YnNjcmliZSgpXG4gICAgICAgICAgICAgICAgdGhpcy5fYWZ0ZXJDbG9zZWQkLm5leHQodGhpcy5yZXN1bHQpXG4gICAgICAgICAgICAgICAgdGhpcy5fYWZ0ZXJDbG9zZWQkLmNvbXBsZXRlKClcbiAgICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudEluc3RhbmNlID0gbnVsbFxuICAgICAgICAgICAgfSlcblxuICAgICAgICB0aGlzLm92ZXJsYXlSZWYua2V5ZG93bkV2ZW50cygpXG4gICAgICAgICAgICAucGlwZShmaWx0ZXIoZXZlbnQgPT4gZXZlbnQua2V5Q29kZSA9PT0gRVNDQVBFICYmICF0aGlzLmRpc2FibGVDbG9zZSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2xvc2UoKSlcblxuICAgICAgICBpZiAobG9jYXRpb24pIHtcbiAgICAgICAgICAgIHRoaXMubG9jYXRpb25DaGFuZ2VkID0gbG9jYXRpb24uc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jb250YWluZXIuY29uZmlnLmNsb3NlT25OYXZpZ2F0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2UoKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgY2xvc2UoZGlhbG9nUmVzdWx0PzogYW55KSB7XG4gICAgICAgIHRoaXMucmVzdWx0ID0gZGlhbG9nUmVzdWx0XG5cbiAgICAgICAgdGhpcy5jb250YWluZXIuYW5pbWF0aW9uU3RhdGVDaGFuZ2VkXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKGV2ZW50OiBBbmltYXRpb25FdmVudCkgPT4gZXZlbnQucGhhc2VOYW1lID09PSAnc3RhcnQnKSxcbiAgICAgICAgICAgICAgICB0YWtlKDEpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9iZWZvcmVDbG9zZSQubmV4dChkaWFsb2dSZXN1bHQpXG4gICAgICAgICAgICAgICAgdGhpcy5fYmVmb3JlQ2xvc2UkLmNvbXBsZXRlKClcbiAgICAgICAgICAgICAgICB0aGlzLm92ZXJsYXlSZWYuZGV0YWNoQmFja2Ryb3AoKVxuICAgICAgICAgICAgfSlcblxuICAgICAgICB0aGlzLmNvbnRhaW5lci5zdGFydEV4aXRBbmltYXRpb24oKVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgYW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHdoZW4gdGhlIG92ZXJsYXkncyBiYWNrZHJvcCBoYXMgYmVlbiBjbGlja2VkLlxuICAgICAqL1xuICAgIHB1YmxpYyBiYWNrZHJvcENsaWNrKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLm92ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBhbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgd2hlbiBrZXlkb3duIGV2ZW50cyBhcmUgdGFyZ2V0ZWQgb24gdGhlIG92ZXJsYXkuXG4gICAgICovXG4gICAgcHVibGljIGtleWRvd25FdmVudHMoKTogT2JzZXJ2YWJsZTxLZXlib2FyZEV2ZW50PiB7XG4gICAgICAgIHJldHVybiB0aGlzLm92ZXJsYXlSZWYua2V5ZG93bkV2ZW50cygpXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVXBkYXRlcyB0aGUgZGlhbG9nJ3MgcG9zaXRpb24uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcG9zaXRpb24gTmV3IGRpYWxvZyBwb3NpdGlvbi5cbiAgICAgKi9cbiAgICBwdWJsaWMgdXBkYXRlUG9zaXRpb24ocG9zaXRpb24/OiBEaWFsb2dQb3NpdGlvbik6IHRoaXMge1xuICAgICAgICBjb25zdCBzdHJhdGVneSA9IHRoaXMuZ2V0UG9zaXRpb25TdHJhdGVneSgpXG5cbiAgICAgICAgaWYgKHBvc2l0aW9uICYmIChwb3NpdGlvbi5sZWZ0IHx8IHBvc2l0aW9uLnJpZ2h0KSkge1xuICAgICAgICAgICAgaWYgKHBvc2l0aW9uLmxlZnQpXG4gICAgICAgICAgICAgICAgc3RyYXRlZ3kubGVmdChwb3NpdGlvbi5sZWZ0KVxuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIHN0cmF0ZWd5LnJpZ2h0KHBvc2l0aW9uLnJpZ2h0KVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3RyYXRlZ3kuY2VudGVySG9yaXpvbnRhbGx5KClcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwb3NpdGlvbiAmJiAocG9zaXRpb24udG9wIHx8IHBvc2l0aW9uLmJvdHRvbSkpIHtcbiAgICAgICAgICAgIGlmIChwb3NpdGlvbi50b3ApXG4gICAgICAgICAgICAgICAgc3RyYXRlZ3kudG9wKHBvc2l0aW9uLnRvcClcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICBzdHJhdGVneS5ib3R0b20ocG9zaXRpb24uYm90dG9tKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3RyYXRlZ3kuY2VudGVyVmVydGljYWxseSgpXG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm92ZXJsYXlSZWYudXBkYXRlUG9zaXRpb24oKVxuXG4gICAgICAgIHJldHVybiB0aGlzXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVXBkYXRlcyB0aGUgZGlhbG9nJ3Mgd2lkdGggYW5kIGhlaWdodC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB3aWR0aCBOZXcgd2lkdGggb2YgdGhlIGRpYWxvZy5cbiAgICAgKiBAcGFyYW0gaGVpZ2h0IE5ldyBoZWlnaHQgb2YgdGhlIGRpYWxvZy5cbiAgICAgKi9cbiAgICB1cGRhdGVTaXplKHdpZHRoOiBzdHJpbmcgPSAnYXV0bycsIGhlaWdodDogc3RyaW5nID0gJ2F1dG8nKTogdGhpcyB7XG4gICAgICAgIHRoaXMub3ZlcmxheVJlZi51cGRhdGVTaXplKHsgd2lkdGgsIGhlaWdodCB9KVxuICAgICAgICB0aGlzLm92ZXJsYXlSZWYudXBkYXRlUG9zaXRpb24oKVxuICAgICAgICByZXR1cm4gdGhpc1xuICAgIH1cblxuICAgIHB1YmxpYyBpc0FuaW1hdGluZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGFpbmVyLmlzQW5pbWF0aW5nXG4gICAgfVxuXG4gICAgcHVibGljIGFmdGVyT3BlbigpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYWZ0ZXJPcGVuJC5hc09ic2VydmFibGUoKVxuICAgIH1cblxuICAgIHB1YmxpYyBiZWZvcmVDbG9zZSgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYmVmb3JlQ2xvc2UkLmFzT2JzZXJ2YWJsZSgpXG4gICAgfVxuXG4gICAgcHVibGljIGFmdGVyQ2xvc2VkKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hZnRlckNsb3NlZCQuYXNPYnNlcnZhYmxlKClcbiAgICB9XG5cbiAgICAvKiogRmV0Y2hlcyB0aGUgcG9zaXRpb24gc3RyYXRlZ3kgb2JqZWN0IGZyb20gdGhlIG92ZXJsYXkgcmVmLiAqL1xuICAgIHByaXZhdGUgZ2V0UG9zaXRpb25TdHJhdGVneSgpOiBHbG9iYWxQb3NpdGlvblN0cmF0ZWd5IHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3ZlcmxheVJlZi5nZXRDb25maWcoKS5wb3NpdGlvblN0cmF0ZWd5IGFzIEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3lcbiAgICB9XG59XG4iXX0=