@sumaris-net/ngx-components 0.11.9 → 0.11.10

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,9 +1,12 @@
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';
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';
2
4
  import { CommonModule, DOCUMENT, Location } from '@angular/common';
3
5
  import { CdkTableModule } from '@angular/cdk/table';
4
6
  import { A11yModule } from '@angular/cdk/a11y';
5
7
  import { OverlayModule, OverlayContainer, FullscreenOverlayContainer, Overlay } from '@angular/cdk/overlay';
6
8
  import { ScrollingModule } from '@angular/cdk/scrolling';
9
+ import * as i1$2 from '@angular/material/core';
7
10
  import { DateAdapter, MatCommonModule, MatRippleModule } from '@angular/material/core';
8
11
  import { MatTableModule, MatTable, MatColumnDef } from '@angular/material/table';
9
12
  import { MatSortModule, MatSort } from '@angular/material/sort';
@@ -27,16 +30,21 @@ import { MatProgressBarModule } from '@angular/material/progress-bar';
27
30
  import { MatRadioModule } from '@angular/material/radio';
28
31
  import { MatBadgeModule } from '@angular/material/badge';
29
32
  import { MatSlideToggleModule } from '@angular/material/slide-toggle';
33
+ import * as i2$1 from '@angular/material/dialog';
30
34
  import { MatDialogModule, MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';
31
35
  import { MatAutocompleteModule, MatAutocompleteTrigger, MAT_AUTOCOMPLETE_SCROLL_STRATEGY, MAT_AUTOCOMPLETE_DEFAULT_OPTIONS } from '@angular/material/autocomplete';
32
36
  import { __awaiter, __decorate } from 'tslib';
37
+ import * as i1$6 from '@angular/forms';
33
38
  import { NG_VALUE_ACCESSOR, FormGroupDirective, ReactiveFormsModule, AbstractControl, Validators, FormBuilder, FormControl, FormGroup, FormArray } from '@angular/forms';
34
39
  import { fromEvent, Subscription, BehaviorSubject, Subject, isObservable, merge, of, timer, noop as noop$8, Observable, defer, concat, combineLatest, EMPTY } from 'rxjs';
35
40
  import { filter, first, startWith, debounceTime, takeWhile, switchMap, tap, map, distinctUntilChanged, mergeMap, takeUntil, catchError, throttleTime } from 'rxjs/operators';
41
+ import * as i1$1 from '@ngx-translate/core';
36
42
  import { TranslateService, TranslateModule } from '@ngx-translate/core';
43
+ import * as i1$4 from '@ionic/angular';
37
44
  import { IonicModule, Platform, IonRouterOutlet, ModalController, IonicSafeString, createAnimation, ToastController, IonicRouteStrategy, NavParams, AlertController, MenuController, IonContent } from '@ionic/angular';
38
45
  import * as momentImported from 'moment';
39
46
  import { isMoment } from 'moment';
47
+ import * as i1 from '@angular/material-moment-adapter';
40
48
  import { MomentDateAdapter, MatMomentDateModule } from '@angular/material-moment-adapter';
41
49
  import { Keyboard } from '@ionic-native/keyboard/ngx';
42
50
  import { TextMaskModule } from 'angular2-text-mask';
@@ -46,31 +54,36 @@ import { trigger, state, style, transition, animate } from '@angular/animations'
46
54
  import { MatDividerModule } from '@angular/material/divider';
47
55
  import { MatTooltipModule } from '@angular/material/tooltip';
48
56
  import { MatChipsModule } from '@angular/material/chips';
57
+ import * as i3$3 from '@angular/router';
49
58
  import { Router, RouterModule, RouteReuseStrategy, ActivatedRoute } from '@angular/router';
59
+ import * as i1$5 from '@angular/platform-browser';
50
60
  import { HammerGestureConfig, EventManager } from '@angular/platform-browser';
61
+ import * as i2$2 from '@angular/common/http';
51
62
  import { HttpResponse, HttpClient, HttpHeaders, HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';
52
63
  import { ColorPickerModule } from 'ngx-color-picker';
53
- import { NativeAudio as NativeAudio$1 } from '@ionic-native/native-audio/ngx';
54
- import { Vibration as Vibration$1 } from '@ionic-native/vibration/ngx';
64
+ import { NativeAudio } from '@ionic-native/native-audio/ngx';
65
+ import { Vibration } from '@ionic-native/vibration/ngx';
55
66
  import { AudioManagement } from '@ionic-native/audio-management/ngx';
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';
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';
59
70
  import * as uuidv4Imported from 'uuid/v4';
60
71
  import { DragDropModule } from '@angular/cdk/drag-drop';
61
72
  import { MarkdownModule } from 'ngx-markdown';
62
73
  import { sign, box, hash, verify } from 'tweetnacl';
74
+ import * as i3$1 from '@ionic/storage';
63
75
  import { Storage, IonicStorageModule } from '@ionic/storage';
64
76
  import 'zone.js/dist/zone-error';
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';
72
- import { InAppBrowser as InAppBrowser$1 } from '@ionic-native/in-app-browser/ngx';
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 { InAppBrowser } from '@ionic-native/in-app-browser/ngx';
73
85
  import { ApolloLink, NetworkStatus, InMemoryCache, ApolloClient, gql } from '@apollo/client/core';
86
+ import * as i2$3 from 'apollo-angular';
74
87
  import { Apollo } from 'apollo-angular';
75
88
  import { WebSocketLink } from '@apollo/client/link/ws';
76
89
  import { getMainDefinition } from '@apollo/client/utilities';
@@ -78,11 +91,12 @@ import { RetryLink } from '@apollo/client/link/retry';
78
91
  import QueueLink from 'apollo-link-queue';
79
92
  import SerializingLink from 'apollo-link-serialize';
80
93
  import loggerLink from 'apollo-link-logger';
94
+ import * as i3$2 from 'apollo-angular/http';
81
95
  import { HttpLink } from 'apollo-angular/http';
82
96
  import { IonicStorageWrapper, persistCache } from 'apollo3-cache-persist';
83
- import { StatusBar } from '@ionic-native/status-bar/ngx/index';
84
- import { Keyboard as Keyboard$1 } from '@ionic-native/keyboard/ngx/index';
85
- import { InAppBrowser } from '@ionic-native/in-app-browser/ngx/index';
97
+ import * as i13 from '@ionic-native/status-bar/ngx/index';
98
+ import * as i14 from '@ionic-native/keyboard/ngx/index';
99
+ import * as i16 from '@ionic-native/in-app-browser/ngx/index';
86
100
  import { ValidatorService, TableDataSource } from '@e-is/ngx-material-table';
87
101
  import { SelectionModel } from '@angular/cdk/collections';
88
102
  import { NgxJdenticonModule } from 'ngx-jdenticon';
@@ -833,19 +847,19 @@ class MatAutocompleteConfigHolder {
833
847
  return this.fields[fieldName] || this.add(fieldName);
834
848
  }
835
849
  }
836
- const DEFAULT_VALUE_ACCESSOR = {
850
+ const DEFAULT_VALUE_ACCESSOR$6 = {
837
851
  provide: NG_VALUE_ACCESSOR,
838
852
  useExisting: forwardRef(() => MatAutocompleteField),
839
853
  multi: true
840
854
  };
841
- const noop = () => { };
842
- const ɵ0 = noop;
855
+ const noop$7 = () => { };
856
+ const ɵ0$a = noop$7;
843
857
  class MatAutocompleteField {
844
858
  constructor(cd, formGroupDir) {
845
859
  this.cd = cd;
846
860
  this.formGroupDir = formGroupDir;
847
- this._onChangeCallback = noop;
848
- this._onTouchedCallback = noop;
861
+ this._onChangeCallback = noop$7;
862
+ this._onTouchedCallback = noop$7;
849
863
  this._subscription = new Subscription();
850
864
  this._filter$ = new BehaviorSubject(undefined);
851
865
  this._reload$ = new Subject();
@@ -1360,7 +1374,7 @@ MatAutocompleteField.decorators = [
1360
1374
  // eslint-disable-next-line @angular-eslint/component-selector
1361
1375
  selector: 'mat-autocomplete-field',
1362
1376
  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\"\n readonly>\n <ion-label>{{ displayWith(value) }}&nbsp;</ion-label>\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 [compareWith]=\"compareWith\"\n [multiple]=\"multiple\">\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 <a class=\"ion-padding mat-option \"\n *ngIf=\"_moreItemsCount\"\n (click)=\"_fetchMore$.emit($event)\" >\n <ion-label color=\"primary\" style=\"width: 100%;\">\n <span translate>COMMON.BTN_SHOW_MORE</span>\n <mat-icon class=\"ion-color-primary\">expand_more</mat-icon>\n </ion-label>\n </a>\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 [readonly]=\"readonly\"\n [required]=\"required\"\n (click)=\"onClick.emit($event)\"\n (blur)=\"onBlur.emit($event)\"\n (focusin)=\"filterInputTextFocusInEvent($event)\"\n (focusout)=\"filterInputTextFocusOutEvent($event)\"\n (keyup.arrowdown)=\"!autoComplete.showPanel && 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)=\"_initInfiniteScroll()\"\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",
1363
- providers: [DEFAULT_VALUE_ACCESSOR],
1377
+ providers: [DEFAULT_VALUE_ACCESSOR$6],
1364
1378
  changeDetection: ChangeDetectionStrategy.OnPush,
1365
1379
  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}"]
1366
1380
  },] }
@@ -1434,7 +1448,7 @@ class DateFormatPipe {
1434
1448
  return this.dateAdapter.format(date, displayFormat);
1435
1449
  }
1436
1450
  }
1437
- DateFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateFormatPipe_Factory() { return new DateFormatPipe(ɵɵinject(MomentDateAdapter), ɵɵinject(TranslateService)); }, token: DateFormatPipe, providedIn: "root" });
1451
+ DateFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DateFormatPipe_Factory() { return new DateFormatPipe(i0.ɵɵinject(i1.MomentDateAdapter), i0.ɵɵinject(i1$1.TranslateService)); }, token: DateFormatPipe, providedIn: "root" });
1438
1452
  DateFormatPipe.decorators = [
1439
1453
  { type: Pipe, args: [{
1440
1454
  name: 'dateFormat'
@@ -1446,7 +1460,7 @@ DateFormatPipe.ctorParameters = () => [
1446
1460
  { type: TranslateService }
1447
1461
  ];
1448
1462
 
1449
- const moment = momentImported;
1463
+ const moment$6 = momentImported;
1450
1464
  class DateDiffDurationPipe {
1451
1465
  constructor(dateAdapter, translate) {
1452
1466
  this.dateAdapter = dateAdapter;
@@ -1462,17 +1476,17 @@ class DateDiffDurationPipe {
1462
1476
  return this.format(startDate, endDate);
1463
1477
  }
1464
1478
  format(startDate, endDate) {
1465
- const duration = moment.duration(endDate.diff(startDate));
1479
+ const duration = moment$6.duration(endDate.diff(startDate));
1466
1480
  if (duration.asMinutes() < 0)
1467
1481
  return '';
1468
- const timeDuration = moment(0)
1482
+ const timeDuration = moment$6(0)
1469
1483
  .hour(duration.hours())
1470
1484
  .minute(duration.minutes());
1471
1485
  const days = Math.floor(duration.asDays());
1472
1486
  return (days > 0 ? days.toString() + (this.dayUnit + ' ') : '') + timeDuration.format('HH:mm');
1473
1487
  }
1474
1488
  }
1475
- DateDiffDurationPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateDiffDurationPipe_Factory() { return new DateDiffDurationPipe(ɵɵinject(DateAdapter), ɵɵinject(TranslateService)); }, token: DateDiffDurationPipe, providedIn: "root" });
1489
+ 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" });
1476
1490
  DateDiffDurationPipe.decorators = [
1477
1491
  { type: Pipe, args: [{
1478
1492
  name: 'dateDiffDuration'
@@ -1493,7 +1507,7 @@ class DateFromNowPipe {
1493
1507
  return date ? date.fromNow(args && args.withoutSuffix) : '';
1494
1508
  }
1495
1509
  }
1496
- DateFromNowPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateFromNowPipe_Factory() { return new DateFromNowPipe(ɵɵinject(MomentDateAdapter)); }, token: DateFromNowPipe, providedIn: "root" });
1510
+ DateFromNowPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DateFromNowPipe_Factory() { return new DateFromNowPipe(i0.ɵɵinject(i1.MomentDateAdapter)); }, token: DateFromNowPipe, providedIn: "root" });
1497
1511
  DateFromNowPipe.decorators = [
1498
1512
  { type: Pipe, args: [{
1499
1513
  name: 'dateFromNow'
@@ -1562,7 +1576,7 @@ function formatToDD(value, opts) {
1562
1576
  value *= -1;
1563
1577
  }
1564
1578
  }
1565
- let degrees = roundFloat(value, opts.maxDecimals).toString();
1579
+ let degrees = roundFloat$1(value, opts.maxDecimals).toString();
1566
1580
  // Add sign
1567
1581
  let sign = negative ? '-' : '+';
1568
1582
  if (opts.placeholderChar) {
@@ -1613,7 +1627,7 @@ function formatToDDMMSS(value, opts) {
1613
1627
  }
1614
1628
  let degrees = Math.trunc(value);
1615
1629
  let minutes = Math.trunc((value - degrees) * 60);
1616
- let seconds = roundFloat(((value - degrees) * 60 - minutes) * 60, opts.maxDecimals);
1630
+ let seconds = roundFloat$1(((value - degrees) * 60 - minutes) * 60, opts.maxDecimals);
1617
1631
  while (seconds >= 60) {
1618
1632
  seconds -= 60;
1619
1633
  minutes += 1;
@@ -1681,7 +1695,7 @@ function formatToDDMM(value, opts) {
1681
1695
  }
1682
1696
  }
1683
1697
  let degrees = Math.trunc(value);
1684
- let minutes = roundFloat((value - degrees) * 60, opts.maxDecimals);
1698
+ let minutes = roundFloat$1((value - degrees) * 60, opts.maxDecimals);
1685
1699
  while (minutes >= 60) {
1686
1700
  minutes -= 60;
1687
1701
  degrees += 1;
@@ -1732,15 +1746,15 @@ function parseLatitudeOrLongitude(input, pattern, maxDecimals, placeholderChar)
1732
1746
  return NaN;
1733
1747
  }
1734
1748
  if (pattern === 'DD')
1735
- return roundFloat(degrees, maxDecimals);
1749
+ return roundFloat$1(degrees, maxDecimals);
1736
1750
  const minutes = (pattern === 'DDMMSS' || pattern === 'DDMM') && parts[1] && parseFloat(parts[1].replace(/,/g, '.')) || 0;
1737
1751
  const seconds = (pattern === 'DDMMSS') && parts[2] && parseFloat(parts[2].replace(/,/g, '.')) || 0;
1738
1752
  const direction = ((pattern === 'DDMMSS') && parts[3]) || ((pattern === 'DDMM') && parts[2]) || undefined;
1739
1753
  const sign = (direction && (direction === 's' || direction === 'S' || direction === 'w' || direction === 'W')) ? -1 : 1;
1740
1754
  degrees = sign * (degrees + minutes / 60 + seconds / (60 * 60));
1741
- return roundFloat(degrees, maxDecimals);
1755
+ return roundFloat$1(degrees, maxDecimals);
1742
1756
  }
1743
- function roundFloat(input, maxDecimals) {
1757
+ function roundFloat$1(input, maxDecimals) {
1744
1758
  if (maxDecimals > 0) {
1745
1759
  const powDecimal = Math.pow(10, maxDecimals);
1746
1760
  return Math.trunc(input * powDecimal + 0.5) / powDecimal;
@@ -1760,7 +1774,7 @@ class LatLongFormatPipe {
1760
1774
  return ((!args.type || args.type !== 'latitude') ? formatLongitude : formatLatitude)(value, args);
1761
1775
  }
1762
1776
  }
1763
- LatLongFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LatLongFormatPipe_Factory() { return new LatLongFormatPipe(); }, token: LatLongFormatPipe, providedIn: "root" });
1777
+ LatLongFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LatLongFormatPipe_Factory() { return new LatLongFormatPipe(); }, token: LatLongFormatPipe, providedIn: "root" });
1764
1778
  LatLongFormatPipe.decorators = [
1765
1779
  { type: Pipe, args: [{
1766
1780
  name: 'latLongFormat'
@@ -1772,7 +1786,7 @@ class LatitudeFormatPipe {
1772
1786
  this.transform = formatLatitude;
1773
1787
  }
1774
1788
  }
1775
- LatitudeFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LatitudeFormatPipe_Factory() { return new LatitudeFormatPipe(); }, token: LatitudeFormatPipe, providedIn: "root" });
1789
+ LatitudeFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LatitudeFormatPipe_Factory() { return new LatitudeFormatPipe(); }, token: LatitudeFormatPipe, providedIn: "root" });
1776
1790
  LatitudeFormatPipe.decorators = [
1777
1791
  { type: Pipe, args: [{
1778
1792
  name: 'latitudeFormat'
@@ -1784,7 +1798,7 @@ class LongitudeFormatPipe {
1784
1798
  this.transform = formatLongitude;
1785
1799
  }
1786
1800
  }
1787
- LongitudeFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LongitudeFormatPipe_Factory() { return new LongitudeFormatPipe(); }, token: LongitudeFormatPipe, providedIn: "root" });
1801
+ LongitudeFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LongitudeFormatPipe_Factory() { return new LongitudeFormatPipe(); }, token: LongitudeFormatPipe, providedIn: "root" });
1788
1802
  LongitudeFormatPipe.decorators = [
1789
1803
  { type: Pipe, args: [{
1790
1804
  name: 'longitudeFormat'
@@ -1804,7 +1818,7 @@ class NumberFormatPipe {
1804
1818
  }
1805
1819
  }
1806
1820
  }
1807
- NumberFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function NumberFormatPipe_Factory() { return new NumberFormatPipe(); }, token: NumberFormatPipe, providedIn: "root" });
1821
+ NumberFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function NumberFormatPipe_Factory() { return new NumberFormatPipe(); }, token: NumberFormatPipe, providedIn: "root" });
1808
1822
  NumberFormatPipe.decorators = [
1809
1823
  { type: Pipe, args: [{
1810
1824
  name: 'numberFormat'
@@ -1844,7 +1858,7 @@ class HighlightPipe {
1844
1858
  }
1845
1859
  }
1846
1860
  }
1847
- HighlightPipe.ɵprov = ɵɵdefineInjectable({ factory: function HighlightPipe_Factory() { return new HighlightPipe(); }, token: HighlightPipe, providedIn: "root" });
1861
+ HighlightPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function HighlightPipe_Factory() { return new HighlightPipe(); }, token: HighlightPipe, providedIn: "root" });
1848
1862
  HighlightPipe.decorators = [
1849
1863
  { type: Pipe, args: [{
1850
1864
  name: 'highlight'
@@ -1909,7 +1923,7 @@ FileSizePipe.decorators = [
1909
1923
  { type: Pipe, args: [{ name: 'fileSize' },] }
1910
1924
  ];
1911
1925
 
1912
- const moment$1 = momentImported;
1926
+ const moment$5 = momentImported;
1913
1927
  const DATE_UNIX_TIMESTAMP = 'X';
1914
1928
  const DATE_UNIX_MS_TIMESTAMP = 'x';
1915
1929
  class DateUtils {
@@ -1943,32 +1957,32 @@ function fromDateISOString(value) {
1943
1957
  if (!value || isMoment(value))
1944
1958
  return value;
1945
1959
  // Parse the input value, as a ISO date time
1946
- const date = moment$1(value, DATE_ISO_PATTERN);
1960
+ const date = moment$5(value, DATE_ISO_PATTERN);
1947
1961
  if (date.isValid())
1948
1962
  return date;
1949
1963
  // Not valid: trying to convert from unix timestamp
1950
1964
  if (typeof value === 'string') {
1951
1965
  console.warn('Wrong date format - Trying to convert from local time: ' + value);
1952
1966
  if (value.length === 10) {
1953
- return moment$1(value, DATE_UNIX_TIMESTAMP);
1967
+ return moment$5(value, DATE_UNIX_TIMESTAMP);
1954
1968
  }
1955
1969
  else if (value.length === 13) {
1956
- return moment$1(value, DATE_UNIX_MS_TIMESTAMP);
1970
+ return moment$5(value, DATE_UNIX_MS_TIMESTAMP);
1957
1971
  }
1958
1972
  }
1959
1973
  console.warn('Unable to parse date: ' + value);
1960
1974
  return undefined;
1961
1975
  }
1962
1976
  function fromUnixTimestamp(timeInSec) {
1963
- return moment$1(timeInSec, DATE_UNIX_TIMESTAMP);
1977
+ return moment$5(timeInSec, DATE_UNIX_TIMESTAMP);
1964
1978
  }
1965
1979
  function fromUnixMsTimestamp(timeInMs) {
1966
- return moment$1(timeInMs, DATE_UNIX_MS_TIMESTAMP);
1980
+ return moment$5(timeInMs, DATE_UNIX_MS_TIMESTAMP);
1967
1981
  }
1968
1982
  function toDuration(value, unit) {
1969
1983
  if (!value)
1970
1984
  return undefined;
1971
- const duration = moment$1.duration(value, unit);
1985
+ const duration = moment$5.duration(value, unit);
1972
1986
  // fix 990+ ms
1973
1987
  if (duration.milliseconds() >= 990) {
1974
1988
  duration.add(1000 - duration.milliseconds(), 'ms');
@@ -1997,7 +2011,7 @@ class DurationPipe {
1997
2011
  return (days > 0 ? days.toString() + (this.dayUnit + ' ') : '') + hour + ':' + minute;
1998
2012
  }
1999
2013
  }
2000
- DurationPipe.ɵprov = ɵɵdefineInjectable({ factory: function DurationPipe_Factory() { return new DurationPipe(ɵɵinject(TranslateService)); }, token: DurationPipe, providedIn: "root" });
2014
+ DurationPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DurationPipe_Factory() { return new DurationPipe(i0.ɵɵinject(i1$1.TranslateService)); }, token: DurationPipe, providedIn: "root" });
2001
2015
  DurationPipe.decorators = [
2002
2016
  { type: Pipe, args: [{
2003
2017
  name: 'duration'
@@ -2018,7 +2032,7 @@ class MathAbsPipe {
2018
2032
  }
2019
2033
  }
2020
2034
  }
2021
- MathAbsPipe.ɵprov = ɵɵdefineInjectable({ factory: function MathAbsPipe_Factory() { return new MathAbsPipe(); }, token: MathAbsPipe, providedIn: "root" });
2035
+ MathAbsPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MathAbsPipe_Factory() { return new MathAbsPipe(); }, token: MathAbsPipe, providedIn: "root" });
2022
2036
  MathAbsPipe.decorators = [
2023
2037
  { type: Pipe, args: [{
2024
2038
  name: 'mathAbs'
@@ -2030,7 +2044,7 @@ class EvenPipe {
2030
2044
  return val % 2 === 0;
2031
2045
  }
2032
2046
  }
2033
- EvenPipe.ɵprov = ɵɵdefineInjectable({ factory: function EvenPipe_Factory() { return new EvenPipe(); }, token: EvenPipe, providedIn: "root" });
2047
+ EvenPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function EvenPipe_Factory() { return new EvenPipe(); }, token: EvenPipe, providedIn: "root" });
2034
2048
  EvenPipe.decorators = [
2035
2049
  { type: Pipe, args: [{
2036
2050
  name: 'even'
@@ -2042,7 +2056,7 @@ class OddPipe {
2042
2056
  return val % 2 !== 0;
2043
2057
  }
2044
2058
  }
2045
- OddPipe.ɵprov = ɵɵdefineInjectable({ factory: function OddPipe_Factory() { return new OddPipe(); }, token: OddPipe, providedIn: "root" });
2059
+ OddPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function OddPipe_Factory() { return new OddPipe(); }, token: OddPipe, providedIn: "root" });
2046
2060
  OddPipe.decorators = [
2047
2061
  { type: Pipe, args: [{
2048
2062
  name: 'odd'
@@ -2150,7 +2164,7 @@ class MapGetPipe {
2150
2164
  return val[key];
2151
2165
  }
2152
2166
  }
2153
- MapGetPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapGetPipe_Factory() { return new MapGetPipe(); }, token: MapGetPipe, providedIn: "root" });
2167
+ MapGetPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapGetPipe_Factory() { return new MapGetPipe(); }, token: MapGetPipe, providedIn: "root" });
2154
2168
  MapGetPipe.decorators = [
2155
2169
  { type: Pipe, args: [{
2156
2170
  name: 'mapGet'
@@ -2164,7 +2178,7 @@ class MapKeysPipe {
2164
2178
  return Object.keys(map);
2165
2179
  }
2166
2180
  }
2167
- MapKeysPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapKeysPipe_Factory() { return new MapKeysPipe(); }, token: MapKeysPipe, providedIn: "root" });
2181
+ MapKeysPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapKeysPipe_Factory() { return new MapKeysPipe(); }, token: MapKeysPipe, providedIn: "root" });
2168
2182
  MapKeysPipe.decorators = [
2169
2183
  { type: Pipe, args: [{
2170
2184
  name: 'mapKeys'
@@ -2178,7 +2192,7 @@ class MapValuesPipe {
2178
2192
  return Object.values(map);
2179
2193
  }
2180
2194
  }
2181
- MapValuesPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapValuesPipe_Factory() { return new MapValuesPipe(); }, token: MapValuesPipe, providedIn: "root" });
2195
+ MapValuesPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapValuesPipe_Factory() { return new MapValuesPipe(); }, token: MapValuesPipe, providedIn: "root" });
2182
2196
  MapValuesPipe.decorators = [
2183
2197
  { type: Pipe, args: [{
2184
2198
  name: 'mapValues'
@@ -2191,7 +2205,7 @@ class IsNotNilOrBlankPipe {
2191
2205
  return isNotNilOrBlank(value);
2192
2206
  }
2193
2207
  }
2194
- IsNotNilOrBlankPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNotNilOrBlankPipe_Factory() { return new IsNotNilOrBlankPipe(); }, token: IsNotNilOrBlankPipe, providedIn: "root" });
2208
+ IsNotNilOrBlankPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNotNilOrBlankPipe_Factory() { return new IsNotNilOrBlankPipe(); }, token: IsNotNilOrBlankPipe, providedIn: "root" });
2195
2209
  IsNotNilOrBlankPipe.decorators = [
2196
2210
  { type: Pipe, args: [{
2197
2211
  name: 'isNotNilOrBlank'
@@ -2203,7 +2217,7 @@ class IsNilOrBlankPipe {
2203
2217
  return isNilOrBlank(value);
2204
2218
  }
2205
2219
  }
2206
- IsNilOrBlankPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNilOrBlankPipe_Factory() { return new IsNilOrBlankPipe(); }, token: IsNilOrBlankPipe, providedIn: "root" });
2220
+ IsNilOrBlankPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNilOrBlankPipe_Factory() { return new IsNilOrBlankPipe(); }, token: IsNilOrBlankPipe, providedIn: "root" });
2207
2221
  IsNilOrBlankPipe.decorators = [
2208
2222
  { type: Pipe, args: [{
2209
2223
  name: 'isNilOrBlank'
@@ -2215,7 +2229,7 @@ class ToStringPipe {
2215
2229
  return (value !== null && value !== undefined) ? value.toString() : '';
2216
2230
  }
2217
2231
  }
2218
- ToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function ToStringPipe_Factory() { return new ToStringPipe(); }, token: ToStringPipe, providedIn: "root" });
2232
+ ToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function ToStringPipe_Factory() { return new ToStringPipe(); }, token: ToStringPipe, providedIn: "root" });
2219
2233
  ToStringPipe.decorators = [
2220
2234
  { type: Pipe, args: [{
2221
2235
  name: 'toString'
@@ -2227,7 +2241,7 @@ class StrLengthPipe {
2227
2241
  return value && value.length || 0;
2228
2242
  }
2229
2243
  }
2230
- StrLengthPipe.ɵprov = ɵɵdefineInjectable({ factory: function StrLengthPipe_Factory() { return new StrLengthPipe(); }, token: StrLengthPipe, providedIn: "root" });
2244
+ StrLengthPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function StrLengthPipe_Factory() { return new StrLengthPipe(); }, token: StrLengthPipe, providedIn: "root" });
2231
2245
  StrLengthPipe.decorators = [
2232
2246
  { type: Pipe, args: [{
2233
2247
  name: 'strLength'
@@ -2278,7 +2292,7 @@ class TranslateContextService {
2278
2292
  : parts.slice(0, parts.length - 1).concat(context + parts[parts.length - 1]).join('.');
2279
2293
  }
2280
2294
  }
2281
- TranslateContextService.ɵprov = ɵɵdefineInjectable({ factory: function TranslateContextService_Factory() { return new TranslateContextService(ɵɵinject(TranslateService)); }, token: TranslateContextService, providedIn: "root" });
2295
+ TranslateContextService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TranslateContextService_Factory() { return new TranslateContextService(i0.ɵɵinject(i1$1.TranslateService)); }, token: TranslateContextService, providedIn: "root" });
2282
2296
  TranslateContextService.decorators = [
2283
2297
  { type: Injectable, args: [{ providedIn: 'root' },] }
2284
2298
  ];
@@ -2294,7 +2308,7 @@ class TranslateContextPipe {
2294
2308
  return this.translateContext.instant(key, context);
2295
2309
  }
2296
2310
  }
2297
- TranslateContextPipe.ɵprov = ɵɵdefineInjectable({ factory: function TranslateContextPipe_Factory() { return new TranslateContextPipe(ɵɵinject(TranslateContextService)); }, token: TranslateContextPipe, providedIn: "root" });
2311
+ TranslateContextPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function TranslateContextPipe_Factory() { return new TranslateContextPipe(i0.ɵɵinject(TranslateContextService)); }, token: TranslateContextPipe, providedIn: "root" });
2298
2312
  TranslateContextPipe.decorators = [
2299
2313
  { type: Pipe, args: [{
2300
2314
  name: 'translateContext'
@@ -2311,7 +2325,7 @@ class TranslatablePipe {
2311
2325
  return (_a = changeCaseToUnderscore(value)) === null || _a === void 0 ? void 0 : _a.toUpperCase();
2312
2326
  }
2313
2327
  }
2314
- TranslatablePipe.ɵprov = ɵɵdefineInjectable({ factory: function TranslatablePipe_Factory() { return new TranslatablePipe(); }, token: TranslatablePipe, providedIn: "root" });
2328
+ TranslatablePipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function TranslatablePipe_Factory() { return new TranslatablePipe(); }, token: TranslatablePipe, providedIn: "root" });
2315
2329
  TranslatablePipe.decorators = [
2316
2330
  { type: Pipe, args: [{
2317
2331
  name: 'translatable'
@@ -2328,7 +2342,7 @@ class PropertyGetPipe {
2328
2342
  args && args.defaultValue);
2329
2343
  }
2330
2344
  }
2331
- PropertyGetPipe.ɵprov = ɵɵdefineInjectable({ factory: function PropertyGetPipe_Factory() { return new PropertyGetPipe(); }, token: PropertyGetPipe, providedIn: "root" });
2345
+ PropertyGetPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function PropertyGetPipe_Factory() { return new PropertyGetPipe(); }, token: PropertyGetPipe, providedIn: "root" });
2332
2346
  PropertyGetPipe.decorators = [
2333
2347
  { type: Pipe, args: [{
2334
2348
  name: 'propertyGet'
@@ -2572,12 +2586,12 @@ SharedMatAutocompleteModule.decorators = [
2572
2586
  },] }
2573
2587
  ];
2574
2588
 
2575
- const moment$2 = momentImported;
2589
+ const moment$4 = momentImported;
2576
2590
  // @dynamic
2577
2591
  class SharedValidators {
2578
2592
  static validDate(control) {
2579
2593
  const value = control.value;
2580
- const date = !value || moment$2.isMoment(value) ? value : moment$2(control.value, DATE_ISO_PATTERN);
2594
+ const date = !value || moment$4.isMoment(value) ? value : moment$4(control.value, DATE_ISO_PATTERN);
2581
2595
  if (date && (!date.isValid() || date.year() < 1970)) {
2582
2596
  return { validDate: true };
2583
2597
  }
@@ -2980,9 +2994,9 @@ function parseDuration(input, maxDecimals, placeholderChar) {
2980
2994
  const hour = parseInt(durationParts[0] || '0');
2981
2995
  const minute = parseInt(durationParts[1] || '0');
2982
2996
  const value = hour + (minute + 0.5) / 60;
2983
- return roundFloat$1(value, maxDecimals);
2997
+ return roundFloat(value, maxDecimals);
2984
2998
  }
2985
- function roundFloat$1(input, maxDecimals) {
2999
+ function roundFloat(input, maxDecimals) {
2986
3000
  if (maxDecimals > 0) {
2987
3001
  const powDecimal = Math.pow(10, maxDecimals);
2988
3002
  return Math.trunc(input * powDecimal + 0.5) / powDecimal;
@@ -3006,9 +3020,9 @@ const MASKS = {
3006
3020
  DD: [/[+-]/, /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, '°']
3007
3021
  }
3008
3022
  };
3009
- const noop$1 = () => {
3023
+ const noop$6 = () => {
3010
3024
  };
3011
- const ɵ0$1 = noop$1;
3025
+ const ɵ0$9 = noop$6;
3012
3026
  class MatLatLongField {
3013
3027
  constructor(platform, translate, formBuilder, cd, formGroupDir) {
3014
3028
  this.platform = platform;
@@ -3016,8 +3030,8 @@ class MatLatLongField {
3016
3030
  this.formBuilder = formBuilder;
3017
3031
  this.cd = cd;
3018
3032
  this.formGroupDir = formGroupDir;
3019
- this._onChangeCallback = noop$1;
3020
- this._onTouchedCallback = noop$1;
3033
+ this._onChangeCallback = noop$6;
3034
+ this._onTouchedCallback = noop$6;
3021
3035
  this._subscription = new Subscription();
3022
3036
  this.disabling = false;
3023
3037
  this.writing = false;
@@ -3358,14 +3372,14 @@ SharedMatLatLongModule.decorators = [
3358
3372
  },] }
3359
3373
  ];
3360
3374
 
3361
- const DEFAULT_VALUE_ACCESSOR$1 = {
3375
+ const DEFAULT_VALUE_ACCESSOR$5 = {
3362
3376
  provide: NG_VALUE_ACCESSOR,
3363
3377
  useExisting: forwardRef(() => MatDate),
3364
3378
  multi: true
3365
3379
  };
3366
- const DAY_MASK = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
3367
- const noop$2 = () => { };
3368
- const ɵ0$2 = noop$2;
3380
+ const DAY_MASK$2 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
3381
+ const noop$5 = () => { };
3382
+ const ɵ0$8 = noop$5;
3369
3383
  class MatDate {
3370
3384
  constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
3371
3385
  this.dateAdapter = dateAdapter;
@@ -3374,12 +3388,12 @@ class MatDate {
3374
3388
  this.cd = cd;
3375
3389
  this.keyboard = keyboard;
3376
3390
  this.formGroupDir = formGroupDir;
3377
- this._onChangeCallback = noop$2;
3378
- this._onTouchedCallback = noop$2;
3391
+ this._onChangeCallback = noop$5;
3392
+ this._onTouchedCallback = noop$5;
3379
3393
  this._subscription = new Subscription();
3380
3394
  this.writing = true;
3381
3395
  this.disabling = false;
3382
- this.dayMask = DAY_MASK;
3396
+ this.dayMask = DAY_MASK$2;
3383
3397
  this.disabled = false;
3384
3398
  this.floatLabel = 'auto';
3385
3399
  this.readonly = false;
@@ -3616,7 +3630,7 @@ MatDate.decorators = [
3616
3630
  selector: 'mat-date-field',
3617
3631
  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",
3618
3632
  providers: [
3619
- DEFAULT_VALUE_ACCESSOR$1,
3633
+ DEFAULT_VALUE_ACCESSOR$5,
3620
3634
  ],
3621
3635
  changeDetection: ChangeDetectionStrategy.OnPush,
3622
3636
  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%}"]
@@ -3649,17 +3663,17 @@ MatDate.propDecorators = {
3649
3663
  matInputs: [{ type: ViewChildren, args: ['matInput',] }]
3650
3664
  };
3651
3665
 
3652
- const DEFAULT_VALUE_ACCESSOR$2 = {
3666
+ const DEFAULT_VALUE_ACCESSOR$4 = {
3653
3667
  provide: NG_VALUE_ACCESSOR,
3654
3668
  useExisting: forwardRef(() => MatDateTime),
3655
3669
  multi: true
3656
3670
  };
3657
3671
  const DAY_MASK$1 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
3658
3672
  const HOUR_REGEXP = /^[012][0-9][:][012345][0-9]$/;
3659
- const HOUR_MASK = [/[012]/, /\d/, ':', /[012345]/, /\d/];
3660
- const noop$3 = () => {
3673
+ const HOUR_MASK$1 = [/[012]/, /\d/, ':', /[012345]/, /\d/];
3674
+ const noop$4 = () => {
3661
3675
  };
3662
- const ɵ0$3 = noop$3;
3676
+ const ɵ0$7 = noop$4;
3663
3677
  class MatDateTime {
3664
3678
  constructor(platform, dateAdapter, translate, formBuilder, keyboard, cd, formGroupDir) {
3665
3679
  this.platform = platform;
@@ -3669,14 +3683,14 @@ class MatDateTime {
3669
3683
  this.keyboard = keyboard;
3670
3684
  this.cd = cd;
3671
3685
  this.formGroupDir = formGroupDir;
3672
- this._onChangeCallback = noop$3;
3673
- this._onTouchedCallback = noop$3;
3686
+ this._onChangeCallback = noop$4;
3687
+ this._onTouchedCallback = noop$4;
3674
3688
  this._subscription = new Subscription();
3675
3689
  this.writing = true;
3676
3690
  this.disabling = false;
3677
3691
  this._onDestroy = new EventEmitter();
3678
3692
  this.dayMask = DAY_MASK$1;
3679
- this.hourMask = HOUR_MASK;
3693
+ this.hourMask = HOUR_MASK$1;
3680
3694
  this.floatLabel = 'auto';
3681
3695
  this.readonly = false;
3682
3696
  this.compact = false;
@@ -3982,7 +3996,7 @@ MatDateTime.decorators = [
3982
3996
  selector: 'mat-date-time-field',
3983
3997
  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}}</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",
3984
3998
  providers: [
3985
- DEFAULT_VALUE_ACCESSOR$2,
3999
+ DEFAULT_VALUE_ACCESSOR$4,
3986
4000
  ],
3987
4001
  changeDetection: ChangeDetectionStrategy.OnPush,
3988
4002
  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%}"]
@@ -4021,10 +4035,10 @@ const DEFAULT_VALUE_ACCESSOR$3 = {
4021
4035
  useExisting: forwardRef(() => MatDateShort),
4022
4036
  multi: true
4023
4037
  };
4024
- const DAY_MASK$2 = [/\d/, /\d/, /\d/, /\d/];
4025
- const noop$4 = () => {
4038
+ const DAY_MASK = [/\d/, /\d/, /\d/, /\d/];
4039
+ const noop$3 = () => {
4026
4040
  };
4027
- const ɵ0$4 = noop$4;
4041
+ const ɵ0$6 = noop$3;
4028
4042
  class MatDateShort {
4029
4043
  constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
4030
4044
  this.dateAdapter = dateAdapter;
@@ -4033,11 +4047,11 @@ class MatDateShort {
4033
4047
  this.cd = cd;
4034
4048
  this.keyboard = keyboard;
4035
4049
  this.formGroupDir = formGroupDir;
4036
- this._onChangeCallback = noop$4;
4037
- this._onTouchedCallback = noop$4;
4050
+ this._onChangeCallback = noop$3;
4051
+ this._onTouchedCallback = noop$3;
4038
4052
  this.writing = true;
4039
4053
  this.disabling = false;
4040
- this.dayMask = DAY_MASK$2;
4054
+ this.dayMask = DAY_MASK;
4041
4055
  this.disabled = false;
4042
4056
  this.floatLabel = 'auto';
4043
4057
  this.readonly = false;
@@ -4350,16 +4364,16 @@ SharedMatDateTimeModule.decorators = [
4350
4364
  },] }
4351
4365
  ];
4352
4366
 
4353
- const DEFAULT_VALUE_ACCESSOR$4 = {
4367
+ const DEFAULT_VALUE_ACCESSOR$2 = {
4354
4368
  provide: NG_VALUE_ACCESSOR,
4355
4369
  useExisting: forwardRef(() => MatDuration),
4356
4370
  multi: true
4357
4371
  };
4358
4372
  const HOUR_TIME_PATTERN = /[0-9]\d\d:[0-5]\d/;
4359
- const HOUR_MASK$1 = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
4360
- const noop$5 = () => {
4373
+ const HOUR_MASK = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
4374
+ const noop$2 = () => {
4361
4375
  };
4362
- const ɵ0$5 = noop$5;
4376
+ const ɵ0$5 = noop$2;
4363
4377
  class MatDuration {
4364
4378
  constructor(platform, dateAdapter, translate, formBuilder, cd, formGroupDir) {
4365
4379
  this.dateAdapter = dateAdapter;
@@ -4368,11 +4382,11 @@ class MatDuration {
4368
4382
  this.cd = cd;
4369
4383
  this.formGroupDir = formGroupDir;
4370
4384
  this._subscription = new Subscription();
4371
- this._onChangeCallback = noop$5;
4372
- this._onTouchedCallback = noop$5;
4385
+ this._onChangeCallback = noop$2;
4386
+ this._onTouchedCallback = noop$2;
4373
4387
  this.writing = true;
4374
4388
  this.disabling = false;
4375
- this.hourMask = HOUR_MASK$1;
4389
+ this.hourMask = HOUR_MASK;
4376
4390
  this.disabled = false;
4377
4391
  this.floatLabel = 'auto';
4378
4392
  this.readonly = false;
@@ -4552,7 +4566,7 @@ MatDuration.decorators = [
4552
4566
  selector: 'mat-duration-field',
4553
4567
  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",
4554
4568
  providers: [
4555
- DEFAULT_VALUE_ACCESSOR$4,
4569
+ DEFAULT_VALUE_ACCESSOR$2,
4556
4570
  ],
4557
4571
  changeDetection: ChangeDetectionStrategy.OnPush,
4558
4572
  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%}"]
@@ -4609,22 +4623,22 @@ SharedMatDurationModule.decorators = [
4609
4623
  },] }
4610
4624
  ];
4611
4625
 
4612
- const DEFAULT_VALUE_ACCESSOR$5 = {
4626
+ const DEFAULT_VALUE_ACCESSOR$1 = {
4613
4627
  provide: NG_VALUE_ACCESSOR,
4614
4628
  useExisting: forwardRef(() => MatBooleanField),
4615
4629
  multi: true
4616
4630
  };
4617
- const noop$6 = () => {
4631
+ const noop$1 = () => {
4618
4632
  };
4619
- const ɵ0$6 = noop$6;
4633
+ const ɵ0$4 = noop$1;
4620
4634
  class MatBooleanField {
4621
4635
  constructor(translate, formBuilder, cd, formGroupDir) {
4622
4636
  this.translate = translate;
4623
4637
  this.formBuilder = formBuilder;
4624
4638
  this.cd = cd;
4625
4639
  this.formGroupDir = formGroupDir;
4626
- this._onChangeCallback = noop$6;
4627
- this._onTouchedCallback = noop$6;
4640
+ this._onChangeCallback = noop$1;
4641
+ this._onTouchedCallback = noop$1;
4628
4642
  this._writing = false;
4629
4643
  this.showRadio = false;
4630
4644
  this.disabled = false;
@@ -4788,7 +4802,7 @@ MatBooleanField.decorators = [
4788
4802
  selector: 'mat-boolean-field',
4789
4803
  template: "<mat-form-field *ngIf=\"readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-form-field-disabled\">\n <input matInput hidden type=\"text\" readonly\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\">\n <ion-text>{{(formControl.value ? 'COMMON.YES' : 'COMMON.NO') | 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\">\n <mat-label *ngIf=\"placeholder && floatLabel!=='never'\">\n {{placeholder}}\n <span [hidden]=\"showRadio\">({{'COMMON.YES'|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 translate>COMMON.YES</span>\n </mat-radio-button>&nbsp;\n <mat-radio-button #noButton [value]=\"false\">\n <span translate>COMMON.NO</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\">\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\">\n <input matInput type=\"text\" hidden\n [formControl]=\"formControl\"\n [placeholder]=\"placeholder\"\n [required]=\"required\">\n <ion-grid class=\"ion-no-padding\" *ngIf=\"!formControl.disabled; else disabledLabel\">\n <ion-row class=\"ion-no-padding\">\n <!-- Yes button -->\n <ion-col>\n <ion-button style=\"width: 100%;\"\n class=\"mat-form-field-button\"\n [tabindex]=\"_tabindex\"\n (click)=\"writeValue(true, $event)\"\n (keyup.enter)=\"writeValue(true, $event)\"\n [color]=\"_value == null ? 'danger' : (_value === true) ? 'accent' : 'light'\">\n <ion-icon slot=\"start\" name=\"checkmark\"></ion-icon>\n {{'COMMON.YES'|translate}}\n </ion-button>\n </ion-col>\n <!-- No button -->\n <ion-col>\n <ion-button style=\"width: 100%;\"\n 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 ? 'danger' : (_value === false) ? 'accent' : 'light'\">\n <ion-icon slot=\"start\" name=\"close\"></ion-icon>\n {{'COMMON.NO'|translate}}\n </ion-button>\n </ion-col>\n </ion-row>\n </ion-grid>\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",
4790
4804
  providers: [
4791
- DEFAULT_VALUE_ACCESSOR$5
4805
+ DEFAULT_VALUE_ACCESSOR$1
4792
4806
  ],
4793
4807
  changeDetection: ChangeDetectionStrategy.OnPush,
4794
4808
  styles: [":host{width:100%}"]
@@ -5029,7 +5043,7 @@ class MatNumpadDomService {
5029
5043
  this.appRef.detachView(this.componentRef.hostView);
5030
5044
  }
5031
5045
  }
5032
- MatNumpadDomService.ɵprov = ɵɵdefineInjectable({ factory: function MatNumpadDomService_Factory() { return new MatNumpadDomService(ɵɵinject(ComponentFactoryResolver), ɵɵinject(ApplicationRef), ɵɵinject(INJECTOR), ɵɵinject(DOCUMENT, 8)); }, token: MatNumpadDomService, providedIn: "root" });
5046
+ 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" });
5033
5047
  MatNumpadDomService.decorators = [
5034
5048
  { type: Injectable, args: [{
5035
5049
  providedIn: 'root'
@@ -5393,7 +5407,7 @@ SharedMatNumpadModule.decorators = [
5393
5407
  },] }
5394
5408
  ];
5395
5409
 
5396
- const DEFAULT_VALUE_ACCESSOR$6 = {
5410
+ const DEFAULT_VALUE_ACCESSOR = {
5397
5411
  provide: NG_VALUE_ACCESSOR,
5398
5412
  useExisting: forwardRef(() => MatSwipeField),
5399
5413
  multi: true
@@ -5656,7 +5670,7 @@ MatSwipeField.decorators = [
5656
5670
  { type: Component, args: [{
5657
5671
  selector: 'mat-swipe-field',
5658
5672
  template: "<mat-form-field [floatLabel]=\"showSlides && (!floatLabel || floatLabel === 'auto') ? 'always': floatLabel\"\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",
5659
- providers: [DEFAULT_VALUE_ACCESSOR$6],
5673
+ providers: [DEFAULT_VALUE_ACCESSOR],
5660
5674
  changeDetection: ChangeDetectionStrategy.OnPush,
5661
5675
  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}"]
5662
5676
  },] }
@@ -6151,7 +6165,7 @@ class ProgressBarService {
6151
6165
  }
6152
6166
  }
6153
6167
  }
6154
- ProgressBarService.ɵprov = ɵɵdefineInjectable({ factory: function ProgressBarService_Factory() { return new ProgressBarService(); }, token: ProgressBarService, providedIn: "root" });
6168
+ ProgressBarService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ProgressBarService_Factory() { return new ProgressBarService(); }, token: ProgressBarService, providedIn: "root" });
6155
6169
  ProgressBarService.decorators = [
6156
6170
  { type: Injectable, args: [{ providedIn: 'root' },] }
6157
6171
  ];
@@ -6195,7 +6209,7 @@ class AppGestureConfig extends HammerGestureConfig {
6195
6209
  return mc;
6196
6210
  }
6197
6211
  }
6198
- AppGestureConfig.ɵprov = ɵɵdefineInjectable({ factory: function AppGestureConfig_Factory() { return new AppGestureConfig(); }, token: AppGestureConfig, providedIn: "root" });
6212
+ AppGestureConfig.ɵprov = i0.ɵɵdefineInjectable({ factory: function AppGestureConfig_Factory() { return new AppGestureConfig(); }, token: AppGestureConfig, providedIn: "root" });
6199
6213
  AppGestureConfig.decorators = [
6200
6214
  { type: Injectable, args: [{ providedIn: 'root' },] }
6201
6215
  ];
@@ -6418,7 +6432,7 @@ class MatPaginatorI18n extends MatPaginatorIntl {
6418
6432
  this.previousPageLabel = this.translate.instant('COMMON.PAGINATOR.PREVIOUS_PAGE');
6419
6433
  }
6420
6434
  }
6421
- MatPaginatorI18n.ɵprov = ɵɵdefineInjectable({ factory: function MatPaginatorI18n_Factory() { return new MatPaginatorI18n(ɵɵinject(TranslateService)); }, token: MatPaginatorI18n, providedIn: "root" });
6435
+ MatPaginatorI18n.ɵprov = i0.ɵɵdefineInjectable({ factory: function MatPaginatorI18n_Factory() { return new MatPaginatorI18n(i0.ɵɵinject(i1$1.TranslateService)); }, token: MatPaginatorI18n, providedIn: "root" });
6422
6436
  MatPaginatorI18n.decorators = [
6423
6437
  { type: Injectable, args: [{ providedIn: 'root' },] }
6424
6438
  ];
@@ -6508,17 +6522,17 @@ function getColorContrast(color, bw) {
6508
6522
  return rgbArrayToHex(rgb.map(v => 255 - v));
6509
6523
  }
6510
6524
 
6511
- const noop$7 = () => {
6525
+ const noop = () => {
6512
6526
  };
6513
- const ɵ0$7 = noop$7;
6527
+ const ɵ0$3 = noop;
6514
6528
  class AppFormField {
6515
6529
  constructor(translate, cd, injector, formGroupDir) {
6516
6530
  this.translate = translate;
6517
6531
  this.cd = cd;
6518
6532
  this.injector = injector;
6519
6533
  this.formGroupDir = formGroupDir;
6520
- this._onChangeCallback = noop$7;
6521
- this._onTouchedCallback = noop$7;
6534
+ this._onChangeCallback = noop;
6535
+ this._onTouchedCallback = noop;
6522
6536
  this.readonly = false;
6523
6537
  this.compact = false;
6524
6538
  this.floatLabel = 'auto';
@@ -6889,14 +6903,14 @@ class AudioProvider {
6889
6903
  });
6890
6904
  }
6891
6905
  }
6892
- 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" });
6906
+ 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" });
6893
6907
  AudioProvider.decorators = [
6894
6908
  { type: Injectable, args: [{ providedIn: 'root' },] }
6895
6909
  ];
6896
6910
  AudioProvider.ctorParameters = () => [
6897
6911
  { type: Platform },
6898
- { type: NativeAudio$1, decorators: [{ type: Optional }] },
6899
- { type: Vibration$1, decorators: [{ type: Optional }] },
6912
+ { type: NativeAudio, decorators: [{ type: Optional }] },
6913
+ { type: Vibration, decorators: [{ type: Optional }] },
6900
6914
  { type: AudioManagement, decorators: [{ type: Optional }] }
6901
6915
  ];
6902
6916
 
@@ -6978,7 +6992,7 @@ class Hotkeys {
6978
6992
  });
6979
6993
  }
6980
6994
  }
6981
- Hotkeys.ɵprov = ɵɵdefineInjectable({ factory: function Hotkeys_Factory() { return new Hotkeys(ɵɵinject(EventManager), ɵɵinject(MatDialog), ɵɵinject(DOCUMENT), ɵɵinject(ModalController)); }, token: Hotkeys, providedIn: "root" });
6995
+ 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" });
6982
6996
  Hotkeys.decorators = [
6983
6997
  { type: Injectable, args: [{
6984
6998
  providedIn: 'root'
@@ -7152,7 +7166,7 @@ class Base64ImageReader {
7152
7166
  }
7153
7167
  }
7154
7168
 
7155
- const uuidv4 = uuidv4Imported;
7169
+ const uuidv4$1 = uuidv4Imported;
7156
7170
  class FileService {
7157
7171
  constructor(platform,
7158
7172
  //private transfer: FileTransfer,
@@ -7189,7 +7203,7 @@ class FileService {
7189
7203
  const lastSlashIndex = source.lastIndexOf('/');
7190
7204
  if (lastSlashIndex === -1)
7191
7205
  throw new Error('Invalid URL: ' + source);
7192
- const fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4();
7206
+ const fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4$1();
7193
7207
  // Download into the file system
7194
7208
  if (responseType === 'file' && this.canUseFileSystem) {
7195
7209
  console.warn(`WARN: [file] Fetching image {${source}} in local file...`);
@@ -7245,7 +7259,7 @@ class FileService {
7245
7259
  this._started = true;
7246
7260
  }
7247
7261
  }
7248
- FileService.ɵprov = ɵɵdefineInjectable({ factory: function FileService_Factory() { return new FileService(ɵɵinject(Platform), ɵɵinject(HttpClient), ɵɵinject(ENVIRONMENT)); }, token: FileService, providedIn: "root" });
7262
+ 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" });
7249
7263
  FileService.decorators = [
7250
7264
  { type: Injectable, args: [{
7251
7265
  providedIn: 'root',
@@ -7407,7 +7421,7 @@ class Base58 {
7407
7421
  Base58.alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
7408
7422
 
7409
7423
  const scrypt = require('scrypt-async');
7410
- const sha256 = require('hash.js/lib/hash/sha/256');
7424
+ const sha256$1 = require('hash.js/lib/hash/sha/256');
7411
7425
  const sha512 = require('hash.js/lib/hash/sha/512');
7412
7426
  const nacl = {
7413
7427
  sign,
@@ -7511,7 +7525,7 @@ class CryptoService {
7511
7525
  * Hash (using SHA256) a message
7512
7526
  */
7513
7527
  sha256(message) {
7514
- return sha256().update(message).digest('hex');
7528
+ return sha256$1().update(message).digest('hex');
7515
7529
  }
7516
7530
  /**
7517
7531
  * Hash (using SHA512) a message
@@ -7524,7 +7538,7 @@ class CryptoService {
7524
7538
  return nacl.util.encodeBase64(m);
7525
7539
  }
7526
7540
  }
7527
- CryptoService.ɵprov = ɵɵdefineInjectable({ factory: function CryptoService_Factory() { return new CryptoService(); }, token: CryptoService, providedIn: "root" });
7541
+ CryptoService.ɵprov = i0.ɵɵdefineInjectable({ factory: function CryptoService_Factory() { return new CryptoService(); }, token: CryptoService, providedIn: "root" });
7528
7542
  CryptoService.decorators = [
7529
7543
  { type: Injectable, args: [{ providedIn: 'root' },] }
7530
7544
  ];
@@ -8731,7 +8745,7 @@ class LocalSettingsService {
8731
8745
  return page;
8732
8746
  }
8733
8747
  }
8734
- 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" });
8748
+ 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" });
8735
8749
  LocalSettingsService.decorators = [
8736
8750
  { type: Injectable, args: [{
8737
8751
  providedIn: 'root',
@@ -9427,7 +9441,7 @@ class NetworkService {
9427
9441
  });
9428
9442
  }
9429
9443
  }
9430
- 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" });
9444
+ 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" });
9431
9445
  NetworkService.decorators = [
9432
9446
  { type: Injectable, args: [{ providedIn: 'root' },] }
9433
9447
  ];
@@ -9438,16 +9452,16 @@ NetworkService.ctorParameters = () => [
9438
9452
  { type: CryptoService },
9439
9453
  { type: Storage },
9440
9454
  { type: LocalSettingsService },
9441
- { type: CacheService$1 },
9455
+ { type: CacheService },
9442
9456
  { type: HttpClient },
9443
9457
  { type: undefined, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] },
9444
- { type: Network$1, decorators: [{ type: Optional }] },
9445
- { type: SplashScreen$1, decorators: [{ type: Optional }] },
9458
+ { type: Network, decorators: [{ type: Optional }] },
9459
+ { type: SplashScreen, decorators: [{ type: Optional }] },
9446
9460
  { type: TranslateService, decorators: [{ type: Optional }] },
9447
9461
  { type: ToastController, decorators: [{ type: Optional }] }
9448
9462
  ];
9449
9463
 
9450
- const ErrorCodes = {
9464
+ const ErrorCodes$2 = {
9451
9465
  UNKNOWN_ERROR: 0,
9452
9466
  LOAD_ACCOUNT_ERROR: 1,
9453
9467
  BAD_PASSWORD: 2,
@@ -9794,7 +9808,7 @@ class EntityStore {
9794
9808
  }
9795
9809
  catch (err) {
9796
9810
  console.error(err);
9797
- throw { code: ErrorCodes.ENTITY_STORAGE_MIGRATION_FAILED, message: 'ERROR.ENTITY_STORAGE_MIGRATION_FAILED', details: err };
9811
+ throw { code: ErrorCodes$2.ENTITY_STORAGE_MIGRATION_FAILED, message: 'ERROR.ENTITY_STORAGE_MIGRATION_FAILED', details: err };
9798
9812
  }
9799
9813
  }
9800
9814
  // Emit update event
@@ -10371,7 +10385,7 @@ class EntitiesStorage {
10371
10385
  }
10372
10386
  EntitiesStorage.TRASH_PREFIX = 'Trash#';
10373
10387
  EntitiesStorage.REMOTE_PREFIX = 'Remote#';
10374
- 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" });
10388
+ 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" });
10375
10389
  EntitiesStorage.decorators = [
10376
10390
  { type: Injectable, args: [{ providedIn: 'root' },] }
10377
10391
  ];
@@ -10468,10 +10482,10 @@ function referentialToString(obj, properties) {
10468
10482
  function referentialsToString(values, properties, separator) {
10469
10483
  return (values || []).map(v => referentialToString(v, properties)).join(separator || ', ');
10470
10484
  }
10471
- const ɵ0$8 = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
10485
+ const ɵ0$2 = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
10472
10486
  const StatusList = Object.freeze([
10473
10487
  {
10474
- id: ɵ0$8,
10488
+ id: ɵ0$2,
10475
10489
  icon: 'checkmark',
10476
10490
  label: 'REFERENTIAL.STATUS_ENUM.ENABLE'
10477
10491
  },
@@ -10742,7 +10756,7 @@ function accountToString(data) {
10742
10756
  (data.lastName || '')) || '';
10743
10757
  }
10744
10758
 
10745
- const uuidv4$1 = uuidv4Imported;
10759
+ const uuidv4 = uuidv4Imported;
10746
10760
  const _global = typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : {});
10747
10761
  const NativeWebSocket = _global.WebSocket || _global.MozWebSocket;
10748
10762
  /**
@@ -10786,7 +10800,7 @@ function createTrackerLink(opts) {
10786
10800
  // Skip if not tracked
10787
10801
  if (!context || !context.tracked)
10788
10802
  return forward(operation);
10789
- const id = context.serializationKey || uuidv4$1();
10803
+ const id = context.serializationKey || uuidv4();
10790
10804
  console.debug(`[apollo-tracker-link] Watching tracked query {${operation.operationName}#${id}}`);
10791
10805
  // Clean context, before calling JSON.stringify (remove unused attributes)
10792
10806
  const cleanContext = Object.assign(Object.assign({}, context), { optimisticResponse: null, cache: null });
@@ -11491,7 +11505,7 @@ class GraphqlService {
11491
11505
  (err.networkError && ((err.networkError.error && this.toAppError(err.networkError.error))
11492
11506
  || this.toAppError(err.networkError)
11493
11507
  || (err.networkError.error && this.createAppErrorByCode(err.networkError.error.status))
11494
- || this.createAppErrorByCode(ErrorCodes.UNKNOWN_NETWORK_ERROR)))
11508
+ || this.createAppErrorByCode(ErrorCodes$2.UNKNOWN_NETWORK_ERROR)))
11495
11509
  // If graphQL: try to convert the first error found
11496
11510
  || (err.graphQLErrors && err.graphQLErrors.length && this.toAppError(err.graphQLErrors[0]))
11497
11511
  || this.toAppError(err)
@@ -11499,7 +11513,7 @@ class GraphqlService {
11499
11513
  || (err.graphQLErrors && err.graphQLErrors[0])
11500
11514
  || err;
11501
11515
  console.error('[graphql] ' + (error && error.message || error), error.stack || '');
11502
- if (error && error.code === ErrorCodes.UNKNOWN_NETWORK_ERROR && err.networkError && err.networkError.message) {
11516
+ if (error && error.code === ErrorCodes$2.UNKNOWN_NETWORK_ERROR && err.networkError && err.networkError.message) {
11503
11517
  console.error('[graphql] original error: ' + err.networkError.message);
11504
11518
  this.onNetworkError.next(error);
11505
11519
  }
@@ -11535,7 +11549,7 @@ class GraphqlService {
11535
11549
  return 'ERROR.UNAUTHORIZED';
11536
11550
  case ServerErrorCodes.FORBIDDEN:
11537
11551
  return 'ERROR.FORBIDDEN';
11538
- case ErrorCodes.UNKNOWN_NETWORK_ERROR:
11552
+ case ErrorCodes$2.UNKNOWN_NETWORK_ERROR:
11539
11553
  return 'ERROR.UNKNOWN_NETWORK_ERROR';
11540
11554
  case ServerErrorCodes.BAD_UPDATE_DATE:
11541
11555
  return 'ERROR.BAD_UPDATE_DATE';
@@ -11572,7 +11586,7 @@ class GraphqlService {
11572
11586
  });
11573
11587
  }
11574
11588
  }
11575
- 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" });
11589
+ 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" });
11576
11590
  GraphqlService.decorators = [
11577
11591
  { type: Injectable, args: [{
11578
11592
  providedIn: 'root'
@@ -11589,7 +11603,7 @@ GraphqlService.ctorParameters = () => [
11589
11603
  { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_GRAPHQL_TYPE_POLICIES,] }] }
11590
11604
  ];
11591
11605
 
11592
- const sha256$1 = require('hash.js/lib/hash/sha/256');
11606
+ const sha256 = require('hash.js/lib/hash/sha/256');
11593
11607
  class BaseGraphqlServiceOptions {
11594
11608
  }
11595
11609
  // eslint-disable-next-line @angular-eslint/directive-class-suffix
@@ -11725,8 +11739,8 @@ class BaseGraphqlService {
11725
11739
  }
11726
11740
  /* -- protected methods -- */
11727
11741
  computeMutableWatchQueryId(opts) {
11728
- const queryName = opts.queryName || sha256$1().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
11729
- const variablesKey = opts.variables && sha256$1().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
11742
+ const queryName = opts.queryName || sha256().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
11743
+ const variablesKey = opts.variables && sha256().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
11730
11744
  return [queryName, opts.arrayFieldName, variablesKey].join('|');
11731
11745
  }
11732
11746
  findMutableWatchQueries(opts) {
@@ -11789,7 +11803,7 @@ const DEFAULT_AVATAR_IMAGE = 'assets/img/person.png';
11789
11803
  /* ------------------------------------
11790
11804
  * GraphQL queries
11791
11805
  * ------------------------------------*/
11792
- const Fragments = {
11806
+ const Fragments$1 = {
11793
11807
  account: gql `
11794
11808
  fragment AccountFragment on AccountVO {
11795
11809
  id
@@ -11822,13 +11836,13 @@ const Fragments = {
11822
11836
  `
11823
11837
  };
11824
11838
  // Load account query
11825
- const LoadQuery = gql `
11839
+ const LoadQuery$1 = gql `
11826
11840
  query Account {
11827
11841
  account {
11828
11842
  ...AccountFragment
11829
11843
  }
11830
11844
  }
11831
- ${Fragments.account}
11845
+ ${Fragments$1.account}
11832
11846
  `;
11833
11847
  // Check email query
11834
11848
  const IsEmailExistsQuery = gql `
@@ -11837,13 +11851,13 @@ const IsEmailExistsQuery = gql `
11837
11851
  }
11838
11852
  `;
11839
11853
  // Save (create or update) account mutation
11840
- const SaveMutation = gql `
11854
+ const SaveMutation$1 = gql `
11841
11855
  mutation SaveAccount($account:AccountVOInput){
11842
11856
  saveAccount(account: $account){
11843
11857
  ...AccountFragment
11844
11858
  }
11845
11859
  }
11846
- ${Fragments.account}
11860
+ ${Fragments$1.account}
11847
11861
  `;
11848
11862
  // Create account mutation
11849
11863
  const CreateMutation = gql `
@@ -11852,7 +11866,7 @@ const CreateMutation = gql `
11852
11866
  ...AccountFragment
11853
11867
  }
11854
11868
  }
11855
- ${Fragments.account}
11869
+ ${Fragments$1.account}
11856
11870
  `;
11857
11871
  // Sent confirmation email
11858
11872
  const SendConfirmEmailMutation = gql `
@@ -12191,7 +12205,7 @@ class AccountService extends BaseGraphqlService {
12191
12205
  catch (error) {
12192
12206
  console.error(error);
12193
12207
  this.resetData();
12194
- throw { code: ErrorCodes.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
12208
+ throw { code: ErrorCodes$2.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
12195
12209
  }
12196
12210
  // Store pubkey+keypair
12197
12211
  this.data.pubkey = Base58.encode(keypair.publicKey);
@@ -12225,7 +12239,7 @@ class AccountService extends BaseGraphqlService {
12225
12239
  }
12226
12240
  catch (err) {
12227
12241
  // If account not found, check if email is valid
12228
- if (err && +(err.code) === ErrorCodes.LOAD_ACCOUNT_ERROR) {
12242
+ if (err && +(err.code) === ErrorCodes$2.LOAD_ACCOUNT_ERROR) {
12229
12243
  // Check email exists
12230
12244
  if (data.username.indexOf('@') !== -1) {
12231
12245
  let isEmailExists;
@@ -12237,11 +12251,11 @@ class AccountService extends BaseGraphqlService {
12237
12251
  }
12238
12252
  // Email not exists (no account)
12239
12253
  if (!isEmailExists) {
12240
- throw { code: ErrorCodes.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
12254
+ throw { code: ErrorCodes$2.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
12241
12255
  }
12242
12256
  }
12243
12257
  // Email exists, so error = 'bad password'
12244
- throw { code: ErrorCodes.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
12258
+ throw { code: ErrorCodes$2.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
12245
12259
  }
12246
12260
  throw err; // resend the first error
12247
12261
  }
@@ -12302,7 +12316,7 @@ class AccountService extends BaseGraphqlService {
12302
12316
  throw error;
12303
12317
  console.error(error);
12304
12318
  throw {
12305
- code: ErrorCodes.LOAD_ACCOUNT_ERROR,
12319
+ code: ErrorCodes$2.LOAD_ACCOUNT_ERROR,
12306
12320
  message: 'ERROR.LOAD_ACCOUNT_ERROR'
12307
12321
  };
12308
12322
  }
@@ -12514,8 +12528,8 @@ class AccountService extends BaseGraphqlService {
12514
12528
  }
12515
12529
  else {
12516
12530
  const res = yield this.graphql.query({
12517
- query: LoadQuery,
12518
- error: { code: ErrorCodes.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
12531
+ query: LoadQuery$1,
12532
+ error: { code: ErrorCodes$2.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
12519
12533
  fetchPolicy: opts && opts.fetchPolicy || 'no-cache' || undefined
12520
12534
  });
12521
12535
  accountJson = res && res.account;
@@ -12549,7 +12563,7 @@ class AccountService extends BaseGraphqlService {
12549
12563
  if (!isNew) {
12550
12564
  const existingAccount = yield this.loadAccount({ fetchPolicy: 'network-only' });
12551
12565
  if (!existingAccount || !existingAccount.updateDate) {
12552
- throw { code: ErrorCodes.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
12566
+ throw { code: ErrorCodes$2.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
12553
12567
  }
12554
12568
  account.updateDate = existingAccount.updateDate || account.updateDate;
12555
12569
  if (account.settings && existingAccount.settings) {
@@ -12562,12 +12576,12 @@ class AccountService extends BaseGraphqlService {
12562
12576
  delete json.mainProfile; // Not known on server
12563
12577
  // Execute mutation
12564
12578
  const res = yield this.graphql.mutate({
12565
- mutation: isNew ? CreateMutation : SaveMutation,
12579
+ mutation: isNew ? CreateMutation : SaveMutation$1,
12566
12580
  variables: {
12567
12581
  account: json
12568
12582
  },
12569
12583
  error: {
12570
- code: ErrorCodes.SAVE_ACCOUNT_ERROR,
12584
+ code: ErrorCodes$2.SAVE_ACCOUNT_ERROR,
12571
12585
  message: 'ERROR.SAVE_ACCOUNT_ERROR'
12572
12586
  }
12573
12587
  });
@@ -12592,7 +12606,7 @@ class AccountService extends BaseGraphqlService {
12592
12606
  return __awaiter(this, void 0, void 0, function* () {
12593
12607
  const isEmailExists = yield this.isEmailExists(email);
12594
12608
  if (isEmailExists) {
12595
- throw { code: ErrorCodes.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
12609
+ throw { code: ErrorCodes$2.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
12596
12610
  }
12597
12611
  });
12598
12612
  }
@@ -12628,7 +12642,7 @@ class AccountService extends BaseGraphqlService {
12628
12642
  locale
12629
12643
  },
12630
12644
  error: {
12631
- code: ErrorCodes.SENT_CONFIRMATION_EMAIL_FAILED,
12645
+ code: ErrorCodes$2.SENT_CONFIRMATION_EMAIL_FAILED,
12632
12646
  message: 'ERROR.SENT_ACCOUNT_CONFIRMATION_EMAIL_FAILED'
12633
12647
  }
12634
12648
  });
@@ -12644,7 +12658,7 @@ class AccountService extends BaseGraphqlService {
12644
12658
  code
12645
12659
  },
12646
12660
  error: {
12647
- code: ErrorCodes.CONFIRM_EMAIL_FAILED,
12661
+ code: ErrorCodes$2.CONFIRM_EMAIL_FAILED,
12648
12662
  message: 'ERROR.CONFIRM_ACCOUNT_EMAIL_FAILED'
12649
12663
  }
12650
12664
  });
@@ -12662,7 +12676,7 @@ class AccountService extends BaseGraphqlService {
12662
12676
  interval: 10
12663
12677
  },
12664
12678
  error: {
12665
- code: ErrorCodes.SUBSCRIBE_ACCOUNT_ERROR,
12679
+ code: ErrorCodes$2.SUBSCRIBE_ACCOUNT_ERROR,
12666
12680
  message: 'ERROR.ACCOUNT.SUBSCRIBE_ACCOUNT_ERROR'
12667
12681
  }
12668
12682
  }).subscribe({
@@ -12741,7 +12755,7 @@ class AccountService extends BaseGraphqlService {
12741
12755
  if (counter > 4) {
12742
12756
  if (this._debug)
12743
12757
  console.debug(`[account] Failed to authentication on pod (after ${counter} attempts)`);
12744
- throw { code: ErrorCodes.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
12758
+ throw { code: ErrorCodes$2.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
12745
12759
  }
12746
12760
  // Check if valid
12747
12761
  if (token) {
@@ -12751,7 +12765,7 @@ class AccountService extends BaseGraphqlService {
12751
12765
  token
12752
12766
  },
12753
12767
  error: {
12754
- code: ErrorCodes.UNAUTHORIZED,
12768
+ code: ErrorCodes$2.UNAUTHORIZED,
12755
12769
  message: 'ERROR.UNAUTHORIZED'
12756
12770
  },
12757
12771
  fetchPolicy: 'no-cache'
@@ -12767,7 +12781,7 @@ class AccountService extends BaseGraphqlService {
12767
12781
  }
12768
12782
  // Generate a new token
12769
12783
  const challengeError = {
12770
- code: ErrorCodes.AUTH_CHALLENGE_ERROR,
12784
+ code: ErrorCodes$2.AUTH_CHALLENGE_ERROR,
12771
12785
  message: 'ERROR.AUTH_CHALLENGE_ERROR'
12772
12786
  };
12773
12787
  const data = yield this.graphql.query({
@@ -12793,7 +12807,7 @@ class AccountService extends BaseGraphqlService {
12793
12807
  });
12794
12808
  }
12795
12809
  }
12796
- 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" });
12810
+ 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" });
12797
12811
  AccountService.decorators = [
12798
12812
  { type: Injectable, args: [{ providedIn: 'root' },] }
12799
12813
  ];
@@ -13043,7 +13057,7 @@ const CONFIGURATION_STORAGE_KEY = 'configuration';
13043
13057
  /* ------------------------------------
13044
13058
  * GraphQL queries
13045
13059
  * ------------------------------------*/
13046
- const Fragments$1 = {
13060
+ const Fragments = {
13047
13061
  config: gql `
13048
13062
  fragment ConfigFragment on ConfigurationVO {
13049
13063
  id
@@ -13070,22 +13084,22 @@ const Fragments$1 = {
13070
13084
  }
13071
13085
  `
13072
13086
  };
13073
- const LoadQuery$1 = gql `
13087
+ const LoadQuery = gql `
13074
13088
  query Configuration{
13075
13089
  data: configuration{
13076
13090
  ...ConfigFragment
13077
13091
  }
13078
13092
  }
13079
- ${Fragments$1.config}
13093
+ ${Fragments.config}
13080
13094
  `;
13081
13095
  // Save (create or update) account mutation
13082
- const SaveMutation$1 = gql `
13096
+ const SaveMutation = gql `
13083
13097
  mutation SaveConfiguration($data: ConfigurationVOInput){
13084
13098
  data: saveConfiguration(config: $data){
13085
13099
  ...ConfigFragment
13086
13100
  }
13087
13101
  }
13088
- ${Fragments$1.config}
13102
+ ${Fragments.config}
13089
13103
  `;
13090
13104
  const ClearCache = gql `
13091
13105
  query ClearCache($name: String) {
@@ -13173,12 +13187,12 @@ class ConfigService extends BaseGraphqlService {
13173
13187
  return __awaiter(this, void 0, void 0, function* () {
13174
13188
  const now = Date.now();
13175
13189
  console.debug('[config] Loading Pod configuration...');
13176
- const query = opts && opts.query || LoadQuery$1;
13190
+ const query = opts && opts.query || LoadQuery;
13177
13191
  const variables = opts && opts.variables || undefined;
13178
13192
  const res = yield this.graphql.query({
13179
13193
  query,
13180
13194
  variables,
13181
- error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
13195
+ error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
13182
13196
  fetchPolicy: opts && opts.fetchPolicy || undefined /*default*/
13183
13197
  });
13184
13198
  const data = res && res.data ? Configuration.fromObject(res.data) : undefined;
@@ -13203,12 +13217,12 @@ class ConfigService extends BaseGraphqlService {
13203
13217
  const json = config.asObject();
13204
13218
  // Execute mutation
13205
13219
  const res = yield this.graphql.mutate({
13206
- mutation: SaveMutation$1,
13220
+ mutation: SaveMutation,
13207
13221
  variables: {
13208
13222
  data: json
13209
13223
  },
13210
13224
  error: {
13211
- code: ErrorCodes.SAVE_CONFIG_ERROR,
13225
+ code: ErrorCodes$2.SAVE_CONFIG_ERROR,
13212
13226
  message: 'ERROR.SAVE_CONFIG_ERROR'
13213
13227
  }
13214
13228
  });
@@ -13234,7 +13248,7 @@ class ConfigService extends BaseGraphqlService {
13234
13248
  const res = yield this.graphql.query({
13235
13249
  query: CacheStatistics,
13236
13250
  variables: null,
13237
- error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
13251
+ error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
13238
13252
  fetchPolicy: 'network-only'
13239
13253
  });
13240
13254
  const data = res && res.cacheStatistics || undefined;
@@ -13250,7 +13264,7 @@ class ConfigService extends BaseGraphqlService {
13250
13264
  const res = yield this.graphql.query({
13251
13265
  query: ClearCache,
13252
13266
  variables,
13253
- error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
13267
+ error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
13254
13268
  fetchPolicy: 'network-only'
13255
13269
  });
13256
13270
  const data = res && res.clearCache || undefined;
@@ -13409,7 +13423,7 @@ class ConfigService extends BaseGraphqlService {
13409
13423
  });
13410
13424
  }
13411
13425
  }
13412
- 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" });
13426
+ 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" });
13413
13427
  ConfigService.decorators = [
13414
13428
  { type: Injectable, args: [{
13415
13429
  providedIn: 'root',
@@ -13428,7 +13442,7 @@ ConfigService.ctorParameters = () => [
13428
13442
  { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_CONFIG_OPTIONS,] }] }
13429
13443
  ];
13430
13444
 
13431
- const moment$4 = momentImported;
13445
+ const moment$2 = momentImported;
13432
13446
  class PlatformService {
13433
13447
  constructor(platform, toastController, translate, dateAdapter, entitiesStorage, settings, networkService, accountService, configService, cache, storage, audioProvider, environment, statusBar, keyboard, splashScreen, browser) {
13434
13448
  this.platform = platform;
@@ -13592,16 +13606,16 @@ class PlatformService {
13592
13606
  }
13593
13607
  // config moment lib
13594
13608
  try {
13595
- moment$4.locale(event.lang);
13609
+ moment$2.locale(event.lang);
13596
13610
  console.debug('[platform] Use locale {' + event.lang + '}');
13597
13611
  }
13598
13612
  // If error, fallback to en
13599
13613
  catch (err) {
13600
- moment$4.locale('en');
13614
+ moment$2.locale('en');
13601
13615
  console.warn('[platform] Unknown local for moment lib. Using default [en]');
13602
13616
  }
13603
13617
  // Config date adapter
13604
- this.dateAdapter.setLocale(moment$4.locale());
13618
+ this.dateAdapter.setLocale(moment$2.locale());
13605
13619
  }
13606
13620
  });
13607
13621
  this.settings.onChange.subscribe(data => {
@@ -13734,7 +13748,7 @@ class PlatformService {
13734
13748
  });
13735
13749
  }
13736
13750
  }
13737
- PlatformService.ɵprov = ɵɵdefineInjectable({ factory: function PlatformService_Factory() { return new PlatformService(ɵɵinject(Platform), ɵɵ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" });
13751
+ PlatformService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PlatformService_Factory() { return new PlatformService(i0.ɵɵinject(i1$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(i13.StatusBar, 8), i0.ɵɵinject(i14.Keyboard, 8), i0.ɵɵinject(i10.SplashScreen, 8), i0.ɵɵinject(i16.InAppBrowser, 8)); }, token: PlatformService, providedIn: "root" });
13738
13752
  PlatformService.decorators = [
13739
13753
  { type: Injectable, args: [{ providedIn: 'root' },] }
13740
13754
  ];
@@ -13748,14 +13762,14 @@ PlatformService.ctorParameters = () => [
13748
13762
  { type: NetworkService },
13749
13763
  { type: AccountService },
13750
13764
  { type: ConfigService },
13751
- { type: CacheService$1 },
13765
+ { type: CacheService },
13752
13766
  { type: Storage },
13753
13767
  { type: AudioProvider },
13754
13768
  { type: undefined, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] },
13755
- { type: StatusBar$1, decorators: [{ type: Optional }] },
13769
+ { type: StatusBar, decorators: [{ type: Optional }] },
13756
13770
  { type: Keyboard, decorators: [{ type: Optional }] },
13757
- { type: SplashScreen$1, decorators: [{ type: Optional }] },
13758
- { type: InAppBrowser$1, decorators: [{ type: Optional }] }
13771
+ { type: SplashScreen, decorators: [{ type: Optional }] },
13772
+ { type: InAppBrowser, decorators: [{ type: Optional }] }
13759
13773
  ];
13760
13774
 
13761
13775
  class AppHelpModal {
@@ -13819,7 +13833,7 @@ class MatStepperI18n extends MatStepperIntl {
13819
13833
  this.optionalLabel = this.translate.instant('COMMON.OPTIONAL');
13820
13834
  }
13821
13835
  }
13822
- MatStepperI18n.ɵprov = ɵɵdefineInjectable({ factory: function MatStepperI18n_Factory() { return new MatStepperI18n(ɵɵinject(TranslateService)); }, token: MatStepperI18n, providedIn: "root" });
13836
+ MatStepperI18n.ɵprov = i0.ɵɵdefineInjectable({ factory: function MatStepperI18n_Factory() { return new MatStepperI18n(i0.ɵɵinject(i1$1.TranslateService)); }, token: MatStepperI18n, providedIn: "root" });
13823
13837
  MatStepperI18n.decorators = [
13824
13838
  { type: Injectable, args: [{ providedIn: 'root' },] }
13825
13839
  ];
@@ -14727,7 +14741,7 @@ function state2side(state) {
14727
14741
  return 1;
14728
14742
  }
14729
14743
  }
14730
- const ɵ0$9 = (defaultStateSize) => [
14744
+ const ɵ0$1 = (defaultStateSize) => [
14731
14745
  Math.round((rgbArrayMap.red[0] - 50) / defaultStateSize),
14732
14746
  Math.round((255 - rgbArrayMap.red[1]) / defaultStateSize),
14733
14747
  Math.round((255 - rgbArrayMap.red[2]) / defaultStateSize)
@@ -14735,7 +14749,7 @@ const ɵ0$9 = (defaultStateSize) => [
14735
14749
  const SCALE_OPTIONS_DEFAULT = {
14736
14750
  startColor: rgbArrayMap.red,
14737
14751
  startStates: [0, 2, 3],
14738
- startStepsFn: ɵ0$9
14752
+ startStepsFn: ɵ0$1
14739
14753
  };
14740
14754
  /**
14741
14755
  * Internal function, that create a colors scale, using iteration
@@ -14827,21 +14841,21 @@ function linearColorGradient(count, options) {
14827
14841
  return result;
14828
14842
  }
14829
14843
 
14830
- class EntityTestClass {
14844
+ class EntityTestClass$1 {
14831
14845
  }
14832
- const FAKE_ENTITIES = [
14846
+ const FAKE_ENTITIES$1 = [
14833
14847
  { id: 1, label: 'AAA', name: 'Item A', description: 'Very long description A', comments: 'Very very long comments... again for A' },
14834
14848
  { id: 2, label: 'BBB', name: 'Item B', description: 'Very long description B', comments: 'Very very long comments... again for B' },
14835
14849
  { id: 3, label: 'CCC', name: 'Item C', description: 'Very long description C', comments: 'Very very long comments... again for C' }
14836
14850
  ];
14837
- function deepCopy(values, size) {
14851
+ function deepCopy$1(values, size) {
14838
14852
  if (isNil(size)) {
14839
- return (values || FAKE_ENTITIES).map(entity => Object.assign({}, entity));
14853
+ return (values || FAKE_ENTITIES$1).map(entity => Object.assign({}, entity));
14840
14854
  }
14841
14855
  let result = [];
14842
14856
  let i = 1;
14843
14857
  while (result.length < size) {
14844
- result = result.concat((values || FAKE_ENTITIES).map(entity => {
14858
+ result = result.concat((values || FAKE_ENTITIES$1).map(entity => {
14845
14859
  const name = entity.name + ' #' + i;
14846
14860
  return Object.assign(Object.assign({}, entity), { id: i++, name });
14847
14861
  }));
@@ -14851,7 +14865,7 @@ function deepCopy(values, size) {
14851
14865
  class AutocompleteTestPage {
14852
14866
  constructor(formBuilder) {
14853
14867
  this.formBuilder = formBuilder;
14854
- this._items = deepCopy(FAKE_ENTITIES, 100);
14868
+ this._items = deepCopy$1(FAKE_ENTITIES$1, 100);
14855
14869
  this.$items = new BehaviorSubject(undefined);
14856
14870
  this.autocompleteFields = new MatAutocompleteConfigHolder();
14857
14871
  this.memoryHide = false;
@@ -14895,7 +14909,7 @@ class AutocompleteTestPage {
14895
14909
  });
14896
14910
  // From items
14897
14911
  this.autocompleteFields.add('entity-items-large', {
14898
- items: FAKE_ENTITIES.slice(),
14912
+ items: FAKE_ENTITIES$1.slice(),
14899
14913
  attributes: ['label', 'name', 'description', 'comments'],
14900
14914
  displayWith: this.entityToString
14901
14915
  });
@@ -14905,12 +14919,12 @@ class AutocompleteTestPage {
14905
14919
  loadData() {
14906
14920
  return __awaiter(this, void 0, void 0, function* () {
14907
14921
  const data = {
14908
- entity: deepCopy(FAKE_ENTITIES)[1],
14922
+ entity: deepCopy$1(FAKE_ENTITIES$1)[1],
14909
14923
  // This item is NOT in the items list => i should be displayed anyway
14910
14924
  missingEntity: {
14911
14925
  id: -1, label: '??', name: 'Missing item'
14912
14926
  },
14913
- disableEntity: deepCopy(FAKE_ENTITIES)[2]
14927
+ disableEntity: deepCopy$1(FAKE_ENTITIES$1)[2]
14914
14928
  };
14915
14929
  this.form.setValue(data);
14916
14930
  // Load observables
@@ -15080,13 +15094,13 @@ MaterialTestingPage.ctorParameters = () => [
15080
15094
  { type: Array, decorators: [{ type: Optional }, { type: Inject, args: [APP_TESTING_PAGES,] }] }
15081
15095
  ];
15082
15096
 
15083
- const moment$5 = momentImported;
15097
+ const moment$1 = momentImported;
15084
15098
  class SwipeTestPage {
15085
15099
  constructor(formBuilder, dateFormatPipe) {
15086
15100
  this.formBuilder = formBuilder;
15087
15101
  this.dateFormatPipe = dateFormatPipe;
15088
15102
  this.$dates = new BehaviorSubject(undefined);
15089
- this._today = moment$5().startOf('day');
15103
+ this._today = moment$1().startOf('day');
15090
15104
  this.form = formBuilder.group({
15091
15105
  empty: [null, Validators.required],
15092
15106
  date: [null, Validators.compose([Validators.required, SharedValidators.validDate])],
@@ -15099,7 +15113,7 @@ class SwipeTestPage {
15099
15113
  ngOnInit() {
15100
15114
  const dates = [];
15101
15115
  for (let d = 0; d < 7; d++) {
15102
- dates[d] = moment$5(this._today).add(d - 3, 'day');
15116
+ dates[d] = moment$1(this._today).add(d - 3, 'day');
15103
15117
  }
15104
15118
  this.$dates.next(dates);
15105
15119
  this.loadData();
@@ -15700,7 +15714,7 @@ class FormArrayHelper {
15700
15714
  }
15701
15715
  }
15702
15716
 
15703
- const moment$6 = momentImported;
15717
+ const moment = momentImported;
15704
15718
  class DateTimeTestPage {
15705
15719
  constructor(platform, formBuilder, cd) {
15706
15720
  this.platform = platform;
@@ -15731,7 +15745,7 @@ class DateTimeTestPage {
15731
15745
  // Load the form with data
15732
15746
  loadData() {
15733
15747
  return __awaiter(this, void 0, void 0, function* () {
15734
- const now = moment$6();
15748
+ const now = moment();
15735
15749
  const data = {
15736
15750
  empty: toDateISOString(now.clone().add(2, 'hours')),
15737
15751
  enable: toDateISOString(now),
@@ -15791,20 +15805,20 @@ DateTimeTestPage.ctorParameters = () => [
15791
15805
  { type: ChangeDetectorRef }
15792
15806
  ];
15793
15807
 
15794
- class EntityTestClass$1 {
15808
+ class EntityTestClass {
15795
15809
  }
15796
- const FAKE_ENTITIES$1 = [
15810
+ const FAKE_ENTITIES = [
15797
15811
  { id: 1, label: 'AAA', name: 'Item A' },
15798
15812
  { id: 2, label: 'BBB', name: 'Item B' },
15799
15813
  { id: 3, label: 'CCC', name: 'Item C' }
15800
15814
  ];
15801
- function deepCopy$1(values) {
15802
- return (values || FAKE_ENTITIES$1).map(entity => Object.assign({}, entity));
15815
+ function deepCopy(values) {
15816
+ return (values || FAKE_ENTITIES).map(entity => Object.assign({}, entity));
15803
15817
  }
15804
15818
  class ChipsTestPage {
15805
15819
  constructor(formBuilder) {
15806
15820
  this.formBuilder = formBuilder;
15807
- this._items = deepCopy$1(FAKE_ENTITIES$1);
15821
+ this._items = deepCopy(FAKE_ENTITIES);
15808
15822
  this._$items = new BehaviorSubject(undefined);
15809
15823
  this.autocompleteFields = new MatAutocompleteConfigHolder();
15810
15824
  this.form = formBuilder.group({
@@ -15823,7 +15837,7 @@ class ChipsTestPage {
15823
15837
  });
15824
15838
  // From items
15825
15839
  this.autocompleteFields.add('entity-items', {
15826
- items: FAKE_ENTITIES$1.slice(),
15840
+ items: FAKE_ENTITIES.slice(),
15827
15841
  attributes: ['label', 'name'],
15828
15842
  displayWith: this.entityToString
15829
15843
  });
@@ -15844,15 +15858,15 @@ class ChipsTestPage {
15844
15858
  const data = {
15845
15859
  entity: [],
15846
15860
  // THis item is NOT in the items list => i should be displayed anyway
15847
- entityInitial: FAKE_ENTITIES$1.slice(1, 2),
15848
- disableEntity: FAKE_ENTITIES$1.slice(1, 2)
15861
+ entityInitial: FAKE_ENTITIES.slice(1, 2),
15862
+ disableEntity: FAKE_ENTITIES.slice(1, 2)
15849
15863
  };
15850
15864
  this.form.setValue(data);
15851
15865
  });
15852
15866
  }
15853
15867
  loadItems() {
15854
15868
  return __awaiter(this, void 0, void 0, function* () {
15855
- this._$items.next(deepCopy$1(FAKE_ENTITIES$1));
15869
+ this._$items.next(deepCopy(FAKE_ENTITIES));
15856
15870
  });
15857
15871
  }
15858
15872
  entityToString(item) {
@@ -15884,7 +15898,7 @@ ChipsTestPage.ctorParameters = () => [
15884
15898
  { type: FormBuilder }
15885
15899
  ];
15886
15900
 
15887
- const routes = [
15901
+ const routes$1 = [
15888
15902
  {
15889
15903
  path: '',
15890
15904
  pathMatch: 'full',
@@ -15931,7 +15945,7 @@ MaterialTestingModule.decorators = [
15931
15945
  ReactiveFormsModule,
15932
15946
  SharedMaterialModule,
15933
15947
  TranslateModule.forChild(),
15934
- RouterModule.forChild(routes)
15948
+ RouterModule.forChild(routes$1)
15935
15949
  ],
15936
15950
  declarations: [
15937
15951
  MaterialTestingPage,
@@ -16832,7 +16846,7 @@ class UserSettingsValidatorService extends AppValidatorService {
16832
16846
  });
16833
16847
  }
16834
16848
  }
16835
- UserSettingsValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function UserSettingsValidatorService_Factory() { return new UserSettingsValidatorService(ɵɵinject(FormBuilder)); }, token: UserSettingsValidatorService, providedIn: "root" });
16849
+ UserSettingsValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function UserSettingsValidatorService_Factory() { return new UserSettingsValidatorService(i0.ɵɵinject(i1$6.FormBuilder)); }, token: UserSettingsValidatorService, providedIn: "root" });
16836
16850
  UserSettingsValidatorService.decorators = [
16837
16851
  { type: Injectable, args: [{ providedIn: 'root' },] }
16838
16852
  ];
@@ -16876,7 +16890,7 @@ class AccountValidatorService extends AppValidatorService {
16876
16890
  return validatorFns.length ? Validators.compose(validatorFns) : validatorFns.length === 1 ? validatorFns[0] : undefined;
16877
16891
  }
16878
16892
  }
16879
- AccountValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function AccountValidatorService_Factory() { return new AccountValidatorService(ɵɵinject(FormBuilder), ɵɵinject(AccountService)); }, token: AccountValidatorService, providedIn: "root" });
16893
+ AccountValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AccountValidatorService_Factory() { return new AccountValidatorService(i0.ɵɵinject(i1$6.FormBuilder), i0.ɵɵinject(AccountService)); }, token: AccountValidatorService, providedIn: "root" });
16880
16894
  AccountValidatorService.decorators = [
16881
16895
  { type: Injectable, args: [{ providedIn: 'root' },] }
16882
16896
  ];
@@ -17405,7 +17419,7 @@ class LocalSettingsValidatorService extends AppValidatorService {
17405
17419
  });
17406
17420
  }
17407
17421
  }
17408
- LocalSettingsValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function LocalSettingsValidatorService_Factory() { return new LocalSettingsValidatorService(ɵɵinject(FormBuilder), ɵɵinject(NetworkService)); }, token: LocalSettingsValidatorService, providedIn: "root" });
17422
+ LocalSettingsValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function LocalSettingsValidatorService_Factory() { return new LocalSettingsValidatorService(i0.ɵɵinject(i1$6.FormBuilder), i0.ɵɵinject(NetworkService)); }, token: LocalSettingsValidatorService, providedIn: "root" });
17409
17423
  LocalSettingsValidatorService.decorators = [
17410
17424
  { type: Injectable, args: [{ providedIn: 'root' },] }
17411
17425
  ];
@@ -18013,7 +18027,7 @@ class IsOnFieldModePipe {
18013
18027
  return value === 'FIELD';
18014
18028
  }
18015
18029
  }
18016
- IsOnFieldModePipe.ɵprov = ɵɵdefineInjectable({ factory: function IsOnFieldModePipe_Factory() { return new IsOnFieldModePipe(); }, token: IsOnFieldModePipe, providedIn: "root" });
18030
+ IsOnFieldModePipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsOnFieldModePipe_Factory() { return new IsOnFieldModePipe(); }, token: IsOnFieldModePipe, providedIn: "root" });
18017
18031
  IsOnFieldModePipe.decorators = [
18018
18032
  { type: Pipe, args: [{
18019
18033
  name: 'isOnField'
@@ -18025,7 +18039,7 @@ class IsNotOnFieldModePipe {
18025
18039
  return value !== 'FIELD';
18026
18040
  }
18027
18041
  }
18028
- IsNotOnFieldModePipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNotOnFieldModePipe_Factory() { return new IsNotOnFieldModePipe(); }, token: IsNotOnFieldModePipe, providedIn: "root" });
18042
+ IsNotOnFieldModePipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNotOnFieldModePipe_Factory() { return new IsNotOnFieldModePipe(); }, token: IsNotOnFieldModePipe, providedIn: "root" });
18029
18043
  IsNotOnFieldModePipe.decorators = [
18030
18044
  { type: Pipe, args: [{
18031
18045
  name: 'isNotOnField'
@@ -18040,7 +18054,7 @@ class PersonToStringPipe {
18040
18054
  return PersonUtils.personToString(value);
18041
18055
  }
18042
18056
  }
18043
- PersonToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function PersonToStringPipe_Factory() { return new PersonToStringPipe(); }, token: PersonToStringPipe, providedIn: "root" });
18057
+ PersonToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function PersonToStringPipe_Factory() { return new PersonToStringPipe(); }, token: PersonToStringPipe, providedIn: "root" });
18044
18058
  PersonToStringPipe.decorators = [
18045
18059
  { type: Pipe, args: [{
18046
18060
  name: 'personToString'
@@ -18257,7 +18271,7 @@ class IsLoginAccountPipe {
18257
18271
  return value && value.pubkey && true;
18258
18272
  }
18259
18273
  }
18260
- IsLoginAccountPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsLoginAccountPipe_Factory() { return new IsLoginAccountPipe(); }, token: IsLoginAccountPipe, providedIn: "root" });
18274
+ IsLoginAccountPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsLoginAccountPipe_Factory() { return new IsLoginAccountPipe(); }, token: IsLoginAccountPipe, providedIn: "root" });
18261
18275
  IsLoginAccountPipe.decorators = [
18262
18276
  { type: Pipe, args: [{
18263
18277
  name: 'isLogin'
@@ -18269,7 +18283,7 @@ class AccountToStringPipe {
18269
18283
  return accountToString(value);
18270
18284
  }
18271
18285
  }
18272
- AccountToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function AccountToStringPipe_Factory() { return new AccountToStringPipe(); }, token: AccountToStringPipe, providedIn: "root" });
18286
+ AccountToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function AccountToStringPipe_Factory() { return new AccountToStringPipe(); }, token: AccountToStringPipe, providedIn: "root" });
18273
18287
  AccountToStringPipe.decorators = [
18274
18288
  { type: Pipe, args: [{
18275
18289
  name: 'accountToString'
@@ -18284,7 +18298,7 @@ class DepartmentToStringPipe {
18284
18298
  return departmentToString(value);
18285
18299
  }
18286
18300
  }
18287
- DepartmentToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function DepartmentToStringPipe_Factory() { return new DepartmentToStringPipe(); }, token: DepartmentToStringPipe, providedIn: "root" });
18301
+ DepartmentToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DepartmentToStringPipe_Factory() { return new DepartmentToStringPipe(); }, token: DepartmentToStringPipe, providedIn: "root" });
18288
18302
  DepartmentToStringPipe.decorators = [
18289
18303
  { type: Pipe, args: [{
18290
18304
  name: 'departmentToString'
@@ -18310,7 +18324,7 @@ class MenuService {
18310
18324
  this._visibleSubject.next(value);
18311
18325
  }
18312
18326
  }
18313
- MenuService.ɵprov = ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(); }, token: MenuService, providedIn: "root" });
18327
+ MenuService.ɵprov = i0.ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(); }, token: MenuService, providedIn: "root" });
18314
18328
  MenuService.decorators = [
18315
18329
  { type: Injectable, args: [{
18316
18330
  providedIn: 'root'
@@ -18804,7 +18818,7 @@ class AuthGuardService {
18804
18818
  }));
18805
18819
  }
18806
18820
  }
18807
- AuthGuardService.ɵprov = ɵɵdefineInjectable({ factory: function AuthGuardService_Factory() { return new AuthGuardService(ɵɵinject(AccountService), ɵɵinject(ModalController), ɵɵinject(Router), ɵɵinject(ENVIRONMENT)); }, token: AuthGuardService, providedIn: "root" });
18821
+ 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" });
18808
18822
  AuthGuardService.decorators = [
18809
18823
  { type: Injectable, args: [{ providedIn: 'root' },] }
18810
18824
  ];
@@ -18852,7 +18866,7 @@ class BaseEntityService extends BaseGraphqlService {
18852
18866
  query,
18853
18867
  variables: { id },
18854
18868
  fetchPolicy: opts && opts.fetchPolicy || undefined,
18855
- error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
18869
+ error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
18856
18870
  })
18857
18871
  .pipe(map(({ data }) => (!opts || opts.toEntity !== false)
18858
18872
  ? (data && this.fromObject(data))
@@ -18867,7 +18881,7 @@ class BaseEntityService extends BaseGraphqlService {
18867
18881
  query,
18868
18882
  variables: { id },
18869
18883
  fetchPolicy: opts && opts.fetchPolicy || undefined,
18870
- error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
18884
+ error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
18871
18885
  });
18872
18886
  // Convert to entity
18873
18887
  return (!opts || opts.toEntity !== false)
@@ -18898,7 +18912,7 @@ class BaseEntityService extends BaseGraphqlService {
18898
18912
  totalFieldName: withTotal ? 'total' : undefined,
18899
18913
  insertFilterFn: filter && filter.asFilterFn(),
18900
18914
  variables,
18901
- error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' },
18915
+ error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' },
18902
18916
  fetchPolicy: opts && opts.fetchPolicy || undefined
18903
18917
  })
18904
18918
  .pipe(map(({ data, total }) => {
@@ -18934,7 +18948,7 @@ class BaseEntityService extends BaseGraphqlService {
18934
18948
  const { data, total } = yield this.graphql.query({
18935
18949
  query,
18936
18950
  variables,
18937
- error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
18951
+ error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
18938
18952
  fetchPolicy: opts && opts.fetchPolicy || 'network-only'
18939
18953
  });
18940
18954
  const entities = (!opts || opts.toEntity !== false) ?
@@ -18983,7 +18997,7 @@ class BaseEntityService extends BaseGraphqlService {
18983
18997
  variables: {
18984
18998
  data: json
18985
18999
  },
18986
- error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
19000
+ error: { code: ErrorCodes$2.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
18987
19001
  update: (proxy, { data }) => {
18988
19002
  const savedEntities = data && data.data;
18989
19003
  if (savedEntities) {
@@ -19039,7 +19053,7 @@ class BaseEntityService extends BaseGraphqlService {
19039
19053
  variables: {
19040
19054
  data: json
19041
19055
  },
19042
- error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
19056
+ error: { code: ErrorCodes$2.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
19043
19057
  update: (cache, { data }) => {
19044
19058
  // Update entity
19045
19059
  const savedEntity = data && data.data;
@@ -19087,7 +19101,7 @@ class BaseEntityService extends BaseGraphqlService {
19087
19101
  refetchQueries: this.getRefetchQueriesForMutation(opts),
19088
19102
  awaitRefetchQueries: opts && opts.awaitRefetchQueries,
19089
19103
  variables: { ids },
19090
- error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
19104
+ error: { code: ErrorCodes$2.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
19091
19105
  update: (cache, res) => {
19092
19106
  // Remove from cache
19093
19107
  if (this.watchQueriesUpdatePolicy === 'update-cache') {
@@ -19128,7 +19142,7 @@ class BaseEntityService extends BaseGraphqlService {
19128
19142
  refetchQueries: this.getRefetchQueriesForMutation(opts),
19129
19143
  awaitRefetchQueries: opts && opts.awaitRefetchQueries,
19130
19144
  variables: { id },
19131
- error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
19145
+ error: { code: ErrorCodes$2.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
19132
19146
  update: (proxy, res) => {
19133
19147
  // Remove from cache
19134
19148
  if (this.watchQueriesUpdatePolicy === 'update-cache') {
@@ -19161,7 +19175,7 @@ class BaseEntityService extends BaseGraphqlService {
19161
19175
  query: opts && opts.query || this.subscriptions.listenChanges,
19162
19176
  variables,
19163
19177
  error: {
19164
- code: ErrorCodes.SUBSCRIBE_DATA_ERROR,
19178
+ code: ErrorCodes$2.SUBSCRIBE_DATA_ERROR,
19165
19179
  message: 'ERROR.SUBSCRIBE_DATA_ERROR'
19166
19180
  }
19167
19181
  })
@@ -19323,7 +19337,7 @@ class EntitiesTableDataSource extends TableDataSource {
19323
19337
  if (this._debug)
19324
19338
  invalidRows.forEach(this.logRowErrors);
19325
19339
  // Stop with an error
19326
- throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
19340
+ throw { code: ErrorCodes$2.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
19327
19341
  }
19328
19342
  this._editingRowCount = 0;
19329
19343
  let data;
@@ -20127,11 +20141,11 @@ class AppTable {
20127
20141
  var _a;
20128
20142
  return __awaiter(this, void 0, void 0, function* () {
20129
20143
  if (this.readOnly) {
20130
- throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
20144
+ throw { code: ErrorCodes$2.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
20131
20145
  }
20132
20146
  this.resetError();
20133
20147
  if (!this.confirmEditCreate()) {
20134
- throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
20148
+ throw { code: ErrorCodes$2.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
20135
20149
  }
20136
20150
  // Keep edited row id
20137
20151
  const editedRowId = this.keepEditedRowOnSave && ((_a = this.editedRow) === null || _a === void 0 ? void 0 : _a.id);
@@ -20260,7 +20274,7 @@ class AppTable {
20260
20274
  deleteRows(event, rows, opts) {
20261
20275
  return __awaiter(this, void 0, void 0, function* () {
20262
20276
  if (this.readOnly) {
20263
- throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
20277
+ throw { code: ErrorCodes$2.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
20264
20278
  }
20265
20279
  if (event === null || event === void 0 ? void 0 : event.defaultPrevented)
20266
20280
  return 0; // SKip
@@ -20431,7 +20445,7 @@ class AppTable {
20431
20445
  else {
20432
20446
  // cancel (if confirmation)
20433
20447
  if (this.confirmBeforeCancel) {
20434
- this.cancelExistingRow(event, row);
20448
+ this.cancelExistingRow(event, row, { keepEditing: false });
20435
20449
  }
20436
20450
  // Or validate, if no confirmation
20437
20451
  else {
@@ -20822,7 +20836,7 @@ class AppTable {
20822
20836
  });
20823
20837
  return;
20824
20838
  }
20825
- const keepEditing = row.editing;
20839
+ const keepEditing = row.editing && (!opts || opts.keepEditing !== false);
20826
20840
  this.editedRow = undefined; // unselect row
20827
20841
  this._dataSource.cancelOrDelete(row);
20828
20842
  this.onCancelOrDeleteRow.next(row);
@@ -21624,7 +21638,7 @@ class AppEntityEditor extends AppTabEditor {
21624
21638
  try {
21625
21639
  const data = yield this.dataService.load(id, opts);
21626
21640
  if (!data)
21627
- throw { code: ErrorCodes.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
21641
+ throw { code: ErrorCodes$2.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
21628
21642
  this._usageMode = this.computeUsageMode(data);
21629
21643
  yield this.onEntityLoaded(data, opts);
21630
21644
  this.updateView(data, opts);
@@ -22516,7 +22530,7 @@ class UserEventService extends BaseGraphqlService {
22516
22530
  EntityUtils.copyIdAndUpdateDate(source, target);
22517
22531
  }
22518
22532
  }
22519
- 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" });
22533
+ 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" });
22520
22534
  UserEventService.decorators = [
22521
22535
  { type: Injectable, args: [{ providedIn: 'root' },] }
22522
22536
  ];
@@ -22898,7 +22912,7 @@ class PersonService extends BaseEntityService {
22898
22912
  return target;
22899
22913
  }
22900
22914
  }
22901
- PersonService.ɵprov = ɵɵdefineInjectable({ factory: function PersonService_Factory() { return new PersonService(ɵɵinject(GraphqlService), ɵɵinject(PlatformService), ɵɵinject(NetworkService), ɵɵinject(EntitiesStorage)); }, token: PersonService, providedIn: "root" });
22915
+ 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" });
22902
22916
  PersonService.decorators = [
22903
22917
  { type: Injectable, args: [{ providedIn: 'root' },] }
22904
22918
  ];
@@ -22929,7 +22943,7 @@ class PersonValidatorService {
22929
22943
  return this.formBuilder.group(formConfig);
22930
22944
  }
22931
22945
  }
22932
- PersonValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function PersonValidatorService_Factory() { return new PersonValidatorService(ɵɵinject(FormBuilder), ɵɵinject(AccountValidatorService)); }, token: PersonValidatorService, providedIn: "root" });
22946
+ PersonValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PersonValidatorService_Factory() { return new PersonValidatorService(i0.ɵɵinject(i1$6.FormBuilder), i0.ɵɵinject(AccountValidatorService)); }, token: PersonValidatorService, providedIn: "root" });
22933
22947
  PersonValidatorService.decorators = [
22934
22948
  { type: Injectable, args: [{ providedIn: 'root' },] }
22935
22949
  ];
@@ -23085,7 +23099,7 @@ UsersPage.decorators = [
23085
23099
  ],
23086
23100
  animations: [slideUpDownAnimation],
23087
23101
  changeDetection: ChangeDetectionStrategy.OnPush,
23088
- 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}"]
23102
+ 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}"]
23089
23103
  },] }
23090
23104
  ];
23091
23105
  UsersPage.ctorParameters = () => [
@@ -23133,16 +23147,16 @@ AdminModule.decorators = [
23133
23147
  ];
23134
23148
  AdminModule.ctorParameters = () => [];
23135
23149
 
23136
- const ɵ0$a = {
23150
+ const ɵ0 = {
23137
23151
  profile: 'ADMIN'
23138
23152
  };
23139
- const routes$1 = [
23153
+ const routes = [
23140
23154
  {
23141
23155
  path: 'users',
23142
23156
  pathMatch: 'full',
23143
23157
  component: UsersPage,
23144
23158
  canActivate: [AuthGuardService],
23145
- data: ɵ0$a
23159
+ data: ɵ0
23146
23160
  }
23147
23161
  ];
23148
23162
  class AdminRoutingModule {
@@ -23152,13 +23166,13 @@ AdminRoutingModule.decorators = [
23152
23166
  imports: [
23153
23167
  SharedRoutingModule,
23154
23168
  AdminModule,
23155
- RouterModule.forChild(routes$1)
23169
+ RouterModule.forChild(routes)
23156
23170
  ],
23157
23171
  exports: [RouterModule]
23158
23172
  },] }
23159
23173
  ];
23160
23174
 
23161
- const ErrorCodes$2 = {
23175
+ const ErrorCodes = {
23162
23176
  LOAD_PERSONS_ERROR: 100,
23163
23177
  SAVE_PERSONS_ERROR: 101,
23164
23178
  DELETE_PERSONS_ERROR: 102,
@@ -23170,5 +23184,5 @@ const ErrorCodes$2 = {
23170
23184
  * Generated bundle index. Do not edit.
23171
23185
  */
23172
23186
 
23173
- 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, AppFormHolder, 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, 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, StatusIds, StatusList, StrLengthPipe, SwipeTestPage, TableSelectColumnsComponent, ToStringPipe, Toasts, ToolbarComponent, ToolbarToken, TranslatablePipe, TranslateContextPipe, TranslateContextService, UserEvent, UserEventFilter, UserEventService, UserEventTypes, UserEventsTable, UserSettings, UsersPage, accountToString, addValueInArray, arrayDistinct, arrayGroupBy, arraySize, asInputElement, canHaveFocus, capitalizeFirstLetter, chainPromises, changeCaseToUnderscore, clearValueInArray, copyEntity2Form, copyForm2Entity, 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, isArray, isControlHasInput, isEmptyArray, isInputElement, isInstanceOf, isInt, isNil, isNilOrBlank, isNotEmptyArray, isNotNil, isNotNilOrBlank, isNotNilOrNaN, isNotNilString, isNumber, isNumberRange, joinProperties, joinPropertiesPath, logFormErrors, markAsTouched, markAsUntouched, markControlAsTouched, markFormGroupAsTouched, matchUpperCase, 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, 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 };
23187
+ 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, AppFormHolder, 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, 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, StatusIds, StatusList, StrLengthPipe, SwipeTestPage, TableSelectColumnsComponent, ToStringPipe, Toasts, ToolbarComponent, ToolbarToken, TranslatablePipe, TranslateContextPipe, TranslateContextService, UserEvent, UserEventFilter, UserEventService, UserEventTypes, UserEventsTable, UserSettings, UsersPage, accountToString, addValueInArray, arrayDistinct, arrayGroupBy, arraySize, asInputElement, canHaveFocus, capitalizeFirstLetter, chainPromises, changeCaseToUnderscore, clearValueInArray, copyEntity2Form, copyForm2Entity, 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, isArray, isControlHasInput, isEmptyArray, isInputElement, isInstanceOf, isInt, isNil, isNilOrBlank, isNotEmptyArray, isNotNil, isNotNilOrBlank, isNotNilOrNaN, isNotNilString, isNumber, isNumberRange, joinProperties, joinPropertiesPath, logFormErrors, markAsTouched, markAsUntouched, markControlAsTouched, markFormGroupAsTouched, matchUpperCase, 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, 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 };
23174
23188
  //# sourceMappingURL=ngx-sumaris-components.js.map