@angular/material-luxon-adapter 19.0.0-next.0 → 19.0.0-next.2
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.
- package/package.json +2 -4
- package/esm2022/adapter/index.mjs +0 -59
- package/esm2022/adapter/luxon-date-adapter.mjs +0 -218
- package/esm2022/adapter/luxon-date-formats.mjs +0 -19
- package/esm2022/index.mjs +0 -9
- package/esm2022/material-luxon-adapter_public_index.mjs +0 -5
- package/esm2022/public-api.mjs +0 -9
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@angular/material-luxon-adapter",
|
|
3
|
-
"version": "19.0.0-next.
|
|
3
|
+
"version": "19.0.0-next.2",
|
|
4
4
|
"description": "Angular Material Luxon Adapter",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
},
|
|
13
13
|
"homepage": "https://github.com/angular/components#readme",
|
|
14
14
|
"peerDependencies": {
|
|
15
|
-
"@angular/material": "19.0.0-next.
|
|
15
|
+
"@angular/material": "19.0.0-next.2",
|
|
16
16
|
"@angular/core": "^19.0.0-0 || ^19.1.0-0 || ^19.2.0-0 || ^19.3.0-0 || ^20.0.0-0",
|
|
17
17
|
"luxon": "^3.0.0"
|
|
18
18
|
},
|
|
@@ -37,8 +37,6 @@
|
|
|
37
37
|
},
|
|
38
38
|
".": {
|
|
39
39
|
"types": "./index.d.ts",
|
|
40
|
-
"esm2022": "./esm2022/material-luxon-adapter_public_index.mjs",
|
|
41
|
-
"esm": "./esm2022/material-luxon-adapter_public_index.mjs",
|
|
42
40
|
"default": "./fesm2022/material-luxon-adapter.mjs"
|
|
43
41
|
}
|
|
44
42
|
}
|
|
@@ -1,59 +0,0 @@
|
|
|
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.io/license
|
|
7
|
-
*/
|
|
8
|
-
import { NgModule } from '@angular/core';
|
|
9
|
-
import { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE, } from '@angular/material/core';
|
|
10
|
-
import { MAT_LUXON_DATE_ADAPTER_OPTIONS, LuxonDateAdapter } from './luxon-date-adapter';
|
|
11
|
-
import { MAT_LUXON_DATE_FORMATS } from './luxon-date-formats';
|
|
12
|
-
import * as i0 from "@angular/core";
|
|
13
|
-
export * from './luxon-date-adapter';
|
|
14
|
-
export * from './luxon-date-formats';
|
|
15
|
-
export class LuxonDateModule {
|
|
16
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0-next.2", ngImport: i0, type: LuxonDateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
17
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0-next.2", ngImport: i0, type: LuxonDateModule }); }
|
|
18
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0-next.2", ngImport: i0, type: LuxonDateModule, providers: [
|
|
19
|
-
{
|
|
20
|
-
provide: DateAdapter,
|
|
21
|
-
useClass: LuxonDateAdapter,
|
|
22
|
-
deps: [MAT_DATE_LOCALE, MAT_LUXON_DATE_ADAPTER_OPTIONS],
|
|
23
|
-
},
|
|
24
|
-
] }); }
|
|
25
|
-
}
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0-next.2", ngImport: i0, type: LuxonDateModule, decorators: [{
|
|
27
|
-
type: NgModule,
|
|
28
|
-
args: [{
|
|
29
|
-
providers: [
|
|
30
|
-
{
|
|
31
|
-
provide: DateAdapter,
|
|
32
|
-
useClass: LuxonDateAdapter,
|
|
33
|
-
deps: [MAT_DATE_LOCALE, MAT_LUXON_DATE_ADAPTER_OPTIONS],
|
|
34
|
-
},
|
|
35
|
-
],
|
|
36
|
-
}]
|
|
37
|
-
}] });
|
|
38
|
-
export class MatLuxonDateModule {
|
|
39
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0-next.2", ngImport: i0, type: MatLuxonDateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
40
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.0-next.2", ngImport: i0, type: MatLuxonDateModule }); }
|
|
41
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.0-next.2", ngImport: i0, type: MatLuxonDateModule, providers: [provideLuxonDateAdapter()] }); }
|
|
42
|
-
}
|
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0-next.2", ngImport: i0, type: MatLuxonDateModule, decorators: [{
|
|
44
|
-
type: NgModule,
|
|
45
|
-
args: [{
|
|
46
|
-
providers: [provideLuxonDateAdapter()],
|
|
47
|
-
}]
|
|
48
|
-
}] });
|
|
49
|
-
export function provideLuxonDateAdapter(formats = MAT_LUXON_DATE_FORMATS) {
|
|
50
|
-
return [
|
|
51
|
-
{
|
|
52
|
-
provide: DateAdapter,
|
|
53
|
-
useClass: LuxonDateAdapter,
|
|
54
|
-
deps: [MAT_DATE_LOCALE, MAT_LUXON_DATE_ADAPTER_OPTIONS],
|
|
55
|
-
},
|
|
56
|
-
{ provide: MAT_DATE_FORMATS, useValue: formats },
|
|
57
|
-
];
|
|
58
|
-
}
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWF0ZXJpYWwtbHV4b24tYWRhcHRlci9hZGFwdGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE9BQU8sRUFBQyxRQUFRLEVBQVcsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUNMLFdBQVcsRUFDWCxnQkFBZ0IsRUFDaEIsZUFBZSxHQUVoQixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBQyw4QkFBOEIsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3RGLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDOztBQUU1RCxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsc0JBQXNCLENBQUM7QUFXckMsTUFBTSxPQUFPLGVBQWU7cUhBQWYsZUFBZTtzSEFBZixlQUFlO3NIQUFmLGVBQWUsYUFSZjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxXQUFXO2dCQUNwQixRQUFRLEVBQUUsZ0JBQWdCO2dCQUMxQixJQUFJLEVBQUUsQ0FBQyxlQUFlLEVBQUUsOEJBQThCLENBQUM7YUFDeEQ7U0FDRjs7a0dBRVUsZUFBZTtrQkFUM0IsUUFBUTttQkFBQztvQkFDUixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLFdBQVc7NEJBQ3BCLFFBQVEsRUFBRSxnQkFBZ0I7NEJBQzFCLElBQUksRUFBRSxDQUFDLGVBQWUsRUFBRSw4QkFBOEIsQ0FBQzt5QkFDeEQ7cUJBQ0Y7aUJBQ0Y7O0FBTUQsTUFBTSxPQUFPLGtCQUFrQjtxSEFBbEIsa0JBQWtCO3NIQUFsQixrQkFBa0I7c0hBQWxCLGtCQUFrQixhQUZsQixDQUFDLHVCQUF1QixFQUFFLENBQUM7O2tHQUUzQixrQkFBa0I7a0JBSDlCLFFBQVE7bUJBQUM7b0JBQ1IsU0FBUyxFQUFFLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztpQkFDdkM7O0FBR0QsTUFBTSxVQUFVLHVCQUF1QixDQUNyQyxVQUEwQixzQkFBc0I7SUFFaEQsT0FBTztRQUNMO1lBQ0UsT0FBTyxFQUFFLFdBQVc7WUFDcEIsUUFBUSxFQUFFLGdCQUFnQjtZQUMxQixJQUFJLEVBQUUsQ0FBQyxlQUFlLEVBQUUsOEJBQThCLENBQUM7U0FDeEQ7UUFDRCxFQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFDO0tBQy9DLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7TmdNb2R1bGUsIFByb3ZpZGVyfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIERhdGVBZGFwdGVyLFxuICBNQVRfREFURV9GT1JNQVRTLFxuICBNQVRfREFURV9MT0NBTEUsXG4gIE1hdERhdGVGb3JtYXRzLFxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7TUFUX0xVWE9OX0RBVEVfQURBUFRFUl9PUFRJT05TLCBMdXhvbkRhdGVBZGFwdGVyfSBmcm9tICcuL2x1eG9uLWRhdGUtYWRhcHRlcic7XG5pbXBvcnQge01BVF9MVVhPTl9EQVRFX0ZPUk1BVFN9IGZyb20gJy4vbHV4b24tZGF0ZS1mb3JtYXRzJztcblxuZXhwb3J0ICogZnJvbSAnLi9sdXhvbi1kYXRlLWFkYXB0ZXInO1xuZXhwb3J0ICogZnJvbSAnLi9sdXhvbi1kYXRlLWZvcm1hdHMnO1xuXG5ATmdNb2R1bGUoe1xuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBEYXRlQWRhcHRlcixcbiAgICAgIHVzZUNsYXNzOiBMdXhvbkRhdGVBZGFwdGVyLFxuICAgICAgZGVwczogW01BVF9EQVRFX0xPQ0FMRSwgTUFUX0xVWE9OX0RBVEVfQURBUFRFUl9PUFRJT05TXSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBMdXhvbkRhdGVNb2R1bGUge31cblxuQE5nTW9kdWxlKHtcbiAgcHJvdmlkZXJzOiBbcHJvdmlkZUx1eG9uRGF0ZUFkYXB0ZXIoKV0sXG59KVxuZXhwb3J0IGNsYXNzIE1hdEx1eG9uRGF0ZU1vZHVsZSB7fVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUx1eG9uRGF0ZUFkYXB0ZXIoXG4gIGZvcm1hdHM6IE1hdERhdGVGb3JtYXRzID0gTUFUX0xVWE9OX0RBVEVfRk9STUFUUyxcbik6IFByb3ZpZGVyW10ge1xuICByZXR1cm4gW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IERhdGVBZGFwdGVyLFxuICAgICAgdXNlQ2xhc3M6IEx1eG9uRGF0ZUFkYXB0ZXIsXG4gICAgICBkZXBzOiBbTUFUX0RBVEVfTE9DQUxFLCBNQVRfTFVYT05fREFURV9BREFQVEVSX09QVElPTlNdLFxuICAgIH0sXG4gICAge3Byb3ZpZGU6IE1BVF9EQVRFX0ZPUk1BVFMsIHVzZVZhbHVlOiBmb3JtYXRzfSxcbiAgXTtcbn1cbiJdfQ==
|
|
@@ -1,218 +0,0 @@
|
|
|
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.io/license
|
|
7
|
-
*/
|
|
8
|
-
import { Inject, Injectable, Optional, InjectionToken } 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 * as i0 from "@angular/core";
|
|
12
|
-
/** InjectionToken for LuxonDateAdapter to configure options. */
|
|
13
|
-
export const MAT_LUXON_DATE_ADAPTER_OPTIONS = new InjectionToken('MAT_LUXON_DATE_ADAPTER_OPTIONS', {
|
|
14
|
-
providedIn: 'root',
|
|
15
|
-
factory: MAT_LUXON_DATE_ADAPTER_OPTIONS_FACTORY,
|
|
16
|
-
});
|
|
17
|
-
/** @docs-private */
|
|
18
|
-
export function MAT_LUXON_DATE_ADAPTER_OPTIONS_FACTORY() {
|
|
19
|
-
return {
|
|
20
|
-
useUtc: false,
|
|
21
|
-
firstDayOfWeek: 0,
|
|
22
|
-
defaultOutputCalendar: 'gregory',
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
/** Creates an array and fills it with values. */
|
|
26
|
-
function range(length, valueFunction) {
|
|
27
|
-
const valuesArray = Array(length);
|
|
28
|
-
for (let i = 0; i < length; i++) {
|
|
29
|
-
valuesArray[i] = valueFunction(i);
|
|
30
|
-
}
|
|
31
|
-
return valuesArray;
|
|
32
|
-
}
|
|
33
|
-
/** Adapts Luxon Dates for use with Angular Material. */
|
|
34
|
-
export class LuxonDateAdapter extends DateAdapter {
|
|
35
|
-
constructor(dateLocale, options) {
|
|
36
|
-
super();
|
|
37
|
-
this._useUTC = !!options?.useUtc;
|
|
38
|
-
this._firstDayOfWeek = options?.firstDayOfWeek || 0;
|
|
39
|
-
this._defaultOutputCalendar = options?.defaultOutputCalendar || 'gregory';
|
|
40
|
-
this.setLocale(dateLocale || LuxonDateTime.local().locale);
|
|
41
|
-
}
|
|
42
|
-
getYear(date) {
|
|
43
|
-
return date.year;
|
|
44
|
-
}
|
|
45
|
-
getMonth(date) {
|
|
46
|
-
// Luxon works with 1-indexed months whereas our code expects 0-indexed.
|
|
47
|
-
return date.month - 1;
|
|
48
|
-
}
|
|
49
|
-
getDate(date) {
|
|
50
|
-
return date.day;
|
|
51
|
-
}
|
|
52
|
-
getDayOfWeek(date) {
|
|
53
|
-
return date.weekday;
|
|
54
|
-
}
|
|
55
|
-
getMonthNames(style) {
|
|
56
|
-
// Adding outputCalendar option, because LuxonInfo doesn't get effected by LuxonSettings
|
|
57
|
-
return LuxonInfo.months(style, {
|
|
58
|
-
locale: this.locale,
|
|
59
|
-
outputCalendar: this._defaultOutputCalendar,
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
getDateNames() {
|
|
63
|
-
// At the time of writing, Luxon doesn't offer similar
|
|
64
|
-
// functionality so we have to fall back to the Intl API.
|
|
65
|
-
const dtf = new Intl.DateTimeFormat(this.locale, { day: 'numeric', timeZone: 'utc' });
|
|
66
|
-
// Format a UTC date in order to avoid DST issues.
|
|
67
|
-
return range(31, i => dtf.format(LuxonDateTime.utc(2017, 1, i + 1).toJSDate()));
|
|
68
|
-
}
|
|
69
|
-
getDayOfWeekNames(style) {
|
|
70
|
-
// Note that we shift the array once, because Luxon returns Monday as the
|
|
71
|
-
// first day of the week, whereas our logic assumes that it's Sunday. See:
|
|
72
|
-
// https://moment.github.io/luxon/api-docs/index.html#infoweekdays
|
|
73
|
-
const days = LuxonInfo.weekdays(style, { locale: this.locale });
|
|
74
|
-
days.unshift(days.pop());
|
|
75
|
-
return days;
|
|
76
|
-
}
|
|
77
|
-
getYearName(date) {
|
|
78
|
-
return date.toFormat('yyyy', this._getOptions());
|
|
79
|
-
}
|
|
80
|
-
getFirstDayOfWeek() {
|
|
81
|
-
return this._firstDayOfWeek;
|
|
82
|
-
}
|
|
83
|
-
getNumDaysInMonth(date) {
|
|
84
|
-
return date.daysInMonth;
|
|
85
|
-
}
|
|
86
|
-
clone(date) {
|
|
87
|
-
return LuxonDateTime.fromObject(date.toObject(), this._getOptions());
|
|
88
|
-
}
|
|
89
|
-
createDate(year, month, date) {
|
|
90
|
-
const options = this._getOptions();
|
|
91
|
-
if (month < 0 || month > 11) {
|
|
92
|
-
throw Error(`Invalid month index "${month}". Month index has to be between 0 and 11.`);
|
|
93
|
-
}
|
|
94
|
-
if (date < 1) {
|
|
95
|
-
throw Error(`Invalid date "${date}". Date has to be greater than 0.`);
|
|
96
|
-
}
|
|
97
|
-
// Luxon uses 1-indexed months so we need to add one to the month.
|
|
98
|
-
const result = this._useUTC
|
|
99
|
-
? LuxonDateTime.utc(year, month + 1, date, options)
|
|
100
|
-
: LuxonDateTime.local(year, month + 1, date, options);
|
|
101
|
-
if (!this.isValid(result)) {
|
|
102
|
-
throw Error(`Invalid date "${date}". Reason: "${result.invalidReason}".`);
|
|
103
|
-
}
|
|
104
|
-
return result;
|
|
105
|
-
}
|
|
106
|
-
today() {
|
|
107
|
-
const options = this._getOptions();
|
|
108
|
-
return this._useUTC ? LuxonDateTime.utc(options) : LuxonDateTime.local(options);
|
|
109
|
-
}
|
|
110
|
-
parse(value, parseFormat) {
|
|
111
|
-
const options = this._getOptions();
|
|
112
|
-
if (typeof value == 'string' && value.length > 0) {
|
|
113
|
-
const iso8601Date = LuxonDateTime.fromISO(value, options);
|
|
114
|
-
if (this.isValid(iso8601Date)) {
|
|
115
|
-
return iso8601Date;
|
|
116
|
-
}
|
|
117
|
-
const formats = Array.isArray(parseFormat) ? parseFormat : [parseFormat];
|
|
118
|
-
if (!parseFormat.length) {
|
|
119
|
-
throw Error('Formats array must not be empty.');
|
|
120
|
-
}
|
|
121
|
-
for (const format of formats) {
|
|
122
|
-
const fromFormat = LuxonDateTime.fromFormat(value, format, options);
|
|
123
|
-
if (this.isValid(fromFormat)) {
|
|
124
|
-
return fromFormat;
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
return this.invalid();
|
|
128
|
-
}
|
|
129
|
-
else if (typeof value === 'number') {
|
|
130
|
-
return LuxonDateTime.fromMillis(value, options);
|
|
131
|
-
}
|
|
132
|
-
else if (value instanceof Date) {
|
|
133
|
-
return LuxonDateTime.fromJSDate(value, options);
|
|
134
|
-
}
|
|
135
|
-
else if (value instanceof LuxonDateTime) {
|
|
136
|
-
return LuxonDateTime.fromMillis(value.toMillis(), options);
|
|
137
|
-
}
|
|
138
|
-
return null;
|
|
139
|
-
}
|
|
140
|
-
format(date, displayFormat) {
|
|
141
|
-
if (!this.isValid(date)) {
|
|
142
|
-
throw Error('LuxonDateAdapter: Cannot format invalid date.');
|
|
143
|
-
}
|
|
144
|
-
if (this._useUTC) {
|
|
145
|
-
return date.setLocale(this.locale).setZone('utc').toFormat(displayFormat);
|
|
146
|
-
}
|
|
147
|
-
else {
|
|
148
|
-
return date.setLocale(this.locale).toFormat(displayFormat);
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
addCalendarYears(date, years) {
|
|
152
|
-
return date.reconfigure(this._getOptions()).plus({ years });
|
|
153
|
-
}
|
|
154
|
-
addCalendarMonths(date, months) {
|
|
155
|
-
return date.reconfigure(this._getOptions()).plus({ months });
|
|
156
|
-
}
|
|
157
|
-
addCalendarDays(date, days) {
|
|
158
|
-
return date.reconfigure(this._getOptions()).plus({ days });
|
|
159
|
-
}
|
|
160
|
-
toIso8601(date) {
|
|
161
|
-
return date.toISO();
|
|
162
|
-
}
|
|
163
|
-
/**
|
|
164
|
-
* Returns the given value if given a valid Luxon or null. Deserializes valid ISO 8601 strings
|
|
165
|
-
* (https://www.ietf.org/rfc/rfc3339.txt) and valid Date objects into valid DateTime and empty
|
|
166
|
-
* string into null. Returns an invalid date for all other values.
|
|
167
|
-
*/
|
|
168
|
-
deserialize(value) {
|
|
169
|
-
const options = this._getOptions();
|
|
170
|
-
let date;
|
|
171
|
-
if (value instanceof Date) {
|
|
172
|
-
date = LuxonDateTime.fromJSDate(value, options);
|
|
173
|
-
}
|
|
174
|
-
if (typeof value === 'string') {
|
|
175
|
-
if (!value) {
|
|
176
|
-
return null;
|
|
177
|
-
}
|
|
178
|
-
date = LuxonDateTime.fromISO(value, options);
|
|
179
|
-
}
|
|
180
|
-
if (date && this.isValid(date)) {
|
|
181
|
-
return date;
|
|
182
|
-
}
|
|
183
|
-
return super.deserialize(value);
|
|
184
|
-
}
|
|
185
|
-
isDateInstance(obj) {
|
|
186
|
-
return obj instanceof LuxonDateTime;
|
|
187
|
-
}
|
|
188
|
-
isValid(date) {
|
|
189
|
-
return date.isValid;
|
|
190
|
-
}
|
|
191
|
-
invalid() {
|
|
192
|
-
return LuxonDateTime.invalid('Invalid Luxon DateTime object.');
|
|
193
|
-
}
|
|
194
|
-
/** Gets the options that should be used when constructing a new `DateTime` object. */
|
|
195
|
-
_getOptions() {
|
|
196
|
-
return {
|
|
197
|
-
zone: this._useUTC ? 'utc' : undefined,
|
|
198
|
-
locale: this.locale,
|
|
199
|
-
outputCalendar: this._defaultOutputCalendar,
|
|
200
|
-
};
|
|
201
|
-
}
|
|
202
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0-next.2", ngImport: i0, type: LuxonDateAdapter, deps: [{ token: MAT_DATE_LOCALE, optional: true }, { token: MAT_LUXON_DATE_ADAPTER_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
203
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0-next.2", ngImport: i0, type: LuxonDateAdapter }); }
|
|
204
|
-
}
|
|
205
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0-next.2", ngImport: i0, type: LuxonDateAdapter, decorators: [{
|
|
206
|
-
type: Injectable
|
|
207
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
208
|
-
type: Optional
|
|
209
|
-
}, {
|
|
210
|
-
type: Inject,
|
|
211
|
-
args: [MAT_DATE_LOCALE]
|
|
212
|
-
}] }, { type: undefined, decorators: [{
|
|
213
|
-
type: Optional
|
|
214
|
-
}, {
|
|
215
|
-
type: Inject,
|
|
216
|
-
args: [MAT_LUXON_DATE_ADAPTER_OPTIONS]
|
|
217
|
-
}] }] });
|
|
218
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHV4b24tZGF0ZS1hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21hdGVyaWFsLWx1eG9uLWFkYXB0ZXIvYWRhcHRlci9sdXhvbi1kYXRlLWFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUMsV0FBVyxFQUFFLGVBQWUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3BFLE9BQU8sRUFDTCxRQUFRLElBQUksYUFBYSxFQUN6QixJQUFJLElBQUksU0FBUyxHQUdsQixNQUFNLE9BQU8sQ0FBQzs7QUF1QmYsZ0VBQWdFO0FBQ2hFLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLElBQUksY0FBYyxDQUM5RCxnQ0FBZ0MsRUFDaEM7SUFDRSxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsc0NBQXNDO0NBQ2hELENBQ0YsQ0FBQztBQUVGLG9CQUFvQjtBQUNwQixNQUFNLFVBQVUsc0NBQXNDO0lBQ3BELE9BQU87UUFDTCxNQUFNLEVBQUUsS0FBSztRQUNiLGNBQWMsRUFBRSxDQUFDO1FBQ2pCLHFCQUFxQixFQUFFLFNBQVM7S0FDakMsQ0FBQztBQUNKLENBQUM7QUFFRCxpREFBaUQ7QUFDakQsU0FBUyxLQUFLLENBQUksTUFBYyxFQUFFLGFBQW1DO0lBQ25FLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNsQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDaEMsV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBQ0QsT0FBTyxXQUFX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Q0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUztZQUN0QyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsY0FBYyxFQUFFLElBQUksQ0FBQyxzQkFBc0I7U0FDNUMsQ0FBQztJQUNKLENBQUM7cUhBbk5VLGdCQUFnQixrQkFNTCxlQUFlLDZCQUUzQiw4QkFBOEI7eUhBUjdCLGdCQUFnQjs7a0dBQWhCLGdCQUFnQjtrQkFENUIsVUFBVTs7MEJBT04sUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxlQUFlOzswQkFDbEMsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyw4QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsLCBJbmplY3Rpb25Ub2tlbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0RhdGVBZGFwdGVyLCBNQVRfREFURV9MT0NBTEV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHtcbiAgRGF0ZVRpbWUgYXMgTHV4b25EYXRlVGltZSxcbiAgSW5mbyBhcyBMdXhvbkluZm8sXG4gIERhdGVUaW1lT3B0aW9ucyBhcyBMdXhvbkRhdGVUaW1lT3B0aW9ucyxcbiAgQ2FsZW5kYXJTeXN0ZW0gYXMgTHV4b25DYWxlbmRhclN5c3RlbSxcbn0gZnJvbSAnbHV4b24nO1xuXG4vKiogQ29uZmlndXJhYmxlIG9wdGlvbnMgZm9yIHRoZSBgTHV4b25EYXRlQWRhcHRlcmAuICovXG5leHBvcnQgaW50ZXJmYWNlIE1hdEx1eG9uRGF0ZUFkYXB0ZXJPcHRpb25zIHtcbiAgLyoqXG4gICAqIFR1cm5zIHRoZSB1c2Ugb2YgdXRjIGRhdGVzIG9uIG9yIG9mZi5cbiAgICogQ2hhbmdpbmcgdGhpcyB3aWxsIGNoYW5nZSBob3cgQW5ndWxhciBNYXRlcmlhbCBjb21wb25lbnRzIGxpa2UgRGF0ZVBpY2tlciBvdXRwdXQgZGF0ZXMuXG4gICAqL1xuICB1c2VVdGM6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGZpcnN0IGRheSBvZiB3ZWVrLlxuICAgKiBDaGFuZ2luZyB0aGlzIHdpbGwgY2hhbmdlIGhvdyBBbmd1bGFyIE1hdGVyaWFsIGNvbXBvbmVudHMgbGlrZSBEYXRlUGlja2VyIHNob3dzIHN0YXJ0IG9mIHdlZWsuXG4gICAqL1xuICBmaXJzdERheU9mV2VlazogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBvdXRwdXQgQ2FsZW5kYXIuXG4gICAqIENoYW5naW5nIHRoaXMgd2lsbCBjaGFuZ2UgaG93IEFuZ3VsYXIgTWF0ZXJpYWwgY29tcG9uZW50cyBsaWtlIERhdGVQaWNrZXIgb3V0cHV0IGRhdGVzLlxuICAgKi9cbiAgZGVmYXVsdE91dHB1dENhbGVuZGFyOiBMdXhvbkNhbGVuZGFyU3lzdGVtO1xufVxuXG4vKiogSW5qZWN0aW9uVG9rZW4gZm9yIEx1eG9uRGF0ZUFkYXB0ZXIgdG8gY29uZmlndXJlIG9wdGlvbnMuICovXG5leHBvcnQgY29uc3QgTUFUX0xVWE9OX0RBVEVfQURBUFRFUl9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPE1hdEx1eG9uRGF0ZUFkYXB0ZXJPcHRpb25zPihcbiAgJ01BVF9MVVhPTl9EQVRFX0FEQVBURVJfT1BUSU9OUycsXG4gIHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG4gICAgZmFjdG9yeTogTUFUX0xVWE9OX0RBVEVfQURBUFRFUl9PUFRJT05TX0ZBQ1RPUlksXG4gIH0sXG4pO1xuXG4vKiogQGRvY3MtcHJpdmF0ZSAqL1xuZXhwb3J0IGZ1bmN0aW9uIE1BVF9MVVhPTl9EQVRFX0FEQVBURVJfT1BUSU9OU19GQUNUT1JZKCk6IE1hdEx1eG9uRGF0ZUFkYXB0ZXJPcHRpb25zIHtcbiAgcmV0dXJuIHtcbiAgICB1c2VVdGM6IGZhbHNlLFxuICAgIGZpcnN0RGF5T2ZXZWVrOiAwLFxuICAgIGRlZmF1bHRPdXRwdXRDYWxlbmRhcjogJ2dyZWdvcnknLFxuICB9O1xufVxuXG4vKiogQ3JlYXRlcyBhbiBhcnJheSBhbmQgZmlsbHMgaXQgd2l0aCB2YWx1ZXMuICovXG5mdW5jdGlvbiByYW5nZTxUPihsZW5ndGg6IG51bWJlciwgdmFsdWVGdW5jdGlvbjogKGluZGV4OiBudW1iZXIpID0+IFQpOiBUW10ge1xuICBjb25zdCB2YWx1ZXNBcnJheSA9IEFycmF5KGxlbmd0aCk7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcbiAgICB2YWx1ZXNBcnJheVtpXSA9IHZhbHVlRnVuY3Rpb24oaSk7XG4gIH1cbiAgcmV0dXJuIHZhbHVlc0FycmF5O1xufVxuXG4vKiogQWRhcHRzIEx1eG9uIERhdGVzIGZvciB1c2Ugd2l0aCBBbmd1bGFyIE1hdGVyaWFsLiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEx1eG9uRGF0ZUFkYXB0ZXIgZXh0ZW5kcyBEYXRlQWRhcHRlcjxMdXhvbkRhdGVUaW1lPiB7XG4gIHByaXZhdGUgX3VzZVVUQzogYm9vbGVhbjtcbiAgcHJpdmF0ZSBfZmlyc3REYXlPZldlZWs6IG51bWJlcjtcbiAgcHJpdmF0ZSBfZGVmYXVsdE91dHB1dENhbGVuZGFyOiBMdXhvbkNhbGVuZGFyU3lzdGVtO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoTUFUX0RBVEVfTE9DQUxFKSBkYXRlTG9jYWxlOiBzdHJpbmcsXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KE1BVF9MVVhPTl9EQVRFX0FEQVBURVJfT1BUSU9OUylcbiAgICBvcHRpb25zPzogTWF0THV4b25EYXRlQWRhcHRlck9wdGlvbnMsXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5fdXNlVVRDID0gISFvcHRpb25zPy51c2VVdGM7XG4gICAgdGhpcy5fZmlyc3REYXlPZldlZWsgPSBvcHRpb25zPy5maXJzdERheU9mV2VlayB8fCAwO1xuICAgIHRoaXMuX2RlZmF1bHRPdXRwdXRDYWxlbmRhciA9IG9wdGlvbnM/LmRlZmF1bHRPdXRwdXRDYWxlbmRhciB8fCAnZ3JlZ29yeSc7XG4gICAgdGhpcy5zZXRMb2NhbGUoZGF0ZUxvY2FsZSB8fCBMdXhvbkRhdGVUaW1lLmxvY2FsKCkubG9jYWxlKTtcbiAgfVxuXG4gIGdldFllYXIoZGF0ZTogTHV4b25EYXRlVGltZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGRhdGUueWVhcjtcbiAgfVxuXG4gIGdldE1vbnRoKGRhdGU6IEx1eG9uRGF0ZVRpbWUpOiBudW1iZXIge1xuICAgIC8vIEx1eG9uIHdvcmtzIHdpdGggMS1pbmRleGVkIG1vbnRocyB3aGVyZWFzIG91ciBjb2RlIGV4cGVjdHMgMC1pbmRleGVkLlxuICAgIHJldHVybiBkYXRlLm1vbnRoIC0gMTtcbiAgfVxuXG4gIGdldERhdGUoZGF0ZTogTHV4b25EYXRlVGltZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGRhdGUuZGF5O1xuICB9XG5cbiAgZ2V0RGF5T2ZXZWVrKGRhdGU6IEx1eG9uRGF0ZVRpbWUpOiBudW1iZXIge1xuICAgIHJldHVybiBkYXRlLndlZWtkYXk7XG4gIH1cblxuICBnZXRNb250aE5hbWVzKHN0eWxlOiAnbG9uZycgfCAnc2hvcnQnIHwgJ25hcnJvdycpOiBzdHJpbmdbXSB7XG4gICAgLy8gQWRkaW5nIG91dHB1dENhbGVuZGFyIG9wdGlvbiwgYmVjYXVzZSBMdXhvbkluZm8gZG9lc24ndCBnZXQgZWZmZWN0ZWQgYnkgTHV4b25TZXR0aW5nc1xuICAgIHJldHVybiBMdXhvbkluZm8ubW9udGhzKHN0eWxlLCB7XG4gICAgICBsb2NhbGU6IHRoaXMubG9jYWxlLFxuICAgICAgb3V0cHV0Q2FsZW5kYXI6IHRoaXMuX2RlZmF1bHRPdXRwdXRDYWxlbmRhcixcbiAgICB9KTtcbiAgfVxuXG4gIGdldERhdGVOYW1lcygpOiBzdHJpbmdbXSB7XG4gICAgLy8gQXQgdGhlIHRpbWUgb2Ygd3JpdGluZywgTHV4b24gZG9lc24ndCBvZmZlciBzaW1pbGFyXG4gICAgLy8gZnVuY3Rpb25hbGl0eSBzbyB3ZSBoYXZlIHRvIGZhbGwgYmFjayB0byB0aGUgSW50bCBBUEkuXG4gICAgY29uc3QgZHRmID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQodGhpcy5sb2NhbGUsIHtkYXk6ICdudW1lcmljJywgdGltZVpvbmU6ICd1dGMnfSk7XG5cbiAgICAvLyBGb3JtYXQgYSBVVEMgZGF0ZSBpbiBvcmRlciB0byBhdm9pZCBEU1QgaXNzdWVzLlxuICAgIHJldHVybiByYW5nZSgzMSwgaSA9PiBkdGYuZm9ybWF0KEx1eG9uRGF0ZVRpbWUudXRjKDIwMTcsIDEsIGkgKyAxKS50b0pTRGF0ZSgpKSk7XG4gIH1cblxuICBnZXREYXlPZldlZWtOYW1lcyhzdHlsZTogJ2xvbmcnIHwgJ3Nob3J0JyB8ICduYXJyb3cnKTogc3RyaW5nW10ge1xuICAgIC8vIE5vdGUgdGhhdCB3ZSBzaGlmdCB0aGUgYXJyYXkgb25jZSwgYmVjYXVzZSBMdXhvbiByZXR1cm5zIE1vbmRheSBhcyB0aGVcbiAgICAvLyBmaXJzdCBkYXkgb2YgdGhlIHdlZWssIHdoZXJlYXMgb3VyIGxvZ2ljIGFzc3VtZXMgdGhhdCBpdCdzIFN1bmRheS4gU2VlOlxuICAgIC8vIGh0dHBzOi8vbW9tZW50LmdpdGh1Yi5pby9sdXhvbi9hcGktZG9jcy9pbmRleC5odG1sI2luZm93ZWVrZGF5c1xuICAgIGNvbnN0IGRheXMgPSBMdXhvbkluZm8ud2Vla2RheXMoc3R5bGUsIHtsb2NhbGU6IHRoaXMubG9jYWxlfSk7XG4gICAgZGF5cy51bnNoaWZ0KGRheXMucG9wKCkhKTtcbiAgICByZXR1cm4gZGF5cztcbiAgfVxuXG4gIGdldFllYXJOYW1lKGRhdGU6IEx1eG9uRGF0ZVRpbWUpOiBzdHJpbmcge1xuICAgIHJldHVybiBkYXRlLnRvRm9ybWF0KCd5eXl5JywgdGhpcy5fZ2V0T3B0aW9ucygpKTtcbiAgfVxuXG4gIGdldEZpcnN0RGF5T2ZXZWVrKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpcnN0RGF5T2ZXZWVrO1xuICB9XG5cbiAgZ2V0TnVtRGF5c0luTW9udGgoZGF0ZTogTHV4b25EYXRlVGltZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGRhdGUuZGF5c0luTW9udGghO1xuICB9XG5cbiAgY2xvbmUoZGF0ZTogTHV4b25EYXRlVGltZSk6IEx1eG9uRGF0ZVRpbWUge1xuICAgIHJldHVybiBMdXhvbkRhdGVUaW1lLmZyb21PYmplY3QoZGF0ZS50b09iamVjdCgpLCB0aGlzLl9nZXRPcHRpb25zKCkpO1xuICB9XG5cbiAgY3JlYXRlRGF0ZSh5ZWFyOiBudW1iZXIsIG1vbnRoOiBudW1iZXIsIGRhdGU6IG51bWJlcik6IEx1eG9uRGF0ZVRpbWUge1xuICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLl9nZXRPcHRpb25zKCk7XG5cbiAgICBpZiAobW9udGggPCAwIHx8IG1vbnRoID4gMTEpIHtcbiAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkIG1vbnRoIGluZGV4IFwiJHttb250aH1cIi4gTW9udGggaW5kZXggaGFzIHRvIGJlIGJldHdlZW4gMCBhbmQgMTEuYCk7XG4gICAgfVxuXG4gICAgaWYgKGRhdGUgPCAxKSB7XG4gICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCBkYXRlIFwiJHtkYXRlfVwiLiBEYXRlIGhhcyB0byBiZSBncmVhdGVyIHRoYW4gMC5gKTtcbiAgICB9XG5cbiAgICAvLyBMdXhvbiB1c2VzIDEtaW5kZXhlZCBtb250aHMgc28gd2UgbmVlZCB0byBhZGQgb25lIHRvIHRoZSBtb250aC5cbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLl91c2VVVENcbiAgICAgID8gTHV4b25EYXRlVGltZS51dGMoeWVhciwgbW9udGggKyAxLCBkYXRlLCBvcHRpb25zKVxuICAgICAgOiBMdXhvbkRhdGVUaW1lLmxvY2FsKHllYXIsIG1vbnRoICsgMSwgZGF0ZSwgb3B0aW9ucyk7XG5cbiAgICBpZiAoIXRoaXMuaXNWYWxpZChyZXN1bHQpKSB7XG4gICAgICB0aHJvdyBFcnJvcihgSW52YWxpZCBkYXRlIFwiJHtkYXRlfVwiLiBSZWFzb246IFwiJHtyZXN1bHQuaW52YWxpZFJlYXNvbn1cIi5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgdG9kYXkoKTogTHV4b25EYXRlVGltZSB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuX2dldE9wdGlvbnMoKTtcblxuICAgIHJldHVybiB0aGlzLl91c2VVVEMgPyBMdXhvbkRhdGVUaW1lLnV0YyhvcHRpb25zKSA6IEx1eG9uRGF0ZVRpbWUubG9jYWwob3B0aW9ucyk7XG4gIH1cblxuICBwYXJzZSh2YWx1ZTogYW55LCBwYXJzZUZvcm1hdDogc3RyaW5nIHwgc3RyaW5nW10pOiBMdXhvbkRhdGVUaW1lIHwgbnVsbCB7XG4gICAgY29uc3Qgb3B0aW9uczogTHV4b25EYXRlVGltZU9wdGlvbnMgPSB0aGlzLl9nZXRPcHRpb25zKCk7XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlID09ICdzdHJpbmcnICYmIHZhbHVlLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGlzbzg2MDFEYXRlID0gTHV4b25EYXRlVGltZS5mcm9tSVNPKHZhbHVlLCBvcHRpb25zKTtcblxuICAgICAgaWYgKHRoaXMuaXNWYWxpZChpc284NjAxRGF0ZSkpIHtcbiAgICAgICAgcmV0dXJuIGlzbzg2MDFEYXRlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBmb3JtYXRzID0gQXJyYXkuaXNBcnJheShwYXJzZUZvcm1hdCkgPyBwYXJzZUZvcm1hdCA6IFtwYXJzZUZvcm1hdF07XG5cbiAgICAgIGlmICghcGFyc2VGb3JtYXQubGVuZ3RoKSB7XG4gICAgICAgIHRocm93IEVycm9yKCdGb3JtYXRzIGFycmF5IG11c3Qgbm90IGJlIGVtcHR5LicpO1xuICAgICAgfVxuXG4gICAgICBmb3IgKGNvbnN0IGZvcm1hdCBvZiBmb3JtYXRzKSB7XG4gICAgICAgIGNvbnN0IGZyb21Gb3JtYXQgPSBMdXhvbkRhdGVUaW1lLmZyb21Gb3JtYXQodmFsdWUsIGZvcm1hdCwgb3B0aW9ucyk7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNWYWxpZChmcm9tRm9ybWF0KSkge1xuICAgICAgICAgIHJldHVybiBmcm9tRm9ybWF0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0aGlzLmludmFsaWQoKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgIHJldHVybiBMdXhvbkRhdGVUaW1lLmZyb21NaWxsaXModmFsdWUsIG9wdGlvbnMpO1xuICAgIH0gZWxzZSBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICByZXR1cm4gTHV4b25EYXRlVGltZS5mcm9tSlNEYXRlKHZhbHVlLCBvcHRpb25zKTtcbiAgICB9IGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgTHV4b25EYXRlVGltZSkge1xuICAgICAgcmV0dXJuIEx1eG9uRGF0ZVRpbWUuZnJvbU1pbGxpcyh2YWx1ZS50b01pbGxpcygpLCBvcHRpb25zKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGZvcm1hdChkYXRlOiBMdXhvbkRhdGVUaW1lLCBkaXNwbGF5Rm9ybWF0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkKGRhdGUpKSB7XG4gICAgICB0aHJvdyBFcnJvcignTHV4b25EYXRlQWRhcHRlcjogQ2Fubm90IGZvcm1hdCBpbnZhbGlkIGRhdGUuJyk7XG4gICAgfVxuICAgIGlmICh0aGlzLl91c2VVVEMpIHtcbiAgICAgIHJldHVybiBkYXRlLnNldExvY2FsZSh0aGlzLmxvY2FsZSkuc2V0Wm9uZSgndXRjJykudG9Gb3JtYXQoZGlzcGxheUZvcm1hdCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBkYXRlLnNldExvY2FsZSh0aGlzLmxvY2FsZSkudG9Gb3JtYXQoZGlzcGxheUZvcm1hdCk7XG4gICAgfVxuICB9XG5cbiAgYWRkQ2FsZW5kYXJZZWFycyhkYXRlOiBMdXhvbkRhdGVUaW1lLCB5ZWFyczogbnVtYmVyKTogTHV4b25EYXRlVGltZSB7XG4gICAgcmV0dXJuIGRhdGUucmVjb25maWd1cmUodGhpcy5fZ2V0T3B0aW9ucygpKS5wbHVzKHt5ZWFyc30pO1xuICB9XG5cbiAgYWRkQ2FsZW5kYXJNb250aHMoZGF0ZTogTHV4b25EYXRlVGltZSwgbW9udGhzOiBudW1iZXIpOiBMdXhvbkRhdGVUaW1lIHtcbiAgICByZXR1cm4gZGF0ZS5yZWNvbmZpZ3VyZSh0aGlzLl9nZXRPcHRpb25zKCkpLnBsdXMoe21vbnRoc30pO1xuICB9XG5cbiAgYWRkQ2FsZW5kYXJEYXlzKGRhdGU6IEx1eG9uRGF0ZVRpbWUsIGRheXM6IG51bWJlcik6IEx1eG9uRGF0ZVRpbWUge1xuICAgIHJldHVybiBkYXRlLnJlY29uZmlndXJlKHRoaXMuX2dldE9wdGlvbnMoKSkucGx1cyh7ZGF5c30pO1xuICB9XG5cbiAgdG9Jc284NjAxKGRhdGU6IEx1eG9uRGF0ZVRpbWUpOiBzdHJpbmcge1xuICAgIHJldHVybiBkYXRlLnRvSVNPKCkhO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGdpdmVuIHZhbHVlIGlmIGdpdmVuIGEgdmFsaWQgTHV4b24gb3IgbnVsbC4gRGVzZXJpYWxpemVzIHZhbGlkIElTTyA4NjAxIHN0cmluZ3NcbiAgICogKGh0dHBzOi8vd3d3LmlldGYub3JnL3JmYy9yZmMzMzM5LnR4dCkgYW5kIHZhbGlkIERhdGUgb2JqZWN0cyBpbnRvIHZhbGlkIERhdGVUaW1lIGFuZCBlbXB0eVxuICAgKiBzdHJpbmcgaW50byBudWxsLiBSZXR1cm5zIGFuIGludmFsaWQgZGF0ZSBmb3IgYWxsIG90aGVyIHZhbHVlcy5cbiAgICovXG4gIG92ZXJyaWRlIGRlc2VyaWFsaXplKHZhbHVlOiBhbnkpOiBMdXhvbkRhdGVUaW1lIHwgbnVsbCB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuX2dldE9wdGlvbnMoKTtcbiAgICBsZXQgZGF0ZTogTHV4b25EYXRlVGltZSB8IHVuZGVmaW5lZDtcbiAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICBkYXRlID0gTHV4b25EYXRlVGltZS5mcm9tSlNEYXRlKHZhbHVlLCBvcHRpb25zKTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBkYXRlID0gTHV4b25EYXRlVGltZS5mcm9tSVNPKHZhbHVlLCBvcHRpb25zKTtcbiAgICB9XG4gICAgaWYgKGRhdGUgJiYgdGhpcy5pc1ZhbGlkKGRhdGUpKSB7XG4gICAgICByZXR1cm4gZGF0ZTtcbiAgICB9XG4gICAgcmV0dXJuIHN1cGVyLmRlc2VyaWFsaXplKHZhbHVlKTtcbiAgfVxuXG4gIGlzRGF0ZUluc3RhbmNlKG9iajogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIG9iaiBpbnN0YW5jZW9mIEx1eG9uRGF0ZVRpbWU7XG4gIH1cblxuICBpc1ZhbGlkKGRhdGU6IEx1eG9uRGF0ZVRpbWUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZGF0ZS5pc1ZhbGlkO1xuICB9XG5cbiAgaW52YWxpZCgpOiBMdXhvbkRhdGVUaW1lIHtcbiAgICByZXR1cm4gTHV4b25EYXRlVGltZS5pbnZhbGlkKCdJbnZhbGlkIEx1eG9uIERhdGVUaW1lIG9iamVjdC4nKTtcbiAgfVxuXG4gIC8qKiBHZXRzIHRoZSBvcHRpb25zIHRoYXQgc2hvdWxkIGJlIHVzZWQgd2hlbiBjb25zdHJ1Y3RpbmcgYSBuZXcgYERhdGVUaW1lYCBvYmplY3QuICovXG4gIHByaXZhdGUgX2dldE9wdGlvbnMoKTogTHV4b25EYXRlVGltZU9wdGlvbnMge1xuICAgIHJldHVybiB7XG4gICAgICB6b25lOiB0aGlzLl91c2VVVEMgPyAndXRjJyA6IHVuZGVmaW5lZCxcbiAgICAgIGxvY2FsZTogdGhpcy5sb2NhbGUsXG4gICAgICBvdXRwdXRDYWxlbmRhcjogdGhpcy5fZGVmYXVsdE91dHB1dENhbGVuZGFyLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,19 +0,0 @@
|
|
|
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.io/license
|
|
7
|
-
*/
|
|
8
|
-
export const MAT_LUXON_DATE_FORMATS = {
|
|
9
|
-
parse: {
|
|
10
|
-
dateInput: 'D',
|
|
11
|
-
},
|
|
12
|
-
display: {
|
|
13
|
-
dateInput: 'D',
|
|
14
|
-
monthYearLabel: 'LLL yyyy',
|
|
15
|
-
dateA11yLabel: 'DD',
|
|
16
|
-
monthYearA11yLabel: 'LLLL yyyy',
|
|
17
|
-
},
|
|
18
|
-
};
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHV4b24tZGF0ZS1mb3JtYXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21hdGVyaWFsLWx1eG9uLWFkYXB0ZXIvYWRhcHRlci9sdXhvbi1kYXRlLWZvcm1hdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBSUgsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQW1CO0lBQ3BELEtBQUssRUFBRTtRQUNMLFNBQVMsRUFBRSxHQUFHO0tBQ2Y7SUFDRCxPQUFPLEVBQUU7UUFDUCxTQUFTLEVBQUUsR0FBRztRQUNkLGNBQWMsRUFBRSxVQUFVO1FBQzFCLGFBQWEsRUFBRSxJQUFJO1FBQ25CLGtCQUFrQixFQUFFLFdBQVc7S0FDaEM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7TWF0RGF0ZUZvcm1hdHN9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgTUFUX0xVWE9OX0RBVEVfRk9STUFUUzogTWF0RGF0ZUZvcm1hdHMgPSB7XG4gIHBhcnNlOiB7XG4gICAgZGF0ZUlucHV0OiAnRCcsXG4gIH0sXG4gIGRpc3BsYXk6IHtcbiAgICBkYXRlSW5wdXQ6ICdEJyxcbiAgICBtb250aFllYXJMYWJlbDogJ0xMTCB5eXl5JyxcbiAgICBkYXRlQTExeUxhYmVsOiAnREQnLFxuICAgIG1vbnRoWWVhckExMXlMYWJlbDogJ0xMTEwgeXl5eScsXG4gIH0sXG59O1xuIl19
|
package/esm2022/index.mjs
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
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.io/license
|
|
7
|
-
*/
|
|
8
|
-
export * from './public-api';
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbWF0ZXJpYWwtbHV4b24tYWRhcHRlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtbHV4b24tYWRhcHRlcl9wdWJsaWNfaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbWF0ZXJpYWwtbHV4b24tYWRhcHRlci9tYXRlcmlhbC1sdXhvbi1hZGFwdGVyX3B1YmxpY19pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
package/esm2022/public-api.mjs
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
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.io/license
|
|
7
|
-
*/
|
|
8
|
-
export * from './adapter/index';
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tYXRlcmlhbC1sdXhvbi1hZGFwdGVyL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsY0FBYyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2FkYXB0ZXIvaW5kZXgnO1xuIl19
|