@elderbyte/ngx-starter 16.0.0 → 16.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,23 +1,57 @@
1
1
  /** Adapts the native JS Date for use with cdk-based components that work with dates. */
2
- import { NativeDateAdapter } from '@angular/material/core';
3
- import { Injectable } from '@angular/core';
2
+ import { MAT_DATE_LOCALE, NativeDateAdapter } from '@angular/material/core';
3
+ import { Inject, Injectable } from '@angular/core';
4
4
  import { LoggerFactory } from '@elderbyte/ts-logger';
5
+ import { convert, DateTimeFormatter, LocalDate } from '@js-joda/core';
5
6
  import * as i0 from "@angular/core";
6
7
  /**
7
8
  * Makes week starting at monday. For example MatDatePicker.
8
9
  */
9
10
  export class CustomDateAdapter extends NativeDateAdapter {
10
- constructor() {
11
- super(...arguments);
11
+ constructor(matDateLocale) {
12
+ super(matDateLocale);
12
13
  this.logger = LoggerFactory.getLogger(this.constructor.name);
14
+ this.fallbackDateFormats = ['MM/dd/yyyy', 'MM/dd/yy'];
15
+ this.dateFormats = new Map([
16
+ ["de-CH", ['dd.MM.yyyy', 'dd.MM.yy']],
17
+ ["de-DE", ['dd.MM.yyyy', 'dd.MM.yy']],
18
+ ["en-UK", ['dd/MM/yyyy', 'dd/MM/yy']],
19
+ ["en-US", this.fallbackDateFormats]
20
+ ]);
21
+ this.matDateLocale = matDateLocale;
13
22
  }
14
23
  getFirstDayOfWeek() {
15
24
  return 1;
16
25
  }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: CustomDateAdapter, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
26
+ parse(value, parseFormat) {
27
+ const formats = this.getFormatsOfLocale();
28
+ for (let i = 0; i < formats.length; i++) {
29
+ try {
30
+ const formatter = DateTimeFormatter.ofPattern(formats[i]);
31
+ return convert(LocalDate.parse(value, formatter)).toDate();
32
+ }
33
+ catch (e) {
34
+ // ignore
35
+ }
36
+ }
37
+ this.logger.warn('Could not parse "' + value + '" to date!');
38
+ return null;
39
+ }
40
+ getFormatsOfLocale() {
41
+ if (this.dateFormats.has(this.matDateLocale)) {
42
+ return this.dateFormats.get(this.matDateLocale);
43
+ }
44
+ else {
45
+ return this.fallbackDateFormats;
46
+ }
47
+ }
48
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: CustomDateAdapter, deps: [{ token: MAT_DATE_LOCALE }], target: i0.ɵɵFactoryTarget.Injectable }); }
18
49
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: CustomDateAdapter }); }
19
50
  }
20
51
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: CustomDateAdapter, decorators: [{
21
52
  type: Injectable
22
- }] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWRhdGUtYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvdGltZS9kYXRlLWFkYXB0ZXJzL2N1c3RvbS1kYXRlLWFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0ZBQXdGO0FBQ3hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDOztBQUVuRDs7R0FFRztBQUVILE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxpQkFBaUI7SUFEeEQ7O1FBR21CLFdBQU0sR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7S0FzQjFFO0lBcEJDLGlCQUFpQjtRQUNmLE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQzs4R0FOVSxpQkFBaUI7a0hBQWpCLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBBZGFwdHMgdGhlIG5hdGl2ZSBKUyBEYXRlIGZvciB1c2Ugd2l0aCBjZGstYmFzZWQgY29tcG9uZW50cyB0aGF0IHdvcmsgd2l0aCBkYXRlcy4gKi9cbmltcG9ydCB7IE5hdGl2ZURhdGVBZGFwdGVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcblxuLyoqXG4gKiBNYWtlcyB3ZWVrIHN0YXJ0aW5nIGF0IG1vbmRheS4gRm9yIGV4YW1wbGUgTWF0RGF0ZVBpY2tlci5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEN1c3RvbURhdGVBZGFwdGVyIGV4dGVuZHMgTmF0aXZlRGF0ZUFkYXB0ZXIge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICBnZXRGaXJzdERheU9mV2VlaygpOiBudW1iZXIge1xuICAgIHJldHVybiAxO1xuICB9XG5cbiAgLypcbiAgcGFyc2UodmFsdWU6IGFueSk6IERhdGUgfCBudWxsIHtcblxuICAgIGlmICh2YWx1ZSkge1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gbmV3IERhdGUodmFsdWUpO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcignRmFpbGVkIHRvIHBhcnNlIGRhdGUgJyArIHZhbHVlLCBlcnIpO1xuICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfSovXG5cbn1cbiJdfQ==
53
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
54
+ type: Inject,
55
+ args: [MAT_DATE_LOCALE]
56
+ }] }]; } });
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWRhdGUtYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvdGltZS9kYXRlLWFkYXB0ZXJzL2N1c3RvbS1kYXRlLWFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0ZBQXdGO0FBQ3hGLE9BQU8sRUFBQyxlQUFlLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQTRCLFNBQVMsRUFBZ0IsTUFBTSxlQUFlLENBQUM7O0FBRTdHOztHQUVHO0FBRUgsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGlCQUFpQjtJQWN0RCxZQUFxQyxhQUFxQjtRQUN4RCxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7UUFiTixXQUFNLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXhELHdCQUFtQixHQUFHLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2pELGdCQUFXLEdBQUcsSUFBSSxHQUFHLENBQUM7WUFDckMsQ0FBRSxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUU7WUFDdkMsQ0FBRSxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUU7WUFDdkMsQ0FBRSxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUU7WUFDdkMsQ0FBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFFO1NBQ3RDLENBQUMsQ0FBQztRQU1ELElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxpQkFBaUI7UUFDZixPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBVSxFQUFFLFdBQWlCO1FBQ2pDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBRTFDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3ZDLElBQUk7Z0JBQ0YsTUFBTSxTQUFTLEdBQUcsaUJBQWlCLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMxRCxPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO2FBQzVEO1lBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ1YsU0FBUzthQUNWO1NBQ0Y7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLEdBQUcsWUFBWSxDQUFDLENBQUM7UUFDN0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBR08sa0JBQWtCO1FBQ3hCLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQzVDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ2pEO2FBQU07WUFDTCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztTQUNqQztJQUNILENBQUM7OEdBOUNVLGlCQUFpQixrQkFjUixlQUFlO2tIQWR4QixpQkFBaUI7OzJGQUFqQixpQkFBaUI7a0JBRDdCLFVBQVU7OzBCQWVJLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBBZGFwdHMgdGhlIG5hdGl2ZSBKUyBEYXRlIGZvciB1c2Ugd2l0aCBjZGstYmFzZWQgY29tcG9uZW50cyB0aGF0IHdvcmsgd2l0aCBkYXRlcy4gKi9cbmltcG9ydCB7TUFUX0RBVEVfTE9DQUxFLCBOYXRpdmVEYXRlQWRhcHRlcn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtMb2dnZXJGYWN0b3J5fSBmcm9tICdAZWxkZXJieXRlL3RzLWxvZ2dlcic7XG5pbXBvcnQge2NvbnZlcnQsIERhdGVUaW1lRm9ybWF0dGVyLCBEYXRlVGltZUZvcm1hdHRlckJ1aWxkZXIsIExvY2FsRGF0ZSwgUmVzb2x2ZXJTdHlsZX0gZnJvbSAnQGpzLWpvZGEvY29yZSc7XG5cbi8qKlxuICogTWFrZXMgd2VlayBzdGFydGluZyBhdCBtb25kYXkuIEZvciBleGFtcGxlIE1hdERhdGVQaWNrZXIuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDdXN0b21EYXRlQWRhcHRlciBleHRlbmRzIE5hdGl2ZURhdGVBZGFwdGVyIHtcblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlciA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBmYWxsYmFja0RhdGVGb3JtYXRzID0gWydNTS9kZC95eXl5JywgJ01NL2RkL3l5J107XG4gIHByaXZhdGUgcmVhZG9ubHkgZGF0ZUZvcm1hdHMgPSBuZXcgTWFwKFtcbiAgICBbIFwiZGUtQ0hcIiwgWydkZC5NTS55eXl5JywgJ2RkLk1NLnl5J10gXSxcbiAgICBbIFwiZGUtREVcIiwgWydkZC5NTS55eXl5JywgJ2RkLk1NLnl5J10gXSxcbiAgICBbIFwiZW4tVUtcIiwgWydkZC9NTS95eXl5JywgJ2RkL01NL3l5J10gXSxcbiAgICBbIFwiZW4tVVNcIiwgdGhpcy5mYWxsYmFja0RhdGVGb3JtYXRzIF1cbiAgXSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBtYXREYXRlTG9jYWxlOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChNQVRfREFURV9MT0NBTEUpIG1hdERhdGVMb2NhbGU6IHN0cmluZykge1xuICAgIHN1cGVyKG1hdERhdGVMb2NhbGUpO1xuICAgIHRoaXMubWF0RGF0ZUxvY2FsZSA9IG1hdERhdGVMb2NhbGU7XG4gIH1cblxuICBnZXRGaXJzdERheU9mV2VlaygpOiBudW1iZXIge1xuICAgIHJldHVybiAxO1xuICB9XG5cbiAgcGFyc2UodmFsdWU6IGFueSwgcGFyc2VGb3JtYXQ/OiBhbnkpOiBEYXRlIHwgbnVsbCB7XG4gICAgY29uc3QgZm9ybWF0cyA9IHRoaXMuZ2V0Rm9ybWF0c09mTG9jYWxlKCk7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZvcm1hdHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGZvcm1hdHRlciA9IERhdGVUaW1lRm9ybWF0dGVyLm9mUGF0dGVybihmb3JtYXRzW2ldKTtcbiAgICAgICAgcmV0dXJuIGNvbnZlcnQoTG9jYWxEYXRlLnBhcnNlKHZhbHVlLCBmb3JtYXR0ZXIpKS50b0RhdGUoKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgLy8gaWdub3JlXG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5sb2dnZXIud2FybignQ291bGQgbm90IHBhcnNlIFwiJyArIHZhbHVlICsgJ1wiIHRvIGRhdGUhJyk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuXG4gIHByaXZhdGUgZ2V0Rm9ybWF0c09mTG9jYWxlKCkge1xuICAgIGlmICh0aGlzLmRhdGVGb3JtYXRzLmhhcyh0aGlzLm1hdERhdGVMb2NhbGUpKSB7XG4gICAgICByZXR1cm4gdGhpcy5kYXRlRm9ybWF0cy5nZXQodGhpcy5tYXREYXRlTG9jYWxlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuZmFsbGJhY2tEYXRlRm9ybWF0cztcbiAgICB9XG4gIH1cblxufVxuIl19
@@ -3,7 +3,7 @@ import { DatePipe, CommonModule, AsyncPipe, NgIf, DecimalPipe, registerLocaleDat
3
3
  import * as i0 from '@angular/core';
4
4
  import { Pipe, Injectable, LOCALE_ID, Inject, NgModule, Optional, SkipSelf, Directive, Output, Input, forwardRef, ViewChild, HostBinding, ViewChildren, ContentChild, Component, ChangeDetectionStrategy, Host, APP_INITIALIZER, TemplateRef, HostListener, EventEmitter, ViewEncapsulation, InjectionToken, ContentChildren, Self } from '@angular/core';
5
5
  import * as i1 from '@angular/platform-browser';
6
- import { Duration, Period, TemporalQueries, LocalTime, Instant, LocalDate, nativeJs, ZoneId, ZonedDateTime, Temporal } from '@js-joda/core';
6
+ import { Duration, Period, TemporalQueries, LocalTime, Instant, LocalDate, nativeJs, ZoneId, DateTimeFormatter, convert, ZonedDateTime, Temporal } from '@js-joda/core';
7
7
  import { LoggerFactory } from '@elderbyte/ts-logger';
8
8
  import { timer, defer, ReplaySubject, concat, finalize, exhaustMap, BehaviorSubject, Subject, EMPTY, combineLatest, merge, of, forkJoin, throwError, mergeWith, switchMap as switchMap$1, Observable, zip, mergeMap as mergeMap$1, fromEvent, NEVER } from 'rxjs';
9
9
  import { tap, takeUntil, takeWhile, map, filter, distinctUntilChanged, debounceTime, catchError, first, take, switchMap, mergeMap, expand, reduce, startWith, skip, delay, share, combineLatestWith, timeout, skipWhile } from 'rxjs/operators';
@@ -32,7 +32,7 @@ import { MatToolbarModule } from '@angular/material/toolbar';
32
32
  import * as i17 from '@angular/material/card';
33
33
  import { MatCardModule } from '@angular/material/card';
34
34
  import * as i5 from '@angular/material/core';
35
- import { MatRippleModule, mixinColor, MatCommonModule, NativeDateAdapter, MatNativeDateModule, DateAdapter, MAT_DATE_LOCALE } from '@angular/material/core';
35
+ import { MatRippleModule, mixinColor, MatCommonModule, NativeDateAdapter, MAT_DATE_LOCALE, MatNativeDateModule, DateAdapter } from '@angular/material/core';
36
36
  import * as i5$2 from '@angular/material/button';
37
37
  import { MatButtonModule } from '@angular/material/button';
38
38
  import * as i4$2 from '@angular/material/input';
@@ -23864,19 +23864,52 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
23864
23864
  * Makes week starting at monday. For example MatDatePicker.
23865
23865
  */
23866
23866
  class CustomDateAdapter extends NativeDateAdapter {
23867
- constructor() {
23868
- super(...arguments);
23867
+ constructor(matDateLocale) {
23868
+ super(matDateLocale);
23869
23869
  this.logger = LoggerFactory.getLogger(this.constructor.name);
23870
+ this.fallbackDateFormats = ['MM/dd/yyyy', 'MM/dd/yy'];
23871
+ this.dateFormats = new Map([
23872
+ ["de-CH", ['dd.MM.yyyy', 'dd.MM.yy']],
23873
+ ["de-DE", ['dd.MM.yyyy', 'dd.MM.yy']],
23874
+ ["en-UK", ['dd/MM/yyyy', 'dd/MM/yy']],
23875
+ ["en-US", this.fallbackDateFormats]
23876
+ ]);
23877
+ this.matDateLocale = matDateLocale;
23870
23878
  }
23871
23879
  getFirstDayOfWeek() {
23872
23880
  return 1;
23873
23881
  }
23874
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: CustomDateAdapter, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
23882
+ parse(value, parseFormat) {
23883
+ const formats = this.getFormatsOfLocale();
23884
+ for (let i = 0; i < formats.length; i++) {
23885
+ try {
23886
+ const formatter = DateTimeFormatter.ofPattern(formats[i]);
23887
+ return convert(LocalDate.parse(value, formatter)).toDate();
23888
+ }
23889
+ catch (e) {
23890
+ // ignore
23891
+ }
23892
+ }
23893
+ this.logger.warn('Could not parse "' + value + '" to date!');
23894
+ return null;
23895
+ }
23896
+ getFormatsOfLocale() {
23897
+ if (this.dateFormats.has(this.matDateLocale)) {
23898
+ return this.dateFormats.get(this.matDateLocale);
23899
+ }
23900
+ else {
23901
+ return this.fallbackDateFormats;
23902
+ }
23903
+ }
23904
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: CustomDateAdapter, deps: [{ token: MAT_DATE_LOCALE }], target: i0.ɵɵFactoryTarget.Injectable }); }
23875
23905
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: CustomDateAdapter }); }
23876
23906
  }
23877
23907
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: CustomDateAdapter, decorators: [{
23878
23908
  type: Injectable
23879
- }] });
23909
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
23910
+ type: Inject,
23911
+ args: [MAT_DATE_LOCALE]
23912
+ }] }]; } });
23880
23913
 
23881
23914
  class PeriodBucket {
23882
23915
  /***************************************************************************