@sumaris-net/ngx-components 0.23.1 → 0.23.2-beta

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,12 +1,9 @@
1
- import * as i0 from '@angular/core';
2
- import { InjectionToken, EventEmitter, forwardRef, Component, ChangeDetectionStrategy, ChangeDetectorRef, Optional, Input, HostBinding, Output, ViewChild, Pipe, Injectable, Directive, NgModule, ElementRef, ViewChildren, HostListener, ComponentFactoryResolver, ApplicationRef, Injector, Inject, Renderer2 } from '@angular/core';
3
- import * as i1$3 from '@angular/common';
1
+ import { InjectionToken, EventEmitter, forwardRef, Component, ChangeDetectionStrategy, ChangeDetectorRef, Optional, Input, HostBinding, Output, ViewChild, ɵɵdefineInjectable, ɵɵinject, Pipe, Injectable, Directive, NgModule, ElementRef, ViewChildren, HostListener, ComponentFactoryResolver, ApplicationRef, INJECTOR, Injector, Inject, Renderer2 } from '@angular/core';
4
2
  import { CommonModule, DOCUMENT, Location } from '@angular/common';
5
3
  import { CdkTableModule } from '@angular/cdk/table';
6
4
  import { A11yModule } from '@angular/cdk/a11y';
7
5
  import { OverlayModule, OverlayContainer, FullscreenOverlayContainer, Overlay } from '@angular/cdk/overlay';
8
6
  import { ScrollingModule } from '@angular/cdk/scrolling';
9
- import * as i1$2 from '@angular/material/core';
10
7
  import { DateAdapter, MatCommonModule, MatRippleModule } from '@angular/material/core';
11
8
  import { MatTableModule, MatTable, MatColumnDef } from '@angular/material/table';
12
9
  import { MatSortModule, MatSort } from '@angular/material/sort';
@@ -30,21 +27,16 @@ import { MatProgressBarModule } from '@angular/material/progress-bar';
30
27
  import { MatRadioModule } from '@angular/material/radio';
31
28
  import { MatBadgeModule } from '@angular/material/badge';
32
29
  import { MatSlideToggleModule } from '@angular/material/slide-toggle';
33
- import * as i2$1 from '@angular/material/dialog';
34
30
  import { MatDialogModule, MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';
35
31
  import { MatAutocomplete, MatAutocompleteTrigger, MatAutocompleteModule, MAT_AUTOCOMPLETE_SCROLL_STRATEGY, MAT_AUTOCOMPLETE_DEFAULT_OPTIONS } from '@angular/material/autocomplete';
36
32
  import { __awaiter, __decorate } from 'tslib';
37
- import * as i1$6 from '@angular/forms';
38
33
  import { NG_VALUE_ACCESSOR, FormGroupDirective, ReactiveFormsModule, AbstractControl, Validators, FormBuilder, FormControl, FormGroup, FormArray } from '@angular/forms';
39
34
  import { timer, merge, fromEvent, Subscription, BehaviorSubject, Subject, isObservable, of, noop as noop$8, Observable, defer, concat, combineLatest, EMPTY } from 'rxjs';
40
35
  import { filter, first, map, takeUntil, startWith, debounceTime, takeWhile, switchMap, tap, distinctUntilChanged, mergeMap, catchError, throttleTime } from 'rxjs/operators';
41
- import * as i1$1 from '@ngx-translate/core';
42
36
  import { TranslateService, TranslateModule } from '@ngx-translate/core';
43
- import * as i1$4 from '@ionic/angular';
44
37
  import { IonicModule, Platform, IonRouterOutlet, ModalController, IonicSafeString, createAnimation, ToastController, AlertController, IonicRouteStrategy, NavParams, MenuController, IonContent } from '@ionic/angular';
45
38
  import * as momentImported from 'moment';
46
39
  import { isMoment } from 'moment';
47
- import * as i1 from '@angular/material-moment-adapter';
48
40
  import { MomentDateAdapter, MatMomentDateModule } from '@angular/material-moment-adapter';
49
41
  import { Keyboard } from '@ionic-native/keyboard/ngx';
50
42
  import { TextMaskModule } from 'angular2-text-mask';
@@ -54,38 +46,32 @@ import { trigger, state, style, transition, animate } from '@angular/animations'
54
46
  import { MatDividerModule } from '@angular/material/divider';
55
47
  import { MatTooltipModule } from '@angular/material/tooltip';
56
48
  import { MatChipsModule } from '@angular/material/chips';
57
- import * as i3$3 from '@angular/router';
58
49
  import { Router, RouterModule, RouteReuseStrategy, ActivatedRoute } from '@angular/router';
59
- import * as i1$5 from '@angular/platform-browser';
60
50
  import { HammerGestureConfig, EventManager } from '@angular/platform-browser';
61
- import * as i2$2 from '@angular/common/http';
62
51
  import { HttpResponse, HttpClient, HttpHeaders, HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';
63
52
  import { ColorPickerModule } from 'ngx-color-picker';
64
- import { NativeAudio } from '@ionic-native/native-audio/ngx';
65
- import { Vibration } from '@ionic-native/vibration/ngx';
53
+ import { NativeAudio as NativeAudio$1 } from '@ionic-native/native-audio/ngx';
54
+ import { Vibration as Vibration$1 } from '@ionic-native/vibration/ngx';
66
55
  import { AudioManagement } from '@ionic-native/audio-management/ngx';
67
- import * as i2 from '@ionic-native/native-audio/ngx/index';
68
- import * as i3 from '@ionic-native/vibration/ngx/index';
69
- import * as i4 from '@ionic-native/audio-management/ngx/index';
56
+ import { NativeAudio } from '@ionic-native/native-audio/ngx/index';
57
+ import { Vibration } from '@ionic-native/vibration/ngx/index';
58
+ import { AudioManagement as AudioManagement$1 } from '@ionic-native/audio-management/ngx/index';
70
59
  import * as uuidv4Imported from 'uuid/v4';
71
60
  import { DragDropModule } from '@angular/cdk/drag-drop';
72
61
  import { MarkdownModule } from 'ngx-markdown';
73
62
  import { sign, box, hash, verify } from 'tweetnacl';
74
- import * as i3$1 from '@ionic/storage';
75
63
  import { Storage, IonicStorageModule } from '@ionic/storage';
76
64
  import 'zone.js/dist/zone-error';
77
- import { SplashScreen } from '@ionic-native/splash-screen/ngx';
78
- import { Connection, Network } from '@ionic-native/network/ngx';
79
- import { CacheService, CacheModule } from 'ionic-cache';
80
- import * as i6 from 'ionic-cache/dist/cache.service';
81
- import * as i9 from '@ionic-native/network/ngx/index';
82
- import * as i10 from '@ionic-native/splash-screen/ngx/index';
83
- import { StatusBar } from '@ionic-native/status-bar/ngx';
84
- import * as i2$4 from '@angular/cdk/platform';
65
+ import { SplashScreen as SplashScreen$1 } from '@ionic-native/splash-screen/ngx';
66
+ import { Connection, Network as Network$1 } from '@ionic-native/network/ngx';
67
+ import { CacheService as CacheService$1, CacheModule } from 'ionic-cache';
68
+ import { CacheService } from 'ionic-cache/dist/cache.service';
69
+ import { Network } from '@ionic-native/network/ngx/index';
70
+ import { SplashScreen } from '@ionic-native/splash-screen/ngx/index';
71
+ import { StatusBar as StatusBar$1 } from '@ionic-native/status-bar/ngx';
85
72
  import { Platform as Platform$1 } from '@angular/cdk/platform';
86
- import { InAppBrowser } from '@ionic-native/in-app-browser/ngx';
73
+ import { InAppBrowser as InAppBrowser$1 } from '@ionic-native/in-app-browser/ngx';
87
74
  import { ApolloLink, NetworkStatus, InMemoryCache, ApolloClient, gql } from '@apollo/client/core';
88
- import * as i2$3 from 'apollo-angular';
89
75
  import { Apollo } from 'apollo-angular';
90
76
  import { WebSocketLink } from '@apollo/client/link/ws';
91
77
  import { getMainDefinition } from '@apollo/client/utilities';
@@ -93,12 +79,11 @@ import { RetryLink } from '@apollo/client/link/retry';
93
79
  import QueueLink from 'apollo-link-queue';
94
80
  import SerializingLink from 'apollo-link-serialize';
95
81
  import loggerLink from 'apollo-link-logger';
96
- import * as i3$2 from 'apollo-angular/http';
97
82
  import { HttpLink } from 'apollo-angular/http';
98
83
  import { IonicStorageWrapper, persistCache } from 'apollo3-cache-persist';
99
- import * as i14 from '@ionic-native/status-bar/ngx/index';
100
- import * as i15 from '@ionic-native/keyboard/ngx/index';
101
- import * as i17 from '@ionic-native/in-app-browser/ngx/index';
84
+ import { StatusBar } from '@ionic-native/status-bar/ngx/index';
85
+ import { Keyboard as Keyboard$1 } from '@ionic-native/keyboard/ngx/index';
86
+ import { InAppBrowser } from '@ionic-native/in-app-browser/ngx/index';
102
87
  import { ValidatorService, TableDataSource } from '@e-is/ngx-material-table';
103
88
  import { SelectionModel } from '@angular/cdk/collections';
104
89
  import { NgxJdenticonModule } from 'ngx-jdenticon';
@@ -265,10 +250,11 @@ function suggestFromArray(items, value, opts) {
265
250
  items = items.filter(v => !opts.excludedIds.includes(+v['id']));
266
251
  }
267
252
  // Sort
268
- const sortAttribute = keys && keys[0];
269
- if (sortAttribute) {
270
- items = sort(items, sortAttribute);
271
- }
253
+ items = items.sort(propertiesPathComparator(keys));
254
+ // const sortAttribute = keys && keys[0]
255
+ // if (sortAttribute) {
256
+ // items = sort(items, sortAttribute);
257
+ // }
272
258
  // Truncate if need
273
259
  const total = (items === null || items === void 0 ? void 0 : items.length) || 0;
274
260
  if (opts) {
@@ -887,19 +873,19 @@ class MatAutocompleteConfigHolder {
887
873
  return this.fields[fieldName] || this.add(fieldName);
888
874
  }
889
875
  }
890
- const DEFAULT_VALUE_ACCESSOR$6 = {
876
+ const DEFAULT_VALUE_ACCESSOR = {
891
877
  provide: NG_VALUE_ACCESSOR,
892
878
  useExisting: forwardRef(() => MatAutocompleteField),
893
879
  multi: true
894
880
  };
895
- const noop$7 = () => { };
896
- const ɵ0$a = noop$7;
881
+ const noop = () => { };
882
+ const ɵ0 = noop;
897
883
  class MatAutocompleteField {
898
884
  constructor(cd, formGroupDir) {
899
885
  this.cd = cd;
900
886
  this.formGroupDir = formGroupDir;
901
- this._onChangeCallback = noop$7;
902
- this._onTouchedCallback = noop$7;
887
+ this._onChangeCallback = noop;
888
+ this._onTouchedCallback = noop;
903
889
  this._subscription = new Subscription();
904
890
  this._filter$ = new BehaviorSubject(undefined);
905
891
  this._reload$ = new Subject();
@@ -1486,7 +1472,7 @@ MatAutocompleteField.decorators = [
1486
1472
  // eslint-disable-next-line @angular-eslint/component-selector
1487
1473
  selector: 'mat-autocomplete-field',
1488
1474
  template: "<ion-grid class=\"ion-no-padding\">\n <ion-row>\n <ion-col class=\"ion-no-padding\">\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-disabled]=\"disabled\"\n [title]=\"displayValue\">\n\n <div matPrefix><ng-content select=\"[matPrefix]\"></ng-content></div>\n\n <!-- readonly -->\n <ng-container *ngIf=\"_readonly; else writable\">\n <input matInput hidden type=\"text\"\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\" readonly>\n <ion-text>{{displayWith(value)}}</ion-text>\n </ng-container>\n\n <ng-template #writable>\n\n <!-- Basic select -->\n <mat-select #matSelect\n *ngIf=\"!searchable; else searchableTemplate\"\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\"\n [tabindex]=\"_tabindex\"\n [panelClass]=\"classList\"\n [style.width]=\"panelWidth\"\n (focus)=\"filterMatSelectFocusEvent($event)\"\n (blur)=\"filterMatSelectBlurEvent($event)\"\n (keydown.escape)=\"onKeydownEscape.emit($event)\"\n [compareWith]=\"compareWith\"\n [multiple]=\"multiple\"\n [required]=\"required\">\n <mat-select-trigger>{{ displayWith(value) }}</mat-select-trigger>\n\n <!-- header -->\n <ion-row class=\"mat-autocomplete-header ion-no-padding\">\n <ion-col *ngFor=\"let attr of displayAttributes; index as i; last as isLast\" [size]=\"displayColumnSizes[i]\" >\n <ion-label [innerHTML]=\"displayColumnNames[i] | translate\"></ion-label>\n </ion-col>\n </ion-row>\n\n <!-- None option -->\n <mat-option *ngIf=\"!required\" class=\"ion-no-padding\">\n <ion-row class=\"ion-no-padding\">\n <ion-col class=\"ion-no-padding\">\n <ion-label><i translate>COMMON.EMPTY_OPTION</i></ion-label>\n </ion-col>\n </ion-row>\n </mat-option>\n\n <ng-container *ngIf=\"$filteredItems | async; let items\">\n <!-- No item option -->\n <mat-option *ngIf=\"items | isEmptyArray\" class=\"ion-padding text-italic\" disabled>\n <ion-label>{{noResultMessage | translate}}</ion-label>\n </mat-option>\n\n <!-- options -->\n <mat-option *ngFor=\"let item of items\" [value]=\"item\" class=\"ion-no-padding\">\n <ion-row [classList]=\"item.classList\">\n <ion-col *ngFor=\"let path of displayAttributes; index as i;\"\n [size]=\"displayColumnSizes[i]\">\n <ion-text>{{item | propertyGet: path }}</ion-text>\n </ion-col>\n </ion-row>\n </mat-option>\n\n <!-- More item -->\n <mat-option *ngIf=\"_moreItemsCount\" (ngInit)=\"_initMatSelectInfiniteScroll()\"\n class=\"ion-padding\" disabled>\n <ion-skeleton-text [animated]=\"true\" style=\"width: 100%\"></ion-skeleton-text>\n </mat-option>\n </ng-container>\n </mat-select>\n </ng-template>\n\n <!--\n NOTE :\n - \"selectInputContent($event) || onFocus.emit($event)\" : call onFocus only when to the input is empty (nothing to select)\n -->\n <ng-template #searchableTemplate>\n <input matInput #matInputText type=\"text\"\n [matAutocomplete]=\"autocomplete\"\n [matAutocompletePosition]=\"matAutocompletePosition\"\n [formControl]=\"formControl\"\n [placeholder]=\"placeholder\"\n [appAutofocus]=\"autofocus\"\n [tabindex]=\"_tabindex\"\n [required]=\"required\"\n (click)=\"onClick.emit($event)\"\n (focus)=\"filterInputTextFocusInEvent($event)\"\n (blur)=\"filterInputTextBlurEvent($event)\"\n (keydown.escape)=\"onKeydownEscape.emit($event)\"\n (keyup.enter)=\"onKeyupEnter.emit($event)\"\n (keyup.arrowdown)=\"!autocomplete.opened && onDropButtonClick.emit($event)\">\n\n <!-- autocomplete -->\n <mat-autocomplete #autocomplete=\"matAutocomplete\"\n autoActiveFirstOption\n [displayWith]=\"displayWith\"\n [class]=\"classList\"\n [class.cdk-visually-hidden]=\"!searchable\"\n [panelWidth]=\"panelWidth\">\n\n <ion-row class=\"mat-autocomplete-header ion-no-padding\">\n <ion-col *ngFor=\"let attr of displayAttributes; index as i; last as last\" [size]=\"displayColumnSizes[i]\" >\n <ion-label [innerHTML]=\"displayColumnNames[i] | translate\"></ion-label>\n <ion-text color=\"light\" *ngIf=\"last && itemCount; let count \" class=\"ion-float-end ion-padding-end\"><i>{{'COMMON.RESULT_COUNT'|translate: {count: count} }}</i></ion-text>\n </ion-col>\n </ion-row>\n\n <ng-container *ngIf=\"$filteredItems | async; else loadingTemplate; let items\">\n <!-- No item option -->\n <mat-option *ngIf=\"items | isEmptyArray\" class=\"ion-padding text-italic\" disabled>\n <ion-label>{{noResultMessage | translate}}</ion-label>\n </mat-option>\n\n <mat-option *ngFor=\"let item of items\" [value]=\"item\" class=\"ion-no-padding\" >\n <ion-row [classList]=\"item.classList\">\n <ion-col *ngFor=\"let path of displayAttributes; index as i;\"\n [size]=\"displayColumnSizes[i]\">\n <ion-text [innerHTML]=\"item | propertyGet: path | highlight: { search: formControl.value, withAccent: highlightAccent }\"></ion-text>\n </ion-col>\n </ion-row>\n </mat-option>\n\n <!-- More item -->\n <mat-option *ngIf=\"_moreItemsCount\" (ngInit)=\"_initAutocompleteInfiniteScroll()\"\n class=\"ion-padding\" disabled>\n <ion-skeleton-text [animated]=\"true\" style=\"width: 100%\"></ion-skeleton-text>\n </mat-option>\n </ng-container>\n\n <!-- Loading spinner -->\n <ng-template #loadingTemplate>\n <mat-option *ngIf=\"(matInputText.value | strLength) >= suggestLengthThreshold; else waitMoreCharacterTemplate\"\n class=\"ion-padding\" disabled>\n <ion-skeleton-text [animated]=\"true\" style=\"width: 100%\"></ion-skeleton-text>\n </mat-option>\n </ng-template>\n\n <!-- Need more characters -->\n <ng-template #waitMoreCharacterTemplate>\n <mat-option class=\"ion-padding text-italic\" disabled>\n <ion-label>\n {{'INFO.PLEASE_TYPE_MORE_CHARACTERS'|translate:{minLength: suggestLengthThreshold} }}\n </ion-label>\n </mat-option>\n </ng-template>\n </mat-autocomplete>\n\n </ng-template>\n\n\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"searchable\"\n (click)=\"onDropButtonClick.emit($event)\"\n [hidden]=\"disabled\">\n <mat-icon class=\"large select-arrow\">arrow_drop_down</mat-icon>\n </button>\n <button matSuffix type=\"button\" mat-icon-button tabindex=\"-1\"\n *ngIf=\"enabled && mobile && !searchable && !multiple\"\n [title]=\"'COMMON.BTN_SEARCH'|translate\"\n (click)=\"toggleSearch($event)\">\n <mat-icon>search</mat-icon>\n </button>\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"clearValue($event)\"\n [hidden]=\"disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n\n <ng-content matSuffix select=\"[matSuffix]\"></ng-content>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"formControl.hasError('entity')\" translate>ERROR.FIELD_INVALID</mat-error>\n <ng-content select=\"[matError]\"></ng-content>\n\n </mat-form-field>\n </ion-col>\n <ion-col size=\"auto\" class=\"ion-align-self-center\">\n <ng-content select=\"[matAfter]\"></ng-content>\n </ion-col>\n </ion-row>\n\n</ion-grid>\n",
1489
- providers: [DEFAULT_VALUE_ACCESSOR$6],
1475
+ providers: [DEFAULT_VALUE_ACCESSOR],
1490
1476
  changeDetection: ChangeDetectionStrategy.OnPush,
1491
1477
  styles: [":host{display:inline-block;position:relative}:host.ion-text-wrap ion-label{white-space:normal!important}button[hidden]{display:none}mat-icon.select-arrow{color:rgba(0,0,0,.47);font-size:150%}.fact-scroll-viewport{height:100%;width:100%}.fact-item{height:54px;display:flex}.fact-item .fact-date{min-width:100px;text-align:center;font-size:24pt}.fact-item .fact-date,.fact-item .fact-text{height:100%;align-items:center;justify-content:center;display:flex}.fact-item .fact-text{border-radius:10px}cdk-virtual-scroll-viewport{border:1px solid #000}cdk-virtual-scroll-viewport li{list-style:none}"]
1492
1478
  },] }
@@ -1563,7 +1549,7 @@ class DateFormatPipe {
1563
1549
  return this.dateAdapter.format(date, displayFormat);
1564
1550
  }
1565
1551
  }
1566
- DateFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DateFormatPipe_Factory() { return new DateFormatPipe(i0.ɵɵinject(i1.MomentDateAdapter), i0.ɵɵinject(i1$1.TranslateService)); }, token: DateFormatPipe, providedIn: "root" });
1552
+ DateFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateFormatPipe_Factory() { return new DateFormatPipe(ɵɵinject(MomentDateAdapter), ɵɵinject(TranslateService)); }, token: DateFormatPipe, providedIn: "root" });
1567
1553
  DateFormatPipe.decorators = [
1568
1554
  { type: Pipe, args: [{
1569
1555
  name: 'dateFormat'
@@ -1575,7 +1561,7 @@ DateFormatPipe.ctorParameters = () => [
1575
1561
  { type: TranslateService }
1576
1562
  ];
1577
1563
 
1578
- const moment$6 = momentImported;
1564
+ const moment = momentImported;
1579
1565
  class DateDiffDurationPipe {
1580
1566
  constructor(dateAdapter, translate) {
1581
1567
  this.dateAdapter = dateAdapter;
@@ -1591,17 +1577,17 @@ class DateDiffDurationPipe {
1591
1577
  return this.format(startDate, endDate);
1592
1578
  }
1593
1579
  format(startDate, endDate) {
1594
- const duration = moment$6.duration(endDate.diff(startDate));
1580
+ const duration = moment.duration(endDate.diff(startDate));
1595
1581
  if (duration.asMinutes() < 0)
1596
1582
  return '';
1597
- const timeDuration = moment$6(0)
1583
+ const timeDuration = moment(0)
1598
1584
  .hour(duration.hours())
1599
1585
  .minute(duration.minutes());
1600
1586
  const days = Math.floor(duration.asDays());
1601
1587
  return (days > 0 ? days.toString() + (this.dayUnit + ' ') : '') + timeDuration.format('HH:mm');
1602
1588
  }
1603
1589
  }
1604
- DateDiffDurationPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DateDiffDurationPipe_Factory() { return new DateDiffDurationPipe(i0.ɵɵinject(i1$2.DateAdapter), i0.ɵɵinject(i1$1.TranslateService)); }, token: DateDiffDurationPipe, providedIn: "root" });
1590
+ DateDiffDurationPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateDiffDurationPipe_Factory() { return new DateDiffDurationPipe(ɵɵinject(DateAdapter), ɵɵinject(TranslateService)); }, token: DateDiffDurationPipe, providedIn: "root" });
1605
1591
  DateDiffDurationPipe.decorators = [
1606
1592
  { type: Pipe, args: [{
1607
1593
  name: 'dateDiffDuration'
@@ -1622,7 +1608,7 @@ class DateFromNowPipe {
1622
1608
  return date ? date.fromNow(args && args.withoutSuffix) : '';
1623
1609
  }
1624
1610
  }
1625
- DateFromNowPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DateFromNowPipe_Factory() { return new DateFromNowPipe(i0.ɵɵinject(i1.MomentDateAdapter)); }, token: DateFromNowPipe, providedIn: "root" });
1611
+ DateFromNowPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateFromNowPipe_Factory() { return new DateFromNowPipe(ɵɵinject(MomentDateAdapter)); }, token: DateFromNowPipe, providedIn: "root" });
1626
1612
  DateFromNowPipe.decorators = [
1627
1613
  { type: Pipe, args: [{
1628
1614
  name: 'dateFromNow'
@@ -1691,7 +1677,7 @@ function formatToDD(value, opts) {
1691
1677
  value *= -1;
1692
1678
  }
1693
1679
  }
1694
- let degrees = roundFloat$1(value, opts.maxDecimals).toString();
1680
+ let degrees = roundFloat(value, opts.maxDecimals).toString();
1695
1681
  // Add sign
1696
1682
  let sign = negative ? '-' : '+';
1697
1683
  if (opts.placeholderChar) {
@@ -1742,7 +1728,7 @@ function formatToDDMMSS(value, opts) {
1742
1728
  }
1743
1729
  let degrees = Math.trunc(value);
1744
1730
  let minutes = Math.trunc((value - degrees) * 60);
1745
- let seconds = roundFloat$1(((value - degrees) * 60 - minutes) * 60, opts.maxDecimals);
1731
+ let seconds = roundFloat(((value - degrees) * 60 - minutes) * 60, opts.maxDecimals);
1746
1732
  while (seconds >= 60) {
1747
1733
  seconds -= 60;
1748
1734
  minutes += 1;
@@ -1810,7 +1796,7 @@ function formatToDDMM(value, opts) {
1810
1796
  }
1811
1797
  }
1812
1798
  let degrees = Math.trunc(value);
1813
- let minutes = roundFloat$1((value - degrees) * 60, opts.maxDecimals);
1799
+ let minutes = roundFloat((value - degrees) * 60, opts.maxDecimals);
1814
1800
  while (minutes >= 60) {
1815
1801
  minutes -= 60;
1816
1802
  degrees += 1;
@@ -1861,15 +1847,15 @@ function parseLatitudeOrLongitude(input, pattern, maxDecimals, placeholderChar)
1861
1847
  return NaN;
1862
1848
  }
1863
1849
  if (pattern === 'DD')
1864
- return roundFloat$1(degrees, maxDecimals);
1850
+ return roundFloat(degrees, maxDecimals);
1865
1851
  const minutes = (pattern === 'DDMMSS' || pattern === 'DDMM') && parts[1] && parseFloat(parts[1].replace(/,/g, '.')) || 0;
1866
1852
  const seconds = (pattern === 'DDMMSS') && parts[2] && parseFloat(parts[2].replace(/,/g, '.')) || 0;
1867
1853
  const direction = ((pattern === 'DDMMSS') && parts[3]) || ((pattern === 'DDMM') && parts[2]) || undefined;
1868
1854
  const sign = (direction && (direction === 's' || direction === 'S' || direction === 'w' || direction === 'W')) ? -1 : 1;
1869
1855
  degrees = sign * (degrees + minutes / 60 + seconds / (60 * 60));
1870
- return roundFloat$1(degrees, maxDecimals);
1856
+ return roundFloat(degrees, maxDecimals);
1871
1857
  }
1872
- function roundFloat$1(input, maxDecimals) {
1858
+ function roundFloat(input, maxDecimals) {
1873
1859
  if (maxDecimals > 0) {
1874
1860
  const powDecimal = Math.pow(10, maxDecimals);
1875
1861
  return Math.trunc(input * powDecimal + 0.5) / powDecimal;
@@ -1889,7 +1875,7 @@ class LatLongFormatPipe {
1889
1875
  return ((!args.type || args.type !== 'latitude') ? formatLongitude : formatLatitude)(value, args);
1890
1876
  }
1891
1877
  }
1892
- LatLongFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LatLongFormatPipe_Factory() { return new LatLongFormatPipe(); }, token: LatLongFormatPipe, providedIn: "root" });
1878
+ LatLongFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LatLongFormatPipe_Factory() { return new LatLongFormatPipe(); }, token: LatLongFormatPipe, providedIn: "root" });
1893
1879
  LatLongFormatPipe.decorators = [
1894
1880
  { type: Pipe, args: [{
1895
1881
  name: 'latLongFormat'
@@ -1901,7 +1887,7 @@ class LatitudeFormatPipe {
1901
1887
  this.transform = formatLatitude;
1902
1888
  }
1903
1889
  }
1904
- LatitudeFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LatitudeFormatPipe_Factory() { return new LatitudeFormatPipe(); }, token: LatitudeFormatPipe, providedIn: "root" });
1890
+ LatitudeFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LatitudeFormatPipe_Factory() { return new LatitudeFormatPipe(); }, token: LatitudeFormatPipe, providedIn: "root" });
1905
1891
  LatitudeFormatPipe.decorators = [
1906
1892
  { type: Pipe, args: [{
1907
1893
  name: 'latitudeFormat'
@@ -1913,7 +1899,7 @@ class LongitudeFormatPipe {
1913
1899
  this.transform = formatLongitude;
1914
1900
  }
1915
1901
  }
1916
- LongitudeFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LongitudeFormatPipe_Factory() { return new LongitudeFormatPipe(); }, token: LongitudeFormatPipe, providedIn: "root" });
1902
+ LongitudeFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LongitudeFormatPipe_Factory() { return new LongitudeFormatPipe(); }, token: LongitudeFormatPipe, providedIn: "root" });
1917
1903
  LongitudeFormatPipe.decorators = [
1918
1904
  { type: Pipe, args: [{
1919
1905
  name: 'longitudeFormat'
@@ -1933,7 +1919,7 @@ class NumberFormatPipe {
1933
1919
  }
1934
1920
  }
1935
1921
  }
1936
- NumberFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function NumberFormatPipe_Factory() { return new NumberFormatPipe(); }, token: NumberFormatPipe, providedIn: "root" });
1922
+ NumberFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function NumberFormatPipe_Factory() { return new NumberFormatPipe(); }, token: NumberFormatPipe, providedIn: "root" });
1937
1923
  NumberFormatPipe.decorators = [
1938
1924
  { type: Pipe, args: [{
1939
1925
  name: 'numberFormat'
@@ -1973,7 +1959,7 @@ class HighlightPipe {
1973
1959
  }
1974
1960
  }
1975
1961
  }
1976
- HighlightPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function HighlightPipe_Factory() { return new HighlightPipe(); }, token: HighlightPipe, providedIn: "root" });
1962
+ HighlightPipe.ɵprov = ɵɵdefineInjectable({ factory: function HighlightPipe_Factory() { return new HighlightPipe(); }, token: HighlightPipe, providedIn: "root" });
1977
1963
  HighlightPipe.decorators = [
1978
1964
  { type: Pipe, args: [{
1979
1965
  name: 'highlight'
@@ -2038,7 +2024,7 @@ FileSizePipe.decorators = [
2038
2024
  { type: Pipe, args: [{ name: 'fileSize' },] }
2039
2025
  ];
2040
2026
 
2041
- const moment$5 = momentImported;
2027
+ const moment$1 = momentImported;
2042
2028
  const DATE_UNIX_TIMESTAMP = 'X';
2043
2029
  const DATE_UNIX_MS_TIMESTAMP = 'x';
2044
2030
  class DateUtils {
@@ -2072,32 +2058,32 @@ function fromDateISOString(value) {
2072
2058
  if (!value || isMoment(value))
2073
2059
  return value;
2074
2060
  // Parse the input value, as a ISO date time
2075
- const date = moment$5(value, DATE_ISO_PATTERN);
2061
+ const date = moment$1(value, DATE_ISO_PATTERN);
2076
2062
  if (date.isValid())
2077
2063
  return date;
2078
2064
  // Not valid: trying to convert from unix timestamp
2079
2065
  if (typeof value === 'string') {
2080
2066
  console.warn('Wrong date format - Trying to convert from local time: ' + value);
2081
2067
  if (value.length === 10) {
2082
- return moment$5(value, DATE_UNIX_TIMESTAMP);
2068
+ return moment$1(value, DATE_UNIX_TIMESTAMP);
2083
2069
  }
2084
2070
  else if (value.length === 13) {
2085
- return moment$5(value, DATE_UNIX_MS_TIMESTAMP);
2071
+ return moment$1(value, DATE_UNIX_MS_TIMESTAMP);
2086
2072
  }
2087
2073
  }
2088
2074
  console.warn('Unable to parse date: ' + value);
2089
2075
  return undefined;
2090
2076
  }
2091
2077
  function fromUnixTimestamp(timeInSec) {
2092
- return moment$5(timeInSec, DATE_UNIX_TIMESTAMP);
2078
+ return moment$1(timeInSec, DATE_UNIX_TIMESTAMP);
2093
2079
  }
2094
2080
  function fromUnixMsTimestamp(timeInMs) {
2095
- return moment$5(timeInMs, DATE_UNIX_MS_TIMESTAMP);
2081
+ return moment$1(timeInMs, DATE_UNIX_MS_TIMESTAMP);
2096
2082
  }
2097
2083
  function toDuration(value, unit) {
2098
2084
  if (!value)
2099
2085
  return undefined;
2100
- const duration = moment$5.duration(value, unit);
2086
+ const duration = moment$1.duration(value, unit);
2101
2087
  // fix 990+ ms
2102
2088
  if (duration.milliseconds() >= 990) {
2103
2089
  duration.add(1000 - duration.milliseconds(), 'ms');
@@ -2126,7 +2112,7 @@ class DurationPipe {
2126
2112
  return (days > 0 ? days.toString() + (this.dayUnit + ' ') : '') + hour + ':' + minute;
2127
2113
  }
2128
2114
  }
2129
- DurationPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DurationPipe_Factory() { return new DurationPipe(i0.ɵɵinject(i1$1.TranslateService)); }, token: DurationPipe, providedIn: "root" });
2115
+ DurationPipe.ɵprov = ɵɵdefineInjectable({ factory: function DurationPipe_Factory() { return new DurationPipe(ɵɵinject(TranslateService)); }, token: DurationPipe, providedIn: "root" });
2130
2116
  DurationPipe.decorators = [
2131
2117
  { type: Pipe, args: [{
2132
2118
  name: 'duration'
@@ -2147,7 +2133,7 @@ class MathAbsPipe {
2147
2133
  }
2148
2134
  }
2149
2135
  }
2150
- MathAbsPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MathAbsPipe_Factory() { return new MathAbsPipe(); }, token: MathAbsPipe, providedIn: "root" });
2136
+ MathAbsPipe.ɵprov = ɵɵdefineInjectable({ factory: function MathAbsPipe_Factory() { return new MathAbsPipe(); }, token: MathAbsPipe, providedIn: "root" });
2151
2137
  MathAbsPipe.decorators = [
2152
2138
  { type: Pipe, args: [{
2153
2139
  name: 'mathAbs'
@@ -2159,7 +2145,7 @@ class EvenPipe {
2159
2145
  return val % 2 === 0;
2160
2146
  }
2161
2147
  }
2162
- EvenPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function EvenPipe_Factory() { return new EvenPipe(); }, token: EvenPipe, providedIn: "root" });
2148
+ EvenPipe.ɵprov = ɵɵdefineInjectable({ factory: function EvenPipe_Factory() { return new EvenPipe(); }, token: EvenPipe, providedIn: "root" });
2163
2149
  EvenPipe.decorators = [
2164
2150
  { type: Pipe, args: [{
2165
2151
  name: 'even'
@@ -2171,7 +2157,7 @@ class OddPipe {
2171
2157
  return val % 2 !== 0;
2172
2158
  }
2173
2159
  }
2174
- OddPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function OddPipe_Factory() { return new OddPipe(); }, token: OddPipe, providedIn: "root" });
2160
+ OddPipe.ɵprov = ɵɵdefineInjectable({ factory: function OddPipe_Factory() { return new OddPipe(); }, token: OddPipe, providedIn: "root" });
2175
2161
  OddPipe.decorators = [
2176
2162
  { type: Pipe, args: [{
2177
2163
  name: 'odd'
@@ -2279,7 +2265,7 @@ class MapGetPipe {
2279
2265
  return val[key];
2280
2266
  }
2281
2267
  }
2282
- MapGetPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapGetPipe_Factory() { return new MapGetPipe(); }, token: MapGetPipe, providedIn: "root" });
2268
+ MapGetPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapGetPipe_Factory() { return new MapGetPipe(); }, token: MapGetPipe, providedIn: "root" });
2283
2269
  MapGetPipe.decorators = [
2284
2270
  { type: Pipe, args: [{
2285
2271
  name: 'mapGet'
@@ -2293,7 +2279,7 @@ class MapKeysPipe {
2293
2279
  return Object.keys(map);
2294
2280
  }
2295
2281
  }
2296
- MapKeysPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapKeysPipe_Factory() { return new MapKeysPipe(); }, token: MapKeysPipe, providedIn: "root" });
2282
+ MapKeysPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapKeysPipe_Factory() { return new MapKeysPipe(); }, token: MapKeysPipe, providedIn: "root" });
2297
2283
  MapKeysPipe.decorators = [
2298
2284
  { type: Pipe, args: [{
2299
2285
  name: 'mapKeys'
@@ -2307,7 +2293,7 @@ class MapValuesPipe {
2307
2293
  return Object.values(map);
2308
2294
  }
2309
2295
  }
2310
- MapValuesPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapValuesPipe_Factory() { return new MapValuesPipe(); }, token: MapValuesPipe, providedIn: "root" });
2296
+ MapValuesPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapValuesPipe_Factory() { return new MapValuesPipe(); }, token: MapValuesPipe, providedIn: "root" });
2311
2297
  MapValuesPipe.decorators = [
2312
2298
  { type: Pipe, args: [{
2313
2299
  name: 'mapValues'
@@ -2320,7 +2306,7 @@ class IsNotNilOrBlankPipe {
2320
2306
  return isNotNilOrBlank(value);
2321
2307
  }
2322
2308
  }
2323
- IsNotNilOrBlankPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNotNilOrBlankPipe_Factory() { return new IsNotNilOrBlankPipe(); }, token: IsNotNilOrBlankPipe, providedIn: "root" });
2309
+ IsNotNilOrBlankPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNotNilOrBlankPipe_Factory() { return new IsNotNilOrBlankPipe(); }, token: IsNotNilOrBlankPipe, providedIn: "root" });
2324
2310
  IsNotNilOrBlankPipe.decorators = [
2325
2311
  { type: Pipe, args: [{
2326
2312
  name: 'isNotNilOrBlank'
@@ -2332,7 +2318,7 @@ class IsNilOrBlankPipe {
2332
2318
  return isNilOrBlank(value);
2333
2319
  }
2334
2320
  }
2335
- IsNilOrBlankPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNilOrBlankPipe_Factory() { return new IsNilOrBlankPipe(); }, token: IsNilOrBlankPipe, providedIn: "root" });
2321
+ IsNilOrBlankPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNilOrBlankPipe_Factory() { return new IsNilOrBlankPipe(); }, token: IsNilOrBlankPipe, providedIn: "root" });
2336
2322
  IsNilOrBlankPipe.decorators = [
2337
2323
  { type: Pipe, args: [{
2338
2324
  name: 'isNilOrBlank'
@@ -2344,7 +2330,7 @@ class ToStringPipe {
2344
2330
  return (value !== null && value !== undefined) ? value.toString() : '';
2345
2331
  }
2346
2332
  }
2347
- ToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function ToStringPipe_Factory() { return new ToStringPipe(); }, token: ToStringPipe, providedIn: "root" });
2333
+ ToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function ToStringPipe_Factory() { return new ToStringPipe(); }, token: ToStringPipe, providedIn: "root" });
2348
2334
  ToStringPipe.decorators = [
2349
2335
  { type: Pipe, args: [{
2350
2336
  name: 'toString'
@@ -2356,7 +2342,7 @@ class StrLengthPipe {
2356
2342
  return value && value.length || 0;
2357
2343
  }
2358
2344
  }
2359
- StrLengthPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function StrLengthPipe_Factory() { return new StrLengthPipe(); }, token: StrLengthPipe, providedIn: "root" });
2345
+ StrLengthPipe.ɵprov = ɵɵdefineInjectable({ factory: function StrLengthPipe_Factory() { return new StrLengthPipe(); }, token: StrLengthPipe, providedIn: "root" });
2360
2346
  StrLengthPipe.decorators = [
2361
2347
  { type: Pipe, args: [{
2362
2348
  name: 'strLength'
@@ -2407,7 +2393,7 @@ class TranslateContextService {
2407
2393
  : parts.slice(0, parts.length - 1).concat(context + parts[parts.length - 1]).join('.');
2408
2394
  }
2409
2395
  }
2410
- TranslateContextService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TranslateContextService_Factory() { return new TranslateContextService(i0.ɵɵinject(i1$1.TranslateService)); }, token: TranslateContextService, providedIn: "root" });
2396
+ TranslateContextService.ɵprov = ɵɵdefineInjectable({ factory: function TranslateContextService_Factory() { return new TranslateContextService(ɵɵinject(TranslateService)); }, token: TranslateContextService, providedIn: "root" });
2411
2397
  TranslateContextService.decorators = [
2412
2398
  { type: Injectable, args: [{ providedIn: 'root' },] }
2413
2399
  ];
@@ -2423,7 +2409,7 @@ class TranslateContextPipe {
2423
2409
  return this.translateContext.instant(key, context);
2424
2410
  }
2425
2411
  }
2426
- TranslateContextPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function TranslateContextPipe_Factory() { return new TranslateContextPipe(i0.ɵɵinject(TranslateContextService)); }, token: TranslateContextPipe, providedIn: "root" });
2412
+ TranslateContextPipe.ɵprov = ɵɵdefineInjectable({ factory: function TranslateContextPipe_Factory() { return new TranslateContextPipe(ɵɵinject(TranslateContextService)); }, token: TranslateContextPipe, providedIn: "root" });
2427
2413
  TranslateContextPipe.decorators = [
2428
2414
  { type: Pipe, args: [{
2429
2415
  name: 'translateContext'
@@ -2440,7 +2426,7 @@ class TranslatablePipe {
2440
2426
  return (_a = changeCaseToUnderscore(value)) === null || _a === void 0 ? void 0 : _a.toUpperCase();
2441
2427
  }
2442
2428
  }
2443
- TranslatablePipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function TranslatablePipe_Factory() { return new TranslatablePipe(); }, token: TranslatablePipe, providedIn: "root" });
2429
+ TranslatablePipe.ɵprov = ɵɵdefineInjectable({ factory: function TranslatablePipe_Factory() { return new TranslatablePipe(); }, token: TranslatablePipe, providedIn: "root" });
2444
2430
  TranslatablePipe.decorators = [
2445
2431
  { type: Pipe, args: [{
2446
2432
  name: 'translatable'
@@ -2457,7 +2443,7 @@ class PropertyGetPipe {
2457
2443
  args && args.defaultValue);
2458
2444
  }
2459
2445
  }
2460
- PropertyGetPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function PropertyGetPipe_Factory() { return new PropertyGetPipe(); }, token: PropertyGetPipe, providedIn: "root" });
2446
+ PropertyGetPipe.ɵprov = ɵɵdefineInjectable({ factory: function PropertyGetPipe_Factory() { return new PropertyGetPipe(); }, token: PropertyGetPipe, providedIn: "root" });
2461
2447
  PropertyGetPipe.decorators = [
2462
2448
  { type: Pipe, args: [{
2463
2449
  name: 'propertyGet'
@@ -2701,12 +2687,12 @@ SharedMatAutocompleteModule.decorators = [
2701
2687
  },] }
2702
2688
  ];
2703
2689
 
2704
- const moment$4 = momentImported;
2690
+ const moment$2 = momentImported;
2705
2691
  // @dynamic
2706
2692
  class SharedValidators {
2707
2693
  static validDate(control) {
2708
2694
  const value = control.value;
2709
- const date = !value || moment$4.isMoment(value) ? value : moment$4(control.value, DATE_ISO_PATTERN);
2695
+ const date = !value || moment$2.isMoment(value) ? value : moment$2(control.value, DATE_ISO_PATTERN);
2710
2696
  if (date && (!date.isValid() || date.year() < 1970)) {
2711
2697
  return { validDate: true };
2712
2698
  }
@@ -3148,9 +3134,9 @@ function parseDuration(input, maxDecimals, placeholderChar) {
3148
3134
  const hour = parseInt(durationParts[0] || '0');
3149
3135
  const minute = parseInt(durationParts[1] || '0');
3150
3136
  const value = hour + (minute + 0.5) / 60;
3151
- return roundFloat(value, maxDecimals);
3137
+ return roundFloat$1(value, maxDecimals);
3152
3138
  }
3153
- function roundFloat(input, maxDecimals) {
3139
+ function roundFloat$1(input, maxDecimals) {
3154
3140
  if (maxDecimals > 0) {
3155
3141
  const powDecimal = Math.pow(10, maxDecimals);
3156
3142
  return Math.trunc(input * powDecimal + 0.5) / powDecimal;
@@ -3174,9 +3160,9 @@ const MASKS = {
3174
3160
  DD: [/[+-]/, /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, '°']
3175
3161
  }
3176
3162
  };
3177
- const noop$6 = () => {
3163
+ const noop$1 = () => {
3178
3164
  };
3179
- const ɵ0$9 = noop$6;
3165
+ const ɵ0$1 = noop$1;
3180
3166
  class MatLatLongField {
3181
3167
  constructor(platform, translate, formBuilder, cd, formGroupDir) {
3182
3168
  this.platform = platform;
@@ -3184,8 +3170,8 @@ class MatLatLongField {
3184
3170
  this.formBuilder = formBuilder;
3185
3171
  this.cd = cd;
3186
3172
  this.formGroupDir = formGroupDir;
3187
- this._onChangeCallback = noop$6;
3188
- this._onTouchedCallback = noop$6;
3173
+ this._onChangeCallback = noop$1;
3174
+ this._onTouchedCallback = noop$1;
3189
3175
  this._subscription = new Subscription();
3190
3176
  this.disabling = false;
3191
3177
  this.writing = false;
@@ -3526,14 +3512,14 @@ SharedMatLatLongModule.decorators = [
3526
3512
  },] }
3527
3513
  ];
3528
3514
 
3529
- const DEFAULT_VALUE_ACCESSOR$5 = {
3515
+ const DEFAULT_VALUE_ACCESSOR$1 = {
3530
3516
  provide: NG_VALUE_ACCESSOR,
3531
3517
  useExisting: forwardRef(() => MatDate),
3532
3518
  multi: true
3533
3519
  };
3534
- const DAY_MASK$2 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
3535
- const noop$5 = () => { };
3536
- const ɵ0$8 = noop$5;
3520
+ const DAY_MASK = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
3521
+ const noop$2 = () => { };
3522
+ const ɵ0$2 = noop$2;
3537
3523
  class MatDate {
3538
3524
  constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
3539
3525
  this.dateAdapter = dateAdapter;
@@ -3542,12 +3528,12 @@ class MatDate {
3542
3528
  this.cd = cd;
3543
3529
  this.keyboard = keyboard;
3544
3530
  this.formGroupDir = formGroupDir;
3545
- this._onChangeCallback = noop$5;
3546
- this._onTouchedCallback = noop$5;
3531
+ this._onChangeCallback = noop$2;
3532
+ this._onTouchedCallback = noop$2;
3547
3533
  this._subscription = new Subscription();
3548
3534
  this.writing = true;
3549
3535
  this.disabling = false;
3550
- this.dayMask = DAY_MASK$2;
3536
+ this.dayMask = DAY_MASK;
3551
3537
  this.disabled = false;
3552
3538
  this.floatLabel = 'auto';
3553
3539
  this.readonly = false;
@@ -3784,7 +3770,7 @@ MatDate.decorators = [
3784
3770
  selector: 'mat-date-field',
3785
3771
  template: "<!-- readonly -->\n<mat-form-field *ngIf=\"readonly else writable\">\n <input matInput hidden type=\"text\" readonly=\"true\" [formControl]=\"formControl\">\n <ion-text>{{formControl.value|dateFormat: {pattern: displayPattern} }}</ion-text>\n</mat-form-field>\n\n<ng-template #writable>\n <mat-form-field [floatLabel]=\"floatLabel\">\n\n <mat-label>{{placeholder}}</mat-label>\n\n <div matPrefix><ng-content select=\"[matPrefix]\"></ng-content></div>\n\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"!mobile\"\n [formControl]=\"dayControl\"\n [textMask]=\"{mask: dayMask, keepCharPositions: true, placeholderChar: placeholderChar}\"\n [placeholder]=\"'COMMON.DATE_PLACEHOLDER'|translate\"\n (blur)=\"checkIfTouched()\"\n (keyup.arrowdown)=\"openDatePicker($event, datePicker)\"\n (keyup.escape)=\"preventEvent($event)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n [appAutofocus]=\"autofocus\">\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"mobile\"\n [formControl]=\"dayControl\"\n (click)=\"openDatePickerIfMobile($event, datePicker)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n readonly>\n\n <!-- Hide the final control -->\n <input matInput type=\"text\"\n [formControl]=\"formControl\"\n hidden\n [matDatepicker]=\"datePicker\"\n (dateChange)=\"onDatePickerChange($event)\">\n\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n (click)=\"openDatePicker($event, datePicker)\"\n [disabled]=\"formControl.disabled\">\n <div *ngIf=\"mobile; then iconDate; else iconDesktop\"></div>\n </button>\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"writeValue(null)\"\n [hidden]=\"formControl.disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"formControl.hasError('validDate')\" translate>ERROR.FIELD_NOT_VALID_DATE</mat-error>\n <mat-error *ngIf=\"formControl.hasError('dateIsAfter')\">{{'ERROR.FIELD_NOT_VALID_DATE_AFTER' | translate: formControl.errors.dateIsAfter }}</mat-error>\n <mat-error *ngIf=\"formControl.hasError('dateRange')\" translate>ERROR.FIELD_NOT_VALID_DATE_RANGE</mat-error>\n <mat-error *ngIf=\"!formControl.hasError('dateRange') && formControl.hasError('dateMaxDuration')\" translate>ERROR.FIELD_NOT_VALID_DATE_MAX_DURATION</mat-error>\n <mat-error *ngIf=\"!formControl.hasError('dateRange') && formControl.hasError('dateMinDuration')\" translate>ERROR.FIELD_NOT_VALID_DATE_MIN_DURATION</mat-error>\n <mat-error *ngIf=\"formControl.hasError('msg')\">{{formControl.errors.msg}}</mat-error>\n </mat-form-field>\n\n <mat-datepicker #datePicker\n [touchUi]=\"mobile\"\n [disabled]=\"formControl.disabled\"\n [startAt]=\"startDate\"></mat-datepicker>\n\n <ng-template #iconDesktop>\n <mat-icon>keyboard_arrow_down</mat-icon>\n </ng-template>\n\n <ng-template #iconDate>\n <mat-icon>date_range</mat-icon>\n </ng-template>\n\n</ng-template>\n\n",
3786
3772
  providers: [
3787
- DEFAULT_VALUE_ACCESSOR$5,
3773
+ DEFAULT_VALUE_ACCESSOR$1,
3788
3774
  ],
3789
3775
  changeDetection: ChangeDetectionStrategy.OnPush,
3790
3776
  styles: [":host{display:inline-block;width:100%;position:relative}:host [no-padding]{--ion-grid-column-padding:0}:host [nowrap]{flex-wrap:nowrap}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}mat-form-field .datetime-md,mat-form-field ion-datetime{padding:0!important}ion-col.day{min-width:100px}ion-col.day .mat-form-field-subscript-wrapper{overflow:visible;right:-64px;width:calc(100% + 64px)}ion-col.day .mat-form-field-subscript-wrapper .mat-form-field-hint-wrapper{display:flex}ion-col.day .mat-form-field-subscript-wrapper .mat-form-field-hint-wrapper .mat-form-field-hint-spacer{flex:1 0 1em}ion-col.hour{min-width:55px;max-width:65px}ion-col.hour mat-form-field{width:100%}ion-col.hour mat-form-field input[type=text],ion-col.hour mat-form-field mat-label{text-align:left;min-width:50px}mat-form-field.mat-form-field-disabled ion-col.day{min-width:100px}.hour .mat-form-field-label{max-width:40px}.hour mat-form-field.mat-form-field-should-float .mat-form-field-placeholder{max-width:inherit}mat-error{text-align:right;width:100%}"]
@@ -3817,17 +3803,17 @@ MatDate.propDecorators = {
3817
3803
  matInputs: [{ type: ViewChildren, args: ['matInput',] }]
3818
3804
  };
3819
3805
 
3820
- const DEFAULT_VALUE_ACCESSOR$4 = {
3806
+ const DEFAULT_VALUE_ACCESSOR$2 = {
3821
3807
  provide: NG_VALUE_ACCESSOR,
3822
3808
  useExisting: forwardRef(() => MatDateTime),
3823
3809
  multi: true
3824
3810
  };
3825
3811
  const DAY_MASK$1 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
3826
3812
  const HOUR_REGEXP = /^[012][0-9][:][012345][0-9]$/;
3827
- const HOUR_MASK$1 = [/[012]/, /\d/, ':', /[012345]/, /\d/];
3828
- const noop$4 = () => {
3813
+ const HOUR_MASK = [/[012]/, /\d/, ':', /[012345]/, /\d/];
3814
+ const noop$3 = () => {
3829
3815
  };
3830
- const ɵ0$7 = noop$4;
3816
+ const ɵ0$3 = noop$3;
3831
3817
  class MatDateTime {
3832
3818
  constructor(platform, dateAdapter, translate, formBuilder, keyboard, cd, formGroupDir) {
3833
3819
  this.platform = platform;
@@ -3837,14 +3823,14 @@ class MatDateTime {
3837
3823
  this.keyboard = keyboard;
3838
3824
  this.cd = cd;
3839
3825
  this.formGroupDir = formGroupDir;
3840
- this._onChangeCallback = noop$4;
3841
- this._onTouchedCallback = noop$4;
3826
+ this._onChangeCallback = noop$3;
3827
+ this._onTouchedCallback = noop$3;
3842
3828
  this._subscription = new Subscription();
3843
3829
  this.writing = true;
3844
3830
  this.disabling = false;
3845
3831
  this._onDestroy = new EventEmitter();
3846
3832
  this.dayMask = DAY_MASK$1;
3847
- this.hourMask = HOUR_MASK$1;
3833
+ this.hourMask = HOUR_MASK;
3848
3834
  this.floatLabel = 'auto';
3849
3835
  this.readonly = false;
3850
3836
  this.compact = false;
@@ -4150,7 +4136,7 @@ MatDateTime.decorators = [
4150
4136
  selector: 'mat-date-time-field',
4151
4137
  template: "<!-- readonly -->\n<mat-form-field *ngIf=\"readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-form-field-disabled\">\n <input matInput hidden type=\"text\"\n readonly\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\">\n <ion-text>{{formControl.value|dateFormat: {pattern: displayPattern} }}</ion-text>\n</mat-form-field>\n\n<!-- writable + time -->\n<ng-template #writable >\n <ion-grid class=\"ion-no-padding\">\n <ion-row class=\"ion-no-padding no-wrap\" nowrap>\n\n <!-- day -->\n <ion-col class=\"day ion-no-padding\">\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-invalid]=\"formControl.touched && formControl.invalid\">\n\n <mat-label>{{placeholder}}</mat-label>\n\n <div matPrefix><ng-content select=\"[matPrefix]\"></ng-content></div>\n\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"!mobile\"\n [formControl]=\"dateFormControl\"\n [textMask]=\"{mask: dayMask, keepCharPositions: true, placeholderChar: placeholderChar}\"\n [placeholder]=\"'COMMON.DATE_PLACEHOLDER'|translate\"\n (blur)=\"checkIfTouched()\"\n (keyup.arrowdown)=\"openDatePicker($event, datePicker)\"\n (keyup.escape)=\"preventEvent($event)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n [appAutofocus]=\"autofocus\">\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"mobile\"\n [formControl]=\"dateFormControl\"\n (click)=\"openDatePickerIfMobile($event, datePicker)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n readonly>\n <input matInput type=\"text\" [formControl]=\"formControl\"\n hidden\n [matDatepicker]=\"datePicker\"\n (dateChange)=\"onDatePickerChange($event)\">\n\n <button type=\"button\" mat-icon-button tabindex=\"-1\" matSuffix #datePickerButton2 (click)=\"openDatePicker($event, datePicker)\" [disabled]=\"formControl.disabled\">\n <div *ngIf=\"mobile; then iconDate; else iconDesktop\"></div>\n </button>\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"clear()\"\n [hidden]=\"formControl.disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n <mat-datepicker #datePicker\n [touchUi]=\"mobile\"\n [disabled]=\"formControl.disabled\"\n [startAt]=\"startDate\"></mat-datepicker>\n <div class=\"mat-form-field-subscript mat-form-field-subscript-wrapper\" >\n <!-- errors -->\n <ng-container [ngSwitch]=\"formControl.touched && formControl.errors|mapKeys|arrayFirst\">\n <mat-error *ngSwitchCase=\"'required'\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngSwitchCase=\"'validDate'\" translate>ERROR.FIELD_NOT_VALID_DATE_TIME</mat-error>\n <mat-error *ngSwitchCase=\"'dateIsAfter'\">{{'ERROR.FIELD_NOT_VALID_DATE_AFTER' | translate: formControl.errors.dateIsAfter }}</mat-error>\n <mat-error *ngSwitchCase=\"'dateRange'\" translate>ERROR.FIELD_NOT_VALID_DATE_RANGE</mat-error>\n <mat-error *ngSwitchCase=\"'dateMaxDuration'\" translate>ERROR.FIELD_NOT_VALID_DATE_MAX_DURATION</mat-error>\n <mat-error *ngSwitchCase=\"'dateMinDuration'\" translate>ERROR.FIELD_NOT_VALID_DATE_MIN_DURATION</mat-error>\n <mat-error *ngSwitchCase=\"'msg'\">{{(formControl.errors.msg?.key || formControl.errors.msg) | translate: formControl.errors.msg?.params}}</mat-error>\n </ng-container>\n <ng-content select=\"mat-error\"></ng-content>\n\n <!-- mat hint -->\n <div class=\"mat-form-field-hint-wrapper\" [class.cdk-visually-hidden]=\"formControl.invalid\">\n <div class=\"mat-form-field-hint-spacer\"></div>\n <ng-content select=\"mat-hint\"></ng-content>\n </div>\n </div>\n\n </ion-col>\n\n <!-- hour -->\n <ion-col class=\"hour ion-no-padding\">\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-invalid]=\"formControl.touched && (timeFormControl.invalid || formControl.invalid)\">\n <mat-label *ngIf=\"placeholder && floatLabel != 'never'\" translate>COMMON.TIME</mat-label>\n <input matInput #matInput type=\"text\"\n *ngIf=\"!mobile\"\n [formControl]=\"timeFormControl\"\n autocomplete=\"off\"\n min=\"0\" max=\"23\"\n [textMask]=\"{mask: hourMask, keepCharPositions: true, placeholderChar: placeholderChar, guide: true}\"\n [placeholder]=\"'COMMON.TIME_PLACEHOLDER'|translate\"\n [required]=\"required\"\n (keyup.arrowdown)=\"openTimePicker($event)\"\n (keyup.escape)=\"preventEvent($event)\"\n (blur)=\"checkIfTouched()\"\n [tabindex]=\"tabindex !== undefined ? tabindex+1 : undefined\">\n\n <input matInput #matInput type=\"text\"\n *ngIf=\"mobile\"\n [formControl]=\"timeFormControl\"\n (click)=\"openTimePickerIfMobile($event)\"\n readonly>\n\n <input matInput type=\"text\"\n [formControl]=\"timeFormControl\"\n hidden\n [ngxTimepicker]=\"timePicker\"\n [format]=\"24\">\n\n <button matSuffix type=\"button\" mat-icon-button\n tabindex=\"-1\"\n *ngIf=\"!compact && !mobile\"\n [disabled]=\"formControl.disabled\"\n (click)=\"openTimePicker($event)\" >\n <mat-icon>keyboard_arrow_down</mat-icon>\n </button>\n <button matSuffix type=\"button\" mat-icon-button\n tabindex=\"-1\"\n *ngIf=\"!compact && mobile\"\n [disabled]=\"formControl.disabled\"\n (click)=\"openTimePickerIfMobile($event)\">\n <mat-icon>access_time</mat-icon>\n </button>\n\n <ngx-material-timepicker #timePicker [@.disabled]=\"true\"\n (timeSet)=\"onTimePickerChange($event)\"\n [ESC]=\"!mobile\"\n [defaultTime]=\"'00:00'\"\n [cancelBtnTmpl]=\"timePickerCancelButton\"\n [confirmBtnTmpl]=\"timePickerOkButton\"\n [preventOverlayClick]=\"mobile\"\n [enableKeyboardInput]=\"false\"\n [disableAnimation]=\"true\">\n <!-- cancel button -->\n <ng-template #timePickerCancelButton>\n <ion-button fill=\"clear\" color=\"dark\">\n <ion-label translate>COMMON.BTN_CANCEL</ion-label>\n </ion-button>\n </ng-template>\n\n <!-- confirm button -->\n <ng-template #timePickerOkButton>\n <ion-button fill=\"solid\" color=\"tertiary\">\n <ion-label translate>COMMON.BTN_VALIDATE</ion-label>\n </ion-button>\n </ng-template>\n\n </ngx-material-timepicker>\n </mat-form-field>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n\n</ng-template>\n\n<ng-template #iconDesktop>\n <mat-icon>keyboard_arrow_down</mat-icon>\n</ng-template>\n\n<ng-template #iconDate>\n <mat-icon>date_range</mat-icon>\n</ng-template>\n",
4152
4138
  providers: [
4153
- DEFAULT_VALUE_ACCESSOR$4,
4139
+ DEFAULT_VALUE_ACCESSOR$2,
4154
4140
  ],
4155
4141
  changeDetection: ChangeDetectionStrategy.OnPush,
4156
4142
  styles: [":host{display:inline-block;width:100%;position:relative;--ion-grid-column-padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}mat-form-field .datetime-md{padding:0!important}ion-row.no-wrap{flex-wrap:nowrap}ion-col.day{min-width:100px}ion-col.day .mat-form-field-subscript-wrapper{overflow:visible;right:-64px;width:calc(100% + 64px)}ion-col.day .mat-form-field-subscript-wrapper .mat-form-field-hint-wrapper{display:flex}ion-col.day .mat-form-field-subscript-wrapper .mat-form-field-hint-wrapper .mat-form-field-hint-spacer{flex:1 0 1em}ion-col.hour{min-width:55px;max-width:65px}ion-col.hour mat-form-field{width:100%}ion-col.hour mat-form-field input[type=text],ion-col.hour mat-form-field mat-label{text-align:left;min-width:50px}mat-form-field.mat-form-field-disabled ion-col.day{min-width:100px}.hour .mat-form-field-label{max-width:40px}.hour mat-form-field.mat-form-field-should-float .mat-form-field-placeholder{max-width:inherit}mat-error{text-align:right;width:100%}"]
@@ -4189,10 +4175,10 @@ const DEFAULT_VALUE_ACCESSOR$3 = {
4189
4175
  useExisting: forwardRef(() => MatDateShort),
4190
4176
  multi: true
4191
4177
  };
4192
- const DAY_MASK = [/\d/, /\d/, /\d/, /\d/];
4193
- const noop$3 = () => {
4178
+ const DAY_MASK$2 = [/\d/, /\d/, /\d/, /\d/];
4179
+ const noop$4 = () => {
4194
4180
  };
4195
- const ɵ0$6 = noop$3;
4181
+ const ɵ0$4 = noop$4;
4196
4182
  class MatDateShort {
4197
4183
  constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
4198
4184
  this.dateAdapter = dateAdapter;
@@ -4201,11 +4187,11 @@ class MatDateShort {
4201
4187
  this.cd = cd;
4202
4188
  this.keyboard = keyboard;
4203
4189
  this.formGroupDir = formGroupDir;
4204
- this._onChangeCallback = noop$3;
4205
- this._onTouchedCallback = noop$3;
4190
+ this._onChangeCallback = noop$4;
4191
+ this._onTouchedCallback = noop$4;
4206
4192
  this.writing = true;
4207
4193
  this.disabling = false;
4208
- this.dayMask = DAY_MASK;
4194
+ this.dayMask = DAY_MASK$2;
4209
4195
  this.disabled = false;
4210
4196
  this.floatLabel = 'auto';
4211
4197
  this.readonly = false;
@@ -4518,16 +4504,16 @@ SharedMatDateTimeModule.decorators = [
4518
4504
  },] }
4519
4505
  ];
4520
4506
 
4521
- const DEFAULT_VALUE_ACCESSOR$2 = {
4507
+ const DEFAULT_VALUE_ACCESSOR$4 = {
4522
4508
  provide: NG_VALUE_ACCESSOR,
4523
4509
  useExisting: forwardRef(() => MatDuration),
4524
4510
  multi: true
4525
4511
  };
4526
4512
  const HOUR_TIME_PATTERN = /[0-9]\d\d:[0-5]\d/;
4527
- const HOUR_MASK = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
4528
- const noop$2 = () => {
4513
+ const HOUR_MASK$1 = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
4514
+ const noop$5 = () => {
4529
4515
  };
4530
- const ɵ0$5 = noop$2;
4516
+ const ɵ0$5 = noop$5;
4531
4517
  class MatDuration {
4532
4518
  constructor(platform, dateAdapter, translate, formBuilder, cd, formGroupDir) {
4533
4519
  this.dateAdapter = dateAdapter;
@@ -4536,11 +4522,11 @@ class MatDuration {
4536
4522
  this.cd = cd;
4537
4523
  this.formGroupDir = formGroupDir;
4538
4524
  this._subscription = new Subscription();
4539
- this._onChangeCallback = noop$2;
4540
- this._onTouchedCallback = noop$2;
4525
+ this._onChangeCallback = noop$5;
4526
+ this._onTouchedCallback = noop$5;
4541
4527
  this.writing = true;
4542
4528
  this.disabling = false;
4543
- this.hourMask = HOUR_MASK;
4529
+ this.hourMask = HOUR_MASK$1;
4544
4530
  this.disabled = false;
4545
4531
  this.floatLabel = 'auto';
4546
4532
  this.readonly = false;
@@ -4720,7 +4706,7 @@ MatDuration.decorators = [
4720
4706
  selector: 'mat-duration-field',
4721
4707
  template: "<!-- readonly -->\n<mat-form-field *ngIf=\"readonly else writable\">\n <input matInput hidden type=\"text\" readonly=\"true\" [formControl]=\"formControl\">\n <ion-text>{{ formControl.value|duration }}</ion-text>\n</mat-form-field>\n\n<!-- writable -->\n<ng-template #writable>\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-disabled]=\"formControl.disabled\"\n [class.mat-form-field-invalid]=\"formControl.touched && formControl.invalid\">\n <mat-label *ngIf=\"placeholder && floatLabel != 'never'\" translate>COMMON.TIME</mat-label>\n\n <div matPrefix><ng-content select=\"[matPrefix]\"></ng-content></div>\n\n <input matInput #matInput type=\"text\"\n autocomplete=\"off\"\n [formControl]=\"textControl\"\n [textMask]=\"{mask: hourMask, keepCharPositions: true, placeholderChar: placeholderChar, guide: true}\"\n [placeholder]=\"'COMMON.DURATION_PLACEHOLDER'|translate\"\n [required]=\"required\"\n (keydown.tab)=\"moveCaretToSeparator($event, true)\"\n (keydown.shift.tab)=\"moveCaretToSeparator($event, false)\"\n (keyup.escape)=\"preventEvent($event)\"\n (blur)=\"checkIfTouched()\"\n [tabindex]=\"tabindex !== undefined ? tabindex+1 : undefined\">\n\n\n <!-- errors -->\n <mat-error *ngIf=\"!formControl.hasError('required') && textControl.hasError('pattern')\" translate>ERROR.FIELD_NOT_VALID_PATTERN</mat-error>\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"formControl.hasError('min')\">\n {{(compact ? 'ERROR.FIELD_MIN_COMPACT' : 'ERROR.FIELD_MIN') | translate:formControl.errors.min }}</mat-error>\n <mat-error *ngIf=\"formControl.hasError('max')\">\n {{(compact ? 'ERROR.FIELD_MAX_COMPACT' : 'ERROR.FIELD_MAX') | translate:formControl.errors.max }}</mat-error>\n\n <ng-content select=\"mat-error\"></ng-content>\n </mat-form-field>\n</ng-template>\n\n",
4722
4708
  providers: [
4723
- DEFAULT_VALUE_ACCESSOR$2,
4709
+ DEFAULT_VALUE_ACCESSOR$4,
4724
4710
  ],
4725
4711
  changeDetection: ChangeDetectionStrategy.OnPush,
4726
4712
  styles: [":host{display:inline-block;min-width:140px;position:relative;--ion-grid-column-padding:0}:host,mat-form-field{width:100%}mat-form-field .mat-form-field-subscript-wrapper{overflow:visible;top:100%}mat-form-field .mat-form-field-subscript-wrapper .mat-form-field-hint-wrapper{display:flex}mat-form-field .mat-form-field-subscript-wrapper .mat-form-field-hint-wrapper .mat-form-field-hint-spacer{flex:1 0 1em}mat-error{text-align:right;width:100%}"]
@@ -4777,22 +4763,22 @@ SharedMatDurationModule.decorators = [
4777
4763
  },] }
4778
4764
  ];
4779
4765
 
4780
- const DEFAULT_VALUE_ACCESSOR$1 = {
4766
+ const DEFAULT_VALUE_ACCESSOR$5 = {
4781
4767
  provide: NG_VALUE_ACCESSOR,
4782
4768
  useExisting: forwardRef(() => MatBooleanField),
4783
4769
  multi: true
4784
4770
  };
4785
- const noop$1 = () => {
4771
+ const noop$6 = () => {
4786
4772
  };
4787
- const ɵ0$4 = noop$1;
4773
+ const ɵ0$6 = noop$6;
4788
4774
  class MatBooleanField {
4789
4775
  constructor(translate, formBuilder, cd, formGroupDir) {
4790
4776
  this.translate = translate;
4791
4777
  this.formBuilder = formBuilder;
4792
4778
  this.cd = cd;
4793
4779
  this.formGroupDir = formGroupDir;
4794
- this._onChangeCallback = noop$1;
4795
- this._onTouchedCallback = noop$1;
4780
+ this._onChangeCallback = noop$6;
4781
+ this._onTouchedCallback = noop$6;
4796
4782
  this._writing = false;
4797
4783
  this.showRadio = false;
4798
4784
  this.disabled = false;
@@ -4965,10 +4951,10 @@ MatBooleanField.decorators = [
4965
4951
  selector: 'mat-boolean-field',
4966
4952
  template: "<mat-form-field *ngIf=\"readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-form-field-disabled {{classList}}\">\n <input matInput hidden type=\"text\" readonly\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\">\n <ion-text>{{(formControl.value == null && 'COMMON.EMPTY_OPTION' || (formControl.value === true && yesLabel) || noLabel) | translate }}</ion-text>\n</mat-form-field>\n\n<ng-template #writable>\n <ng-container [ngSwitch]=\"style\">\n\n <!-- Radio -->\n <mat-form-field *ngSwitchCase=\"'radio'\"\n [floatLabel]=\"showRadio && (!floatLabel || floatLabel === 'auto') ? 'always': floatLabel\"\n class=\"mat-boolean-field mat-boolean-field-radio {{classList}}\">\n <mat-label *ngIf=\"placeholder && floatLabel!=='never'\">\n {{placeholder}}\n <span [hidden]=\"showRadio\">({{yesLabel|translate}}/{{'COMMON.NO'|translate}})</span>\n </mat-label>\n\n <input matInput #fakeInput type=\"text\" readonly=\"true\"\n [formControl]=\"formControl\"\n (focus)=\"_onFocusFakeInput($event)\"\n [required]=\"required\"\n [class.cdk-visually-hidden]=\"showRadio\"\n [tabindex]=\"tabindex\">\n\n <!-- radio button -->\n <mat-radio-group [hidden]=\"!showRadio\"\n [formControl]=\"formControl\"\n (change)=\"onRadioValueChanged($event)\">\n <mat-radio-button #yesButton [value]=\"true\">\n <span>{{yesLabel|translate}}</span>\n </mat-radio-button>&nbsp;\n <mat-radio-button #noButton [value]=\"false\">\n <span>{{noLabel|translate}}</span>\n </mat-radio-button>\n </mat-radio-group>\n\n <div matSuffix #injectMatSuffix></div>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n </mat-form-field>\n\n <!-- Checkbox -->\n <mat-form-field *ngSwitchCase=\"'checkbox'\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-boolean-field mat-boolean-field-checkbox {{classList}}\">\n <mat-label *ngIf=\"placeholder && !showRadio\">\n {{placeholder}}\n </mat-label>\n\n <input matInput #matInput\n [formControl]=\"formControl\"\n (focus)=\"_onFocusFakeInput($event)\"\n [required]=\"required\"\n [class.cdk-visually-hidden]=\"showRadio\"\n [tabindex]=\"tabindex\">\n\n <ion-label>&nbsp;</ion-label>\n\n <!-- checkbox, when compact -->\n <mat-checkbox #checkboxButton\n [formControl]=\"formControl\"\n (change)=\"onCheckboxValueChanged($event)\"\n [indeterminate]=\"value===undefined\"\n [hidden]=\"!showRadio\"\n [tabindex]=\"tabindex\">\n </mat-checkbox>\n\n <div matSuffix #injectMatSuffix></div>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n </mat-form-field>\n\n <!-- Buttons -->\n <mat-form-field *ngSwitchCase=\"'button'\"\n [floatLabel]=\"floatLabel === 'never' ? 'never' : 'always'\"\n class=\"mat-boolean-field mat-boolean-field-button {{classList}}\">\n <input matInput type=\"text\" hidden\n [formControl]=\"formControl\"\n [placeholder]=\"placeholder\"\n [required]=\"required\">\n <div class=\"mat-form-field-buttons\"\n [style.--buttons-col-count]=\"buttonsColCount\"\n *ngIf=\"!formControl.disabled; else disabledLabel\">\n <!-- yes -->\n <ion-button class=\"mat-form-field-button\"\n [tabindex]=\"_tabindex\"\n (click)=\"writeValue(true, $event)\"\n (keyup.enter)=\"writeValue(true, $event)\"\n [color]=\"_value == null ? 'tertiary' : (_value === true) ? 'accent' : 'light'\">\n <ion-icon *ngIf=\"showButtonIcons && yesIcon; let icon\" slot=\"start\" [name]=\"icon\"></ion-icon>\n {{yesLabel|translate}}\n </ion-button>\n\n <!-- No button -->\n <ion-button class=\"mat-form-field-button\"\n [tabindex]=\"_tabindex !== undefined ? (_tabindex + 1) : undefined\"\n (click)=\"writeValue(false, $event)\"\n (keyup.enter)=\"writeValue(false, $event)\"\n [color]=\"_value == null ? 'tertiary' : (_value === false) ? 'accent' : 'light'\">\n <ion-icon *ngIf=\"showButtonIcons && noIcon; let icon\" slot=\"start\" [name]=\"icon\"></ion-icon>\n {{noLabel|translate}}\n </ion-button>\n </div>\n <ng-template #disabledLabel>\n <ion-label><i translate>COMMON.EMPTY_OPTION</i></ion-label>\n </ng-template>\n\n <div matSuffix #injectMatSuffix></div>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n </mat-form-field>\n </ng-container>\n\n <div class=\"cdk-visually-hidden\">\n <div #suffix><ng-content select=\"[matSuffix]\"></ng-content></div>\n </div>\n\n</ng-template>\n\n\n",
4967
4953
  providers: [
4968
- DEFAULT_VALUE_ACCESSOR$1
4954
+ DEFAULT_VALUE_ACCESSOR$5
4969
4955
  ],
4970
4956
  changeDetection: ChangeDetectionStrategy.OnPush,
4971
- styles: [":host{width:100%}.mat-form-field.mat-boolean-field-radio{margin-top:-2px}.mat-form-field.mat-boolean-field-button{margin-top:-4px}.mat-form-field .mat-form-field-buttons{width:100%;display:flex;flex-flow:row wrap;justify-content:flex-start;align-items:center}.mat-form-field .mat-form-field-buttons .mat-form-field-button{--flex-basis:calc(100% / var(--buttons-col-count, 2));flex:0 1 var(--flex-basis);max-width:calc(min(var(--flex-basis), 150px));white-space:normal;padding:0 2px;height:40px}"]
4957
+ styles: [":host{width:100%}.mat-form-field.mat-boolean-field-radio{margin-top:-2px}.mat-form-field.mat-boolean-field-button{margin-top:-4px}.mat-form-field .mat-form-field-buttons{width:100%;display:flex;flex-flow:row wrap;justify-content:flex-start;align-items:center}.mat-form-field .mat-form-field-buttons .mat-form-field-button{--flex-basis:calc(100% / var(--buttons-col-count, 2));flex:0 1 var(--flex-basis);max-width:min(var(--flex-basis),150px);white-space:normal;padding:0 2px;height:40px}"]
4972
4958
  },] }
4973
4959
  ];
4974
4960
  MatBooleanField.ctorParameters = () => [
@@ -5213,7 +5199,7 @@ class MatNumpadDomService {
5213
5199
  this.appRef.detachView(this.componentRef.hostView);
5214
5200
  }
5215
5201
  }
5216
- MatNumpadDomService.ɵprov = i0.ɵɵdefineInjectable({ factory: function MatNumpadDomService_Factory() { return new MatNumpadDomService(i0.ɵɵinject(i0.ComponentFactoryResolver), i0.ɵɵinject(i0.ApplicationRef), i0.ɵɵinject(i0.INJECTOR), i0.ɵɵinject(i1$3.DOCUMENT, 8)); }, token: MatNumpadDomService, providedIn: "root" });
5202
+ MatNumpadDomService.ɵprov = ɵɵdefineInjectable({ factory: function MatNumpadDomService_Factory() { return new MatNumpadDomService(ɵɵinject(ComponentFactoryResolver), ɵɵinject(ApplicationRef), ɵɵinject(INJECTOR), ɵɵinject(DOCUMENT, 8)); }, token: MatNumpadDomService, providedIn: "root" });
5217
5203
  MatNumpadDomService.decorators = [
5218
5204
  { type: Injectable, args: [{
5219
5205
  providedIn: 'root'
@@ -5577,7 +5563,7 @@ SharedMatNumpadModule.decorators = [
5577
5563
  },] }
5578
5564
  ];
5579
5565
 
5580
- const DEFAULT_VALUE_ACCESSOR = {
5566
+ const DEFAULT_VALUE_ACCESSOR$6 = {
5581
5567
  provide: NG_VALUE_ACCESSOR,
5582
5568
  useExisting: forwardRef(() => MatSwipeField),
5583
5569
  multi: true
@@ -5840,7 +5826,7 @@ MatSwipeField.decorators = [
5840
5826
  { type: Component, args: [{
5841
5827
  selector: 'mat-swipe-field',
5842
5828
  template: "<mat-form-field [floatLabel]=\"showSlides && (!floatLabel || floatLabel === 'auto') ? 'always': floatLabel\"\n [class]=\"classList\"\n [class.mat-form-field-disabled]=\"disabled\">\n <mat-label *ngIf=\"placeholder && floatLabel!=='never'\">\n {{placeholder}}\n </mat-label>\n <input matInput #fakeInput type=\"text\"\n [formControl]=\"formControl\"\n [readonly]=\"true\"\n (focus)=\"_onFocusFakeInput($event)\"\n [required]=\"required\"\n [class.cdk-visually-hidden]=\"showSlides\"\n [tabindex]=\"tabindex\">\n\n <div class=\"slides-container\" [class.hidden]=\"!showSlides\">\n <ion-slides #slides\n [options]=\"slidesOptions\"\n (ionSlidesDidLoad)=\"slidesLoaded()\"\n (ionSlideReachStart)=\"reachStart(true)\"\n (ionSlideReachEnd)=\"reachEnd(true)\"\n (ionSlideNextEnd)=\"reachStart(false)\"\n (ionSlidePrevEnd)=\"reachEnd(false)\"\n (ionSlideDidChange)=\"slideChanged()\"\n >\n <ion-slide *ngFor=\"let item of $items | async\">\n <ion-label>{{ displayWith(item) }}</ion-label>\n </ion-slide>\n\n </ion-slides>\n </div>\n\n <button #prevButton\n mat-icon-button\n type=\"button\"\n class=\"button-prev\"\n [hidden]=\"!showSlides\"\n [disabled]=\"previousDisabled\"\n (click)=\"previous()\">\n <mat-icon>chevron_left</mat-icon>\n </button>\n <button #nextButton\n mat-icon-button\n type=\"button\"\n class=\"button-next\"\n [hidden]=\"!showSlides\"\n [disabled]=\"nextDisabled\"\n (click)=\"next()\">\n <mat-icon>chevron_right</mat-icon>\n </button>\n\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"clearValue($event)\"\n [hidden]=\"disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"formControl.hasError('entity')\" translate>ERROR.FIELD_INVALID</mat-error>\n\n</mat-form-field>\n",
5843
- providers: [DEFAULT_VALUE_ACCESSOR],
5829
+ providers: [DEFAULT_VALUE_ACCESSOR$6],
5844
5830
  changeDetection: ChangeDetectionStrategy.OnPush,
5845
5831
  styles: [":host{display:inline-block;width:100%;position:relative}input.hidden{display:none}.slides-container .swiper-slide{font-size:16px!important}.slides-container.hidden{visibility:hidden;height:0!important}.button-next,.button-prev{position:absolute;top:calc(50% - 20px);z-index:10}.button-prev{left:0;right:auto}.button-next{left:auto;right:0}"]
5846
5832
  },] }
@@ -6335,7 +6321,7 @@ class ProgressBarService {
6335
6321
  }
6336
6322
  }
6337
6323
  }
6338
- ProgressBarService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ProgressBarService_Factory() { return new ProgressBarService(); }, token: ProgressBarService, providedIn: "root" });
6324
+ ProgressBarService.ɵprov = ɵɵdefineInjectable({ factory: function ProgressBarService_Factory() { return new ProgressBarService(); }, token: ProgressBarService, providedIn: "root" });
6339
6325
  ProgressBarService.decorators = [
6340
6326
  { type: Injectable, args: [{ providedIn: 'root' },] }
6341
6327
  ];
@@ -6379,7 +6365,7 @@ class AppGestureConfig extends HammerGestureConfig {
6379
6365
  return mc;
6380
6366
  }
6381
6367
  }
6382
- AppGestureConfig.ɵprov = i0.ɵɵdefineInjectable({ factory: function AppGestureConfig_Factory() { return new AppGestureConfig(); }, token: AppGestureConfig, providedIn: "root" });
6368
+ AppGestureConfig.ɵprov = ɵɵdefineInjectable({ factory: function AppGestureConfig_Factory() { return new AppGestureConfig(); }, token: AppGestureConfig, providedIn: "root" });
6383
6369
  AppGestureConfig.decorators = [
6384
6370
  { type: Injectable, args: [{ providedIn: 'root' },] }
6385
6371
  ];
@@ -6602,7 +6588,7 @@ class MatPaginatorI18n extends MatPaginatorIntl {
6602
6588
  this.previousPageLabel = this.translate.instant('COMMON.PAGINATOR.PREVIOUS_PAGE');
6603
6589
  }
6604
6590
  }
6605
- MatPaginatorI18n.ɵprov = i0.ɵɵdefineInjectable({ factory: function MatPaginatorI18n_Factory() { return new MatPaginatorI18n(i0.ɵɵinject(i1$1.TranslateService)); }, token: MatPaginatorI18n, providedIn: "root" });
6591
+ MatPaginatorI18n.ɵprov = ɵɵdefineInjectable({ factory: function MatPaginatorI18n_Factory() { return new MatPaginatorI18n(ɵɵinject(TranslateService)); }, token: MatPaginatorI18n, providedIn: "root" });
6606
6592
  MatPaginatorI18n.decorators = [
6607
6593
  { type: Injectable, args: [{ providedIn: 'root' },] }
6608
6594
  ];
@@ -6692,17 +6678,17 @@ function getColorContrast(color, bw) {
6692
6678
  return rgbArrayToHex(rgb.map(v => 255 - v));
6693
6679
  }
6694
6680
 
6695
- const noop = () => {
6681
+ const noop$7 = () => {
6696
6682
  };
6697
- const ɵ0$3 = noop;
6683
+ const ɵ0$7 = noop$7;
6698
6684
  class AppFormField {
6699
6685
  constructor(translate, cd, injector, formGroupDir) {
6700
6686
  this.translate = translate;
6701
6687
  this.cd = cd;
6702
6688
  this.injector = injector;
6703
6689
  this.formGroupDir = formGroupDir;
6704
- this._onChangeCallback = noop;
6705
- this._onTouchedCallback = noop;
6690
+ this._onChangeCallback = noop$7;
6691
+ this._onTouchedCallback = noop$7;
6706
6692
  this.readonly = false;
6707
6693
  this.compact = false;
6708
6694
  this.floatLabel = 'auto';
@@ -7073,14 +7059,14 @@ class AudioProvider {
7073
7059
  });
7074
7060
  }
7075
7061
  }
7076
- AudioProvider.ɵprov = i0.ɵɵdefineInjectable({ factory: function AudioProvider_Factory() { return new AudioProvider(i0.ɵɵinject(i1$4.Platform), i0.ɵɵinject(i2.NativeAudio, 8), i0.ɵɵinject(i3.Vibration, 8), i0.ɵɵinject(i4.AudioManagement, 8)); }, token: AudioProvider, providedIn: "root" });
7062
+ AudioProvider.ɵprov = ɵɵdefineInjectable({ factory: function AudioProvider_Factory() { return new AudioProvider(ɵɵinject(Platform), ɵɵinject(NativeAudio, 8), ɵɵinject(Vibration, 8), ɵɵinject(AudioManagement$1, 8)); }, token: AudioProvider, providedIn: "root" });
7077
7063
  AudioProvider.decorators = [
7078
7064
  { type: Injectable, args: [{ providedIn: 'root' },] }
7079
7065
  ];
7080
7066
  AudioProvider.ctorParameters = () => [
7081
7067
  { type: Platform },
7082
- { type: NativeAudio, decorators: [{ type: Optional }] },
7083
- { type: Vibration, decorators: [{ type: Optional }] },
7068
+ { type: NativeAudio$1, decorators: [{ type: Optional }] },
7069
+ { type: Vibration$1, decorators: [{ type: Optional }] },
7084
7070
  { type: AudioManagement, decorators: [{ type: Optional }] }
7085
7071
  ];
7086
7072
 
@@ -7162,7 +7148,7 @@ class Hotkeys {
7162
7148
  });
7163
7149
  }
7164
7150
  }
7165
- Hotkeys.ɵprov = i0.ɵɵdefineInjectable({ factory: function Hotkeys_Factory() { return new Hotkeys(i0.ɵɵinject(i1$5.EventManager), i0.ɵɵinject(i2$1.MatDialog), i0.ɵɵinject(i1$3.DOCUMENT), i0.ɵɵinject(i1$4.ModalController)); }, token: Hotkeys, providedIn: "root" });
7151
+ Hotkeys.ɵprov = ɵɵdefineInjectable({ factory: function Hotkeys_Factory() { return new Hotkeys(ɵɵinject(EventManager), ɵɵinject(MatDialog), ɵɵinject(DOCUMENT), ɵɵinject(ModalController)); }, token: Hotkeys, providedIn: "root" });
7166
7152
  Hotkeys.decorators = [
7167
7153
  { type: Injectable, args: [{
7168
7154
  providedIn: 'root'
@@ -7336,7 +7322,7 @@ class Base64ImageReader {
7336
7322
  }
7337
7323
  }
7338
7324
 
7339
- const uuidv4$1 = uuidv4Imported;
7325
+ const uuidv4 = uuidv4Imported;
7340
7326
  class FileService {
7341
7327
  constructor(platform,
7342
7328
  //private transfer: FileTransfer,
@@ -7373,7 +7359,7 @@ class FileService {
7373
7359
  const lastSlashIndex = source.lastIndexOf('/');
7374
7360
  if (lastSlashIndex === -1)
7375
7361
  throw new Error('Invalid URL: ' + source);
7376
- const fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4$1();
7362
+ const fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4();
7377
7363
  // Download into the file system
7378
7364
  if (responseType === 'file' && this.canUseFileSystem) {
7379
7365
  console.warn(`WARN: [file] Fetching image {${source}} in local file...`);
@@ -7429,7 +7415,7 @@ class FileService {
7429
7415
  this._started = true;
7430
7416
  }
7431
7417
  }
7432
- FileService.ɵprov = i0.ɵɵdefineInjectable({ factory: function FileService_Factory() { return new FileService(i0.ɵɵinject(i1$4.Platform), i0.ɵɵinject(i2$2.HttpClient), i0.ɵɵinject(ENVIRONMENT)); }, token: FileService, providedIn: "root" });
7418
+ FileService.ɵprov = ɵɵdefineInjectable({ factory: function FileService_Factory() { return new FileService(ɵɵinject(Platform), ɵɵinject(HttpClient), ɵɵinject(ENVIRONMENT)); }, token: FileService, providedIn: "root" });
7433
7419
  FileService.decorators = [
7434
7420
  { type: Injectable, args: [{
7435
7421
  providedIn: 'root',
@@ -7591,7 +7577,7 @@ class Base58 {
7591
7577
  Base58.alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
7592
7578
 
7593
7579
  const scrypt = require('scrypt-async');
7594
- const sha256$1 = require('hash.js/lib/hash/sha/256');
7580
+ const sha256 = require('hash.js/lib/hash/sha/256');
7595
7581
  const sha512 = require('hash.js/lib/hash/sha/512');
7596
7582
  const nacl = {
7597
7583
  sign,
@@ -7695,7 +7681,7 @@ class CryptoService {
7695
7681
  * Hash (using SHA256) a message
7696
7682
  */
7697
7683
  sha256(message) {
7698
- return sha256$1().update(message).digest('hex');
7684
+ return sha256().update(message).digest('hex');
7699
7685
  }
7700
7686
  /**
7701
7687
  * Hash (using SHA512) a message
@@ -7708,7 +7694,7 @@ class CryptoService {
7708
7694
  return nacl.util.encodeBase64(m);
7709
7695
  }
7710
7696
  }
7711
- CryptoService.ɵprov = i0.ɵɵdefineInjectable({ factory: function CryptoService_Factory() { return new CryptoService(); }, token: CryptoService, providedIn: "root" });
7697
+ CryptoService.ɵprov = ɵɵdefineInjectable({ factory: function CryptoService_Factory() { return new CryptoService(); }, token: CryptoService, providedIn: "root" });
7712
7698
  CryptoService.decorators = [
7713
7699
  { type: Injectable, args: [{ providedIn: 'root' },] }
7714
7700
  ];
@@ -8928,7 +8914,7 @@ class LocalSettingsService {
8928
8914
  return page;
8929
8915
  }
8930
8916
  }
8931
- LocalSettingsService.ɵprov = i0.ɵɵdefineInjectable({ factory: function LocalSettingsService_Factory() { return new LocalSettingsService(i0.ɵɵinject(i1$1.TranslateService), i0.ɵɵinject(i1$4.Platform), i0.ɵɵinject(i3$1.Storage), i0.ɵɵinject(ENVIRONMENT), i0.ɵɵinject(APP_LOCAL_SETTINGS, 8), i0.ɵɵinject(APP_LOCAL_SETTINGS_OPTIONS, 8)); }, token: LocalSettingsService, providedIn: "root" });
8917
+ LocalSettingsService.ɵprov = ɵɵdefineInjectable({ factory: function LocalSettingsService_Factory() { return new LocalSettingsService(ɵɵinject(TranslateService), ɵɵinject(Platform), ɵɵinject(Storage), ɵɵinject(ENVIRONMENT), ɵɵinject(APP_LOCAL_SETTINGS, 8), ɵɵinject(APP_LOCAL_SETTINGS_OPTIONS, 8)); }, token: LocalSettingsService, providedIn: "root" });
8932
8918
  LocalSettingsService.decorators = [
8933
8919
  { type: Injectable, args: [{
8934
8920
  providedIn: 'root',
@@ -9624,7 +9610,7 @@ class NetworkService {
9624
9610
  });
9625
9611
  }
9626
9612
  }
9627
- NetworkService.ɵprov = i0.ɵɵdefineInjectable({ factory: function NetworkService_Factory() { return new NetworkService(i0.ɵɵinject(i1$3.DOCUMENT), i0.ɵɵinject(i1$4.Platform), i0.ɵɵinject(i1$4.ModalController), i0.ɵɵinject(CryptoService), i0.ɵɵinject(i3$1.Storage), i0.ɵɵinject(LocalSettingsService), i0.ɵɵinject(i6.CacheService), i0.ɵɵinject(i2$2.HttpClient), i0.ɵɵinject(ENVIRONMENT), i0.ɵɵinject(i9.Network, 8), i0.ɵɵinject(i10.SplashScreen, 8), i0.ɵɵinject(i1$1.TranslateService, 8), i0.ɵɵinject(i1$4.ToastController, 8)); }, token: NetworkService, providedIn: "root" });
9613
+ NetworkService.ɵprov = ɵɵdefineInjectable({ factory: function NetworkService_Factory() { return new NetworkService(ɵɵinject(DOCUMENT), ɵɵinject(Platform), ɵɵinject(ModalController), ɵɵinject(CryptoService), ɵɵinject(Storage), ɵɵinject(LocalSettingsService), ɵɵinject(CacheService), ɵɵinject(HttpClient), ɵɵinject(ENVIRONMENT), ɵɵinject(Network, 8), ɵɵinject(SplashScreen, 8), ɵɵinject(TranslateService, 8), ɵɵinject(ToastController, 8)); }, token: NetworkService, providedIn: "root" });
9628
9614
  NetworkService.decorators = [
9629
9615
  { type: Injectable, args: [{ providedIn: 'root' },] }
9630
9616
  ];
@@ -9635,16 +9621,16 @@ NetworkService.ctorParameters = () => [
9635
9621
  { type: CryptoService },
9636
9622
  { type: Storage },
9637
9623
  { type: LocalSettingsService },
9638
- { type: CacheService },
9624
+ { type: CacheService$1 },
9639
9625
  { type: HttpClient },
9640
9626
  { type: undefined, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] },
9641
- { type: Network, decorators: [{ type: Optional }] },
9642
- { type: SplashScreen, decorators: [{ type: Optional }] },
9627
+ { type: Network$1, decorators: [{ type: Optional }] },
9628
+ { type: SplashScreen$1, decorators: [{ type: Optional }] },
9643
9629
  { type: TranslateService, decorators: [{ type: Optional }] },
9644
9630
  { type: ToastController, decorators: [{ type: Optional }] }
9645
9631
  ];
9646
9632
 
9647
- const ErrorCodes$2 = {
9633
+ const ErrorCodes = {
9648
9634
  UNKNOWN_ERROR: 0,
9649
9635
  LOAD_ACCOUNT_ERROR: 1,
9650
9636
  BAD_PASSWORD: 2,
@@ -9991,7 +9977,7 @@ class EntityStore {
9991
9977
  }
9992
9978
  catch (err) {
9993
9979
  console.error(err);
9994
- throw { code: ErrorCodes$2.ENTITY_STORAGE_MIGRATION_FAILED, message: 'ERROR.ENTITY_STORAGE_MIGRATION_FAILED', details: err };
9980
+ throw { code: ErrorCodes.ENTITY_STORAGE_MIGRATION_FAILED, message: 'ERROR.ENTITY_STORAGE_MIGRATION_FAILED', details: err };
9995
9981
  }
9996
9982
  }
9997
9983
  // Emit update event
@@ -10568,7 +10554,7 @@ class EntitiesStorage {
10568
10554
  }
10569
10555
  EntitiesStorage.TRASH_PREFIX = 'Trash#';
10570
10556
  EntitiesStorage.REMOTE_PREFIX = 'Remote#';
10571
- EntitiesStorage.ɵprov = i0.ɵɵdefineInjectable({ factory: function EntitiesStorage_Factory() { return new EntitiesStorage(i0.ɵɵinject(i1$4.Platform), i0.ɵɵinject(ProgressBarService), i0.ɵɵinject(i3$1.Storage), i0.ɵɵinject(ENVIRONMENT), i0.ɵɵinject(APP_LOCAL_STORAGE_TYPE_POLICIES, 8)); }, token: EntitiesStorage, providedIn: "root" });
10557
+ EntitiesStorage.ɵprov = ɵɵdefineInjectable({ factory: function EntitiesStorage_Factory() { return new EntitiesStorage(ɵɵinject(Platform), ɵɵinject(ProgressBarService), ɵɵinject(Storage), ɵɵinject(ENVIRONMENT), ɵɵinject(APP_LOCAL_STORAGE_TYPE_POLICIES, 8)); }, token: EntitiesStorage, providedIn: "root" });
10572
10558
  EntitiesStorage.decorators = [
10573
10559
  { type: Injectable, args: [{ providedIn: 'root' },] }
10574
10560
  ];
@@ -10668,10 +10654,10 @@ function referentialToString(obj, properties) {
10668
10654
  function referentialsToString(values, properties, separator) {
10669
10655
  return (values || []).map(v => referentialToString(v, properties)).join(separator || ', ');
10670
10656
  }
10671
- const ɵ0$2 = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
10657
+ const ɵ0$8 = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
10672
10658
  const StatusList = Object.freeze([
10673
10659
  {
10674
- id: ɵ0$2,
10660
+ id: ɵ0$8,
10675
10661
  icon: 'checkmark',
10676
10662
  label: 'REFERENTIAL.STATUS_ENUM.ENABLE'
10677
10663
  },
@@ -10946,7 +10932,7 @@ function accountToString(data) {
10946
10932
  (data.lastName || '')) || '';
10947
10933
  }
10948
10934
 
10949
- const uuidv4 = uuidv4Imported;
10935
+ const uuidv4$1 = uuidv4Imported;
10950
10936
  const _global = typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : {});
10951
10937
  const NativeWebSocket = _global.WebSocket || _global.MozWebSocket;
10952
10938
  /**
@@ -10990,7 +10976,7 @@ function createTrackerLink(opts) {
10990
10976
  // Skip if not tracked
10991
10977
  if (!context || !context.tracked)
10992
10978
  return forward(operation);
10993
- const id = context.serializationKey || uuidv4();
10979
+ const id = context.serializationKey || uuidv4$1();
10994
10980
  console.debug(`[apollo-tracker-link] Watching tracked query {${operation.operationName}#${id}}`);
10995
10981
  // Clean context, before calling JSON.stringify (remove unused attributes)
10996
10982
  const cleanContext = Object.assign(Object.assign({}, context), { optimisticResponse: null, cache: null });
@@ -11698,7 +11684,7 @@ class GraphqlService {
11698
11684
  (err.networkError && ((err.networkError.error && this.toAppError(err.networkError.error))
11699
11685
  || this.toAppError(err.networkError)
11700
11686
  || (err.networkError.error && this.createAppErrorByCode(err.networkError.error.status))
11701
- || this.createAppErrorByCode(ErrorCodes$2.UNKNOWN_NETWORK_ERROR)))
11687
+ || this.createAppErrorByCode(ErrorCodes.UNKNOWN_NETWORK_ERROR)))
11702
11688
  // If graphQL: try to convert the first error found
11703
11689
  || (err.graphQLErrors && err.graphQLErrors.length && this.toAppError(err.graphQLErrors[0]))
11704
11690
  || this.toAppError(err)
@@ -11706,7 +11692,7 @@ class GraphqlService {
11706
11692
  || (err.graphQLErrors && err.graphQLErrors[0])
11707
11693
  || err;
11708
11694
  console.error('[graphql] ' + (error && error.message || error), error.stack || '');
11709
- if (error && error.code === ErrorCodes$2.UNKNOWN_NETWORK_ERROR && err.networkError && err.networkError.message) {
11695
+ if (error && error.code === ErrorCodes.UNKNOWN_NETWORK_ERROR && err.networkError && err.networkError.message) {
11710
11696
  console.error('[graphql] original error: ' + err.networkError.message);
11711
11697
  this.onNetworkError.next(error);
11712
11698
  }
@@ -11742,7 +11728,7 @@ class GraphqlService {
11742
11728
  return 'ERROR.UNAUTHORIZED';
11743
11729
  case ServerErrorCodes.FORBIDDEN:
11744
11730
  return 'ERROR.FORBIDDEN';
11745
- case ErrorCodes$2.UNKNOWN_NETWORK_ERROR:
11731
+ case ErrorCodes.UNKNOWN_NETWORK_ERROR:
11746
11732
  return 'ERROR.UNKNOWN_NETWORK_ERROR';
11747
11733
  case ServerErrorCodes.BAD_UPDATE_DATE:
11748
11734
  return 'ERROR.BAD_UPDATE_DATE';
@@ -11779,7 +11765,7 @@ class GraphqlService {
11779
11765
  });
11780
11766
  }
11781
11767
  }
11782
- GraphqlService.ɵprov = i0.ɵɵdefineInjectable({ factory: function GraphqlService_Factory() { return new GraphqlService(i0.ɵɵinject(i1$4.Platform), i0.ɵɵinject(i2$3.Apollo), i0.ɵɵinject(i3$2.HttpLink), i0.ɵɵinject(NetworkService), i0.ɵɵinject(i3$1.Storage), i0.ɵɵinject(CryptoService), i0.ɵɵinject(ENVIRONMENT), i0.ɵɵinject(APP_GRAPHQL_TYPE_POLICIES, 8)); }, token: GraphqlService, providedIn: "root" });
11768
+ GraphqlService.ɵprov = ɵɵdefineInjectable({ factory: function GraphqlService_Factory() { return new GraphqlService(ɵɵinject(Platform), ɵɵinject(Apollo), ɵɵinject(HttpLink), ɵɵinject(NetworkService), ɵɵinject(Storage), ɵɵinject(CryptoService), ɵɵinject(ENVIRONMENT), ɵɵinject(APP_GRAPHQL_TYPE_POLICIES, 8)); }, token: GraphqlService, providedIn: "root" });
11783
11769
  GraphqlService.decorators = [
11784
11770
  { type: Injectable, args: [{
11785
11771
  providedIn: 'root'
@@ -11796,7 +11782,7 @@ GraphqlService.ctorParameters = () => [
11796
11782
  { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_GRAPHQL_TYPE_POLICIES,] }] }
11797
11783
  ];
11798
11784
 
11799
- const sha256 = require('hash.js/lib/hash/sha/256');
11785
+ const sha256$1 = require('hash.js/lib/hash/sha/256');
11800
11786
  class BaseGraphqlServiceOptions {
11801
11787
  }
11802
11788
  // eslint-disable-next-line @angular-eslint/directive-class-suffix
@@ -11946,8 +11932,8 @@ class BaseGraphqlService {
11946
11932
  }
11947
11933
  /* -- protected methods -- */
11948
11934
  computeMutableWatchQueryId(opts) {
11949
- const queryName = opts.queryName || sha256().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
11950
- const variablesKey = opts.variables && sha256().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
11935
+ const queryName = opts.queryName || sha256$1().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
11936
+ const variablesKey = opts.variables && sha256$1().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
11951
11937
  return [queryName, opts.arrayFieldName, variablesKey].join('|');
11952
11938
  }
11953
11939
  findMutableWatchQueries(opts) {
@@ -12010,7 +11996,7 @@ const DEFAULT_AVATAR_IMAGE = 'assets/img/person.png';
12010
11996
  /* ------------------------------------
12011
11997
  * GraphQL queries
12012
11998
  * ------------------------------------*/
12013
- const Fragments$1 = {
11999
+ const Fragments = {
12014
12000
  account: gql `
12015
12001
  fragment AccountFragment on AccountVO {
12016
12002
  id
@@ -12043,13 +12029,13 @@ const Fragments$1 = {
12043
12029
  `
12044
12030
  };
12045
12031
  // Load account query
12046
- const LoadQuery$1 = gql `
12032
+ const LoadQuery = gql `
12047
12033
  query Account {
12048
12034
  data: account {
12049
12035
  ...AccountFragment
12050
12036
  }
12051
12037
  }
12052
- ${Fragments$1.account}
12038
+ ${Fragments.account}
12053
12039
  `;
12054
12040
  // Check email query
12055
12041
  const IsEmailExistsQuery = gql `
@@ -12058,13 +12044,13 @@ const IsEmailExistsQuery = gql `
12058
12044
  }
12059
12045
  `;
12060
12046
  // Save (create or update) account mutation
12061
- const SaveMutation$1 = gql `
12047
+ const SaveMutation = gql `
12062
12048
  mutation SaveAccount($data:AccountVOInput){
12063
12049
  data: saveAccount(account: $data){
12064
12050
  ...AccountFragment
12065
12051
  }
12066
12052
  }
12067
- ${Fragments$1.account}
12053
+ ${Fragments.account}
12068
12054
  `;
12069
12055
  // Create account mutation
12070
12056
  const CreateMutation = gql `
@@ -12073,7 +12059,7 @@ const CreateMutation = gql `
12073
12059
  ...AccountFragment
12074
12060
  }
12075
12061
  }
12076
- ${Fragments$1.account}
12062
+ ${Fragments.account}
12077
12063
  `;
12078
12064
  // Sent confirmation email
12079
12065
  const SendConfirmEmailMutation = gql `
@@ -12421,7 +12407,7 @@ class AccountService extends BaseGraphqlService {
12421
12407
  catch (error) {
12422
12408
  console.error(error);
12423
12409
  this.resetData();
12424
- throw { code: ErrorCodes$2.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
12410
+ throw { code: ErrorCodes.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
12425
12411
  }
12426
12412
  // Store pubkey+keypair
12427
12413
  this.data.pubkey = Base58.encode(keypair.publicKey);
@@ -12455,7 +12441,7 @@ class AccountService extends BaseGraphqlService {
12455
12441
  }
12456
12442
  catch (err) {
12457
12443
  // If account not found, check if email is valid
12458
- if (err && +(err.code) === ErrorCodes$2.LOAD_ACCOUNT_ERROR) {
12444
+ if (err && +(err.code) === ErrorCodes.LOAD_ACCOUNT_ERROR) {
12459
12445
  // Check email exists
12460
12446
  if (data.username.indexOf('@') !== -1) {
12461
12447
  let isEmailExists;
@@ -12467,11 +12453,11 @@ class AccountService extends BaseGraphqlService {
12467
12453
  }
12468
12454
  // Email not exists (no account)
12469
12455
  if (!isEmailExists) {
12470
- throw { code: ErrorCodes$2.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
12456
+ throw { code: ErrorCodes.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
12471
12457
  }
12472
12458
  }
12473
12459
  // Email exists, so error = 'bad password'
12474
- throw { code: ErrorCodes$2.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
12460
+ throw { code: ErrorCodes.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
12475
12461
  }
12476
12462
  throw err; // resend the first error
12477
12463
  }
@@ -12596,8 +12582,8 @@ class AccountService extends BaseGraphqlService {
12596
12582
  // Load remotely
12597
12583
  else {
12598
12584
  const { data } = yield this.graphql.query({
12599
- query: LoadQuery$1,
12600
- error: { code: ErrorCodes$2.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
12585
+ query: LoadQuery,
12586
+ error: { code: ErrorCodes.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
12601
12587
  fetchPolicy: opts && opts.fetchPolicy || 'no-cache' || undefined
12602
12588
  });
12603
12589
  json = data;
@@ -12624,7 +12610,7 @@ class AccountService extends BaseGraphqlService {
12624
12610
  return __awaiter(this, void 0, void 0, function* () {
12625
12611
  const isEmailExists = yield this.isEmailExists(email);
12626
12612
  if (isEmailExists) {
12627
- throw { code: ErrorCodes$2.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
12613
+ throw { code: ErrorCodes.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
12628
12614
  }
12629
12615
  });
12630
12616
  }
@@ -12660,7 +12646,7 @@ class AccountService extends BaseGraphqlService {
12660
12646
  locale
12661
12647
  },
12662
12648
  error: {
12663
- code: ErrorCodes$2.SENT_CONFIRMATION_EMAIL_FAILED,
12649
+ code: ErrorCodes.SENT_CONFIRMATION_EMAIL_FAILED,
12664
12650
  message: 'ERROR.SENT_ACCOUNT_CONFIRMATION_EMAIL_FAILED'
12665
12651
  }
12666
12652
  });
@@ -12676,7 +12662,7 @@ class AccountService extends BaseGraphqlService {
12676
12662
  code
12677
12663
  },
12678
12664
  error: {
12679
- code: ErrorCodes$2.CONFIRM_EMAIL_FAILED,
12665
+ code: ErrorCodes.CONFIRM_EMAIL_FAILED,
12680
12666
  message: 'ERROR.CONFIRM_ACCOUNT_EMAIL_FAILED'
12681
12667
  }
12682
12668
  });
@@ -12694,7 +12680,7 @@ class AccountService extends BaseGraphqlService {
12694
12680
  interval: 10
12695
12681
  },
12696
12682
  error: {
12697
- code: ErrorCodes$2.SUBSCRIBE_ACCOUNT_ERROR,
12683
+ code: ErrorCodes.SUBSCRIBE_ACCOUNT_ERROR,
12698
12684
  message: 'ERROR.ACCOUNT.SUBSCRIBE_ACCOUNT_ERROR'
12699
12685
  }
12700
12686
  }).subscribe({
@@ -12796,7 +12782,7 @@ class AccountService extends BaseGraphqlService {
12796
12782
  throw error;
12797
12783
  console.error(error);
12798
12784
  throw {
12799
- code: ErrorCodes$2.LOAD_ACCOUNT_ERROR,
12785
+ code: ErrorCodes.LOAD_ACCOUNT_ERROR,
12800
12786
  message: 'ERROR.LOAD_ACCOUNT_ERROR'
12801
12787
  };
12802
12788
  }
@@ -12941,7 +12927,7 @@ class AccountService extends BaseGraphqlService {
12941
12927
  if (!isNew) {
12942
12928
  const existingAccount = yield this.load({ fetchPolicy: 'network-only' });
12943
12929
  if (!existingAccount || !existingAccount.updateDate) {
12944
- throw { code: ErrorCodes$2.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
12930
+ throw { code: ErrorCodes.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
12945
12931
  }
12946
12932
  this.copyIdAndUpdateDate(existingAccount, account);
12947
12933
  }
@@ -12950,10 +12936,10 @@ class AccountService extends BaseGraphqlService {
12950
12936
  delete json.profiles;
12951
12937
  // Execute mutation
12952
12938
  const { data } = yield this.graphql.mutate({
12953
- mutation: isNew ? CreateMutation : SaveMutation$1,
12939
+ mutation: isNew ? CreateMutation : SaveMutation,
12954
12940
  variables: { data: json },
12955
12941
  error: {
12956
- code: ErrorCodes$2.SAVE_ACCOUNT_ERROR,
12942
+ code: ErrorCodes.SAVE_ACCOUNT_ERROR,
12957
12943
  message: 'ERROR.SAVE_ACCOUNT_ERROR'
12958
12944
  }
12959
12945
  });
@@ -12973,7 +12959,7 @@ class AccountService extends BaseGraphqlService {
12973
12959
  if (counter > 4) {
12974
12960
  if (this._debug)
12975
12961
  console.debug(`[account] Failed to authentication on pod (after ${counter} attempts)`);
12976
- throw { code: ErrorCodes$2.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
12962
+ throw { code: ErrorCodes.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
12977
12963
  }
12978
12964
  // Check if valid
12979
12965
  if (token) {
@@ -12983,7 +12969,7 @@ class AccountService extends BaseGraphqlService {
12983
12969
  token
12984
12970
  },
12985
12971
  error: {
12986
- code: ErrorCodes$2.UNAUTHORIZED,
12972
+ code: ErrorCodes.UNAUTHORIZED,
12987
12973
  message: 'ERROR.UNAUTHORIZED'
12988
12974
  },
12989
12975
  fetchPolicy: 'no-cache'
@@ -12999,7 +12985,7 @@ class AccountService extends BaseGraphqlService {
12999
12985
  }
13000
12986
  // Generate a new token
13001
12987
  const challengeError = {
13002
- code: ErrorCodes$2.AUTH_CHALLENGE_ERROR,
12988
+ code: ErrorCodes.AUTH_CHALLENGE_ERROR,
13003
12989
  message: 'ERROR.AUTH_CHALLENGE_ERROR'
13004
12990
  };
13005
12991
  const data = yield this.graphql.query({
@@ -13033,7 +13019,7 @@ class AccountService extends BaseGraphqlService {
13033
13019
  target.settings.updateDate = source.settings && source.settings.updateDate || target.settings.updateDate;
13034
13020
  }
13035
13021
  }
13036
- AccountService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AccountService_Factory() { return new AccountService(i0.ɵɵinject(CryptoService), i0.ɵɵinject(NetworkService), i0.ɵɵinject(GraphqlService), i0.ɵɵinject(LocalSettingsService), i0.ɵɵinject(i3$1.Storage), i0.ɵɵinject(FileService), i0.ɵɵinject(ENVIRONMENT)); }, token: AccountService, providedIn: "root" });
13022
+ AccountService.ɵprov = ɵɵdefineInjectable({ factory: function AccountService_Factory() { return new AccountService(ɵɵinject(CryptoService), ɵɵinject(NetworkService), ɵɵinject(GraphqlService), ɵɵinject(LocalSettingsService), ɵɵinject(Storage), ɵɵinject(FileService), ɵɵinject(ENVIRONMENT)); }, token: AccountService, providedIn: "root" });
13037
13023
  AccountService.decorators = [
13038
13024
  { type: Injectable, args: [{ providedIn: 'root' },] }
13039
13025
  ];
@@ -13293,7 +13279,7 @@ const CONFIGURATION_STORAGE_KEY = 'configuration';
13293
13279
  /* ------------------------------------
13294
13280
  * GraphQL queries
13295
13281
  * ------------------------------------*/
13296
- const Fragments = {
13282
+ const Fragments$1 = {
13297
13283
  config: gql `
13298
13284
  fragment ConfigFragment on ConfigurationVO {
13299
13285
  id
@@ -13320,22 +13306,22 @@ const Fragments = {
13320
13306
  }
13321
13307
  `
13322
13308
  };
13323
- const LoadQuery = gql `
13309
+ const LoadQuery$1 = gql `
13324
13310
  query Configuration{
13325
13311
  data: configuration{
13326
13312
  ...ConfigFragment
13327
13313
  }
13328
13314
  }
13329
- ${Fragments.config}
13315
+ ${Fragments$1.config}
13330
13316
  `;
13331
13317
  // Save (create or update) account mutation
13332
- const SaveMutation = gql `
13318
+ const SaveMutation$1 = gql `
13333
13319
  mutation SaveConfiguration($data: ConfigurationVOInput){
13334
13320
  data: saveConfiguration(config: $data){
13335
13321
  ...ConfigFragment
13336
13322
  }
13337
13323
  }
13338
- ${Fragments.config}
13324
+ ${Fragments$1.config}
13339
13325
  `;
13340
13326
  const ClearCache = gql `
13341
13327
  query ClearCache($name: String) {
@@ -13423,12 +13409,12 @@ class ConfigService extends BaseGraphqlService {
13423
13409
  return __awaiter(this, void 0, void 0, function* () {
13424
13410
  const now = Date.now();
13425
13411
  console.debug('[config] Loading Pod configuration...');
13426
- const query = opts && opts.query || LoadQuery;
13412
+ const query = opts && opts.query || LoadQuery$1;
13427
13413
  const variables = opts && opts.variables || undefined;
13428
13414
  const res = yield this.graphql.query({
13429
13415
  query,
13430
13416
  variables,
13431
- error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
13417
+ error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
13432
13418
  fetchPolicy: opts && opts.fetchPolicy || undefined /*default*/
13433
13419
  });
13434
13420
  const data = res && res.data ? Configuration.fromObject(res.data) : undefined;
@@ -13453,12 +13439,12 @@ class ConfigService extends BaseGraphqlService {
13453
13439
  const json = config.asObject();
13454
13440
  // Execute mutation
13455
13441
  const res = yield this.graphql.mutate({
13456
- mutation: SaveMutation,
13442
+ mutation: SaveMutation$1,
13457
13443
  variables: {
13458
13444
  data: json
13459
13445
  },
13460
13446
  error: {
13461
- code: ErrorCodes$2.SAVE_CONFIG_ERROR,
13447
+ code: ErrorCodes.SAVE_CONFIG_ERROR,
13462
13448
  message: 'ERROR.SAVE_CONFIG_ERROR'
13463
13449
  }
13464
13450
  });
@@ -13484,7 +13470,7 @@ class ConfigService extends BaseGraphqlService {
13484
13470
  const res = yield this.graphql.query({
13485
13471
  query: CacheStatistics,
13486
13472
  variables: null,
13487
- error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
13473
+ error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
13488
13474
  fetchPolicy: 'network-only'
13489
13475
  });
13490
13476
  const data = res && res.cacheStatistics || undefined;
@@ -13500,7 +13486,7 @@ class ConfigService extends BaseGraphqlService {
13500
13486
  const res = yield this.graphql.query({
13501
13487
  query: ClearCache,
13502
13488
  variables,
13503
- error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
13489
+ error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
13504
13490
  fetchPolicy: 'network-only'
13505
13491
  });
13506
13492
  const data = res && res.clearCache || undefined;
@@ -13659,7 +13645,7 @@ class ConfigService extends BaseGraphqlService {
13659
13645
  });
13660
13646
  }
13661
13647
  }
13662
- ConfigService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ConfigService_Factory() { return new ConfigService(i0.ɵɵinject(i1$4.Platform), i0.ɵɵinject(GraphqlService), i0.ɵɵinject(i3$1.Storage), i0.ɵɵinject(NetworkService), i0.ɵɵinject(FileService), i0.ɵɵinject(i1$4.ToastController), i0.ɵɵinject(i1$1.TranslateService), i0.ɵɵinject(ENVIRONMENT), i0.ɵɵinject(APP_CONFIG_OPTIONS, 8)); }, token: ConfigService, providedIn: "root" });
13648
+ ConfigService.ɵprov = ɵɵdefineInjectable({ factory: function ConfigService_Factory() { return new ConfigService(ɵɵinject(Platform), ɵɵinject(GraphqlService), ɵɵinject(Storage), ɵɵinject(NetworkService), ɵɵinject(FileService), ɵɵinject(ToastController), ɵɵinject(TranslateService), ɵɵinject(ENVIRONMENT), ɵɵinject(APP_CONFIG_OPTIONS, 8)); }, token: ConfigService, providedIn: "root" });
13663
13649
  ConfigService.decorators = [
13664
13650
  { type: Injectable, args: [{
13665
13651
  providedIn: 'root',
@@ -13678,7 +13664,7 @@ ConfigService.ctorParameters = () => [
13678
13664
  { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_CONFIG_OPTIONS,] }] }
13679
13665
  ];
13680
13666
 
13681
- const moment$2 = momentImported;
13667
+ const moment$4 = momentImported;
13682
13668
  class PlatformService {
13683
13669
  constructor(platform, cdkPlatform, toastController, translate, dateAdapter, entitiesStorage, settings, networkService, accountService, configService, cache, storage, audioProvider, environment, statusBar, keyboard, splashScreen, browser) {
13684
13670
  this.platform = platform;
@@ -13843,16 +13829,16 @@ class PlatformService {
13843
13829
  }
13844
13830
  // config moment lib
13845
13831
  try {
13846
- moment$2.locale(event.lang);
13832
+ moment$4.locale(event.lang);
13847
13833
  console.debug('[platform] Use locale {' + event.lang + '}');
13848
13834
  }
13849
13835
  // If error, fallback to en
13850
13836
  catch (err) {
13851
- moment$2.locale('en');
13837
+ moment$4.locale('en');
13852
13838
  console.warn('[platform] Unknown local for moment lib. Using default [en]');
13853
13839
  }
13854
13840
  // Config date adapter
13855
- this.dateAdapter.setLocale(moment$2.locale());
13841
+ this.dateAdapter.setLocale(moment$4.locale());
13856
13842
  }
13857
13843
  });
13858
13844
  this.settings.onChange.subscribe(data => {
@@ -13989,7 +13975,7 @@ class PlatformService {
13989
13975
  });
13990
13976
  }
13991
13977
  }
13992
- PlatformService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PlatformService_Factory() { return new PlatformService(i0.ɵɵinject(i1$4.Platform), i0.ɵɵinject(i2$4.Platform), i0.ɵɵinject(i1$4.ToastController), i0.ɵɵinject(i1$1.TranslateService), i0.ɵɵinject(i1.MomentDateAdapter), i0.ɵɵinject(EntitiesStorage), i0.ɵɵinject(LocalSettingsService), i0.ɵɵinject(NetworkService), i0.ɵɵinject(AccountService), i0.ɵɵinject(ConfigService), i0.ɵɵinject(i6.CacheService), i0.ɵɵinject(i3$1.Storage), i0.ɵɵinject(AudioProvider), i0.ɵɵinject(ENVIRONMENT), i0.ɵɵinject(i14.StatusBar, 8), i0.ɵɵinject(i15.Keyboard, 8), i0.ɵɵinject(i10.SplashScreen, 8), i0.ɵɵinject(i17.InAppBrowser, 8)); }, token: PlatformService, providedIn: "root" });
13978
+ PlatformService.ɵprov = ɵɵdefineInjectable({ factory: function PlatformService_Factory() { return new PlatformService(ɵɵinject(Platform), ɵɵinject(Platform$1), ɵɵinject(ToastController), ɵɵinject(TranslateService), ɵɵinject(MomentDateAdapter), ɵɵinject(EntitiesStorage), ɵɵinject(LocalSettingsService), ɵɵinject(NetworkService), ɵɵinject(AccountService), ɵɵinject(ConfigService), ɵɵinject(CacheService), ɵɵinject(Storage), ɵɵinject(AudioProvider), ɵɵinject(ENVIRONMENT), ɵɵinject(StatusBar, 8), ɵɵinject(Keyboard$1, 8), ɵɵinject(SplashScreen, 8), ɵɵinject(InAppBrowser, 8)); }, token: PlatformService, providedIn: "root" });
13993
13979
  PlatformService.decorators = [
13994
13980
  { type: Injectable, args: [{ providedIn: 'root' },] }
13995
13981
  ];
@@ -14004,14 +13990,14 @@ PlatformService.ctorParameters = () => [
14004
13990
  { type: NetworkService },
14005
13991
  { type: AccountService },
14006
13992
  { type: ConfigService },
14007
- { type: CacheService },
13993
+ { type: CacheService$1 },
14008
13994
  { type: Storage },
14009
13995
  { type: AudioProvider },
14010
13996
  { type: undefined, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] },
14011
- { type: StatusBar, decorators: [{ type: Optional }] },
13997
+ { type: StatusBar$1, decorators: [{ type: Optional }] },
14012
13998
  { type: Keyboard, decorators: [{ type: Optional }] },
14013
- { type: SplashScreen, decorators: [{ type: Optional }] },
14014
- { type: InAppBrowser, decorators: [{ type: Optional }] }
13999
+ { type: SplashScreen$1, decorators: [{ type: Optional }] },
14000
+ { type: InAppBrowser$1, decorators: [{ type: Optional }] }
14015
14001
  ];
14016
14002
 
14017
14003
  class AppHelpModal {
@@ -14075,7 +14061,7 @@ class MatStepperI18n extends MatStepperIntl {
14075
14061
  this.optionalLabel = this.translate.instant('COMMON.OPTIONAL');
14076
14062
  }
14077
14063
  }
14078
- MatStepperI18n.ɵprov = i0.ɵɵdefineInjectable({ factory: function MatStepperI18n_Factory() { return new MatStepperI18n(i0.ɵɵinject(i1$1.TranslateService)); }, token: MatStepperI18n, providedIn: "root" });
14064
+ MatStepperI18n.ɵprov = ɵɵdefineInjectable({ factory: function MatStepperI18n_Factory() { return new MatStepperI18n(ɵɵinject(TranslateService)); }, token: MatStepperI18n, providedIn: "root" });
14079
14065
  MatStepperI18n.decorators = [
14080
14066
  { type: Injectable, args: [{ providedIn: 'root' },] }
14081
14067
  ];
@@ -15067,7 +15053,7 @@ function state2side(state) {
15067
15053
  return 1;
15068
15054
  }
15069
15055
  }
15070
- const ɵ0$1 = (defaultStateSize) => [
15056
+ const ɵ0$9 = (defaultStateSize) => [
15071
15057
  Math.round((rgbArrayMap.red[0] - 50) / defaultStateSize),
15072
15058
  Math.round((255 - rgbArrayMap.red[1]) / defaultStateSize),
15073
15059
  Math.round((255 - rgbArrayMap.red[2]) / defaultStateSize)
@@ -15075,7 +15061,7 @@ const ɵ0$1 = (defaultStateSize) => [
15075
15061
  const SCALE_OPTIONS_DEFAULT = {
15076
15062
  startColor: rgbArrayMap.red,
15077
15063
  startStates: [0, 2, 3],
15078
- startStepsFn: ɵ0$1
15064
+ startStepsFn: ɵ0$9
15079
15065
  };
15080
15066
  /**
15081
15067
  * Internal function, that create a colors scale, using iteration
@@ -15167,21 +15153,21 @@ function linearColorGradient(count, options) {
15167
15153
  return result;
15168
15154
  }
15169
15155
 
15170
- class EntityTestClass$1 {
15156
+ class EntityTestClass {
15171
15157
  }
15172
- const FAKE_ENTITIES$1 = [
15158
+ const FAKE_ENTITIES = [
15173
15159
  { id: 1, label: 'AAA', name: 'Item A', description: 'Very long description A', comments: 'Very very long comments... again for A' },
15174
15160
  { id: 2, label: 'BBB', name: 'Item B', description: 'Very long description B', comments: 'Very very long comments... again for B' },
15175
15161
  { id: 3, label: 'CCC', name: 'Item C', description: 'Very long description C', comments: 'Very very long comments... again for C' }
15176
15162
  ];
15177
- function deepCopy$1(values, size) {
15163
+ function deepCopy(values, size) {
15178
15164
  if (isNil(size)) {
15179
- return (values || FAKE_ENTITIES$1).map(entity => Object.assign({}, entity));
15165
+ return (values || FAKE_ENTITIES).map(entity => Object.assign({}, entity));
15180
15166
  }
15181
15167
  let result = [];
15182
15168
  let i = 1;
15183
15169
  while (result.length < size) {
15184
- result = result.concat((values || FAKE_ENTITIES$1).map(entity => {
15170
+ result = result.concat((values || FAKE_ENTITIES).map(entity => {
15185
15171
  const name = entity.name + ' #' + i;
15186
15172
  return Object.assign(Object.assign({}, entity), { id: i++, name });
15187
15173
  }));
@@ -15191,7 +15177,7 @@ function deepCopy$1(values, size) {
15191
15177
  class AutocompleteTestPage {
15192
15178
  constructor(formBuilder) {
15193
15179
  this.formBuilder = formBuilder;
15194
- this._items = deepCopy$1(FAKE_ENTITIES$1, 100);
15180
+ this._items = deepCopy(FAKE_ENTITIES, 100);
15195
15181
  this.$items = new BehaviorSubject(undefined);
15196
15182
  this.autocompleteFields = new MatAutocompleteConfigHolder();
15197
15183
  this.memoryHide = false;
@@ -15235,7 +15221,7 @@ class AutocompleteTestPage {
15235
15221
  });
15236
15222
  // From items
15237
15223
  this.autocompleteFields.add('entity-items-large', {
15238
- items: FAKE_ENTITIES$1.slice(),
15224
+ items: FAKE_ENTITIES.slice(),
15239
15225
  attributes: ['label', 'name', 'description', 'comments'],
15240
15226
  displayWith: this.entityToString
15241
15227
  });
@@ -15245,12 +15231,12 @@ class AutocompleteTestPage {
15245
15231
  loadData() {
15246
15232
  return __awaiter(this, void 0, void 0, function* () {
15247
15233
  const data = {
15248
- entity: deepCopy$1(FAKE_ENTITIES$1)[0],
15234
+ entity: deepCopy(FAKE_ENTITIES)[0],
15249
15235
  // This item is NOT in the items list => i should be displayed anyway
15250
15236
  missingEntity: {
15251
15237
  id: -1, label: '??', name: 'Missing item'
15252
15238
  },
15253
- disableEntity: deepCopy$1(FAKE_ENTITIES$1)[2]
15239
+ disableEntity: deepCopy(FAKE_ENTITIES)[2]
15254
15240
  };
15255
15241
  this.form.setValue(data);
15256
15242
  // Load observables
@@ -15423,13 +15409,13 @@ MaterialTestingPage.ctorParameters = () => [
15423
15409
  { type: Array, decorators: [{ type: Optional }, { type: Inject, args: [APP_TESTING_PAGES,] }] }
15424
15410
  ];
15425
15411
 
15426
- const moment$1 = momentImported;
15412
+ const moment$5 = momentImported;
15427
15413
  class SwipeTestPage {
15428
15414
  constructor(formBuilder, dateFormatPipe) {
15429
15415
  this.formBuilder = formBuilder;
15430
15416
  this.dateFormatPipe = dateFormatPipe;
15431
15417
  this.$dates = new BehaviorSubject(undefined);
15432
- this._today = moment$1().startOf('day');
15418
+ this._today = moment$5().startOf('day');
15433
15419
  this.form = formBuilder.group({
15434
15420
  empty: [null, Validators.required],
15435
15421
  date: [null, Validators.compose([Validators.required, SharedValidators.validDate])],
@@ -15442,7 +15428,7 @@ class SwipeTestPage {
15442
15428
  ngOnInit() {
15443
15429
  const dates = [];
15444
15430
  for (let d = 0; d < 7; d++) {
15445
- dates[d] = moment$1(this._today).add(d - 3, 'day');
15431
+ dates[d] = moment$5(this._today).add(d - 3, 'day');
15446
15432
  }
15447
15433
  this.$dates.next(dates);
15448
15434
  this.loadData();
@@ -16059,7 +16045,7 @@ class FormArrayHelper {
16059
16045
  }
16060
16046
  }
16061
16047
 
16062
- const moment = momentImported;
16048
+ const moment$6 = momentImported;
16063
16049
  class DateTimeTestPage {
16064
16050
  constructor(platform, formBuilder, cd) {
16065
16051
  this.platform = platform;
@@ -16090,7 +16076,7 @@ class DateTimeTestPage {
16090
16076
  // Load the form with data
16091
16077
  loadData() {
16092
16078
  return __awaiter(this, void 0, void 0, function* () {
16093
- const now = moment();
16079
+ const now = moment$6();
16094
16080
  const data = {
16095
16081
  empty: toDateISOString(now.clone().add(2, 'hours')),
16096
16082
  enable: toDateISOString(now),
@@ -16150,20 +16136,20 @@ DateTimeTestPage.ctorParameters = () => [
16150
16136
  { type: ChangeDetectorRef }
16151
16137
  ];
16152
16138
 
16153
- class EntityTestClass {
16139
+ class EntityTestClass$1 {
16154
16140
  }
16155
- const FAKE_ENTITIES = [
16141
+ const FAKE_ENTITIES$1 = [
16156
16142
  { id: 1, label: 'AAA', name: 'Item A' },
16157
16143
  { id: 2, label: 'BBB', name: 'Item B' },
16158
16144
  { id: 3, label: 'CCC', name: 'Item C' }
16159
16145
  ];
16160
- function deepCopy(values) {
16161
- return (values || FAKE_ENTITIES).map(entity => Object.assign({}, entity));
16146
+ function deepCopy$1(values) {
16147
+ return (values || FAKE_ENTITIES$1).map(entity => Object.assign({}, entity));
16162
16148
  }
16163
16149
  class ChipsTestPage {
16164
16150
  constructor(formBuilder) {
16165
16151
  this.formBuilder = formBuilder;
16166
- this._items = deepCopy(FAKE_ENTITIES);
16152
+ this._items = deepCopy$1(FAKE_ENTITIES$1);
16167
16153
  this._$items = new BehaviorSubject(undefined);
16168
16154
  this.autocompleteFields = new MatAutocompleteConfigHolder();
16169
16155
  this.form = formBuilder.group({
@@ -16182,7 +16168,7 @@ class ChipsTestPage {
16182
16168
  });
16183
16169
  // From items
16184
16170
  this.autocompleteFields.add('entity-items', {
16185
- items: FAKE_ENTITIES.slice(),
16171
+ items: FAKE_ENTITIES$1.slice(),
16186
16172
  attributes: ['label', 'name'],
16187
16173
  displayWith: this.entityToString
16188
16174
  });
@@ -16203,15 +16189,15 @@ class ChipsTestPage {
16203
16189
  const data = {
16204
16190
  entity: [],
16205
16191
  // THis item is NOT in the items list => i should be displayed anyway
16206
- entityInitial: FAKE_ENTITIES.slice(1, 2),
16207
- disableEntity: FAKE_ENTITIES.slice(1, 2)
16192
+ entityInitial: FAKE_ENTITIES$1.slice(1, 2),
16193
+ disableEntity: FAKE_ENTITIES$1.slice(1, 2)
16208
16194
  };
16209
16195
  this.form.setValue(data);
16210
16196
  });
16211
16197
  }
16212
16198
  loadItems() {
16213
16199
  return __awaiter(this, void 0, void 0, function* () {
16214
- this._$items.next(deepCopy(FAKE_ENTITIES));
16200
+ this._$items.next(deepCopy$1(FAKE_ENTITIES$1));
16215
16201
  });
16216
16202
  }
16217
16203
  entityToString(item) {
@@ -16243,7 +16229,7 @@ ChipsTestPage.ctorParameters = () => [
16243
16229
  { type: FormBuilder }
16244
16230
  ];
16245
16231
 
16246
- const routes$1 = [
16232
+ const routes = [
16247
16233
  {
16248
16234
  path: '',
16249
16235
  pathMatch: 'full',
@@ -16290,7 +16276,7 @@ MaterialTestingModule.decorators = [
16290
16276
  ReactiveFormsModule,
16291
16277
  SharedMaterialModule,
16292
16278
  TranslateModule.forChild(),
16293
- RouterModule.forChild(routes$1)
16279
+ RouterModule.forChild(routes)
16294
16280
  ],
16295
16281
  declarations: [
16296
16282
  MaterialTestingPage,
@@ -17233,7 +17219,7 @@ class UserSettingsValidatorService extends AppValidatorService {
17233
17219
  });
17234
17220
  }
17235
17221
  }
17236
- UserSettingsValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function UserSettingsValidatorService_Factory() { return new UserSettingsValidatorService(i0.ɵɵinject(i1$6.FormBuilder)); }, token: UserSettingsValidatorService, providedIn: "root" });
17222
+ UserSettingsValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function UserSettingsValidatorService_Factory() { return new UserSettingsValidatorService(ɵɵinject(FormBuilder)); }, token: UserSettingsValidatorService, providedIn: "root" });
17237
17223
  UserSettingsValidatorService.decorators = [
17238
17224
  { type: Injectable, args: [{ providedIn: 'root' },] }
17239
17225
  ];
@@ -17277,7 +17263,7 @@ class AccountValidatorService extends AppValidatorService {
17277
17263
  return validatorFns.length ? Validators.compose(validatorFns) : validatorFns.length === 1 ? validatorFns[0] : undefined;
17278
17264
  }
17279
17265
  }
17280
- AccountValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AccountValidatorService_Factory() { return new AccountValidatorService(i0.ɵɵinject(i1$6.FormBuilder), i0.ɵɵinject(AccountService)); }, token: AccountValidatorService, providedIn: "root" });
17266
+ AccountValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function AccountValidatorService_Factory() { return new AccountValidatorService(ɵɵinject(FormBuilder), ɵɵinject(AccountService)); }, token: AccountValidatorService, providedIn: "root" });
17281
17267
  AccountValidatorService.decorators = [
17282
17268
  { type: Injectable, args: [{ providedIn: 'root' },] }
17283
17269
  ];
@@ -17811,7 +17797,7 @@ class LocalSettingsValidatorService extends AppValidatorService {
17811
17797
  });
17812
17798
  }
17813
17799
  }
17814
- LocalSettingsValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function LocalSettingsValidatorService_Factory() { return new LocalSettingsValidatorService(i0.ɵɵinject(i1$6.FormBuilder), i0.ɵɵinject(NetworkService)); }, token: LocalSettingsValidatorService, providedIn: "root" });
17800
+ LocalSettingsValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function LocalSettingsValidatorService_Factory() { return new LocalSettingsValidatorService(ɵɵinject(FormBuilder), ɵɵinject(NetworkService)); }, token: LocalSettingsValidatorService, providedIn: "root" });
17815
17801
  LocalSettingsValidatorService.decorators = [
17816
17802
  { type: Injectable, args: [{ providedIn: 'root' },] }
17817
17803
  ];
@@ -18431,7 +18417,7 @@ class IsOnFieldModePipe {
18431
18417
  return value === 'FIELD';
18432
18418
  }
18433
18419
  }
18434
- IsOnFieldModePipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsOnFieldModePipe_Factory() { return new IsOnFieldModePipe(); }, token: IsOnFieldModePipe, providedIn: "root" });
18420
+ IsOnFieldModePipe.ɵprov = ɵɵdefineInjectable({ factory: function IsOnFieldModePipe_Factory() { return new IsOnFieldModePipe(); }, token: IsOnFieldModePipe, providedIn: "root" });
18435
18421
  IsOnFieldModePipe.decorators = [
18436
18422
  { type: Pipe, args: [{
18437
18423
  name: 'isOnField'
@@ -18443,7 +18429,7 @@ class IsNotOnFieldModePipe {
18443
18429
  return value !== 'FIELD';
18444
18430
  }
18445
18431
  }
18446
- IsNotOnFieldModePipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNotOnFieldModePipe_Factory() { return new IsNotOnFieldModePipe(); }, token: IsNotOnFieldModePipe, providedIn: "root" });
18432
+ IsNotOnFieldModePipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNotOnFieldModePipe_Factory() { return new IsNotOnFieldModePipe(); }, token: IsNotOnFieldModePipe, providedIn: "root" });
18447
18433
  IsNotOnFieldModePipe.decorators = [
18448
18434
  { type: Pipe, args: [{
18449
18435
  name: 'isNotOnField'
@@ -18458,7 +18444,7 @@ class PersonToStringPipe {
18458
18444
  return PersonUtils.personToString(value);
18459
18445
  }
18460
18446
  }
18461
- PersonToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function PersonToStringPipe_Factory() { return new PersonToStringPipe(); }, token: PersonToStringPipe, providedIn: "root" });
18447
+ PersonToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function PersonToStringPipe_Factory() { return new PersonToStringPipe(); }, token: PersonToStringPipe, providedIn: "root" });
18462
18448
  PersonToStringPipe.decorators = [
18463
18449
  { type: Pipe, args: [{
18464
18450
  name: 'personToString'
@@ -18675,7 +18661,7 @@ class IsLoginAccountPipe {
18675
18661
  return value && value.pubkey && true;
18676
18662
  }
18677
18663
  }
18678
- IsLoginAccountPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsLoginAccountPipe_Factory() { return new IsLoginAccountPipe(); }, token: IsLoginAccountPipe, providedIn: "root" });
18664
+ IsLoginAccountPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsLoginAccountPipe_Factory() { return new IsLoginAccountPipe(); }, token: IsLoginAccountPipe, providedIn: "root" });
18679
18665
  IsLoginAccountPipe.decorators = [
18680
18666
  { type: Pipe, args: [{
18681
18667
  name: 'isLogin'
@@ -18687,7 +18673,7 @@ class AccountToStringPipe {
18687
18673
  return accountToString(value);
18688
18674
  }
18689
18675
  }
18690
- AccountToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function AccountToStringPipe_Factory() { return new AccountToStringPipe(); }, token: AccountToStringPipe, providedIn: "root" });
18676
+ AccountToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function AccountToStringPipe_Factory() { return new AccountToStringPipe(); }, token: AccountToStringPipe, providedIn: "root" });
18691
18677
  AccountToStringPipe.decorators = [
18692
18678
  { type: Pipe, args: [{
18693
18679
  name: 'accountToString'
@@ -18702,7 +18688,7 @@ class DepartmentToStringPipe {
18702
18688
  return departmentToString(value);
18703
18689
  }
18704
18690
  }
18705
- DepartmentToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DepartmentToStringPipe_Factory() { return new DepartmentToStringPipe(); }, token: DepartmentToStringPipe, providedIn: "root" });
18691
+ DepartmentToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function DepartmentToStringPipe_Factory() { return new DepartmentToStringPipe(); }, token: DepartmentToStringPipe, providedIn: "root" });
18706
18692
  DepartmentToStringPipe.decorators = [
18707
18693
  { type: Pipe, args: [{
18708
18694
  name: 'departmentToString'
@@ -18728,7 +18714,7 @@ class MenuService {
18728
18714
  this._visibleSubject.next(value);
18729
18715
  }
18730
18716
  }
18731
- MenuService.ɵprov = i0.ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(); }, token: MenuService, providedIn: "root" });
18717
+ MenuService.ɵprov = ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(); }, token: MenuService, providedIn: "root" });
18732
18718
  MenuService.decorators = [
18733
18719
  { type: Injectable, args: [{
18734
18720
  providedIn: 'root'
@@ -19222,7 +19208,7 @@ class AuthGuardService {
19222
19208
  }));
19223
19209
  }
19224
19210
  }
19225
- AuthGuardService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AuthGuardService_Factory() { return new AuthGuardService(i0.ɵɵinject(AccountService), i0.ɵɵinject(i1$4.ModalController), i0.ɵɵinject(i3$3.Router), i0.ɵɵinject(ENVIRONMENT)); }, token: AuthGuardService, providedIn: "root" });
19211
+ AuthGuardService.ɵprov = ɵɵdefineInjectable({ factory: function AuthGuardService_Factory() { return new AuthGuardService(ɵɵinject(AccountService), ɵɵinject(ModalController), ɵɵinject(Router), ɵɵinject(ENVIRONMENT)); }, token: AuthGuardService, providedIn: "root" });
19226
19212
  AuthGuardService.decorators = [
19227
19213
  { type: Injectable, args: [{ providedIn: 'root' },] }
19228
19214
  ];
@@ -19270,7 +19256,7 @@ class BaseEntityService extends BaseGraphqlService {
19270
19256
  query,
19271
19257
  variables: { id },
19272
19258
  fetchPolicy: opts && opts.fetchPolicy || undefined,
19273
- error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
19259
+ error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
19274
19260
  })
19275
19261
  .pipe(map(({ data }) => (!opts || opts.toEntity !== false)
19276
19262
  ? (data && this.fromObject(data))
@@ -19285,7 +19271,7 @@ class BaseEntityService extends BaseGraphqlService {
19285
19271
  query,
19286
19272
  variables: { id },
19287
19273
  fetchPolicy: opts && opts.fetchPolicy || undefined,
19288
- error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
19274
+ error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
19289
19275
  });
19290
19276
  // Convert to entity
19291
19277
  return (!opts || opts.toEntity !== false)
@@ -19316,7 +19302,7 @@ class BaseEntityService extends BaseGraphqlService {
19316
19302
  totalFieldName: withTotal ? 'total' : undefined,
19317
19303
  insertFilterFn: filter && filter.asFilterFn(),
19318
19304
  variables,
19319
- error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' },
19305
+ error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' },
19320
19306
  fetchPolicy: opts && opts.fetchPolicy || undefined
19321
19307
  })
19322
19308
  .pipe(map(({ data, total }) => {
@@ -19352,7 +19338,7 @@ class BaseEntityService extends BaseGraphqlService {
19352
19338
  const { data, total } = yield this.graphql.query({
19353
19339
  query,
19354
19340
  variables,
19355
- error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
19341
+ error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
19356
19342
  fetchPolicy: opts && opts.fetchPolicy || 'network-only'
19357
19343
  });
19358
19344
  const entities = (!opts || opts.toEntity !== false) ?
@@ -19391,7 +19377,7 @@ class BaseEntityService extends BaseGraphqlService {
19391
19377
  variables: {
19392
19378
  filter: filter && filter.asPodObject()
19393
19379
  },
19394
- error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'ERROR.COUNT_DATA_ERROR' },
19380
+ error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.COUNT_DATA_ERROR' },
19395
19381
  fetchPolicy: opts && opts.fetchPolicy || 'network-only'
19396
19382
  });
19397
19383
  return res.total;
@@ -19424,7 +19410,7 @@ class BaseEntityService extends BaseGraphqlService {
19424
19410
  variables: {
19425
19411
  data: json
19426
19412
  },
19427
- error: { code: ErrorCodes$2.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
19413
+ error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
19428
19414
  update: (proxy, { data }) => {
19429
19415
  const savedEntities = data && data.data;
19430
19416
  if (savedEntities) {
@@ -19480,7 +19466,7 @@ class BaseEntityService extends BaseGraphqlService {
19480
19466
  variables: {
19481
19467
  data: json
19482
19468
  },
19483
- error: { code: ErrorCodes$2.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
19469
+ error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
19484
19470
  update: (cache, { data }) => {
19485
19471
  // Update entity
19486
19472
  const savedEntity = data && data.data;
@@ -19528,7 +19514,7 @@ class BaseEntityService extends BaseGraphqlService {
19528
19514
  refetchQueries: this.getRefetchQueriesForMutation(opts),
19529
19515
  awaitRefetchQueries: opts && opts.awaitRefetchQueries,
19530
19516
  variables: { ids },
19531
- error: { code: ErrorCodes$2.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
19517
+ error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
19532
19518
  update: (cache, res) => {
19533
19519
  // Remove from cache
19534
19520
  if (this.watchQueriesUpdatePolicy === 'update-cache') {
@@ -19569,7 +19555,7 @@ class BaseEntityService extends BaseGraphqlService {
19569
19555
  refetchQueries: this.getRefetchQueriesForMutation(opts),
19570
19556
  awaitRefetchQueries: opts && opts.awaitRefetchQueries,
19571
19557
  variables: { id },
19572
- error: { code: ErrorCodes$2.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
19558
+ error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
19573
19559
  update: (proxy, res) => {
19574
19560
  // Remove from cache
19575
19561
  if (this.watchQueriesUpdatePolicy === 'update-cache') {
@@ -19602,7 +19588,7 @@ class BaseEntityService extends BaseGraphqlService {
19602
19588
  query: opts && opts.query || this.subscriptions.listenChanges,
19603
19589
  variables,
19604
19590
  error: {
19605
- code: ErrorCodes$2.SUBSCRIBE_DATA_ERROR,
19591
+ code: ErrorCodes.SUBSCRIBE_DATA_ERROR,
19606
19592
  message: 'ERROR.SUBSCRIBE_DATA_ERROR'
19607
19593
  }
19608
19594
  })
@@ -19777,7 +19763,7 @@ class EntitiesTableDataSource extends TableDataSource {
19777
19763
  if (this._debug)
19778
19764
  invalidRows.forEach(row => AppTableUtils.logRowErrors(row, `[table-datasource] ${this._logTypeName} row #${row.id}`));
19779
19765
  // Stop with an error
19780
- throw { code: ErrorCodes$2.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
19766
+ throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
19781
19767
  }
19782
19768
  this._editingRowCount = 0;
19783
19769
  let data;
@@ -20599,14 +20585,14 @@ class AppTable {
20599
20585
  return __awaiter(this, void 0, void 0, function* () {
20600
20586
  opts = Object.assign({ keepEditing: this.keepEditedRowOnSave }, opts);
20601
20587
  if (this.readOnly) {
20602
- throw { code: ErrorCodes$2.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
20588
+ throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
20603
20589
  }
20604
20590
  this.resetError();
20605
20591
  // Keep edited row id (should be done BEFORE confirmEditCreate() )
20606
20592
  this.previouslyEditedRowId = opts.keepEditing && ((_a = this.editedRow) === null || _a === void 0 ? void 0 : _a.editing) ? this.editedRow.id : undefined;
20607
20593
  const previouslyEditedData = isNotNil(this.previouslyEditedRowId) && this.editedRow.currentData || ((_b = this.singleSelectedRow) === null || _b === void 0 ? void 0 : _b.currentData);
20608
20594
  if (!this.confirmEditCreate()) {
20609
- throw { code: ErrorCodes$2.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
20595
+ throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
20610
20596
  }
20611
20597
  // Mark as saving
20612
20598
  this.markAsSaving();
@@ -20722,7 +20708,7 @@ class AppTable {
20722
20708
  deleteRows(event, rows, opts) {
20723
20709
  return __awaiter(this, void 0, void 0, function* () {
20724
20710
  if (this.readOnly) {
20725
- throw { code: ErrorCodes$2.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
20711
+ throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
20726
20712
  }
20727
20713
  if (event === null || event === void 0 ? void 0 : event.defaultPrevented)
20728
20714
  return 0; // SKip
@@ -22153,7 +22139,7 @@ class AppEntityEditor extends AppTabEditor {
22153
22139
  try {
22154
22140
  const data = yield this.dataService.load(id, opts);
22155
22141
  if (!data)
22156
- throw { code: ErrorCodes$2.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
22142
+ throw { code: ErrorCodes.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
22157
22143
  this._usageMode = this.computeUsageMode(data);
22158
22144
  yield this.onEntityLoaded(data, opts);
22159
22145
  yield this.updateView(data, opts);
@@ -23046,7 +23032,7 @@ class UserEventService extends BaseGraphqlService {
23046
23032
  EntityUtils.copyIdAndUpdateDate(source, target);
23047
23033
  }
23048
23034
  }
23049
- UserEventService.ɵprov = i0.ɵɵdefineInjectable({ factory: function UserEventService_Factory() { return new UserEventService(i0.ɵɵinject(GraphqlService), i0.ɵɵinject(AccountService), i0.ɵɵinject(NetworkService), i0.ɵɵinject(i1$1.TranslateService), i0.ɵɵinject(i1$4.ToastController), i0.ɵɵinject(ENVIRONMENT)); }, token: UserEventService, providedIn: "root" });
23035
+ UserEventService.ɵprov = ɵɵdefineInjectable({ factory: function UserEventService_Factory() { return new UserEventService(ɵɵinject(GraphqlService), ɵɵinject(AccountService), ɵɵinject(NetworkService), ɵɵinject(TranslateService), ɵɵinject(ToastController), ɵɵinject(ENVIRONMENT)); }, token: UserEventService, providedIn: "root" });
23050
23036
  UserEventService.decorators = [
23051
23037
  { type: Injectable, args: [{ providedIn: 'root' },] }
23052
23038
  ];
@@ -23428,7 +23414,7 @@ class PersonService extends BaseEntityService {
23428
23414
  return target;
23429
23415
  }
23430
23416
  }
23431
- PersonService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PersonService_Factory() { return new PersonService(i0.ɵɵinject(GraphqlService), i0.ɵɵinject(PlatformService), i0.ɵɵinject(NetworkService), i0.ɵɵinject(EntitiesStorage)); }, token: PersonService, providedIn: "root" });
23417
+ PersonService.ɵprov = ɵɵdefineInjectable({ factory: function PersonService_Factory() { return new PersonService(ɵɵinject(GraphqlService), ɵɵinject(PlatformService), ɵɵinject(NetworkService), ɵɵinject(EntitiesStorage)); }, token: PersonService, providedIn: "root" });
23432
23418
  PersonService.decorators = [
23433
23419
  { type: Injectable, args: [{ providedIn: 'root' },] }
23434
23420
  ];
@@ -23459,7 +23445,7 @@ class PersonValidatorService {
23459
23445
  return this.formBuilder.group(formConfig);
23460
23446
  }
23461
23447
  }
23462
- PersonValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PersonValidatorService_Factory() { return new PersonValidatorService(i0.ɵɵinject(i1$6.FormBuilder), i0.ɵɵinject(AccountValidatorService)); }, token: PersonValidatorService, providedIn: "root" });
23448
+ PersonValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function PersonValidatorService_Factory() { return new PersonValidatorService(ɵɵinject(FormBuilder), ɵɵinject(AccountValidatorService)); }, token: PersonValidatorService, providedIn: "root" });
23463
23449
  PersonValidatorService.decorators = [
23464
23450
  { type: Injectable, args: [{ providedIn: 'root' },] }
23465
23451
  ];
@@ -23615,7 +23601,7 @@ UsersPage.decorators = [
23615
23601
  ],
23616
23602
  animations: [slideUpDownAnimation],
23617
23603
  changeDetection: ChangeDetectionStrategy.OnPush,
23618
- styles: [".mat-expansion-panel{margin-bottom:5px}.mat-expansion-panel .form-container mat-form-field{width:100%}.mat-expansion-panel mat-action-row ion-label{line-height:36px}.table-container{height:calc(100%)}.mat-table .mat-cell .avatar{height:40px;width:40px;margin:2px 0 0;background-size:cover;background-repeat:no-repeat;background-position:50%}.mat-table .mat-column-avatar{min-width:50px}.mat-table .mat-column-profile{min-width:110px}.mat-table .mat-column-status{min-width:130px}.mat-table .mat-column-department{min-width:150px}"]
23604
+ styles: [".mat-expansion-panel{margin-bottom:5px}.mat-expansion-panel .form-container mat-form-field{width:100%}.mat-expansion-panel mat-action-row ion-label{line-height:36px}.table-container{height:100%}.mat-table .mat-cell .avatar{height:40px;width:40px;margin:2px 0 0;background-size:cover;background-repeat:no-repeat;background-position:50%}.mat-table .mat-column-avatar{min-width:50px}.mat-table .mat-column-profile{min-width:110px}.mat-table .mat-column-status{min-width:130px}.mat-table .mat-column-department{min-width:150px}"]
23619
23605
  },] }
23620
23606
  ];
23621
23607
  UsersPage.ctorParameters = () => [
@@ -23663,16 +23649,16 @@ AdminModule.decorators = [
23663
23649
  ];
23664
23650
  AdminModule.ctorParameters = () => [];
23665
23651
 
23666
- const ɵ0 = {
23652
+ const ɵ0$a = {
23667
23653
  profile: 'ADMIN'
23668
23654
  };
23669
- const routes = [
23655
+ const routes$1 = [
23670
23656
  {
23671
23657
  path: 'users',
23672
23658
  pathMatch: 'full',
23673
23659
  component: UsersPage,
23674
23660
  canActivate: [AuthGuardService],
23675
- data: ɵ0
23661
+ data: ɵ0$a
23676
23662
  }
23677
23663
  ];
23678
23664
  class AdminRoutingModule {
@@ -23682,13 +23668,13 @@ AdminRoutingModule.decorators = [
23682
23668
  imports: [
23683
23669
  SharedRoutingModule,
23684
23670
  AdminModule,
23685
- RouterModule.forChild(routes)
23671
+ RouterModule.forChild(routes$1)
23686
23672
  ],
23687
23673
  exports: [RouterModule]
23688
23674
  },] }
23689
23675
  ];
23690
23676
 
23691
- const ErrorCodes = {
23677
+ const ErrorCodes$2 = {
23692
23678
  LOAD_PERSONS_ERROR: 100,
23693
23679
  SAVE_PERSONS_ERROR: 101,
23694
23680
  DELETE_PERSONS_ERROR: 102,
@@ -23700,5 +23686,5 @@ const ErrorCodes = {
23700
23686
  * Generated bundle index. Do not edit.
23701
23687
  */
23702
23688
 
23703
- export { APP_ABOUT_DEVELOPERS, APP_ABOUT_PARTNERS, APP_CONFIG_OPTIONS, APP_GRAPHQL_TYPE_POLICIES, APP_HOME_BUTTONS, APP_LOCALES, APP_LOCAL_SETTINGS, APP_LOCAL_SETTINGS_OPTIONS, APP_LOCAL_STORAGE_TYPE_POLICIES, APP_MENU_ITEMS, APP_TESTING_PAGES, AboutModal, Account, AccountPage, AccountService, AccountToStringPipe, ActionsColumnComponent, AdminModule, AdminRoutingModule, Alerts, AnimationState, AppEditorOptions, AppEntityEditor, AppForm, AppFormField, AppFormProvider, AppFormUtils, AppGestureConfig, AppGraphQLModule, AppHelpModal, AppInMemoryTable, AppInstallUpgradeCard, AppListForm, AppLoadingSpinner, AppMenuModule, AppNullForm, AppPropertiesForm, AppTabEditor, AppTabEditorOptions, AppTable, AppTableDataSourceOptions, AppTableUtils, AppValidatorService, AppendToInputDirective, ArrayFilterPipe, ArrayFirstPipe, ArrayIncludesPipe, ArrayLengthPipe, ArrayPluckPipe, AudioProvider, AuthForm, AuthGuardService, AuthModal, AutocompleteTestPage, AutofocusDirective, Base58, BaseEntityService, BaseGraphqlService, BaseGraphqlServiceOptions, BaseReferential, Beans, CORE_CONFIG_OPTIONS, CellValueChangeListener, ChipsTestPage, Color, ColorScale, ComponentDirtyGuard, ConfigService, Configuration, CoreModule, CryptoService, DATE_ISO_PATTERN, DATE_UNIX_MS_TIMESTAMP, DATE_UNIX_TIMESTAMP, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PLACEHOLDER_CHAR, DEFAULT_REQUIRED_COLUMNS, DateDiffDurationPipe, DateFormatPipe, DateFromNowPipe, DateTimeTestPage, DateUtils, Department, DepartmentToStringPipe, DurationPipe, ENTITIES_STORAGE_KEY_PREFIX, ENVIRONMENT, EmptyArrayPipe, EntitiesService, EntitiesStorage, EntitiesTableDataSource, Entity, EntityClass, EntityClasses, EntityFilter, EntityFilterUtils, EntityMetadataComponent, EntityStore, EntityUtils, Environment, ErrorCodes, EvenPipe, FileService, FileSizePipe, FormArrayHelper, FormButtonsBarComponent, FormButtonsBarToken, FormFieldValuesHolder, Fragments, GraphqlService, HAMMER_PRESS_TIME, HAMMER_TAP_TIME, HighlightPipe, HomePage, Hotkeys, HotkeysDialogComponent, InMemoryEntitiesService, IsLoginAccountPipe, IsNilOrBlankPipe, IsNotNilOrBlankPipe, IsNotOnFieldModePipe, IsOnFieldModePipe, JobUtils, KEYBOARD_HIDE_DELAY_MS, LAT_LONG_DEFAULT_MAX_DECIMALS, LAT_LONG_PATTERNS, LatLongFormatPipe, LatLongTestPage, LatitudeFormatPipe, LocalSettingsService, LongitudeFormatPipe, MINIFY_ENTITY_FOR_LOCAL_STORAGE, MINIFY_ENTITY_FOR_POD, MapGetPipe, MapKeysPipe, MapValuesPipe, MatAutocompleteConfigHolder, MatAutocompleteField, MatBooleanField, MatChipsField, MatDate, MatDateShort, MatDateTime, MatDuration, MatLatLongField, MatNumpadComponent, MatNumpadContainerComponent, MatNumpadContent, MatPaginatorI18n, MatStepperI18n, MatSwipeField, MaterialChipsModule, MaterialTestingModule, MaterialTestingPage, MathAbsPipe, MenuComponent, MenuItems, MenuService, ModalToolbarComponent, NetworkService, NgInitDirective, NotEmptyArrayPipe, NumberFormatPipe, NumpadDirective, OddPipe, PRIORITIZED_AUTHORITIES, PUBKEY_REGEXP, Peer, Person, PersonFilter, PersonFragments, PersonService, PersonToStringPipe, PersonUtils, PersonValidatorService, PlatformService, ProgressBarService, ProgressInterceptor, PropertyGetPipe, RESERVED_END_COLUMNS, RESERVED_START_COLUMNS, Referential, ReferentialRef, ReferentialUtils, RegisterConfirmPage, SETTINGS_DISPLAY_COLUMNS, SETTINGS_FILTER, SETTINGS_PAGE_SIZE, SETTINGS_SORTED_COLUMN, SETTINGS_STORAGE_KEY, SETTINGS_TRANSIENT_PROPERTIES, SPACE_PLACEHOLDER_CHAR, SelectPeerModal, SettingsPage, SharedDirectivesModule, SharedFormArrayValidators, SharedFormGroupValidators, SharedHotkeysModule, SharedMatAutocompleteModule, SharedMatBooleanModule, SharedMatDateTimeModule, SharedMatDurationModule, SharedMatLatLongModule, SharedMatNumpadModule, SharedMatSwipeModule, SharedMaterialModule, SharedModule, SharedPipesModule, SharedRoutingModule, SharedTestingModule, SharedValidators, SocialModule, Software, StatusById, StatusIds, StatusList, StrLengthPipe, SwipeTestPage, TableSelectColumnsComponent, ToStringPipe, Toasts, ToolbarComponent, ToolbarToken, TranslatablePipe, TranslateContextPipe, TranslateContextService, UserEvent, UserEventFilter, UserEventService, UserEventTypes, UserEventsTable, UserSettings, UsersPage, accountToString, adaptValueToControl, addValueInArray, arrayDistinct, arrayGroupBy, arraySize, asInputElement, canHaveFocus, capitalizeFirstLetter, chainPromises, changeCaseToUnderscore, clearValueInArray, copyEntity2Form, createPromiseEvent, createPromiseEventEmitter, departmentToString, departmentsToString, disableControls, emitPromiseEvent, entityToString, equalsOrNil, fadeInAnimation, fadeInOutAnimation, filterFalse, filterNotNil, filterNumberInput, filterTrue, firstArrayValue, firstFalsePromise, firstNotNil, firstNotNilPromise, firstTruePromise, focusInput, focusNextInput, focusPreviousInput, formatLatitude, formatLongitude, fromDateISOString, fromScrollEndEvent, fromUnixMsTimestamp, fromUnixTimestamp, getCaretPosition, getColorContrast, getColorShade, getColorTint, getConnectionType, getControlFromPath, getFocusableInputElements, getFormErrors, getFormValueFromEntity, getProperty, getPropertyByPath, getPropertyByPathAsString, getRandomImage, hexToRgb, hexToRgbArray, isControlHasInput, isEmptyArray, isInputElement, isInstanceOf, isInt, isNil, isNilOrBlank, isNilOrNaN, isNotEmptyArray, isNotNil, isNotNilOrBlank, isNotNilOrNaN, isNotNilString, isNumber, isNumberRange, joinProperties, joinPropertiesPath, logFormErrors, markAllAsTouched, markAsUntouched, markControlAsTouched, markFormGroupAsTouched, matchUpperCase, mergeLoadResult, mixHex, moveInputCaretToSeparator, noTrailingSlash, notNilOrDefault, nullIfUndefined, parseLatitudeOrLongitude, propertiesPathComparator, propertyComparator, propertyPathComparator, referentialToString, referentialsToString, remove, removeAll, removeDiacritics, removeDuplicatesFromArray, removeEnd, removeValueInArray, replaceAll, resetCalculatedValue, resizeArray, rgbArrayToHex, rgbToHex, round, scrollFactory, selectInputContent, selectInputRange, setCalculatedValue, setTabIndex, sleep, slideInOutAnimation, slideUpDownAnimation, sort, splitById, splitByProperty, startsWithUpperCase, suggestFromArray, suggestFromStringArray, tabindexComparator, toBoolean, toDateISOString, toDuration, toFloat, toInt, toNotNil, toNumber, trimEmptyToNull, uncapitalizeFirstLetter, updateValueAndValidity, waitFor, waitIdle, waitWhilePending, ɵ0$5 as ɵ0, CustomReuseStrategy as ɵa, MatNumpadDomService as ɵb, isFocusableElement as ɵc, RegisterForm as ɵd, AccountValidatorService as ɵe, RegisterModal as ɵf, UserSettingsValidatorService as ɵg, LocalSettingsValidatorService as ɵh };
23689
+ export { APP_ABOUT_DEVELOPERS, APP_ABOUT_PARTNERS, APP_CONFIG_OPTIONS, APP_GRAPHQL_TYPE_POLICIES, APP_HOME_BUTTONS, APP_LOCALES, APP_LOCAL_SETTINGS, APP_LOCAL_SETTINGS_OPTIONS, APP_LOCAL_STORAGE_TYPE_POLICIES, APP_MENU_ITEMS, APP_TESTING_PAGES, AboutModal, Account, AccountPage, AccountService, AccountToStringPipe, ActionsColumnComponent, AdminModule, AdminRoutingModule, Alerts, AnimationState, AppEditorOptions, AppEntityEditor, AppForm, AppFormField, AppFormProvider, AppFormUtils, AppGestureConfig, AppGraphQLModule, AppHelpModal, AppInMemoryTable, AppInstallUpgradeCard, AppListForm, AppLoadingSpinner, AppMenuModule, AppNullForm, AppPropertiesForm, AppTabEditor, AppTabEditorOptions, AppTable, AppTableDataSourceOptions, AppTableUtils, AppValidatorService, AppendToInputDirective, ArrayFilterPipe, ArrayFirstPipe, ArrayIncludesPipe, ArrayLengthPipe, ArrayPluckPipe, AudioProvider, AuthForm, AuthGuardService, AuthModal, AutocompleteTestPage, AutofocusDirective, Base58, BaseEntityService, BaseGraphqlService, BaseGraphqlServiceOptions, BaseReferential, Beans, CORE_CONFIG_OPTIONS, CellValueChangeListener, ChipsTestPage, Color, ColorScale, ComponentDirtyGuard, ConfigService, Configuration, CoreModule, CryptoService, DATE_ISO_PATTERN, DATE_UNIX_MS_TIMESTAMP, DATE_UNIX_TIMESTAMP, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PLACEHOLDER_CHAR, DEFAULT_REQUIRED_COLUMNS, DateDiffDurationPipe, DateFormatPipe, DateFromNowPipe, DateTimeTestPage, DateUtils, Department, DepartmentToStringPipe, DurationPipe, ENTITIES_STORAGE_KEY_PREFIX, ENVIRONMENT, EmptyArrayPipe, EntitiesService, EntitiesStorage, EntitiesTableDataSource, Entity, EntityClass, EntityClasses, EntityFilter, EntityFilterUtils, EntityMetadataComponent, EntityStore, EntityUtils, Environment, ErrorCodes$2 as ErrorCodes, EvenPipe, FileService, FileSizePipe, FormArrayHelper, FormButtonsBarComponent, FormButtonsBarToken, FormFieldValuesHolder, Fragments$1 as Fragments, GraphqlService, HAMMER_PRESS_TIME, HAMMER_TAP_TIME, HighlightPipe, HomePage, Hotkeys, HotkeysDialogComponent, InMemoryEntitiesService, IsLoginAccountPipe, IsNilOrBlankPipe, IsNotNilOrBlankPipe, IsNotOnFieldModePipe, IsOnFieldModePipe, JobUtils, KEYBOARD_HIDE_DELAY_MS, LAT_LONG_DEFAULT_MAX_DECIMALS, LAT_LONG_PATTERNS, LatLongFormatPipe, LatLongTestPage, LatitudeFormatPipe, LocalSettingsService, LongitudeFormatPipe, MINIFY_ENTITY_FOR_LOCAL_STORAGE, MINIFY_ENTITY_FOR_POD, MapGetPipe, MapKeysPipe, MapValuesPipe, MatAutocompleteConfigHolder, MatAutocompleteField, MatBooleanField, MatChipsField, MatDate, MatDateShort, MatDateTime, MatDuration, MatLatLongField, MatNumpadComponent, MatNumpadContainerComponent, MatNumpadContent, MatPaginatorI18n, MatStepperI18n, MatSwipeField, MaterialChipsModule, MaterialTestingModule, MaterialTestingPage, MathAbsPipe, MenuComponent, MenuItems, MenuService, ModalToolbarComponent, NetworkService, NgInitDirective, NotEmptyArrayPipe, NumberFormatPipe, NumpadDirective, OddPipe, PRIORITIZED_AUTHORITIES, PUBKEY_REGEXP, Peer, Person, PersonFilter, PersonFragments, PersonService, PersonToStringPipe, PersonUtils, PersonValidatorService, PlatformService, ProgressBarService, ProgressInterceptor, PropertyGetPipe, RESERVED_END_COLUMNS, RESERVED_START_COLUMNS, Referential, ReferentialRef, ReferentialUtils, RegisterConfirmPage, SETTINGS_DISPLAY_COLUMNS, SETTINGS_FILTER, SETTINGS_PAGE_SIZE, SETTINGS_SORTED_COLUMN, SETTINGS_STORAGE_KEY, SETTINGS_TRANSIENT_PROPERTIES, SPACE_PLACEHOLDER_CHAR, SelectPeerModal, SettingsPage, SharedDirectivesModule, SharedFormArrayValidators, SharedFormGroupValidators, SharedHotkeysModule, SharedMatAutocompleteModule, SharedMatBooleanModule, SharedMatDateTimeModule, SharedMatDurationModule, SharedMatLatLongModule, SharedMatNumpadModule, SharedMatSwipeModule, SharedMaterialModule, SharedModule, SharedPipesModule, SharedRoutingModule, SharedTestingModule, SharedValidators, SocialModule, Software, StatusById, StatusIds, StatusList, StrLengthPipe, SwipeTestPage, TableSelectColumnsComponent, ToStringPipe, Toasts, ToolbarComponent, ToolbarToken, TranslatablePipe, TranslateContextPipe, TranslateContextService, UserEvent, UserEventFilter, UserEventService, UserEventTypes, UserEventsTable, UserSettings, UsersPage, accountToString, adaptValueToControl, addValueInArray, arrayDistinct, arrayGroupBy, arraySize, asInputElement, canHaveFocus, capitalizeFirstLetter, chainPromises, changeCaseToUnderscore, clearValueInArray, copyEntity2Form, createPromiseEvent, createPromiseEventEmitter, departmentToString, departmentsToString, disableControls, emitPromiseEvent, entityToString, equalsOrNil, fadeInAnimation, fadeInOutAnimation, filterFalse, filterNotNil, filterNumberInput, filterTrue, firstArrayValue, firstFalsePromise, firstNotNil, firstNotNilPromise, firstTruePromise, focusInput, focusNextInput, focusPreviousInput, formatLatitude, formatLongitude, fromDateISOString, fromScrollEndEvent, fromUnixMsTimestamp, fromUnixTimestamp, getCaretPosition, getColorContrast, getColorShade, getColorTint, getConnectionType, getControlFromPath, getFocusableInputElements, getFormErrors, getFormValueFromEntity, getProperty, getPropertyByPath, getPropertyByPathAsString, getRandomImage, hexToRgb, hexToRgbArray, isControlHasInput, isEmptyArray, isInputElement, isInstanceOf, isInt, isNil, isNilOrBlank, isNilOrNaN, isNotEmptyArray, isNotNil, isNotNilOrBlank, isNotNilOrNaN, isNotNilString, isNumber, isNumberRange, joinProperties, joinPropertiesPath, logFormErrors, markAllAsTouched, markAsUntouched, markControlAsTouched, markFormGroupAsTouched, matchUpperCase, mergeLoadResult, mixHex, moveInputCaretToSeparator, noTrailingSlash, notNilOrDefault, nullIfUndefined, parseLatitudeOrLongitude, propertiesPathComparator, propertyComparator, propertyPathComparator, referentialToString, referentialsToString, remove, removeAll, removeDiacritics, removeDuplicatesFromArray, removeEnd, removeValueInArray, replaceAll, resetCalculatedValue, resizeArray, rgbArrayToHex, rgbToHex, round, scrollFactory, selectInputContent, selectInputRange, setCalculatedValue, setTabIndex, sleep, slideInOutAnimation, slideUpDownAnimation, sort, splitById, splitByProperty, startsWithUpperCase, suggestFromArray, suggestFromStringArray, tabindexComparator, toBoolean, toDateISOString, toDuration, toFloat, toInt, toNotNil, toNumber, trimEmptyToNull, uncapitalizeFirstLetter, updateValueAndValidity, waitFor, waitIdle, waitWhilePending, ɵ0$5 as ɵ0, CustomReuseStrategy as ɵa, MatNumpadDomService as ɵb, isFocusableElement as ɵc, RegisterForm as ɵd, AccountValidatorService as ɵe, RegisterModal as ɵf, UserSettingsValidatorService as ɵg, LocalSettingsValidatorService as ɵh };
23704
23690
  //# sourceMappingURL=ngx-sumaris-components.js.map