@onemrvapublic/design-system 18.2.16-develop.8 → 18.2.16

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 (26) hide show
  1. package/esm2022/shared/index.mjs +1 -2
  2. package/esm2022/shared/src/lib/adapters/index.mjs +3 -3
  3. package/esm2022/shared/src/lib/adapters/luxon.date.adapter.mjs +253 -0
  4. package/esm2022/shared/src/lib/adapters/luxon.utils.mjs +23 -0
  5. package/esm2022/shared/src/lib/adapters/native.date.adapter.mjs +66 -0
  6. package/esm2022/shared/src/lib/providers/onemrva.date.luxon.provider.mjs +9 -8
  7. package/esm2022/shared/src/lib/providers/onemrva.date.luxon.year.month.provider.mjs +9 -8
  8. package/esm2022/shared/src/lib/providers/onemrva.date.native.provider.mjs +4 -10
  9. package/esm2022/shared/src/lib/providers/onemrva.date.native.year.month.provider.mjs +4 -10
  10. package/fesm2022/onemrvapublic-design-system-shared.mjs +270 -138
  11. package/fesm2022/onemrvapublic-design-system-shared.mjs.map +1 -1
  12. package/package.json +1 -1
  13. package/shared/index.d.ts +0 -1
  14. package/shared/src/lib/adapters/index.d.ts +2 -2
  15. package/shared/src/lib/adapters/luxon.date.adapter.d.ts +50 -0
  16. package/shared/src/lib/adapters/luxon.utils.d.ts +26 -0
  17. package/shared/src/lib/adapters/{date.adapter.d.ts → native.date.adapter.d.ts} +3 -3
  18. package/esm2022/shared/src/lib/adapters/date.adapter.mjs +0 -66
  19. package/esm2022/shared/src/lib/adapters/year-month.adapter.mjs +0 -59
  20. package/esm2022/shared/src/lib/modules/index.mjs +0 -3
  21. package/esm2022/shared/src/lib/modules/shared.datepicker.luxon.module.mjs +0 -46
  22. package/esm2022/shared/src/lib/modules/shared.datepicker.luxon.year.month.module.mjs +0 -46
  23. package/shared/src/lib/adapters/year-month.adapter.d.ts +0 -15
  24. package/shared/src/lib/modules/index.d.ts +0 -2
  25. package/shared/src/lib/modules/shared.datepicker.luxon.module.d.ts +0 -12
  26. package/shared/src/lib/modules/shared.datepicker.luxon.year.month.module.d.ts +0 -12
@@ -13,7 +13,6 @@ export * from './src/lib/pipes';
13
13
  export * from './src/lib/services';
14
14
  export * from './src/lib/validators';
15
15
  export * from './src/lib/shared.module';
16
- export * from './src/lib/modules';
17
16
  export * from './src/lib/adapters';
18
17
  export * from './src/lib/providers';
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmVtcnZhL2Rlc2lnbi1zeXN0ZW0vc2hhcmVkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHNoYXJlZFxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vc3JjL2xpYi9jb21wb25lbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2xpYi9jb25zdGFudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvbGliL2NvbnRhaW5lcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvbGliL2RlY29yYXRvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvbGliL2RpcmVjdGl2ZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvbGliL2hlbHBlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvbGliL2xvYWRlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvbGliL2ludGVyZmFjZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvbGliL3BpcGVzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2xpYi9zZXJ2aWNlcyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9saWIvdmFsaWRhdG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9saWIvc2hhcmVkLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9saWIvbW9kdWxlcyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9saWIvYWRhcHRlcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvbGliL3Byb3ZpZGVycyc7XG4iXX0=
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmVtcnZhL2Rlc2lnbi1zeXN0ZW0vc2hhcmVkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBzaGFyZWRcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3NyYy9saWIvY29tcG9uZW50cyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9saWIvY29uc3RhbnRzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2xpYi9jb250YWluZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2xpYi9kZWNvcmF0b3JzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2xpYi9kaXJlY3RpdmVzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2xpYi9oZWxwZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2xpYi9sb2FkZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2xpYi9pbnRlcmZhY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2xpYi9waXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9saWIvc2VydmljZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvbGliL3ZhbGlkYXRvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvbGliL3NoYXJlZC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvbGliL2FkYXB0ZXJzJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2xpYi9wcm92aWRlcnMnO1xuIl19
@@ -1,3 +1,3 @@
1
- export * from './date.adapter';
2
- export * from './year-month.adapter';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmVtcnZhL2Rlc2lnbi1zeXN0ZW0vc2hhcmVkL3NyYy9saWIvYWRhcHRlcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kYXRlLmFkYXB0ZXInO1xuZXhwb3J0ICogZnJvbSAnLi95ZWFyLW1vbnRoLmFkYXB0ZXInO1xuIl19
1
+ export * from './native.date.adapter';
2
+ export * from './luxon.date.adapter';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmVtcnZhL2Rlc2lnbi1zeXN0ZW0vc2hhcmVkL3NyYy9saWIvYWRhcHRlcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9uYXRpdmUuZGF0ZS5hZGFwdGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbHV4b24uZGF0ZS5hZGFwdGVyJztcbiJdfQ==
@@ -0,0 +1,253 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.dev/license
7
+ */
8
+ import { Injectable, inject } from '@angular/core';
9
+ import { DateAdapter, MAT_DATE_LOCALE } from '@angular/material/core';
10
+ import { DateTime as LuxonDateTime, Info as LuxonInfo, } from 'luxon';
11
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
12
+ import { luxonRange, MAT_LUXON_DATE_ADAPTER_OPTIONS, } from './luxon.utils';
13
+ import * as i0 from "@angular/core";
14
+ import * as i1 from "@ngx-translate/core";
15
+ /** Adapts Luxon Dates for use with Angular Material. */
16
+ export class OnemrvaLuxonDateAdapter extends DateAdapter {
17
+ constructor(translateService) {
18
+ super();
19
+ this.translateService = translateService;
20
+ const dateLocale = inject(MAT_DATE_LOCALE, { optional: true });
21
+ const options = inject(MAT_LUXON_DATE_ADAPTER_OPTIONS, {
22
+ optional: true,
23
+ });
24
+ this._useUTC = !!options?.useUtc;
25
+ this._firstDayOfWeek = options?.firstDayOfWeek || 0;
26
+ this._defaultOutputCalendar = options?.defaultOutputCalendar || 'gregory';
27
+ this.setLocale(dateLocale || LuxonDateTime.local().locale);
28
+ this.setLocale(this.translateService.currentLang);
29
+ if (this.translateService !== undefined) {
30
+ this.translateService.onLangChange
31
+ .pipe(takeUntilDestroyed())
32
+ .subscribe(({ lang }) => {
33
+ this.setLocale(lang);
34
+ });
35
+ }
36
+ }
37
+ getYear(date) {
38
+ return date.year;
39
+ }
40
+ getMonth(date) {
41
+ // Luxon works with 1-indexed months whereas our code expects 0-indexed.
42
+ return date.month - 1;
43
+ }
44
+ getDate(date) {
45
+ return date.day;
46
+ }
47
+ getDayOfWeek(date) {
48
+ return date.weekday;
49
+ }
50
+ getMonthNames(style) {
51
+ // Adding outputCalendar option, because LuxonInfo doesn't get effected by LuxonSettings
52
+ return LuxonInfo.months(style, {
53
+ locale: this.locale,
54
+ outputCalendar: this._defaultOutputCalendar,
55
+ });
56
+ }
57
+ getDateNames() {
58
+ // At the time of writing, Luxon doesn't offer similar
59
+ // functionality so we have to fall back to the Intl API.
60
+ const dtf = new Intl.DateTimeFormat(this.locale, {
61
+ day: 'numeric',
62
+ timeZone: 'utc',
63
+ });
64
+ // Format a UTC date in order to avoid DST issues.
65
+ return luxonRange(31, i => dtf.format(LuxonDateTime.utc(2017, 1, i + 1).toJSDate()));
66
+ }
67
+ getDayOfWeekNames(style) {
68
+ // Note that we shift the array once, because Luxon returns Monday as the
69
+ // first day of the week, whereas our logic assumes that it's Sunday. See:
70
+ // https://moment.github.io/luxon/api-docs/index.html#infoweekdays
71
+ const days = LuxonInfo.weekdays(style, { locale: this.locale });
72
+ days.unshift(days.pop());
73
+ return days;
74
+ }
75
+ getYearName(date) {
76
+ return date.toFormat('yyyy', this._getOptions());
77
+ }
78
+ getFirstDayOfWeek() {
79
+ return this._firstDayOfWeek;
80
+ }
81
+ getNumDaysInMonth(date) {
82
+ return date.daysInMonth;
83
+ }
84
+ clone(date) {
85
+ return LuxonDateTime.fromObject(date.toObject(), this._getOptions());
86
+ }
87
+ createDate(year, month, date) {
88
+ const options = this._getOptions();
89
+ if (month < 0 || month > 11) {
90
+ throw Error(`Invalid month index "${month}". Month index has to be between 0 and 11.`);
91
+ }
92
+ if (date < 1) {
93
+ throw Error(`Invalid date "${date}". Date has to be greater than 0.`);
94
+ }
95
+ // Luxon uses 1-indexed months so we need to add one to the month.
96
+ const result = this._useUTC
97
+ ? LuxonDateTime.utc(year, month + 1, date, options)
98
+ : LuxonDateTime.local(year, month + 1, date, options);
99
+ if (!this.isValid(result)) {
100
+ throw Error(`Invalid date "${date}". Reason: "${result.invalidReason}".`);
101
+ }
102
+ return result;
103
+ }
104
+ today() {
105
+ const options = this._getOptions();
106
+ return this._useUTC
107
+ ? LuxonDateTime.utc(options)
108
+ : LuxonDateTime.local(options);
109
+ }
110
+ parse(value, parseFormat) {
111
+ const options = this._getOptions();
112
+ if (typeof value == 'string' && value.length > 0) {
113
+ // This is screwing things up as 062005 would become 05 0602
114
+ // const iso8601Date = LuxonDateTime.fromISO(value, options);
115
+ //
116
+ // if (this.isValid(iso8601Date)) {
117
+ // console.log(iso8601Date);
118
+ // return iso8601Date;
119
+ // }
120
+ const formats = Array.isArray(parseFormat) ? parseFormat : [parseFormat];
121
+ if (!parseFormat.length) {
122
+ throw Error('Formats array must not be empty.');
123
+ }
124
+ console.log(formats);
125
+ for (const format of formats) {
126
+ console.log(format);
127
+ const fromFormat = LuxonDateTime.fromFormat(value, format, options);
128
+ if (this.isValid(fromFormat)) {
129
+ return fromFormat;
130
+ }
131
+ }
132
+ return this.invalid();
133
+ }
134
+ else if (typeof value === 'number') {
135
+ return LuxonDateTime.fromMillis(value, options);
136
+ }
137
+ else if (value instanceof Date) {
138
+ return LuxonDateTime.fromJSDate(value, options);
139
+ }
140
+ else if (value instanceof LuxonDateTime) {
141
+ return LuxonDateTime.fromMillis(value.toMillis(), options);
142
+ }
143
+ return null;
144
+ }
145
+ format(date, displayFormat) {
146
+ if (!this.isValid(date)) {
147
+ throw Error('LuxonDateAdapter: Cannot format invalid date.');
148
+ }
149
+ if (this._useUTC) {
150
+ return date.setLocale(this.locale).setZone('utc').toFormat(displayFormat);
151
+ }
152
+ else {
153
+ return date.setLocale(this.locale).toFormat(displayFormat);
154
+ }
155
+ }
156
+ addCalendarYears(date, years) {
157
+ return date.reconfigure(this._getOptions()).plus({ years });
158
+ }
159
+ addCalendarMonths(date, months) {
160
+ return date.reconfigure(this._getOptions()).plus({ months });
161
+ }
162
+ addCalendarDays(date, days) {
163
+ return date.reconfigure(this._getOptions()).plus({ days });
164
+ }
165
+ toIso8601(date) {
166
+ return date.toISO();
167
+ }
168
+ /**
169
+ * Returns the given value if given a valid Luxon or null. Deserializes valid ISO 8601 strings
170
+ * (https://www.ietf.org/rfc/rfc3339.txt) and valid Date objects into valid DateTime and empty
171
+ * string into null. Returns an invalid date for all other values.
172
+ */
173
+ deserialize(value) {
174
+ const options = this._getOptions();
175
+ let date;
176
+ if (value instanceof Date) {
177
+ date = LuxonDateTime.fromJSDate(value, options);
178
+ }
179
+ if (typeof value === 'string') {
180
+ if (!value) {
181
+ return null;
182
+ }
183
+ date = LuxonDateTime.fromISO(value, options);
184
+ }
185
+ if (date && this.isValid(date)) {
186
+ return date;
187
+ }
188
+ return super.deserialize(value);
189
+ }
190
+ isDateInstance(obj) {
191
+ return obj instanceof LuxonDateTime;
192
+ }
193
+ isValid(date) {
194
+ return date.isValid;
195
+ }
196
+ invalid() {
197
+ return LuxonDateTime.invalid('Invalid Luxon DateTime object.');
198
+ }
199
+ setTime(target, hours, minutes, seconds) {
200
+ //if (typeof ngDevMode === 'undefined' || ngDevMode) {
201
+ if (hours < 0 || hours > 23) {
202
+ throw Error(`Invalid hours "${hours}". Hours value must be between 0 and 23.`);
203
+ }
204
+ if (minutes < 0 || minutes > 59) {
205
+ throw Error(`Invalid minutes "${minutes}". Minutes value must be between 0 and 59.`);
206
+ }
207
+ if (seconds < 0 || seconds > 59) {
208
+ throw Error(`Invalid seconds "${seconds}". Seconds value must be between 0 and 59.`);
209
+ }
210
+ //}
211
+ return this.clone(target).set({
212
+ hour: hours,
213
+ minute: minutes,
214
+ second: seconds,
215
+ millisecond: 0,
216
+ });
217
+ }
218
+ getHours(date) {
219
+ return date.hour;
220
+ }
221
+ getMinutes(date) {
222
+ return date.minute;
223
+ }
224
+ getSeconds(date) {
225
+ return date.second;
226
+ }
227
+ parseTime(value, parseFormat) {
228
+ const result = this.parse(value, parseFormat);
229
+ if ((!result || !this.isValid(result)) && typeof value === 'string') {
230
+ // It seems like Luxon doesn't work well cross-browser for strings that have
231
+ // additional characters around the time. Try parsing without those characters.
232
+ return (this.parse(value.replace(/[^0-9:(AM|PM)]/gi, ''), parseFormat) || result);
233
+ }
234
+ return result;
235
+ }
236
+ addSeconds(date, amount) {
237
+ return date.reconfigure(this._getOptions()).plus({ seconds: amount });
238
+ }
239
+ /** Gets the options that should be used when constructing a new `DateTime` object. */
240
+ _getOptions() {
241
+ return {
242
+ zone: this._useUTC ? 'utc' : undefined,
243
+ locale: this.locale,
244
+ outputCalendar: this._defaultOutputCalendar,
245
+ };
246
+ }
247
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: OnemrvaLuxonDateAdapter, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
248
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: OnemrvaLuxonDateAdapter }); }
249
+ }
250
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: OnemrvaLuxonDateAdapter, decorators: [{
251
+ type: Injectable
252
+ }], ctorParameters: () => [{ type: i1.TranslateService }] });
253
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHV4b24uZGF0ZS5hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL3NoYXJlZC9zcmMvbGliL2FkYXB0ZXJzL2x1eG9uLmRhdGUuYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RFLE9BQU8sRUFDTCxRQUFRLElBQUksYUFBYSxFQUN6QixJQUFJLElBQUksU0FBUyxHQUdsQixNQUFNLE9BQU8sQ0FBQztBQUVmLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFDTCxVQUFVLEVBQ1YsOEJBQThCLEdBRS9CLE1BQU0sZUFBZSxDQUFDOzs7QUFFdkIsd0RBQXdEO0FBRXhELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxXQUEwQjtJQUtyRSxZQUFvQixnQkFBa0M7UUFDcEQsS0FBSyxFQUFFLENBQUM7UUFEVSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBR3BELE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxlQUFlLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUMvRCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQ3BCLDhCQUE4QixFQUM5QjtZQUNFLFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQztRQUNqQyxJQUFJLENBQUMsZUFBZSxHQUFHLE9BQU8sRUFBRSxjQUFjLElBQUksQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxzQkFBc0IsR0FB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LENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ3BFLDRFQUE0RTtZQUM1RSwrRUFBK0U7WUFDL0UsT0FBTyxDQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLENBQUMsRUFBRSxXQUFXLENBQUMsSUFBSSxNQUFNLENBQ3pFLENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFtQixFQUFFLE1BQWM7UUFDNUMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxzRkFBc0Y7SUFDOUUsV0FBVztRQUNqQixPQUFPO1lBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUztZQUN0QyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsY0FBYyxFQUFFLElBQUksQ0FBQyxzQkFBc0I7U0FDNUMsQ0FBQztJQUNKLENBQUM7OEdBNVNVLHVCQUF1QjtrSEFBdkIsdUJBQXVCOzsyRkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuZGV2L2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGVBZGFwdGVyLCBNQVRfREFURV9MT0NBTEUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7XG4gIERhdGVUaW1lIGFzIEx1eG9uRGF0ZVRpbWUsXG4gIEluZm8gYXMgTHV4b25JbmZvLFxuICBEYXRlVGltZU9wdGlvbnMgYXMgTHV4b25EYXRlVGltZU9wdGlvbnMsXG4gIENhbGVuZGFyU3lzdGVtIGFzIEx1eG9uQ2FsZW5kYXJTeXN0ZW0sXG59IGZyb20gJ2x1eG9uJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7XG4gIGx1eG9uUmFuZ2UsXG4gIE1BVF9MVVhPTl9EQVRFX0FEQVBURVJfT1BUSU9OUyxcbiAgTWF0THV4b25EYXRlQWRhcHRlck9wdGlvbnMsXG59IGZyb20gJy4vbHV4b24udXRpbHMnO1xuXG4vKiogQWRhcHRzIEx1eG9uIERhdGVzIGZvciB1c2Ugd2l0aCBBbmd1bGFyIE1hdGVyaWFsLiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE9uZW1ydmFMdXhvbkRhdGVBZGFwdGVyIGV4dGVuZHMgRGF0ZUFkYXB0ZXI8THV4b25EYXRlVGltZT4ge1xuICBwcml2YXRlIF91c2VVVEM6IGJvb2xlYW47XG4gIHByaXZhdGUgX2ZpcnN0RGF5T2ZXZWVrOiBudW1iZXI7XG4gIHByaXZhdGUgX2RlZmF1bHRPdXRwdXRDYWxlbmRhcjogTHV4b25DYWxlbmRhclN5c3RlbTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgY29uc3QgZGF0ZUxvY2FsZSA9IGluamVjdChNQVRfREFURV9MT0NBTEUsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG4gICAgY29uc3Qgb3B0aW9ucyA9IGluamVjdDxNYXRMdXhvbkRhdGVBZGFwdGVyT3B0aW9ucz4oXG4gICAgICBNQVRfTFVYT05fREFURV9BREFQVEVSX09QVElPTlMsXG4gICAgICB7XG4gICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgdGhpcy5fdXNlVVRDID0gISFvcHRpb25zPy51c2VVdGM7XG4gICAgdGhpcy5fZmlyc3REYXlPZldlZWsgPSBvcHRpb25zPy5maXJzdERheU9mV2VlayB8fCAwO1xuICAgIHRoaXMuX2RlZmF1bHRPdXRwdXRDYWxlbmRhciA9IG9wdGlvbnM/LmRlZmF1bHRPdXRwdXRDYWxlbmRhciB8fCAnZ3JlZ29yeSc7XG4gICAgdGhpcy5zZXRMb2NhbGUoZGF0ZUxvY2FsZSB8fCBMdXhvbkRhdGVUaW1lLmxvY2FsKCkubG9jYWxlKTtcblxuICAgIHRoaXMuc2V0TG9jYWxlKHRoaXMudHJhbnNsYXRlU2VydmljZS5jdXJyZW50TGFuZyk7XG4gICAgaWYgKHRoaXMudHJhbnNsYXRlU2VydmljZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uub25MYW5nQ2hhbmdlXG4gICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKVxuICAgICAgICAuc3Vic2NyaWJlKCh7IGxhbmcgfSkgPT4ge1xuICAgICAgICAgIHRoaXMuc2V0TG9jYWxlKGxhbmcpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBnZXRZZWFyKGRhdGU6IEx1eG9uRGF0ZVRpbWUpOiBudW1iZXIge1xuICAgIHJldHVybiBkYXRlLnllYXI7XG4gIH1cblxuICBnZXRNb250aChkYXRlOiBMdXhvbkRhdGVUaW1lKTogbnVtYmVyIHtcbiAgICAvLyBMdXhvbiB3b3JrcyB3aXRoIDEtaW5kZXhlZCBtb250aHMgd2hlcmVhcyBvdXIgY29kZSBleHBlY3RzIDAtaW5kZXhlZC5cbiAgICByZXR1cm4gZGF0ZS5tb250aCAtIDE7XG4gIH1cblxuICBnZXREYXRlKGRhdGU6IEx1eG9uRGF0ZVRpbWUpOiBudW1iZXIge1xuICAgIHJldHVybiBkYXRlLmRheTtcbiAgfVxuXG4gIGdldERheU9mV2VlayhkYXRlOiBMdXhvbkRhdGVUaW1lKTogbnVtYmVyIHtcbiAgICByZXR1cm4gZGF0ZS53ZWVrZGF5O1xuICB9XG5cbiAgZ2V0TW9udGhOYW1lcyhzdHlsZTogJ2xvbmcnIHwgJ3Nob3J0JyB8ICduYXJyb3cnKTogc3RyaW5nW10ge1xuICAgIC8vIEFkZGluZyBvdXRwdXRDYWxlbmRhciBvcHRpb24sIGJlY2F1c2UgTHV4b25JbmZvIGRvZXNuJ3QgZ2V0IGVmZmVjdGVkIGJ5IEx1eG9uU2V0dGluZ3NcbiAgICByZXR1cm4gTHV4b25JbmZvLm1vbnRocyhzdHlsZSwge1xuICAgICAgbG9jYWxlOiB0aGlzLmxvY2FsZSxcbiAgICAgIG91dHB1dENhbGVuZGFyOiB0aGlzLl9kZWZhdWx0T3V0cHV0Q2FsZW5kYXIsXG4gICAgfSk7XG4gIH1cblxuICBnZXREYXRlTmFtZXMoKTogc3RyaW5nW10ge1xuICAgIC8vIEF0IHRoZSB0aW1lIG9mIHdyaXRpbmcsIEx1eG9uIGRvZXNuJ3Qgb2ZmZXIgc2ltaWxhclxuICAgIC8vIGZ1bmN0aW9uYWxpdHkgc28gd2UgaGF2ZSB0byBmYWxsIGJhY2sgdG8gdGhlIEludGwgQVBJLlxuICAgIGNvbnN0IGR0ZiA9IG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KHRoaXMubG9jYWxlLCB7XG4gICAgICBkYXk6ICdudW1lcmljJyxcbiAgICAgIHRpbWVab25lOiAndXRjJyxcbiAgICB9KTtcblxuICAgIC8vIEZvcm1hdCBhIFVUQyBkYXRlIGluIG9yZGVyIHRvIGF2b2lkIERTVCBpc3N1ZXMuXG4gICAgcmV0dXJuIGx1eG9uUmFuZ2UoMzEsIGkgPT5cbiAgICAgIGR0Zi5mb3JtYXQoTHV4b25EYXRlVGltZS51dGMoMjAxNywgMSwgaSArIDEpLnRvSlNEYXRlKCkpLFxuICAgICk7XG4gIH1cblxuICBnZXREYXlPZldlZWtOYW1lcyhzdHlsZTogJ2xvbmcnIHwgJ3Nob3J0JyB8ICduYXJyb3cnKTogc3RyaW5nW10ge1xuICAgIC8vIE5vdGUgdGhhdCB3ZSBzaGlmdCB0aGUgYXJyYXkgb25jZSwgYmVjYXVzZSBMdXhvbiByZXR1cm5zIE1vbmRheSBhcyB0aGVcbiAgICAvLyBmaXJzdCBkYXkgb2YgdGhlIHdlZWssIHdoZXJlYXMgb3VyIGxvZ2ljIGFzc3VtZXMgdGhhdCBpdCdzIFN1bmRheS4gU2VlOlxuICAgIC8vIGh0dHBzOi8vbW9tZW50LmdpdGh1Yi5pby9sdXhvbi9hcGktZG9jcy9pbmRleC5odG1sI2luZm93ZWVrZGF5c1xuICAgIGNvbnN0IGRheXMgPSBMdXhvbkluZm8ud2Vla2RheXMoc3R5bGUsIHsgbG9jYWxlOiB0aGlzLmxvY2FsZSB9KTtcbiAgICBkYXlzLnVuc2hpZnQoZGF5cy5wb3AoKSEpO1xuICAgIHJldHVybiBkYXlzO1xuICB9XG5cbiAgZ2V0WWVhck5hbWUoZGF0ZTogTHV4b25EYXRlVGltZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGRhdGUudG9Gb3JtYXQoJ3l5eXknLCB0aGlzLl9nZXRPcHRpb25zKCkpO1xuICB9XG5cbiAgZ2V0Rmlyc3REYXlPZldlZWsoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fZmlyc3REYXlPZldlZWs7XG4gIH1cblxuICBnZXROdW1EYXlzSW5Nb250aChkYXRlOiBMdXhvbkRhdGVUaW1lKTogbnVtYmVyIHtcbiAgICByZXR1cm4gZGF0ZS5kYXlzSW5Nb250aCE7XG4gIH1cblxuICBjbG9uZShkYXRlOiBMdXhvbkRhdGVUaW1lKTogTHV4b25EYXRlVGltZSB7XG4gICAgcmV0dXJuIEx1eG9uRGF0ZVRpbWUuZnJvbU9iamVjdChkYXRlLnRvT2JqZWN0KCksIHRoaXMuX2dldE9wdGlvbnMoKSk7XG4gIH1cblxuICBjcmVhdGVEYXRlKHllYXI6IG51bWJlciwgbW9udGg6IG51bWJlciwgZGF0ZTogbnVtYmVyKTogTHV4b25EYXRlVGltZSB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuX2dldE9wdGlvbnMoKTtcblxuICAgIGlmIChtb250aCA8IDAgfHwgbW9udGggPiAxMSkge1xuICAgICAgdGhyb3cgRXJyb3IoXG4gICAgICAgIGBJbnZhbGlkIG1vbnRoIGluZGV4IFwiJHttb250aH1cIi4gTW9udGggaW5kZXggaGFzIHRvIGJlIGJldHdlZW4gMCBhbmQgMTEuYCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGRhdGUgPCAxKSB7XG4gICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCBkYXRlIFwiJHtkYXRlfVwiLiBEYXRlIGhhcyB0byBiZSBncmVhdGVyIHRoYW4gMC5gKTtcbiAgICB9XG5cbiAgICAvLyBMdXhvbiB1c2VzIDEtaW5kZXhlZCBtb250aHMgc28gd2UgbmVlZCB0byBhZGQgb25lIHRvIHRoZSBtb250aC5cbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLl91c2VVVENcbiAgICAgID8gTHV4b25EYXRlVGltZS51dGMoeWVhciwgbW9udGggKyAxLCBkYXRlLCBvcHRpb25zKVxuICAgICAgOiBMdXhvbkRhdGVUaW1lLmxvY2FsKHllYXIsIG1vbnRoICsgMSwgZGF0ZSwgb3B0aW9ucyk7XG5cbiAgICBpZiAoIXRoaXMuaXNWYWxpZChyZXN1bHQpKSB7XG4gICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCBkYXRlIFwiJHtkYXRlfVwiLiBSZWFzb246IFwiJHtyZXN1bHQuaW52YWxpZFJlYXNvbn1cIi5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgdG9kYXkoKTogTHV4b25EYXRlVGltZSB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuX2dldE9wdGlvbnMoKTtcblxuICAgIHJldHVybiB0aGlzLl91c2VVVENcbiAgICAgID8gTHV4b25EYXRlVGltZS51dGMob3B0aW9ucylcbiAgICAgIDogTHV4b25EYXRlVGltZS5sb2NhbChvcHRpb25zKTtcbiAgfVxuXG4gIHBhcnNlKHZhbHVlOiBhbnksIHBhcnNlRm9ybWF0OiBzdHJpbmcgfCBzdHJpbmdbXSk6IEx1eG9uRGF0ZVRpbWUgfCBudWxsIHtcbiAgICBjb25zdCBvcHRpb25zOiBMdXhvbkRhdGVUaW1lT3B0aW9ucyA9IHRoaXMuX2dldE9wdGlvbnMoKTtcblxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT0gJ3N0cmluZycgJiYgdmFsdWUubGVuZ3RoID4gMCkge1xuICAgICAgLy8gVGhpcyBpcyBzY3Jld2luZyB0aGluZ3MgdXAgYXMgMDYyMDA1IHdvdWxkIGJlY29tZSAwNSAwNjAyXG4gICAgICAvLyBjb25zdCBpc284NjAxRGF0ZSA9IEx1eG9uRGF0ZVRpbWUuZnJvbUlTTyh2YWx1ZSwgb3B0aW9ucyk7XG4gICAgICAvL1xuICAgICAgLy8gaWYgKHRoaXMuaXNWYWxpZChpc284NjAxRGF0ZSkpIHtcbiAgICAgIC8vICAgY29uc29sZS5sb2coaXNvODYwMURhdGUpO1xuICAgICAgLy8gICByZXR1cm4gaXNvODYwMURhdGU7XG4gICAgICAvLyB9XG5cbiAgICAgIGNvbnN0IGZvcm1hdHMgPSBBcnJheS5pc0FycmF5KHBhcnNlRm9ybWF0KSA/IHBhcnNlRm9ybWF0IDogW3BhcnNlRm9ybWF0XTtcblxuICAgICAgaWYgKCFwYXJzZUZvcm1hdC5sZW5ndGgpIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoJ0Zvcm1hdHMgYXJyYXkgbXVzdCBub3QgYmUgZW1wdHkuJyk7XG4gICAgICB9XG5cbiAgICAgIGNvbnNvbGUubG9nKGZvcm1hdHMpO1xuICAgICAgZm9yIChjb25zdCBmb3JtYXQgb2YgZm9ybWF0cykge1xuICAgICAgICBjb25zb2xlLmxvZyhmb3JtYXQpO1xuICAgICAgICBjb25zdCBmcm9tRm9ybWF0ID0gTHV4b25EYXRlVGltZS5mcm9tRm9ybWF0KHZhbHVlLCBmb3JtYXQsIG9wdGlvbnMpO1xuXG4gICAgICAgIGlmICh0aGlzLmlzVmFsaWQoZnJvbUZvcm1hdCkpIHtcbiAgICAgICAgICByZXR1cm4gZnJvbUZvcm1hdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMuaW52YWxpZCgpO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgcmV0dXJuIEx1eG9uRGF0ZVRpbWUuZnJvbU1pbGxpcyh2YWx1ZSwgb3B0aW9ucyk7XG4gICAgfSBlbHNlIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgIHJldHVybiBMdXhvbkRhdGVUaW1lLmZyb21KU0RhdGUodmFsdWUsIG9wdGlvbnMpO1xuICAgIH0gZWxzZSBpZiAodmFsdWUgaW5zdGFuY2VvZiBMdXhvbkRhdGVUaW1lKSB7XG4gICAgICByZXR1cm4gTHV4b25EYXRlVGltZS5mcm9tTWlsbGlzKHZhbHVlLnRvTWlsbGlzKCksIG9wdGlvbnMpO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgZm9ybWF0KGRhdGU6IEx1eG9uRGF0ZVRpbWUsIGRpc3BsYXlGb3JtYXQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKCF0aGlzLmlzVmFsaWQoZGF0ZSkpIHtcbiAgICAgIHRocm93IEVycm9yKCdMdXhvbkRhdGVBZGFwdGVyOiBDYW5ub3QgZm9ybWF0IGludmFsaWQgZGF0ZS4nKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX3VzZVVUQykge1xuICAgICAgcmV0dXJuIGRhdGUuc2V0TG9jYWxlKHRoaXMubG9jYWxlKS5zZXRab25lKCd1dGMnKS50b0Zvcm1hdChkaXNwbGF5Rm9ybWF0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGRhdGUuc2V0TG9jYWxlKHRoaXMubG9jYWxlKS50b0Zvcm1hdChkaXNwbGF5Rm9ybWF0KTtcbiAgICB9XG4gIH1cblxuICBhZGRDYWxlbmRhclllYXJzKGRhdGU6IEx1eG9uRGF0ZVRpbWUsIHllYXJzOiBudW1iZXIpOiBMdXhvbkRhdGVUaW1lIHtcbiAgICByZXR1cm4gZGF0ZS5yZWNvbmZpZ3VyZSh0aGlzLl9nZXRPcHRpb25zKCkpLnBsdXMoeyB5ZWFycyB9KTtcbiAgfVxuXG4gIGFkZENhbGVuZGFyTW9udGhzKGRhdGU6IEx1eG9uRGF0ZVRpbWUsIG1vbnRoczogbnVtYmVyKTogTHV4b25EYXRlVGltZSB7XG4gICAgcmV0dXJuIGRhdGUucmVjb25maWd1cmUodGhpcy5fZ2V0T3B0aW9ucygpKS5wbHVzKHsgbW9udGhzIH0pO1xuICB9XG5cbiAgYWRkQ2FsZW5kYXJEYXlzKGRhdGU6IEx1eG9uRGF0ZVRpbWUsIGRheXM6IG51bWJlcik6IEx1eG9uRGF0ZVRpbWUge1xuICAgIHJldHVybiBkYXRlLnJlY29uZmlndXJlKHRoaXMuX2dldE9wdGlvbnMoKSkucGx1cyh7IGRheXMgfSk7XG4gIH1cblxuICB0b0lzbzg2MDEoZGF0ZTogTHV4b25EYXRlVGltZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGRhdGUudG9JU08oKSE7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZ2l2ZW4gdmFsdWUgaWYgZ2l2ZW4gYSB2YWxpZCBMdXhvbiBvciBudWxsLiBEZXNlcmlhbGl6ZXMgdmFsaWQgSVNPIDg2MDEgc3RyaW5nc1xuICAgKiAoaHR0cHM6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzMzMzkudHh0KSBhbmQgdmFsaWQgRGF0ZSBvYmplY3RzIGludG8gdmFsaWQgRGF0ZVRpbWUgYW5kIGVtcHR5XG4gICAqIHN0cmluZyBpbnRvIG51bGwuIFJldHVybnMgYW4gaW52YWxpZCBkYXRlIGZvciBhbGwgb3RoZXIgdmFsdWVzLlxuICAgKi9cbiAgb3ZlcnJpZGUgZGVzZXJpYWxpemUodmFsdWU6IGFueSk6IEx1eG9uRGF0ZVRpbWUgfCBudWxsIHtcbiAgICBjb25zdCBvcHRpb25zID0gdGhpcy5fZ2V0T3B0aW9ucygpO1xuICAgIGxldCBkYXRlOiBMdXhvbkRhdGVUaW1lIHwgdW5kZWZpbmVkO1xuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgIGRhdGUgPSBMdXhvbkRhdGVUaW1lLmZyb21KU0RhdGUodmFsdWUsIG9wdGlvbnMpO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGRhdGUgPSBMdXhvbkRhdGVUaW1lLmZyb21JU08odmFsdWUsIG9wdGlvbnMpO1xuICAgIH1cbiAgICBpZiAoZGF0ZSAmJiB0aGlzLmlzVmFsaWQoZGF0ZSkpIHtcbiAgICAgIHJldHVybiBkYXRlO1xuICAgIH1cbiAgICByZXR1cm4gc3VwZXIuZGVzZXJpYWxpemUodmFsdWUpO1xuICB9XG5cbiAgaXNEYXRlSW5zdGFuY2Uob2JqOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gb2JqIGluc3RhbmNlb2YgTHV4b25EYXRlVGltZTtcbiAgfVxuXG4gIGlzVmFsaWQoZGF0ZTogTHV4b25EYXRlVGltZSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBkYXRlLmlzVmFsaWQ7XG4gIH1cblxuICBpbnZhbGlkKCk6IEx1eG9uRGF0ZVRpbWUge1xuICAgIHJldHVybiBMdXhvbkRhdGVUaW1lLmludmFsaWQoJ0ludmFsaWQgTHV4b24gRGF0ZVRpbWUgb2JqZWN0LicpO1xuICB9XG5cbiAgc2V0VGltZShcbiAgICB0YXJnZXQ6IEx1eG9uRGF0ZVRpbWUsXG4gICAgaG91cnM6IG51bWJlcixcbiAgICBtaW51dGVzOiBudW1iZXIsXG4gICAgc2Vjb25kczogbnVtYmVyLFxuICApOiBMdXhvbkRhdGVUaW1lIHtcbiAgICAvL2lmICh0eXBlb2YgbmdEZXZNb2RlID09PSAndW5kZWZpbmVkJyB8fCBuZ0Rldk1vZGUpIHtcbiAgICBpZiAoaG91cnMgPCAwIHx8IGhvdXJzID4gMjMpIHtcbiAgICAgIHRocm93IEVycm9yKFxuICAgICAgICBgSW52YWxpZCBob3VycyBcIiR7aG91cnN9XCIuIEhvdXJzIHZhbHVlIG11c3QgYmUgYmV0d2VlbiAwIGFuZCAyMy5gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAobWludXRlcyA8IDAgfHwgbWludXRlcyA+IDU5KSB7XG4gICAgICB0aHJvdyBFcnJvcihcbiAgICAgICAgYEludmFsaWQgbWludXRlcyBcIiR7bWludXRlc31cIi4gTWludXRlcyB2YWx1ZSBtdXN0IGJlIGJldHdlZW4gMCBhbmQgNTkuYCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKHNlY29uZHMgPCAwIHx8IHNlY29uZHMgPiA1OSkge1xuICAgICAgdGhyb3cgRXJyb3IoXG4gICAgICAgIGBJbnZhbGlkIHNlY29uZHMgXCIke3NlY29uZHN9XCIuIFNlY29uZHMgdmFsdWUgbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDU5LmAsXG4gICAgICApO1xuICAgIH1cbiAgICAvL31cblxuICAgIHJldHVybiB0aGlzLmNsb25lKHRhcmdldCkuc2V0KHtcbiAgICAgIGhvdXI6IGhvdXJzLFxuICAgICAgbWludXRlOiBtaW51dGVzLFxuICAgICAgc2Vjb25kOiBzZWNvbmRzLFxuICAgICAgbWlsbGlzZWNvbmQ6IDAsXG4gICAgfSk7XG4gIH1cblxuICBnZXRIb3VycyhkYXRlOiBMdXhvbkRhdGVUaW1lKTogbnVtYmVyIHtcbiAgICByZXR1cm4gZGF0ZS5ob3VyO1xuICB9XG5cbiAgZ2V0TWludXRlcyhkYXRlOiBMdXhvbkRhdGVUaW1lKTogbnVtYmVyIHtcbiAgICByZXR1cm4gZGF0ZS5taW51dGU7XG4gIH1cblxuICBnZXRTZWNvbmRzKGRhdGU6IEx1eG9uRGF0ZVRpbWUpOiBudW1iZXIge1xuICAgIHJldHVybiBkYXRlLnNlY29uZDtcbiAgfVxuXG4gIHBhcnNlVGltZSh2YWx1ZTogYW55LCBwYXJzZUZvcm1hdDogc3RyaW5nIHwgc3RyaW5nW10pOiBMdXhvbkRhdGVUaW1lIHwgbnVsbCB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5wYXJzZSh2YWx1ZSwgcGFyc2VGb3JtYXQpO1xuXG4gICAgaWYgKCghcmVzdWx0IHx8ICF0aGlzLmlzVmFsaWQocmVzdWx0KSkgJiYgdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgLy8gSXQgc2VlbXMgbGlrZSBMdXhvbiBkb2Vzbid0IHdvcmsgd2VsbCBjcm9zcy1icm93c2VyIGZvciBzdHJpbmdzIHRoYXQgaGF2ZVxuICAgICAgLy8gYWRkaXRpb25hbCBjaGFyYWN0ZXJzIGFyb3VuZCB0aGUgdGltZS4gVHJ5IHBhcnNpbmcgd2l0aG91dCB0aG9zZSBjaGFyYWN0ZXJzLlxuICAgICAgcmV0dXJuIChcbiAgICAgICAgdGhpcy5wYXJzZSh2YWx1ZS5yZXBsYWNlKC9bXjAtOTooQU18UE0pXS9naSwgJycpLCBwYXJzZUZvcm1hdCkgfHwgcmVzdWx0XG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBhZGRTZWNvbmRzKGRhdGU6IEx1eG9uRGF0ZVRpbWUsIGFtb3VudDogbnVtYmVyKTogTHV4b25EYXRlVGltZSB7XG4gICAgcmV0dXJuIGRhdGUucmVjb25maWd1cmUodGhpcy5fZ2V0T3B0aW9ucygpKS5wbHVzKHsgc2Vjb25kczogYW1vdW50IH0pO1xuICB9XG5cbiAgLyoqIEdldHMgdGhlIG9wdGlvbnMgdGhhdCBzaG91bGQgYmUgdXNlZCB3aGVuIGNvbnN0cnVjdGluZyBhIG5ldyBgRGF0ZVRpbWVgIG9iamVjdC4gKi9cbiAgcHJpdmF0ZSBfZ2V0T3B0aW9ucygpOiBMdXhvbkRhdGVUaW1lT3B0aW9ucyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHpvbmU6IHRoaXMuX3VzZVVUQyA/ICd1dGMnIDogdW5kZWZpbmVkLFxuICAgICAgbG9jYWxlOiB0aGlzLmxvY2FsZSxcbiAgICAgIG91dHB1dENhbGVuZGFyOiB0aGlzLl9kZWZhdWx0T3V0cHV0Q2FsZW5kYXIsXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -0,0 +1,23 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ /** InjectionToken for LuxonDateAdapter to configure options. */
3
+ export const MAT_LUXON_DATE_ADAPTER_OPTIONS = new InjectionToken('MAT_LUXON_DATE_ADAPTER_OPTIONS', {
4
+ providedIn: 'root',
5
+ factory: MAT_LUXON_DATE_ADAPTER_OPTIONS_FACTORY,
6
+ });
7
+ /** @docs-private */
8
+ export function MAT_LUXON_DATE_ADAPTER_OPTIONS_FACTORY() {
9
+ return {
10
+ useUtc: false,
11
+ firstDayOfWeek: 0,
12
+ defaultOutputCalendar: 'gregory',
13
+ };
14
+ }
15
+ /** Creates an array and fills it with values. */
16
+ export function luxonRange(length, valueFunction) {
17
+ const valuesArray = Array(length);
18
+ for (let i = 0; i < length; i++) {
19
+ valuesArray[i] = valueFunction(i);
20
+ }
21
+ return valuesArray;
22
+ }
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHV4b24udXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmVtcnZhL2Rlc2lnbi1zeXN0ZW0vc2hhcmVkL3NyYy9saWIvYWRhcHRlcnMvbHV4b24udXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQXVCL0MsZ0VBQWdFO0FBQ2hFLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUN6QyxJQUFJLGNBQWMsQ0FDaEIsZ0NBQWdDLEVBQ2hDO0lBQ0UsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLHNDQUFzQztDQUNoRCxDQUNGLENBQUM7QUFFSixvQkFBb0I7QUFDcEIsTUFBTSxVQUFVLHNDQUFzQztJQUNwRCxPQUFPO1FBQ0wsTUFBTSxFQUFFLEtBQUs7UUFDYixjQUFjLEVBQUUsQ0FBQztRQUNqQixxQkFBcUIsRUFBRSxTQUFTO0tBQ2pDLENBQUM7QUFDSixDQUFDO0FBRUQsaURBQWlEO0FBQ2pELE1BQU0sVUFBVSxVQUFVLENBQ3hCLE1BQWMsRUFDZCxhQUFtQztJQUVuQyxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ2hDLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUNELE9BQU8sV0FBVyxDQUFDO0FBQ3JCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDYWxlbmRhclN5c3RlbSBhcyBMdXhvbkNhbGVuZGFyU3lzdGVtIH0gZnJvbSAnbHV4b24vc3JjL21pc2MnO1xuaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqIENvbmZpZ3VyYWJsZSBvcHRpb25zIGZvciB0aGUgYEx1eG9uRGF0ZUFkYXB0ZXJgLiAqL1xuZXhwb3J0IGludGVyZmFjZSBNYXRMdXhvbkRhdGVBZGFwdGVyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUdXJucyB0aGUgdXNlIG9mIHV0YyBkYXRlcyBvbiBvciBvZmYuXG4gICAqIENoYW5naW5nIHRoaXMgd2lsbCBjaGFuZ2UgaG93IEFuZ3VsYXIgTWF0ZXJpYWwgY29tcG9uZW50cyBsaWtlIERhdGVQaWNrZXIgb3V0cHV0IGRhdGVzLlxuICAgKi9cbiAgdXNlVXRjOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBmaXJzdCBkYXkgb2Ygd2Vlay5cbiAgICogQ2hhbmdpbmcgdGhpcyB3aWxsIGNoYW5nZSBob3cgQW5ndWxhciBNYXRlcmlhbCBjb21wb25lbnRzIGxpa2UgRGF0ZVBpY2tlciBzaG93cyBzdGFydCBvZiB3ZWVrLlxuICAgKi9cbiAgZmlyc3REYXlPZldlZWs6IG51bWJlcjtcblxuICAvKipcbiAgICogU2V0cyB0aGUgb3V0cHV0IENhbGVuZGFyLlxuICAgKiBDaGFuZ2luZyB0aGlzIHdpbGwgY2hhbmdlIGhvdyBBbmd1bGFyIE1hdGVyaWFsIGNvbXBvbmVudHMgbGlrZSBEYXRlUGlja2VyIG91dHB1dCBkYXRlcy5cbiAgICovXG4gIGRlZmF1bHRPdXRwdXRDYWxlbmRhcjogTHV4b25DYWxlbmRhclN5c3RlbTtcbn1cblxuLyoqIEluamVjdGlvblRva2VuIGZvciBMdXhvbkRhdGVBZGFwdGVyIHRvIGNvbmZpZ3VyZSBvcHRpb25zLiAqL1xuZXhwb3J0IGNvbnN0IE1BVF9MVVhPTl9EQVRFX0FEQVBURVJfT1BUSU9OUyA9XG4gIG5ldyBJbmplY3Rpb25Ub2tlbjxNYXRMdXhvbkRhdGVBZGFwdGVyT3B0aW9ucz4oXG4gICAgJ01BVF9MVVhPTl9EQVRFX0FEQVBURVJfT1BUSU9OUycsXG4gICAge1xuICAgICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxuICAgICAgZmFjdG9yeTogTUFUX0xVWE9OX0RBVEVfQURBUFRFUl9PUFRJT05TX0ZBQ1RPUlksXG4gICAgfSxcbiAgKTtcblxuLyoqIEBkb2NzLXByaXZhdGUgKi9cbmV4cG9ydCBmdW5jdGlvbiBNQVRfTFVYT05fREFURV9BREFQVEVSX09QVElPTlNfRkFDVE9SWSgpOiBNYXRMdXhvbkRhdGVBZGFwdGVyT3B0aW9ucyB7XG4gIHJldHVybiB7XG4gICAgdXNlVXRjOiBmYWxzZSxcbiAgICBmaXJzdERheU9mV2VlazogMCxcbiAgICBkZWZhdWx0T3V0cHV0Q2FsZW5kYXI6ICdncmVnb3J5JyxcbiAgfTtcbn1cblxuLyoqIENyZWF0ZXMgYW4gYXJyYXkgYW5kIGZpbGxzIGl0IHdpdGggdmFsdWVzLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGx1eG9uUmFuZ2U8VD4oXG4gIGxlbmd0aDogbnVtYmVyLFxuICB2YWx1ZUZ1bmN0aW9uOiAoaW5kZXg6IG51bWJlcikgPT4gVCxcbik6IFRbXSB7XG4gIGNvbnN0IHZhbHVlc0FycmF5ID0gQXJyYXkobGVuZ3RoKTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgIHZhbHVlc0FycmF5W2ldID0gdmFsdWVGdW5jdGlvbihpKTtcbiAgfVxuICByZXR1cm4gdmFsdWVzQXJyYXk7XG59XG4iXX0=
@@ -0,0 +1,66 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { NativeDateAdapter } from '@angular/material/core';
3
+ import { DateTime } from 'luxon';
4
+ import { Subject, takeUntil } from 'rxjs';
5
+ import { ONEMRVA_MAT_NATIVE_DATE_FORMAT } from '../constants';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@ngx-translate/core";
8
+ export class OnemrvaNativeDateAdapter extends NativeDateAdapter {
9
+ constructor(translateService) {
10
+ super();
11
+ this.translateService = translateService;
12
+ this.destroyNotifier$ = new Subject();
13
+ this.localeChanges = new Subject();
14
+ this.setLocale(this.translateService.currentLang);
15
+ this.localeChanges.next(this);
16
+ if (this.translateService !== undefined) {
17
+ this.translateService.onLangChange
18
+ .pipe(takeUntil(this.destroyNotifier$))
19
+ .subscribe(({ lang }) => {
20
+ this.setLocale(lang);
21
+ this.localeChanges.next(this);
22
+ });
23
+ }
24
+ }
25
+ format(date, formats) {
26
+ const dt = DateTime.fromJSDate(date);
27
+ return dt.toFormat(formats);
28
+ }
29
+ parse(value) {
30
+ const formats = ONEMRVA_MAT_NATIVE_DATE_FORMAT;
31
+ if (value && typeof value === 'string') {
32
+ value = value.replace(/\D/g, '/');
33
+ }
34
+ if (value === null || value === '') {
35
+ return null;
36
+ }
37
+ const dt = DateTime.fromFormat(value, formats.display.dateInput, {
38
+ locale: this.locale,
39
+ });
40
+ if (dt.isValid) {
41
+ return dt.toJSDate();
42
+ }
43
+ for (const format of formats.parse.dateInput) {
44
+ const parsed = DateTime.fromFormat(value, format, {
45
+ locale: this.locale,
46
+ });
47
+ if (parsed.isValid) {
48
+ return parsed.toJSDate();
49
+ }
50
+ }
51
+ return this.invalid();
52
+ }
53
+ getFirstDayOfWeek() {
54
+ return 1;
55
+ }
56
+ ngOnDestroy() {
57
+ this.destroyNotifier$.next();
58
+ this.destroyNotifier$.complete();
59
+ }
60
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: OnemrvaNativeDateAdapter, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
61
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: OnemrvaNativeDateAdapter }); }
62
+ }
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: OnemrvaNativeDateAdapter, decorators: [{
64
+ type: Injectable
65
+ }], ctorParameters: () => [{ type: i1.TranslateService }] });
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlLmRhdGUuYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29uZW1ydmEvZGVzaWduLXN5c3RlbS9zaGFyZWQvc3JjL2xpYi9hZGFwdGVycy9uYXRpdmUuZGF0ZS5hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFrQixpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFHakMsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUFHOUQsTUFBTSxPQUFPLHdCQUNYLFNBQVEsaUJBQWlCO0lBT3pCLFlBQW9CLGdCQUFrQztRQUNwRCxLQUFLLEVBQUUsQ0FBQztRQURVLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFKOUMscUJBQWdCLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUV0QyxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFPLENBQUM7UUFLMUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDeEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVk7aUJBQy9CLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7aUJBQ3RDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRTtnQkFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDckIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDaEMsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO0lBQ0gsQ0FBQztJQUVRLE1BQU0sQ0FBQyxJQUFVLEVBQUUsT0FBWTtRQUN0QyxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRVEsS0FBSyxDQUFDLEtBQVU7UUFDdkIsTUFBTSxPQUFPLEdBQUcsOEJBQThCLENBQUM7UUFDL0MsSUFBSSxLQUFLLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDdkMsS0FBSyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3BDLENBQUM7UUFFRCxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksS0FBSyxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQ25DLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFO1lBQy9ELE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtTQUNwQixDQUFDLENBQUM7UUFFSCxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNmLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3ZCLENBQUM7UUFFRCxLQUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDN0MsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFO2dCQUNoRCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07YUFDcEIsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ25CLE9BQU8sTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzNCLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVRLGlCQUFpQjtRQUN4QixPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuQyxDQUFDOzhHQWpFVSx3QkFBd0I7a0hBQXhCLHdCQUF3Qjs7MkZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGF0ZUZvcm1hdHMsIE5hdGl2ZURhdGVBZGFwdGVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBEYXRlVGltZSB9IGZyb20gJ2x1eG9uJztcblxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPTkVNUlZBX01BVF9OQVRJVkVfREFURV9GT1JNQVQgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgT25lbXJ2YU5hdGl2ZURhdGVBZGFwdGVyXG4gIGV4dGVuZHMgTmF0aXZlRGF0ZUFkYXB0ZXJcbiAgaW1wbGVtZW50cyBPbkRlc3Ryb3lcbntcbiAgcHJpdmF0ZSBkZXN0cm95Tm90aWZpZXIkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBvdmVycmlkZSBsb2NhbGVDaGFuZ2VzID0gbmV3IFN1YmplY3Q8YW55PigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSkge1xuICAgIHN1cGVyKCk7XG5cbiAgICB0aGlzLnNldExvY2FsZSh0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmcpO1xuICAgIHRoaXMubG9jYWxlQ2hhbmdlcy5uZXh0KHRoaXMpO1xuICAgIGlmICh0aGlzLnRyYW5zbGF0ZVNlcnZpY2UgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLm9uTGFuZ0NoYW5nZVxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95Tm90aWZpZXIkKSlcbiAgICAgICAgLnN1YnNjcmliZSgoeyBsYW5nIH0pID0+IHtcbiAgICAgICAgICB0aGlzLnNldExvY2FsZShsYW5nKTtcbiAgICAgICAgICB0aGlzLmxvY2FsZUNoYW5nZXMubmV4dCh0aGlzKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgb3ZlcnJpZGUgZm9ybWF0KGRhdGU6IERhdGUsIGZvcm1hdHM6IGFueSk6IHN0cmluZyB7XG4gICAgY29uc3QgZHQgPSBEYXRlVGltZS5mcm9tSlNEYXRlKGRhdGUpO1xuICAgIHJldHVybiBkdC50b0Zvcm1hdChmb3JtYXRzKTtcbiAgfVxuXG4gIG92ZXJyaWRlIHBhcnNlKHZhbHVlOiBhbnkpOiBEYXRlIHwgbnVsbCB7XG4gICAgY29uc3QgZm9ybWF0cyA9IE9ORU1SVkFfTUFUX05BVElWRV9EQVRFX0ZPUk1BVDtcbiAgICBpZiAodmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgdmFsdWUgPSB2YWx1ZS5yZXBsYWNlKC9cXEQvZywgJy8nKTtcbiAgICB9XG5cbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09ICcnKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBkdCA9IERhdGVUaW1lLmZyb21Gb3JtYXQodmFsdWUsIGZvcm1hdHMuZGlzcGxheS5kYXRlSW5wdXQsIHtcbiAgICAgIGxvY2FsZTogdGhpcy5sb2NhbGUsXG4gICAgfSk7XG5cbiAgICBpZiAoZHQuaXNWYWxpZCkge1xuICAgICAgcmV0dXJuIGR0LnRvSlNEYXRlKCk7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBmb3JtYXQgb2YgZm9ybWF0cy5wYXJzZS5kYXRlSW5wdXQpIHtcbiAgICAgIGNvbnN0IHBhcnNlZCA9IERhdGVUaW1lLmZyb21Gb3JtYXQodmFsdWUsIGZvcm1hdCwge1xuICAgICAgICBsb2NhbGU6IHRoaXMubG9jYWxlLFxuICAgICAgfSk7XG4gICAgICBpZiAocGFyc2VkLmlzVmFsaWQpIHtcbiAgICAgICAgcmV0dXJuIHBhcnNlZC50b0pTRGF0ZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmludmFsaWQoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGdldEZpcnN0RGF5T2ZXZWVrKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIDE7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3lOb3RpZmllciQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveU5vdGlmaWVyJC5jb21wbGV0ZSgpO1xuICB9XG59XG4iXX0=
@@ -1,15 +1,16 @@
1
- import { provideLuxonDateAdapter } from '@angular/material-luxon-adapter';
2
1
  import { ONEMRVA_MAT_LUXON_DATE_FORMATS } from '../constants';
3
- import { MAT_DATE_LOCALE } from '@angular/material/core';
4
- import { TranslateService } from '@ngx-translate/core';
2
+ import { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';
3
+ import { OnemrvaLuxonDateAdapter } from '../adapters';
5
4
  export function onemrvaDateLuxonProvider() {
6
5
  return [
7
6
  {
8
- provide: MAT_DATE_LOCALE,
9
- useFactory: (translateService) => translateService.currentLang,
10
- deps: [TranslateService],
7
+ provide: MAT_DATE_FORMATS,
8
+ useValue: ONEMRVA_MAT_LUXON_DATE_FORMATS,
9
+ },
10
+ {
11
+ provide: DateAdapter,
12
+ useClass: OnemrvaLuxonDateAdapter,
11
13
  },
12
- provideLuxonDateAdapter(ONEMRVA_MAT_LUXON_DATE_FORMATS),
13
14
  ];
14
15
  }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lbXJ2YS5kYXRlLmx1eG9uLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL3NoYXJlZC9zcmMvbGliL3Byb3ZpZGVycy9vbmVtcnZhLmRhdGUubHV4b24ucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDMUUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV2RCxNQUFNLFVBQVUsd0JBQXdCO0lBQ3RDLE9BQU87UUFDTDtZQUNFLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLFVBQVUsRUFBRSxDQUFDLGdCQUFrQyxFQUFFLEVBQUUsQ0FDakQsZ0JBQWdCLENBQUMsV0FBVztZQUM5QixJQUFJLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztTQUN6QjtRQUNELHVCQUF1QixDQUFDLDhCQUE4QixDQUFDO0tBQ3hELENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHByb3ZpZGVMdXhvbkRhdGVBZGFwdGVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwtbHV4b24tYWRhcHRlcic7XG5pbXBvcnQgeyBPTkVNUlZBX01BVF9MVVhPTl9EQVRFX0ZPUk1BVFMgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgTUFUX0RBVEVfTE9DQUxFIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBvbmVtcnZhRGF0ZUx1eG9uUHJvdmlkZXIoKTogUHJvdmlkZXJbXSB7XG4gIHJldHVybiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTUFUX0RBVEVfTE9DQUxFLFxuICAgICAgdXNlRmFjdG9yeTogKHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UpID0+XG4gICAgICAgIHRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmcsXG4gICAgICBkZXBzOiBbVHJhbnNsYXRlU2VydmljZV0sXG4gICAgfSxcbiAgICBwcm92aWRlTHV4b25EYXRlQWRhcHRlcihPTkVNUlZBX01BVF9MVVhPTl9EQVRFX0ZPUk1BVFMpLFxuICBdO1xufVxuIl19
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lbXJ2YS5kYXRlLmx1eG9uLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL3NoYXJlZC9zcmMvbGliL3Byb3ZpZGVycy9vbmVtcnZhLmRhdGUubHV4b24ucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFdEQsTUFBTSxVQUFVLHdCQUF3QjtJQUN0QyxPQUFPO1FBQ0w7WUFDRSxPQUFPLEVBQUUsZ0JBQWdCO1lBQ3pCLFFBQVEsRUFBRSw4QkFBOEI7U0FDekM7UUFDRDtZQUNFLE9BQU8sRUFBRSxXQUFXO1lBQ3BCLFFBQVEsRUFBRSx1QkFBdUI7U0FDbEM7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPTkVNUlZBX01BVF9MVVhPTl9EQVRFX0ZPUk1BVFMgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgRGF0ZUFkYXB0ZXIsIE1BVF9EQVRFX0ZPUk1BVFMgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE9uZW1ydmFMdXhvbkRhdGVBZGFwdGVyIH0gZnJvbSAnLi4vYWRhcHRlcnMnO1xuXG5leHBvcnQgZnVuY3Rpb24gb25lbXJ2YURhdGVMdXhvblByb3ZpZGVyKCk6IFByb3ZpZGVyW10ge1xuICByZXR1cm4gW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE1BVF9EQVRFX0ZPUk1BVFMsXG4gICAgICB1c2VWYWx1ZTogT05FTVJWQV9NQVRfTFVYT05fREFURV9GT1JNQVRTLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogRGF0ZUFkYXB0ZXIsXG4gICAgICB1c2VDbGFzczogT25lbXJ2YUx1eG9uRGF0ZUFkYXB0ZXIsXG4gICAgfSxcbiAgXTtcbn1cbiJdfQ==
@@ -1,15 +1,16 @@
1
- import { provideLuxonDateAdapter } from '@angular/material-luxon-adapter';
2
1
  import { ONEMRVA_MAT_LUXON_YEAR_MONTH_FORMATS } from '../constants';
3
- import { MAT_DATE_LOCALE } from '@angular/material/core';
4
- import { TranslateService } from '@ngx-translate/core';
2
+ import { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';
3
+ import { OnemrvaLuxonDateAdapter } from '../adapters';
5
4
  export function onemrvaDateLuxonYearMonthProvider() {
6
5
  return [
7
6
  {
8
- provide: MAT_DATE_LOCALE,
9
- useFactory: (translateService) => translateService.currentLang,
10
- deps: [TranslateService],
7
+ provide: MAT_DATE_FORMATS,
8
+ useValue: ONEMRVA_MAT_LUXON_YEAR_MONTH_FORMATS,
9
+ },
10
+ {
11
+ provide: DateAdapter,
12
+ useClass: OnemrvaLuxonDateAdapter,
11
13
  },
12
- provideLuxonDateAdapter(ONEMRVA_MAT_LUXON_YEAR_MONTH_FORMATS),
13
14
  ];
14
15
  }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lbXJ2YS5kYXRlLmx1eG9uLnllYXIubW9udGgucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmVtcnZhL2Rlc2lnbi1zeXN0ZW0vc2hhcmVkL3NyYy9saWIvcHJvdmlkZXJzL29uZW1ydmEuZGF0ZS5sdXhvbi55ZWFyLm1vbnRoLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdkQsTUFBTSxVQUFVLGlDQUFpQztJQUMvQyxPQUFPO1FBQ0w7WUFDRSxPQUFPLEVBQUUsZUFBZTtZQUN4QixVQUFVLEVBQUUsQ0FBQyxnQkFBa0MsRUFBRSxFQUFFLENBQ2pELGdCQUFnQixDQUFDLFdBQVc7WUFDOUIsSUFBSSxFQUFFLENBQUMsZ0JBQWdCLENBQUM7U0FDekI7UUFDRCx1QkFBdUIsQ0FBQyxvQ0FBb0MsQ0FBQztLQUM5RCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBwcm92aWRlTHV4b25EYXRlQWRhcHRlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsLWx1eG9uLWFkYXB0ZXInO1xuaW1wb3J0IHsgT05FTVJWQV9NQVRfTFVYT05fWUVBUl9NT05USF9GT1JNQVRTIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IE1BVF9EQVRFX0xPQ0FMRSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5leHBvcnQgZnVuY3Rpb24gb25lbXJ2YURhdGVMdXhvblllYXJNb250aFByb3ZpZGVyKCk6IFByb3ZpZGVyW10ge1xuICByZXR1cm4gW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE1BVF9EQVRFX0xPQ0FMRSxcbiAgICAgIHVzZUZhY3Rvcnk6ICh0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlKSA9PlxuICAgICAgICB0cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nLFxuICAgICAgZGVwczogW1RyYW5zbGF0ZVNlcnZpY2VdLFxuICAgIH0sXG4gICAgcHJvdmlkZUx1eG9uRGF0ZUFkYXB0ZXIoT05FTVJWQV9NQVRfTFVYT05fWUVBUl9NT05USF9GT1JNQVRTKSxcbiAgXTtcbn1cbiJdfQ==
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lbXJ2YS5kYXRlLmx1eG9uLnllYXIubW9udGgucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9vbmVtcnZhL2Rlc2lnbi1zeXN0ZW0vc2hhcmVkL3NyYy9saWIvcHJvdmlkZXJzL29uZW1ydmEuZGF0ZS5sdXhvbi55ZWFyLm1vbnRoLnByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXRELE1BQU0sVUFBVSxpQ0FBaUM7SUFDL0MsT0FBTztRQUNMO1lBQ0UsT0FBTyxFQUFFLGdCQUFnQjtZQUN6QixRQUFRLEVBQUUsb0NBQW9DO1NBQy9DO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsV0FBVztZQUNwQixRQUFRLEVBQUUsdUJBQXVCO1NBQ2xDO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT05FTVJWQV9NQVRfTFVYT05fWUVBUl9NT05USF9GT1JNQVRTIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IERhdGVBZGFwdGVyLCBNQVRfREFURV9GT1JNQVRTIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBPbmVtcnZhTHV4b25EYXRlQWRhcHRlciB9IGZyb20gJy4uL2FkYXB0ZXJzJztcblxuZXhwb3J0IGZ1bmN0aW9uIG9uZW1ydmFEYXRlTHV4b25ZZWFyTW9udGhQcm92aWRlcigpOiBQcm92aWRlcltdIHtcbiAgcmV0dXJuIFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBNQVRfREFURV9GT1JNQVRTLFxuICAgICAgdXNlVmFsdWU6IE9ORU1SVkFfTUFUX0xVWE9OX1lFQVJfTU9OVEhfRk9STUFUUyxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IERhdGVBZGFwdGVyLFxuICAgICAgdXNlQ2xhc3M6IE9uZW1ydmFMdXhvbkRhdGVBZGFwdGVyLFxuICAgIH0sXG4gIF07XG59XG4iXX0=
@@ -1,22 +1,16 @@
1
- import { MAT_DATE_LOCALE, MAT_DATE_FORMATS, DateAdapter, } from '@angular/material/core';
2
- import { TranslateService } from '@ngx-translate/core';
1
+ import { MAT_DATE_FORMATS, DateAdapter } from '@angular/material/core';
3
2
  import { ONEMRVA_MAT_NATIVE_DATE_FORMAT } from '../constants';
4
- import { OnemrvaDateAdapter } from '../adapters';
3
+ import { OnemrvaNativeDateAdapter } from '../adapters';
5
4
  export function onemrvaDateNativeProvider() {
6
5
  return [
7
- {
8
- provide: MAT_DATE_LOCALE,
9
- useFactory: (translateService) => translateService.currentLang,
10
- deps: [TranslateService],
11
- },
12
6
  {
13
7
  provide: MAT_DATE_FORMATS,
14
8
  useValue: ONEMRVA_MAT_NATIVE_DATE_FORMAT,
15
9
  },
16
10
  {
17
11
  provide: DateAdapter,
18
- useClass: OnemrvaDateAdapter,
12
+ useClass: OnemrvaNativeDateAdapter,
19
13
  },
20
14
  ];
21
15
  }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lbXJ2YS5kYXRlLm5hdGl2ZS5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29uZW1ydmEvZGVzaWduLXN5c3RlbS9zaGFyZWQvc3JjL2xpYi9wcm92aWRlcnMvb25lbXJ2YS5kYXRlLm5hdGl2ZS5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixXQUFXLEdBQ1osTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRWpELE1BQU0sVUFBVSx5QkFBeUI7SUFDdkMsT0FBTztRQUNMO1lBQ0UsT0FBTyxFQUFFLGVBQWU7WUFDeEIsVUFBVSxFQUFFLENBQUMsZ0JBQWtDLEVBQUUsRUFBRSxDQUNqRCxnQkFBZ0IsQ0FBQyxXQUFXO1lBQzlCLElBQUksRUFBRSxDQUFDLGdCQUFnQixDQUFDO1NBQ3pCO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsZ0JBQWdCO1lBQ3pCLFFBQVEsRUFBRSw4QkFBOEI7U0FDekM7UUFDRDtZQUNFLE9BQU8sRUFBRSxXQUFXO1lBQ3BCLFFBQVEsRUFBRSxrQkFBa0I7U0FDN0I7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBNQVRfREFURV9MT0NBTEUsXG4gIE1BVF9EQVRFX0ZPUk1BVFMsXG4gIERhdGVBZGFwdGVyLFxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE9ORU1SVkFfTUFUX05BVElWRV9EQVRFX0ZPUk1BVCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBPbmVtcnZhRGF0ZUFkYXB0ZXIgfSBmcm9tICcuLi9hZGFwdGVycyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBvbmVtcnZhRGF0ZU5hdGl2ZVByb3ZpZGVyKCk6IFByb3ZpZGVyW10ge1xuICByZXR1cm4gW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE1BVF9EQVRFX0xPQ0FMRSxcbiAgICAgIHVzZUZhY3Rvcnk6ICh0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlKSA9PlxuICAgICAgICB0cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nLFxuICAgICAgZGVwczogW1RyYW5zbGF0ZVNlcnZpY2VdLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogTUFUX0RBVEVfRk9STUFUUyxcbiAgICAgIHVzZVZhbHVlOiBPTkVNUlZBX01BVF9OQVRJVkVfREFURV9GT1JNQVQsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBEYXRlQWRhcHRlcixcbiAgICAgIHVzZUNsYXNzOiBPbmVtcnZhRGF0ZUFkYXB0ZXIsXG4gICAgfSxcbiAgXTtcbn1cbiJdfQ==
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lbXJ2YS5kYXRlLm5hdGl2ZS5wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29uZW1ydmEvZGVzaWduLXN5c3RlbS9zaGFyZWQvc3JjL2xpYi9wcm92aWRlcnMvb25lbXJ2YS5kYXRlLm5hdGl2ZS5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzlELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV2RCxNQUFNLFVBQVUseUJBQXlCO0lBQ3ZDLE9BQU87UUFDTDtZQUNFLE9BQU8sRUFBRSxnQkFBZ0I7WUFDekIsUUFBUSxFQUFFLDhCQUE4QjtTQUN6QztRQUNEO1lBQ0UsT0FBTyxFQUFFLFdBQVc7WUFDcEIsUUFBUSxFQUFFLHdCQUF3QjtTQUNuQztLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1BVF9EQVRFX0ZPUk1BVFMsIERhdGVBZGFwdGVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBPTkVNUlZBX01BVF9OQVRJVkVfREFURV9GT1JNQVQgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgT25lbXJ2YU5hdGl2ZURhdGVBZGFwdGVyIH0gZnJvbSAnLi4vYWRhcHRlcnMnO1xuXG5leHBvcnQgZnVuY3Rpb24gb25lbXJ2YURhdGVOYXRpdmVQcm92aWRlcigpOiBQcm92aWRlcltdIHtcbiAgcmV0dXJuIFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBNQVRfREFURV9GT1JNQVRTLFxuICAgICAgdXNlVmFsdWU6IE9ORU1SVkFfTUFUX05BVElWRV9EQVRFX0ZPUk1BVCxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IERhdGVBZGFwdGVyLFxuICAgICAgdXNlQ2xhc3M6IE9uZW1ydmFOYXRpdmVEYXRlQWRhcHRlcixcbiAgICB9LFxuICBdO1xufVxuIl19
@@ -1,22 +1,16 @@
1
- import { MAT_DATE_LOCALE, MAT_DATE_FORMATS, DateAdapter, } from '@angular/material/core';
2
- import { TranslateService } from '@ngx-translate/core';
1
+ import { MAT_DATE_FORMATS, DateAdapter } from '@angular/material/core';
3
2
  import { ONEMRVA_MAT_NATIVE_YEAR_MONTH_FORMAT } from '../constants';
4
- import { OnemrvaDateAdapter } from '../adapters';
3
+ import { OnemrvaNativeDateAdapter } from '../adapters';
5
4
  export function onemrvaDateNativeYearMonthProvider() {
6
5
  return [
7
- {
8
- provide: MAT_DATE_LOCALE,
9
- useFactory: (translateService) => translateService.currentLang,
10
- deps: [TranslateService],
11
- },
12
6
  {
13
7
  provide: MAT_DATE_FORMATS,
14
8
  useValue: ONEMRVA_MAT_NATIVE_YEAR_MONTH_FORMAT,
15
9
  },
16
10
  {
17
11
  provide: DateAdapter,
18
- useValue: OnemrvaDateAdapter,
12
+ useClass: OnemrvaNativeDateAdapter,
19
13
  },
20
14
  ];
21
15
  }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lbXJ2YS5kYXRlLm5hdGl2ZS55ZWFyLm1vbnRoLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL3NoYXJlZC9zcmMvbGliL3Byb3ZpZGVycy9vbmVtcnZhLmRhdGUubmF0aXZlLnllYXIubW9udGgucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsV0FBVyxHQUNaLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVqRCxNQUFNLFVBQVUsa0NBQWtDO0lBQ2hELE9BQU87UUFDTDtZQUNFLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLFVBQVUsRUFBRSxDQUFDLGdCQUFrQyxFQUFFLEVBQUUsQ0FDakQsZ0JBQWdCLENBQUMsV0FBVztZQUM5QixJQUFJLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztTQUN6QjtRQUNEO1lBQ0UsT0FBTyxFQUFFLGdCQUFnQjtZQUN6QixRQUFRLEVBQUUsb0NBQW9DO1NBQy9DO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsV0FBVztZQUNwQixRQUFRLEVBQUUsa0JBQWtCO1NBQzdCO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgTUFUX0RBVEVfTE9DQUxFLFxuICBNQVRfREFURV9GT1JNQVRTLFxuICBEYXRlQWRhcHRlcixcbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBPTkVNUlZBX01BVF9OQVRJVkVfWUVBUl9NT05USF9GT1JNQVQgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgT25lbXJ2YURhdGVBZGFwdGVyIH0gZnJvbSAnLi4vYWRhcHRlcnMnO1xuXG5leHBvcnQgZnVuY3Rpb24gb25lbXJ2YURhdGVOYXRpdmVZZWFyTW9udGhQcm92aWRlcigpOiBQcm92aWRlcltdIHtcbiAgcmV0dXJuIFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBNQVRfREFURV9MT0NBTEUsXG4gICAgICB1c2VGYWN0b3J5OiAodHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSkgPT5cbiAgICAgICAgdHJhbnNsYXRlU2VydmljZS5jdXJyZW50TGFuZyxcbiAgICAgIGRlcHM6IFtUcmFuc2xhdGVTZXJ2aWNlXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE1BVF9EQVRFX0ZPUk1BVFMsXG4gICAgICB1c2VWYWx1ZTogT05FTVJWQV9NQVRfTkFUSVZFX1lFQVJfTU9OVEhfRk9STUFULFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogRGF0ZUFkYXB0ZXIsXG4gICAgICB1c2VWYWx1ZTogT25lbXJ2YURhdGVBZGFwdGVyLFxuICAgIH0sXG4gIF07XG59XG4iXX0=
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lbXJ2YS5kYXRlLm5hdGl2ZS55ZWFyLm1vbnRoLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL3NoYXJlZC9zcmMvbGliL3Byb3ZpZGVycy9vbmVtcnZhLmRhdGUubmF0aXZlLnllYXIubW9udGgucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFdkQsTUFBTSxVQUFVLGtDQUFrQztJQUNoRCxPQUFPO1FBQ0w7WUFDRSxPQUFPLEVBQUUsZ0JBQWdCO1lBQ3pCLFFBQVEsRUFBRSxvQ0FBb0M7U0FDL0M7UUFDRDtZQUNFLE9BQU8sRUFBRSxXQUFXO1lBQ3BCLFFBQVEsRUFBRSx3QkFBd0I7U0FDbkM7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNQVRfREFURV9GT1JNQVRTLCBEYXRlQWRhcHRlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgT05FTVJWQV9NQVRfTkFUSVZFX1lFQVJfTU9OVEhfRk9STUFUIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IE9uZW1ydmFOYXRpdmVEYXRlQWRhcHRlciB9IGZyb20gJy4uL2FkYXB0ZXJzJztcblxuZXhwb3J0IGZ1bmN0aW9uIG9uZW1ydmFEYXRlTmF0aXZlWWVhck1vbnRoUHJvdmlkZXIoKTogUHJvdmlkZXJbXSB7XG4gIHJldHVybiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTUFUX0RBVEVfRk9STUFUUyxcbiAgICAgIHVzZVZhbHVlOiBPTkVNUlZBX01BVF9OQVRJVkVfWUVBUl9NT05USF9GT1JNQVQsXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBEYXRlQWRhcHRlcixcbiAgICAgIHVzZUNsYXNzOiBPbmVtcnZhTmF0aXZlRGF0ZUFkYXB0ZXIsXG4gICAgfSxcbiAgXTtcbn1cbiJdfQ==