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

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 (21) hide show
  1. package/esm2022/shared/src/lib/adapters/index.mjs +4 -3
  2. package/esm2022/shared/src/lib/adapters/luxon.date.adapter.mjs +248 -0
  3. package/esm2022/shared/src/lib/adapters/luxon.utils.mjs +23 -0
  4. package/esm2022/shared/src/lib/adapters/luxon.year-month.date.adapter.mjs +248 -0
  5. package/esm2022/shared/src/lib/adapters/native.date.adapter.mjs +66 -0
  6. package/esm2022/shared/src/lib/adapters/native.year-month.date.adapter.mjs +59 -0
  7. package/esm2022/shared/src/lib/providers/onemrva.date.luxon.provider.mjs +9 -8
  8. package/esm2022/shared/src/lib/providers/onemrva.date.luxon.year.month.provider.mjs +10 -9
  9. package/esm2022/shared/src/lib/providers/onemrva.date.native.provider.mjs +4 -10
  10. package/esm2022/shared/src/lib/providers/onemrva.date.native.year.month.provider.mjs +4 -10
  11. package/fesm2022/onemrvapublic-design-system-shared.mjs +287 -30
  12. package/fesm2022/onemrvapublic-design-system-shared.mjs.map +1 -1
  13. package/package.json +1 -1
  14. package/shared/src/lib/adapters/index.d.ts +3 -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/luxon.year-month.date.adapter.d.ts +50 -0
  18. package/shared/src/lib/adapters/{date.adapter.d.ts → native.date.adapter.d.ts} +3 -3
  19. package/shared/src/lib/adapters/{year-month.adapter.d.ts → native.year-month.date.adapter.d.ts} +3 -3
  20. package/esm2022/shared/src/lib/adapters/date.adapter.mjs +0 -66
  21. package/esm2022/shared/src/lib/adapters/year-month.adapter.mjs +0 -59
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onemrvapublic/design-system",
3
- "version": "18.2.16-develop.8",
3
+ "version": "18.2.16-develop.9",
4
4
  "description": "Design System Onem/Rva without theme included",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -1,2 +1,3 @@
1
- export * from './date.adapter';
2
- export * from './year-month.adapter';
1
+ export * from './native.date.adapter';
2
+ export * from './luxon.date.adapter';
3
+ export * from './native.year-month.date.adapter';
@@ -0,0 +1,50 @@
1
+ import { DateAdapter } from '@angular/material/core';
2
+ import { DateTime as LuxonDateTime } from 'luxon';
3
+ import { TranslateService } from '@ngx-translate/core';
4
+ import * as i0 from "@angular/core";
5
+ /** Adapts Luxon Dates for use with Angular Material. */
6
+ export declare class OnemrvaLuxonDateAdapter extends DateAdapter<LuxonDateTime> {
7
+ private translateService;
8
+ private _useUTC;
9
+ private _firstDayOfWeek;
10
+ private _defaultOutputCalendar;
11
+ constructor(translateService: TranslateService);
12
+ getYear(date: LuxonDateTime): number;
13
+ getMonth(date: LuxonDateTime): number;
14
+ getDate(date: LuxonDateTime): number;
15
+ getDayOfWeek(date: LuxonDateTime): number;
16
+ getMonthNames(style: 'long' | 'short' | 'narrow'): string[];
17
+ getDateNames(): string[];
18
+ getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[];
19
+ getYearName(date: LuxonDateTime): string;
20
+ getFirstDayOfWeek(): number;
21
+ getNumDaysInMonth(date: LuxonDateTime): number;
22
+ clone(date: LuxonDateTime): LuxonDateTime;
23
+ createDate(year: number, month: number, date: number): LuxonDateTime;
24
+ today(): LuxonDateTime;
25
+ parse(value: any, parseFormat: string | string[]): LuxonDateTime | null;
26
+ format(date: LuxonDateTime, displayFormat: string): string;
27
+ addCalendarYears(date: LuxonDateTime, years: number): LuxonDateTime;
28
+ addCalendarMonths(date: LuxonDateTime, months: number): LuxonDateTime;
29
+ addCalendarDays(date: LuxonDateTime, days: number): LuxonDateTime;
30
+ toIso8601(date: LuxonDateTime): string;
31
+ /**
32
+ * Returns the given value if given a valid Luxon or null. Deserializes valid ISO 8601 strings
33
+ * (https://www.ietf.org/rfc/rfc3339.txt) and valid Date objects into valid DateTime and empty
34
+ * string into null. Returns an invalid date for all other values.
35
+ */
36
+ deserialize(value: any): LuxonDateTime | null;
37
+ isDateInstance(obj: any): boolean;
38
+ isValid(date: LuxonDateTime): boolean;
39
+ invalid(): LuxonDateTime;
40
+ setTime(target: LuxonDateTime, hours: number, minutes: number, seconds: number): LuxonDateTime;
41
+ getHours(date: LuxonDateTime): number;
42
+ getMinutes(date: LuxonDateTime): number;
43
+ getSeconds(date: LuxonDateTime): number;
44
+ parseTime(value: any, parseFormat: string | string[]): LuxonDateTime | null;
45
+ addSeconds(date: LuxonDateTime, amount: number): LuxonDateTime;
46
+ /** Gets the options that should be used when constructing a new `DateTime` object. */
47
+ private _getOptions;
48
+ static ɵfac: i0.ɵɵFactoryDeclaration<OnemrvaLuxonDateAdapter, never>;
49
+ static ɵprov: i0.ɵɵInjectableDeclaration<OnemrvaLuxonDateAdapter>;
50
+ }
@@ -0,0 +1,26 @@
1
+ import { CalendarSystem as LuxonCalendarSystem } from 'luxon/src/misc';
2
+ import { InjectionToken } from '@angular/core';
3
+ /** Configurable options for the `LuxonDateAdapter`. */
4
+ export interface MatLuxonDateAdapterOptions {
5
+ /**
6
+ * Turns the use of utc dates on or off.
7
+ * Changing this will change how Angular Material components like DatePicker output dates.
8
+ */
9
+ useUtc: boolean;
10
+ /**
11
+ * Sets the first day of week.
12
+ * Changing this will change how Angular Material components like DatePicker shows start of week.
13
+ */
14
+ firstDayOfWeek: number;
15
+ /**
16
+ * Sets the output Calendar.
17
+ * Changing this will change how Angular Material components like DatePicker output dates.
18
+ */
19
+ defaultOutputCalendar: LuxonCalendarSystem;
20
+ }
21
+ /** InjectionToken for LuxonDateAdapter to configure options. */
22
+ export declare const MAT_LUXON_DATE_ADAPTER_OPTIONS: InjectionToken<MatLuxonDateAdapterOptions>;
23
+ /** @docs-private */
24
+ export declare function MAT_LUXON_DATE_ADAPTER_OPTIONS_FACTORY(): MatLuxonDateAdapterOptions;
25
+ /** Creates an array and fills it with values. */
26
+ export declare function luxonRange<T>(length: number, valueFunction: (index: number) => T): T[];
@@ -0,0 +1,50 @@
1
+ import { DateAdapter } from '@angular/material/core';
2
+ import { DateTime as LuxonDateTime } from 'luxon';
3
+ import { TranslateService } from '@ngx-translate/core';
4
+ import * as i0 from "@angular/core";
5
+ /** Adapts Luxon Dates for use with Angular Material. */
6
+ export declare class OnemrvaLuxonYearMonthDateAdapter extends DateAdapter<LuxonDateTime> {
7
+ private translateService;
8
+ private _useUTC;
9
+ private _firstDayOfWeek;
10
+ private _defaultOutputCalendar;
11
+ constructor(translateService: TranslateService);
12
+ getYear(date: LuxonDateTime): number;
13
+ getMonth(date: LuxonDateTime): number;
14
+ getDate(date: LuxonDateTime): number;
15
+ getDayOfWeek(date: LuxonDateTime): number;
16
+ getMonthNames(style: 'long' | 'short' | 'narrow'): string[];
17
+ getDateNames(): string[];
18
+ getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[];
19
+ getYearName(date: LuxonDateTime): string;
20
+ getFirstDayOfWeek(): number;
21
+ getNumDaysInMonth(date: LuxonDateTime): number;
22
+ clone(date: LuxonDateTime): LuxonDateTime;
23
+ createDate(year: number, month: number, date: number): LuxonDateTime;
24
+ today(): LuxonDateTime;
25
+ parse(value: any, parseFormat: string | string[]): LuxonDateTime | null;
26
+ format(date: LuxonDateTime, displayFormat: string): string;
27
+ addCalendarYears(date: LuxonDateTime, years: number): LuxonDateTime;
28
+ addCalendarMonths(date: LuxonDateTime, months: number): LuxonDateTime;
29
+ addCalendarDays(date: LuxonDateTime, days: number): LuxonDateTime;
30
+ toIso8601(date: LuxonDateTime): string;
31
+ /**
32
+ * Returns the given value if given a valid Luxon or null. Deserializes valid ISO 8601 strings
33
+ * (https://www.ietf.org/rfc/rfc3339.txt) and valid Date objects into valid DateTime and empty
34
+ * string into null. Returns an invalid date for all other values.
35
+ */
36
+ deserialize(value: any): LuxonDateTime | null;
37
+ isDateInstance(obj: any): boolean;
38
+ isValid(date: LuxonDateTime): boolean;
39
+ invalid(): LuxonDateTime;
40
+ setTime(target: LuxonDateTime, hours: number, minutes: number, seconds: number): LuxonDateTime;
41
+ getHours(date: LuxonDateTime): number;
42
+ getMinutes(date: LuxonDateTime): number;
43
+ getSeconds(date: LuxonDateTime): number;
44
+ parseTime(value: any, parseFormat: string | string[]): LuxonDateTime | null;
45
+ addSeconds(date: LuxonDateTime, amount: number): LuxonDateTime;
46
+ /** Gets the options that should be used when constructing a new `DateTime` object. */
47
+ private _getOptions;
48
+ static ɵfac: i0.ɵɵFactoryDeclaration<OnemrvaLuxonYearMonthDateAdapter, never>;
49
+ static ɵprov: i0.ɵɵInjectableDeclaration<OnemrvaLuxonYearMonthDateAdapter>;
50
+ }
@@ -3,7 +3,7 @@ import { NativeDateAdapter } from '@angular/material/core';
3
3
  import { TranslateService } from '@ngx-translate/core';
4
4
  import { Subject } from 'rxjs';
5
5
  import * as i0 from "@angular/core";
6
- export declare class OnemrvaDateAdapter extends NativeDateAdapter implements OnDestroy {
6
+ export declare class OnemrvaNativeDateAdapter extends NativeDateAdapter implements OnDestroy {
7
7
  private translateService;
8
8
  private destroyNotifier$;
9
9
  localeChanges: Subject<any>;
@@ -12,6 +12,6 @@ export declare class OnemrvaDateAdapter extends NativeDateAdapter implements OnD
12
12
  parse(value: any): Date | null;
13
13
  getFirstDayOfWeek(): number;
14
14
  ngOnDestroy(): void;
15
- static ɵfac: i0.ɵɵFactoryDeclaration<OnemrvaDateAdapter, never>;
16
- static ɵprov: i0.ɵɵInjectableDeclaration<OnemrvaDateAdapter>;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<OnemrvaNativeDateAdapter, never>;
16
+ static ɵprov: i0.ɵɵInjectableDeclaration<OnemrvaNativeDateAdapter>;
17
17
  }
@@ -2,7 +2,7 @@ import { OnDestroy } from '@angular/core';
2
2
  import { MatDateFormats, NativeDateAdapter } from '@angular/material/core';
3
3
  import { TranslateService } from '@ngx-translate/core';
4
4
  import * as i0 from "@angular/core";
5
- export declare class OnemrvaYearMonthAdapter extends NativeDateAdapter implements OnDestroy {
5
+ export declare class OnemrvaNativeYearMonthAdapter extends NativeDateAdapter implements OnDestroy {
6
6
  private translateService;
7
7
  private destroyNotifier$;
8
8
  constructor(translateService: TranslateService);
@@ -10,6 +10,6 @@ export declare class OnemrvaYearMonthAdapter extends NativeDateAdapter implement
10
10
  parse(value: any, formats: MatDateFormats): Date | null;
11
11
  getFirstDayOfWeek(): number;
12
12
  ngOnDestroy(): void;
13
- static ɵfac: i0.ɵɵFactoryDeclaration<OnemrvaYearMonthAdapter, never>;
14
- static ɵprov: i0.ɵɵInjectableDeclaration<OnemrvaYearMonthAdapter>;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<OnemrvaNativeYearMonthAdapter, never>;
14
+ static ɵprov: i0.ɵɵInjectableDeclaration<OnemrvaNativeYearMonthAdapter>;
15
15
  }
@@ -1,66 +0,0 @@
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 OnemrvaDateAdapter 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: OnemrvaDateAdapter, 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: OnemrvaDateAdapter }); }
62
- }
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: OnemrvaDateAdapter, decorators: [{
64
- type: Injectable
65
- }], ctorParameters: () => [{ type: i1.TranslateService }] });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL3NoYXJlZC9zcmMvbGliL2FkYXB0ZXJzL2RhdGUuYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBa0IsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBR2pDLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7O0FBRzlELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxpQkFBaUI7SUFLdkQsWUFBb0IsZ0JBQWtDO1FBQ3BELEtBQUssRUFBRSxDQUFDO1FBRFUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUo5QyxxQkFBZ0IsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRXRDLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQU8sQ0FBQztRQUsxQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWTtpQkFDL0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztpQkFDdEMsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFO2dCQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNyQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNoQyxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7SUFDSCxDQUFDO0lBRVEsTUFBTSxDQUFDLElBQVUsRUFBRSxPQUFZO1FBQ3RDLE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFUSxLQUFLLENBQUMsS0FBVTtRQUN2QixNQUFNLE9BQU8sR0FBRyw4QkFBOEIsQ0FBQztRQUMvQyxJQUFJLEtBQUssSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN2QyxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUVELElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDbkMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDL0QsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ3BCLENBQUMsQ0FBQztRQUVILElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2YsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdkIsQ0FBQztRQUVELEtBQUssTUFBTSxNQUFNLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUM3QyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUU7Z0JBQ2hELE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTthQUNwQixDQUFDLENBQUM7WUFDSCxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDbkIsT0FBTyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDM0IsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRVEsaUJBQWlCO1FBQ3hCLE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25DLENBQUM7OEdBOURVLGtCQUFrQjtrSEFBbEIsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREYXRlRm9ybWF0cywgTmF0aXZlRGF0ZUFkYXB0ZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IERhdGVUaW1lIH0gZnJvbSAnbHV4b24nO1xuXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE9ORU1SVkFfTUFUX05BVElWRV9EQVRFX0ZPUk1BVCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBPbmVtcnZhRGF0ZUFkYXB0ZXIgZXh0ZW5kcyBOYXRpdmVEYXRlQWRhcHRlciBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgZGVzdHJveU5vdGlmaWVyJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgb3ZlcnJpZGUgbG9jYWxlQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PGFueT4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5zZXRMb2NhbGUodGhpcy50cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nKTtcbiAgICB0aGlzLmxvY2FsZUNoYW5nZXMubmV4dCh0aGlzKTtcbiAgICBpZiAodGhpcy50cmFuc2xhdGVTZXJ2aWNlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5vbkxhbmdDaGFuZ2VcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveU5vdGlmaWVyJCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKHsgbGFuZyB9KSA9PiB7XG4gICAgICAgICAgdGhpcy5zZXRMb2NhbGUobGFuZyk7XG4gICAgICAgICAgdGhpcy5sb2NhbGVDaGFuZ2VzLm5leHQodGhpcyk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG92ZXJyaWRlIGZvcm1hdChkYXRlOiBEYXRlLCBmb3JtYXRzOiBhbnkpOiBzdHJpbmcge1xuICAgIGNvbnN0IGR0ID0gRGF0ZVRpbWUuZnJvbUpTRGF0ZShkYXRlKTtcbiAgICByZXR1cm4gZHQudG9Gb3JtYXQoZm9ybWF0cyk7XG4gIH1cblxuICBvdmVycmlkZSBwYXJzZSh2YWx1ZTogYW55KTogRGF0ZSB8IG51bGwge1xuICAgIGNvbnN0IGZvcm1hdHMgPSBPTkVNUlZBX01BVF9OQVRJVkVfREFURV9GT1JNQVQ7XG4gICAgaWYgKHZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHZhbHVlID0gdmFsdWUucmVwbGFjZSgvXFxEL2csICcvJyk7XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSAnJykge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgZHQgPSBEYXRlVGltZS5mcm9tRm9ybWF0KHZhbHVlLCBmb3JtYXRzLmRpc3BsYXkuZGF0ZUlucHV0LCB7XG4gICAgICBsb2NhbGU6IHRoaXMubG9jYWxlLFxuICAgIH0pO1xuXG4gICAgaWYgKGR0LmlzVmFsaWQpIHtcbiAgICAgIHJldHVybiBkdC50b0pTRGF0ZSgpO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgZm9ybWF0IG9mIGZvcm1hdHMucGFyc2UuZGF0ZUlucHV0KSB7XG4gICAgICBjb25zdCBwYXJzZWQgPSBEYXRlVGltZS5mcm9tRm9ybWF0KHZhbHVlLCBmb3JtYXQsIHtcbiAgICAgICAgbG9jYWxlOiB0aGlzLmxvY2FsZSxcbiAgICAgIH0pO1xuICAgICAgaWYgKHBhcnNlZC5pc1ZhbGlkKSB7XG4gICAgICAgIHJldHVybiBwYXJzZWQudG9KU0RhdGUoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5pbnZhbGlkKCk7XG4gIH1cblxuICBvdmVycmlkZSBnZXRGaXJzdERheU9mV2VlaygpOiBudW1iZXIge1xuICAgIHJldHVybiAxO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95Tm90aWZpZXIkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3lOb3RpZmllciQuY29tcGxldGUoKTtcbiAgfVxufVxuIl19
@@ -1,59 +0,0 @@
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 * as i0 from "@angular/core";
6
- import * as i1 from "@ngx-translate/core";
7
- export class OnemrvaYearMonthAdapter extends NativeDateAdapter {
8
- constructor(translateService) {
9
- super();
10
- this.translateService = translateService;
11
- this.destroyNotifier$ = new Subject();
12
- this.setLocale(this.translateService.currentLang);
13
- this.translateService.onLangChange
14
- .pipe(takeUntil(this.destroyNotifier$))
15
- .subscribe(({ lang }) => {
16
- this.setLocale(lang);
17
- });
18
- }
19
- format(date, formats) {
20
- const dt = DateTime.fromJSDate(date);
21
- return dt.toFormat(formats);
22
- }
23
- parse(value, formats) {
24
- if (value && typeof value === 'string') {
25
- value = value.replace(/\D/g, '/');
26
- }
27
- if (value === null || value === '') {
28
- return null;
29
- }
30
- const dt = DateTime.fromFormat(value, formats.display.dateInput, {
31
- locale: this.locale,
32
- });
33
- if (dt.isValid) {
34
- return dt.toJSDate();
35
- }
36
- for (const format of formats.parse.dateInput) {
37
- const parsed = DateTime.fromFormat(value, format, {
38
- locale: this.locale,
39
- });
40
- if (parsed.isValid) {
41
- return parsed.toJSDate();
42
- }
43
- }
44
- return this.invalid();
45
- }
46
- getFirstDayOfWeek() {
47
- return 1;
48
- }
49
- ngOnDestroy() {
50
- this.destroyNotifier$.next();
51
- this.destroyNotifier$.complete();
52
- }
53
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: OnemrvaYearMonthAdapter, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
54
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: OnemrvaYearMonthAdapter }); }
55
- }
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: OnemrvaYearMonthAdapter, decorators: [{
57
- type: Injectable
58
- }], ctorParameters: () => [{ type: i1.TranslateService }] });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWVhci1tb250aC5hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvb25lbXJ2YS9kZXNpZ24tc3lzdGVtL3NoYXJlZC9zcmMvbGliL2FkYXB0ZXJzL3llYXItbW9udGguYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFBa0IsaUJBQWlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRWpDLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7QUFHMUMsTUFBTSxPQUFPLHVCQUNYLFNBQVEsaUJBQWlCO0lBS3pCLFlBQW9CLGdCQUFrQztRQUNwRCxLQUFLLEVBQUUsQ0FBQztRQURVLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFGOUMscUJBQWdCLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUs3QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWTthQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2FBQ3RDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVRLE1BQU0sQ0FBQyxJQUFVLEVBQUUsT0FBWTtRQUN0QyxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRVEsS0FBSyxDQUFDLEtBQVUsRUFBRSxPQUF1QjtRQUNoRCxJQUFJLEtBQUssSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN2QyxLQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUVELElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDbkMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDL0QsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ3BCLENBQUMsQ0FBQztRQUVILElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2YsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdkIsQ0FBQztRQUVELEtBQUssTUFBTSxNQUFNLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUM3QyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUU7Z0JBQ2hELE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTthQUNwQixDQUFDLENBQUM7WUFDSCxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDbkIsT0FBTyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDM0IsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRVEsaUJBQWlCO1FBQ3hCLE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25DLENBQUM7OEdBMURVLHVCQUF1QjtrSEFBdkIsdUJBQXVCOzsyRkFBdkIsdUJBQXVCO2tCQURuQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREYXRlRm9ybWF0cywgTmF0aXZlRGF0ZUFkYXB0ZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IERhdGVUaW1lIH0gZnJvbSAnbHV4b24nO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBPbmVtcnZhWWVhck1vbnRoQWRhcHRlclxuICBleHRlbmRzIE5hdGl2ZURhdGVBZGFwdGVyXG4gIGltcGxlbWVudHMgT25EZXN0cm95XG57XG4gIHByaXZhdGUgZGVzdHJveU5vdGlmaWVyJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XG4gICAgc3VwZXIoKTtcblxuICAgIHRoaXMuc2V0TG9jYWxlKHRoaXMudHJhbnNsYXRlU2VydmljZS5jdXJyZW50TGFuZyk7XG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLm9uTGFuZ0NoYW5nZVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveU5vdGlmaWVyJCkpXG4gICAgICAuc3Vic2NyaWJlKCh7IGxhbmcgfSkgPT4ge1xuICAgICAgICB0aGlzLnNldExvY2FsZShsYW5nKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgb3ZlcnJpZGUgZm9ybWF0KGRhdGU6IERhdGUsIGZvcm1hdHM6IGFueSk6IHN0cmluZyB7XG4gICAgY29uc3QgZHQgPSBEYXRlVGltZS5mcm9tSlNEYXRlKGRhdGUpO1xuICAgIHJldHVybiBkdC50b0Zvcm1hdChmb3JtYXRzKTtcbiAgfVxuXG4gIG92ZXJyaWRlIHBhcnNlKHZhbHVlOiBhbnksIGZvcm1hdHM6IE1hdERhdGVGb3JtYXRzKTogRGF0ZSB8IG51bGwge1xuICAgIGlmICh2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICB2YWx1ZSA9IHZhbHVlLnJlcGxhY2UoL1xcRC9nLCAnLycpO1xuICAgIH1cblxuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gJycpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGR0ID0gRGF0ZVRpbWUuZnJvbUZvcm1hdCh2YWx1ZSwgZm9ybWF0cy5kaXNwbGF5LmRhdGVJbnB1dCwge1xuICAgICAgbG9jYWxlOiB0aGlzLmxvY2FsZSxcbiAgICB9KTtcblxuICAgIGlmIChkdC5pc1ZhbGlkKSB7XG4gICAgICByZXR1cm4gZHQudG9KU0RhdGUoKTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGZvcm1hdCBvZiBmb3JtYXRzLnBhcnNlLmRhdGVJbnB1dCkge1xuICAgICAgY29uc3QgcGFyc2VkID0gRGF0ZVRpbWUuZnJvbUZvcm1hdCh2YWx1ZSwgZm9ybWF0LCB7XG4gICAgICAgIGxvY2FsZTogdGhpcy5sb2NhbGUsXG4gICAgICB9KTtcbiAgICAgIGlmIChwYXJzZWQuaXNWYWxpZCkge1xuICAgICAgICByZXR1cm4gcGFyc2VkLnRvSlNEYXRlKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaW52YWxpZCgpO1xuICB9XG5cbiAgb3ZlcnJpZGUgZ2V0Rmlyc3REYXlPZldlZWsoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gMTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveU5vdGlmaWVyJC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95Tm90aWZpZXIkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==