@sumaris-net/ngx-components 0.27.1 → 0.27.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,12 +1,9 @@
1
- import * as i0 from '@angular/core';
2
- import { InjectionToken, EventEmitter, forwardRef, Component, ChangeDetectionStrategy, ChangeDetectorRef, Optional, Input, HostBinding, Output, ViewChild, Pipe, Injectable, Directive, Inject, NgModule, ElementRef, ViewChildren, HostListener, ComponentFactoryResolver, ApplicationRef, Injector, Renderer2 } from '@angular/core';
3
- import * as i1$3 from '@angular/common';
1
+ import { InjectionToken, EventEmitter, forwardRef, Component, ChangeDetectionStrategy, ChangeDetectorRef, Optional, Input, HostBinding, Output, ViewChild, ɵɵdefineInjectable, ɵɵinject, Pipe, Injectable, Directive, Inject, NgModule, ElementRef, ViewChildren, HostListener, ComponentFactoryResolver, ApplicationRef, INJECTOR, Injector, Renderer2 } from '@angular/core';
4
2
  import { CommonModule, DOCUMENT, Location } from '@angular/common';
5
3
  import { CdkTableModule } from '@angular/cdk/table';
6
4
  import { A11yModule } from '@angular/cdk/a11y';
7
5
  import { OverlayModule, OverlayContainer, FullscreenOverlayContainer, Overlay } from '@angular/cdk/overlay';
8
6
  import { ScrollingModule } from '@angular/cdk/scrolling';
9
- import * as i1$2 from '@angular/material/core';
10
7
  import { DateAdapter, MatCommonModule, MatRippleModule } from '@angular/material/core';
11
8
  import { MatTableModule, MatTable, MatColumnDef } from '@angular/material/table';
12
9
  import { MatSortModule, MatSort } from '@angular/material/sort';
@@ -30,21 +27,16 @@ import { MatProgressBarModule } from '@angular/material/progress-bar';
30
27
  import { MatRadioModule } from '@angular/material/radio';
31
28
  import { MatBadgeModule } from '@angular/material/badge';
32
29
  import { MatSlideToggleModule } from '@angular/material/slide-toggle';
33
- import * as i2$1 from '@angular/material/dialog';
34
30
  import { MatDialogModule, MAT_DIALOG_DATA, MatDialog } from '@angular/material/dialog';
35
31
  import { MatAutocomplete, MatAutocompleteTrigger, MatAutocompleteModule, MAT_AUTOCOMPLETE_SCROLL_STRATEGY, MAT_AUTOCOMPLETE_DEFAULT_OPTIONS } from '@angular/material/autocomplete';
36
32
  import { __awaiter, __decorate } from 'tslib';
37
- import * as i1$6 from '@angular/forms';
38
33
  import { NG_VALUE_ACCESSOR, FormGroupDirective, AbstractControl, FormGroup, FormArray, FormControl, ReactiveFormsModule, Validators, FormBuilder } from '@angular/forms';
39
34
  import { timer, merge, fromEvent, Subscription, BehaviorSubject, Subject, isObservable, of, noop as noop$8, Observable, defer, from, combineLatest, EMPTY } from 'rxjs';
40
35
  import { filter, first, map, takeUntil, startWith, debounceTime, takeWhile, switchMap, tap, distinctUntilChanged, mergeMap, catchError, throttleTime, skip } from 'rxjs/operators';
41
- import * as i1$1 from '@ngx-translate/core';
42
36
  import { TranslateService, TranslateModule } from '@ngx-translate/core';
43
- import * as i1$4 from '@ionic/angular';
44
37
  import { IonicModule, Platform, IonRouterOutlet, ModalController, IonicSafeString, createAnimation, ToastController, AlertController, IonicRouteStrategy, NavParams, MenuController, IonContent } from '@ionic/angular';
45
38
  import * as momentImported from 'moment';
46
39
  import { isMoment } from 'moment';
47
- import * as i1 from '@angular/material-moment-adapter';
48
40
  import { MomentDateAdapter, MatMomentDateModule } from '@angular/material-moment-adapter';
49
41
  import { Keyboard } from '@ionic-native/keyboard/ngx';
50
42
  import { TextMaskModule } from 'angular2-text-mask';
@@ -54,38 +46,32 @@ import { trigger, state, style, transition, animate } from '@angular/animations'
54
46
  import { MatDividerModule } from '@angular/material/divider';
55
47
  import { MatTooltipModule } from '@angular/material/tooltip';
56
48
  import { MatChipsModule } from '@angular/material/chips';
57
- import * as i3$3 from '@angular/router';
58
49
  import { Router, RouterModule, RouteReuseStrategy, ActivatedRoute } from '@angular/router';
59
- import * as i1$5 from '@angular/platform-browser';
60
50
  import { HammerGestureConfig, EventManager } from '@angular/platform-browser';
61
- import * as i2$2 from '@angular/common/http';
62
51
  import { HttpResponse, HttpClient, HttpHeaders, HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http';
63
52
  import { ColorPickerModule } from 'ngx-color-picker';
64
- import { NativeAudio } from '@ionic-native/native-audio/ngx';
65
- import { Vibration } from '@ionic-native/vibration/ngx';
53
+ import { NativeAudio as NativeAudio$1 } from '@ionic-native/native-audio/ngx';
54
+ import { Vibration as Vibration$1 } from '@ionic-native/vibration/ngx';
66
55
  import { AudioManagement } from '@ionic-native/audio-management/ngx';
67
- import * as i2 from '@ionic-native/native-audio/ngx/index';
68
- import * as i3 from '@ionic-native/vibration/ngx/index';
69
- import * as i4 from '@ionic-native/audio-management/ngx/index';
56
+ import { NativeAudio } from '@ionic-native/native-audio/ngx/index';
57
+ import { Vibration } from '@ionic-native/vibration/ngx/index';
58
+ import { AudioManagement as AudioManagement$1 } from '@ionic-native/audio-management/ngx/index';
70
59
  import * as uuidv4Imported from 'uuid/v4';
71
60
  import { DragDropModule } from '@angular/cdk/drag-drop';
72
61
  import { MarkdownModule } from 'ngx-markdown';
73
62
  import { sign, box, hash, verify } from 'tweetnacl';
74
- import * as i3$1 from '@ionic/storage';
75
63
  import { Storage, IonicStorageModule } from '@ionic/storage';
76
64
  import 'zone.js/dist/zone-error';
77
- import { SplashScreen } from '@ionic-native/splash-screen/ngx';
78
- import { Connection, Network } from '@ionic-native/network/ngx';
79
- import { CacheService, CacheModule } from 'ionic-cache';
80
- import * as i6 from 'ionic-cache/dist/cache.service';
81
- import * as i9 from '@ionic-native/network/ngx/index';
82
- import * as i10 from '@ionic-native/splash-screen/ngx/index';
83
- import { StatusBar } from '@ionic-native/status-bar/ngx';
84
- import * as i2$4 from '@angular/cdk/platform';
65
+ import { SplashScreen as SplashScreen$1 } from '@ionic-native/splash-screen/ngx';
66
+ import { Connection, Network as Network$1 } from '@ionic-native/network/ngx';
67
+ import { CacheService as CacheService$1, CacheModule } from 'ionic-cache';
68
+ import { CacheService } from 'ionic-cache/dist/cache.service';
69
+ import { Network } from '@ionic-native/network/ngx/index';
70
+ import { SplashScreen } from '@ionic-native/splash-screen/ngx/index';
71
+ import { StatusBar as StatusBar$1 } from '@ionic-native/status-bar/ngx';
85
72
  import { Platform as Platform$1 } from '@angular/cdk/platform';
86
- import { InAppBrowser } from '@ionic-native/in-app-browser/ngx';
73
+ import { InAppBrowser as InAppBrowser$1 } from '@ionic-native/in-app-browser/ngx';
87
74
  import { ApolloLink, NetworkStatus, InMemoryCache, ApolloClient, gql } from '@apollo/client/core';
88
- import * as i2$3 from 'apollo-angular';
89
75
  import { Apollo } from 'apollo-angular';
90
76
  import { WebSocketLink } from '@apollo/client/link/ws';
91
77
  import { getMainDefinition } from '@apollo/client/utilities';
@@ -93,14 +79,13 @@ import { RetryLink } from '@apollo/client/link/retry';
93
79
  import QueueLink from 'apollo-link-queue';
94
80
  import SerializingLink from 'apollo-link-serialize';
95
81
  import loggerLink from 'apollo-link-logger';
96
- import * as i3$2 from 'apollo-angular/http';
97
82
  import { HttpLink } from 'apollo-angular/http';
98
83
  import { IonicStorageWrapper, persistCache } from 'apollo3-cache-persist';
99
- import { NotificationVisibility, Downloader } from '@ionic-native/downloader/ngx';
100
- import * as i14 from '@ionic-native/status-bar/ngx/index';
101
- import * as i15 from '@ionic-native/keyboard/ngx/index';
102
- import * as i17 from '@ionic-native/in-app-browser/ngx/index';
103
- import * as i18 from '@ionic-native/downloader/ngx/index';
84
+ import { NotificationVisibility, Downloader as Downloader$1 } from '@ionic-native/downloader/ngx';
85
+ import { StatusBar } from '@ionic-native/status-bar/ngx/index';
86
+ import { Keyboard as Keyboard$1 } from '@ionic-native/keyboard/ngx/index';
87
+ import { InAppBrowser } from '@ionic-native/in-app-browser/ngx/index';
88
+ import { Downloader } from '@ionic-native/downloader/ngx/index';
104
89
  import { ValidatorService, TableDataSource } from '@e-is/ngx-material-table';
105
90
  import { SelectionModel } from '@angular/cdk/collections';
106
91
  import { NgxJdenticonModule } from 'ngx-jdenticon';
@@ -885,19 +870,19 @@ class MatAutocompleteConfigHolder {
885
870
  return this.fields[fieldName] || this.add(fieldName);
886
871
  }
887
872
  }
888
- const DEFAULT_VALUE_ACCESSOR$6 = {
873
+ const DEFAULT_VALUE_ACCESSOR = {
889
874
  provide: NG_VALUE_ACCESSOR,
890
875
  useExisting: forwardRef(() => MatAutocompleteField),
891
876
  multi: true
892
877
  };
893
- const noop$7 = () => { };
894
- const ɵ0$a = noop$7;
878
+ const noop = () => { };
879
+ const ɵ0 = noop;
895
880
  class MatAutocompleteField {
896
881
  constructor(cd, formGroupDir) {
897
882
  this.cd = cd;
898
883
  this.formGroupDir = formGroupDir;
899
- this._onChangeCallback = noop$7;
900
- this._onTouchedCallback = noop$7;
884
+ this._onChangeCallback = noop;
885
+ this._onTouchedCallback = noop;
901
886
  this._subscription = new Subscription();
902
887
  this._filter$ = new BehaviorSubject(undefined);
903
888
  this._reload$ = new Subject();
@@ -1491,7 +1476,7 @@ MatAutocompleteField.decorators = [
1491
1476
  // eslint-disable-next-line @angular-eslint/component-selector
1492
1477
  selector: 'mat-autocomplete-field',
1493
1478
  template: "<ion-grid class=\"ion-no-padding\">\n <ion-row>\n <ion-col class=\"ion-no-padding\">\n <mat-form-field *ngIf=\"_readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n [title]=\"displayValue\"\n class=\"mat-form-field-disabled\">\n\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n\n <!-- readonly -->\n <ng-container>\n <input matInput hidden type=\"text\"\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\" readonly>\n <ion-text>{{displayWith(value)}}</ion-text>\n </ng-container>\n\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n\n </mat-form-field>\n\n <ng-template #writable>\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-disabled]=\"disabled\"\n [title]=\"displayValue\">\n\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n\n <!-- Basic select -->\n <mat-select #matSelect\n *ngIf=\"!searchable; else searchableTemplate\"\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\"\n [tabindex]=\"_tabindex\"\n [panelClass]=\"classList\"\n [style.width]=\"panelWidth\"\n (focus)=\"filterMatSelectFocusEvent($event)\"\n (blur)=\"filterMatSelectBlurEvent($event)\"\n (keydown.escape)=\"onKeydownEscape.emit($event)\"\n (keyup.enter)=\"onKeyupEnter.emit($event)\"\n [compareWith]=\"compareWith\"\n [multiple]=\"multiple\"\n [required]=\"required\">\n <mat-select-trigger>{{ displayWith(value) }}</mat-select-trigger>\n\n <!-- header -->\n <ion-row class=\"mat-autocomplete-header ion-no-padding\">\n <ion-col *ngFor=\"let attr of displayAttributes; index as i; last as isLast\" [size]=\"displayColumnSizes[i]\">\n <ion-label [innerHTML]=\"displayColumnNames[i] | translate\"></ion-label>\n </ion-col>\n </ion-row>\n\n <!-- None option -->\n <mat-option *ngIf=\"!required\" class=\"ion-no-padding\">\n <ion-row class=\"ion-no-padding\">\n <ion-col class=\"ion-no-padding\">\n <ion-label><i translate>COMMON.EMPTY_OPTION</i></ion-label>\n </ion-col>\n </ion-row>\n </mat-option>\n\n <ng-container *ngIf=\"$filteredItems | async; let items\">\n <!-- No item option -->\n <mat-option *ngIf=\"items | isEmptyArray\" class=\"ion-padding text-italic\" disabled>\n <ion-label>{{noResultMessage | translate}}</ion-label>\n </mat-option>\n\n <!-- options -->\n <mat-option *ngFor=\"let item of items\" [value]=\"item\" class=\"ion-no-padding\">\n <ion-row [classList]=\"item.classList\">\n <ion-col *ngFor=\"let path of displayAttributes; index as i;\"\n [size]=\"displayColumnSizes[i]\">\n <ion-text>{{item | propertyGet: path }}</ion-text>\n </ion-col>\n </ion-row>\n </mat-option>\n\n <!-- More item -->\n <mat-option *ngIf=\"_moreItemsCount\" (ngInit)=\"_initMatSelectInfiniteScroll()\"\n class=\"ion-padding\" disabled>\n <ion-skeleton-text [animated]=\"true\" style=\"width: 100%\"></ion-skeleton-text>\n </mat-option>\n </ng-container>\n </mat-select>\n\n\n <!--\n NOTE :\n - \"selectInputContent($event) || onFocus.emit($event)\" : call onFocus only when to the input is empty (nothing to select)\n -->\n <ng-template #searchableTemplate>\n <input matInput #matInputText type=\"text\"\n [matAutocomplete]=\"autocomplete\"\n [matAutocompletePosition]=\"matAutocompletePosition\"\n [formControl]=\"formControl\"\n [placeholder]=\"placeholder\"\n [appAutofocus]=\"autofocus\"\n [tabindex]=\"_tabindex\"\n [required]=\"required\"\n (click)=\"onClick.emit($event)\"\n (focus)=\"filterInputTextFocusInEvent($event)\"\n (blur)=\"filterInputTextBlurEvent($event)\"\n (keydown.escape)=\"onKeydownEscape.emit($event)\"\n (keyup.enter)=\"onKeyupEnter.emit($event)\"\n (keyup.arrowdown)=\"!autocomplete.opened && onDropButtonClick.emit($event)\">\n\n <!-- autocomplete -->\n <mat-autocomplete #autocomplete=\"matAutocomplete\"\n autoActiveFirstOption\n [displayWith]=\"displayWith\"\n [class]=\"classList\"\n [class.cdk-visually-hidden]=\"!searchable\"\n [panelWidth]=\"panelWidth\">\n\n <ion-row class=\"mat-autocomplete-header ion-no-padding\">\n <ion-col *ngFor=\"let attr of displayAttributes; index as i; last as last\" [size]=\"displayColumnSizes[i]\">\n <ion-label [innerHTML]=\"displayColumnNames[i] | translate\"></ion-label>\n <ion-text color=\"light\" *ngIf=\"last && itemCount; let count \" class=\"ion-float-end ion-padding-end\"><i>{{'COMMON.RESULT_COUNT'|translate: {count: count} }}</i></ion-text>\n </ion-col>\n </ion-row>\n\n <ng-container *ngIf=\"$filteredItems | async; else loadingTemplate; let items\">\n <!-- No item option -->\n <mat-option *ngIf=\"items | isEmptyArray\" class=\"ion-padding text-italic\" disabled>\n <ion-label>{{noResultMessage | translate}}</ion-label>\n </mat-option>\n\n <mat-option *ngFor=\"let item of items\" [value]=\"item\" class=\"ion-no-padding\">\n <ion-row [classList]=\"item.classList\">\n <ion-col *ngFor=\"let path of displayAttributes; index as i;\"\n [size]=\"displayColumnSizes[i]\">\n <ion-text [innerHTML]=\"item | propertyGet: path | highlight: { search: formControl.value, withAccent: highlightAccent }\"></ion-text>\n </ion-col>\n </ion-row>\n </mat-option>\n\n <!-- More item -->\n <mat-option *ngIf=\"_moreItemsCount\" (ngInit)=\"_initAutocompleteInfiniteScroll()\"\n class=\"ion-padding\" disabled>\n <ion-skeleton-text [animated]=\"true\" style=\"width: 100%\"></ion-skeleton-text>\n </mat-option>\n </ng-container>\n\n <!-- Loading spinner -->\n <ng-template #loadingTemplate>\n <mat-option *ngIf=\"(matInputText.value | strLength) >= suggestLengthThreshold; else waitMoreCharacterTemplate\"\n class=\"ion-padding\" disabled>\n <ion-skeleton-text [animated]=\"true\" style=\"width: 100%\"></ion-skeleton-text>\n </mat-option>\n </ng-template>\n\n <!-- Need more characters -->\n <ng-template #waitMoreCharacterTemplate>\n <mat-option class=\"ion-padding text-italic\" disabled>\n <ion-label>\n {{'INFO.PLEASE_TYPE_MORE_CHARACTERS'|translate:{minLength: suggestLengthThreshold} }}\n </ion-label>\n </mat-option>\n </ng-template>\n </mat-autocomplete>\n\n </ng-template>\n\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\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 </ng-template>\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\n<ng-template #matPrefixTemplate>\n <ng-content select=\"[matPrefix]\"></ng-content>\n</ng-template>\n\n\n<ng-template #matSuffixTemplate>\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 select=\"[matSuffix]\"></ng-content>\n</ng-template>\n",
1494
- providers: [DEFAULT_VALUE_ACCESSOR$6],
1479
+ providers: [DEFAULT_VALUE_ACCESSOR],
1495
1480
  changeDetection: ChangeDetectionStrategy.OnPush,
1496
1481
  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}"]
1497
1482
  },] }
@@ -1568,7 +1553,7 @@ class DateFormatPipe {
1568
1553
  return this.dateAdapter.format(date, displayFormat);
1569
1554
  }
1570
1555
  }
1571
- DateFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DateFormatPipe_Factory() { return new DateFormatPipe(i0.ɵɵinject(i1.MomentDateAdapter), i0.ɵɵinject(i1$1.TranslateService)); }, token: DateFormatPipe, providedIn: "root" });
1556
+ DateFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateFormatPipe_Factory() { return new DateFormatPipe(ɵɵinject(MomentDateAdapter), ɵɵinject(TranslateService)); }, token: DateFormatPipe, providedIn: "root" });
1572
1557
  DateFormatPipe.decorators = [
1573
1558
  { type: Pipe, args: [{
1574
1559
  name: 'dateFormat'
@@ -1580,7 +1565,7 @@ DateFormatPipe.ctorParameters = () => [
1580
1565
  { type: TranslateService }
1581
1566
  ];
1582
1567
 
1583
- const moment$6 = momentImported;
1568
+ const moment = momentImported;
1584
1569
  class DateDiffDurationPipe {
1585
1570
  constructor(dateAdapter, translate) {
1586
1571
  this.dateAdapter = dateAdapter;
@@ -1596,17 +1581,17 @@ class DateDiffDurationPipe {
1596
1581
  return this.format(startDate, endDate);
1597
1582
  }
1598
1583
  format(startDate, endDate) {
1599
- const duration = moment$6.duration(endDate.diff(startDate));
1584
+ const duration = moment.duration(endDate.diff(startDate));
1600
1585
  if (duration.asMinutes() < 0)
1601
1586
  return '';
1602
- const timeDuration = moment$6(0)
1587
+ const timeDuration = moment(0)
1603
1588
  .hour(duration.hours())
1604
1589
  .minute(duration.minutes());
1605
1590
  const days = Math.floor(duration.asDays());
1606
1591
  return (days > 0 ? days.toString() + (this.dayUnit + ' ') : '') + timeDuration.format('HH:mm');
1607
1592
  }
1608
1593
  }
1609
- 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" });
1594
+ DateDiffDurationPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateDiffDurationPipe_Factory() { return new DateDiffDurationPipe(ɵɵinject(DateAdapter), ɵɵinject(TranslateService)); }, token: DateDiffDurationPipe, providedIn: "root" });
1610
1595
  DateDiffDurationPipe.decorators = [
1611
1596
  { type: Pipe, args: [{
1612
1597
  name: 'dateDiffDuration'
@@ -1627,7 +1612,7 @@ class DateFromNowPipe {
1627
1612
  return date ? date.fromNow(args && args.withoutSuffix) : '';
1628
1613
  }
1629
1614
  }
1630
- DateFromNowPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DateFromNowPipe_Factory() { return new DateFromNowPipe(i0.ɵɵinject(i1.MomentDateAdapter)); }, token: DateFromNowPipe, providedIn: "root" });
1615
+ DateFromNowPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateFromNowPipe_Factory() { return new DateFromNowPipe(ɵɵinject(MomentDateAdapter)); }, token: DateFromNowPipe, providedIn: "root" });
1631
1616
  DateFromNowPipe.decorators = [
1632
1617
  { type: Pipe, args: [{
1633
1618
  name: 'dateFromNow'
@@ -1696,7 +1681,7 @@ function formatToDD(value, opts) {
1696
1681
  value *= -1;
1697
1682
  }
1698
1683
  }
1699
- let degrees = roundFloat$1(value, opts.maxDecimals).toString();
1684
+ let degrees = roundFloat(value, opts.maxDecimals).toString();
1700
1685
  // Add sign
1701
1686
  let sign = negative ? '-' : '+';
1702
1687
  if (opts.placeholderChar) {
@@ -1747,7 +1732,7 @@ function formatToDDMMSS(value, opts) {
1747
1732
  }
1748
1733
  let degrees = Math.trunc(value);
1749
1734
  let minutes = Math.trunc((value - degrees) * 60);
1750
- let seconds = roundFloat$1(((value - degrees) * 60 - minutes) * 60, opts.maxDecimals);
1735
+ let seconds = roundFloat(((value - degrees) * 60 - minutes) * 60, opts.maxDecimals);
1751
1736
  while (seconds >= 60) {
1752
1737
  seconds -= 60;
1753
1738
  minutes += 1;
@@ -1815,7 +1800,7 @@ function formatToDDMM(value, opts) {
1815
1800
  }
1816
1801
  }
1817
1802
  let degrees = Math.trunc(value);
1818
- let minutes = roundFloat$1((value - degrees) * 60, opts.maxDecimals);
1803
+ let minutes = roundFloat((value - degrees) * 60, opts.maxDecimals);
1819
1804
  while (minutes >= 60) {
1820
1805
  minutes -= 60;
1821
1806
  degrees += 1;
@@ -1866,15 +1851,15 @@ function parseLatitudeOrLongitude(input, pattern, maxDecimals, placeholderChar)
1866
1851
  return NaN;
1867
1852
  }
1868
1853
  if (pattern === 'DD')
1869
- return roundFloat$1(degrees, maxDecimals);
1854
+ return roundFloat(degrees, maxDecimals);
1870
1855
  const minutes = (pattern === 'DDMMSS' || pattern === 'DDMM') && parts[1] && parseFloat(parts[1].replace(/,/g, '.')) || 0;
1871
1856
  const seconds = (pattern === 'DDMMSS') && parts[2] && parseFloat(parts[2].replace(/,/g, '.')) || 0;
1872
1857
  const direction = ((pattern === 'DDMMSS') && parts[3]) || ((pattern === 'DDMM') && parts[2]) || undefined;
1873
1858
  const sign = (direction && (direction === 's' || direction === 'S' || direction === 'w' || direction === 'W')) ? -1 : 1;
1874
1859
  degrees = sign * (degrees + minutes / 60 + seconds / (60 * 60));
1875
- return roundFloat$1(degrees, maxDecimals);
1860
+ return roundFloat(degrees, maxDecimals);
1876
1861
  }
1877
- function roundFloat$1(input, maxDecimals) {
1862
+ function roundFloat(input, maxDecimals) {
1878
1863
  if (maxDecimals > 0) {
1879
1864
  const powDecimal = Math.pow(10, maxDecimals);
1880
1865
  return Math.trunc(input * powDecimal + 0.5) / powDecimal;
@@ -1894,7 +1879,7 @@ class LatLongFormatPipe {
1894
1879
  return ((!args.type || args.type !== 'latitude') ? formatLongitude : formatLatitude)(value, args);
1895
1880
  }
1896
1881
  }
1897
- LatLongFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LatLongFormatPipe_Factory() { return new LatLongFormatPipe(); }, token: LatLongFormatPipe, providedIn: "root" });
1882
+ LatLongFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LatLongFormatPipe_Factory() { return new LatLongFormatPipe(); }, token: LatLongFormatPipe, providedIn: "root" });
1898
1883
  LatLongFormatPipe.decorators = [
1899
1884
  { type: Pipe, args: [{
1900
1885
  name: 'latLongFormat'
@@ -1906,7 +1891,7 @@ class LatitudeFormatPipe {
1906
1891
  this.transform = formatLatitude;
1907
1892
  }
1908
1893
  }
1909
- LatitudeFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LatitudeFormatPipe_Factory() { return new LatitudeFormatPipe(); }, token: LatitudeFormatPipe, providedIn: "root" });
1894
+ LatitudeFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LatitudeFormatPipe_Factory() { return new LatitudeFormatPipe(); }, token: LatitudeFormatPipe, providedIn: "root" });
1910
1895
  LatitudeFormatPipe.decorators = [
1911
1896
  { type: Pipe, args: [{
1912
1897
  name: 'latitudeFormat'
@@ -1918,7 +1903,7 @@ class LongitudeFormatPipe {
1918
1903
  this.transform = formatLongitude;
1919
1904
  }
1920
1905
  }
1921
- LongitudeFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LongitudeFormatPipe_Factory() { return new LongitudeFormatPipe(); }, token: LongitudeFormatPipe, providedIn: "root" });
1906
+ LongitudeFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LongitudeFormatPipe_Factory() { return new LongitudeFormatPipe(); }, token: LongitudeFormatPipe, providedIn: "root" });
1922
1907
  LongitudeFormatPipe.decorators = [
1923
1908
  { type: Pipe, args: [{
1924
1909
  name: 'longitudeFormat'
@@ -1927,18 +1912,18 @@ LongitudeFormatPipe.decorators = [
1927
1912
  ];
1928
1913
 
1929
1914
  class NumberFormatPipe {
1930
- transform(val) {
1915
+ transform(val, numberFormatOptions) {
1931
1916
  // Format the output to display any way you want here.
1932
1917
  // For instance:
1933
1918
  if (val !== undefined && val !== null) {
1934
- return val.toLocaleString( /*arguments you need*/);
1919
+ return val.toLocaleString(undefined, numberFormatOptions);
1935
1920
  }
1936
1921
  else {
1937
1922
  return '';
1938
1923
  }
1939
1924
  }
1940
1925
  }
1941
- NumberFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function NumberFormatPipe_Factory() { return new NumberFormatPipe(); }, token: NumberFormatPipe, providedIn: "root" });
1926
+ NumberFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function NumberFormatPipe_Factory() { return new NumberFormatPipe(); }, token: NumberFormatPipe, providedIn: "root" });
1942
1927
  NumberFormatPipe.decorators = [
1943
1928
  { type: Pipe, args: [{
1944
1929
  name: 'numberFormat'
@@ -1978,7 +1963,7 @@ class HighlightPipe {
1978
1963
  }
1979
1964
  }
1980
1965
  }
1981
- HighlightPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function HighlightPipe_Factory() { return new HighlightPipe(); }, token: HighlightPipe, providedIn: "root" });
1966
+ HighlightPipe.ɵprov = ɵɵdefineInjectable({ factory: function HighlightPipe_Factory() { return new HighlightPipe(); }, token: HighlightPipe, providedIn: "root" });
1982
1967
  HighlightPipe.decorators = [
1983
1968
  { type: Pipe, args: [{
1984
1969
  name: 'highlight'
@@ -2043,7 +2028,7 @@ FileSizePipe.decorators = [
2043
2028
  { type: Pipe, args: [{ name: 'fileSize' },] }
2044
2029
  ];
2045
2030
 
2046
- const moment$5 = momentImported;
2031
+ const moment$1 = momentImported;
2047
2032
  const DATE_UNIX_TIMESTAMP = 'X';
2048
2033
  const DATE_UNIX_MS_TIMESTAMP = 'x';
2049
2034
  class DateUtils {
@@ -2077,32 +2062,32 @@ function fromDateISOString(value) {
2077
2062
  if (!value || isMoment(value))
2078
2063
  return value;
2079
2064
  // Parse the input value, as a ISO date time
2080
- const date = moment$5(value, DATE_ISO_PATTERN);
2065
+ const date = moment$1(value, DATE_ISO_PATTERN);
2081
2066
  if (date.isValid())
2082
2067
  return date;
2083
2068
  // Not valid: trying to convert from unix timestamp
2084
2069
  if (typeof value === 'string') {
2085
2070
  console.warn('Wrong date format - Trying to convert from local time: ' + value);
2086
2071
  if (value.length === 10) {
2087
- return moment$5(value, DATE_UNIX_TIMESTAMP);
2072
+ return moment$1(value, DATE_UNIX_TIMESTAMP);
2088
2073
  }
2089
2074
  else if (value.length === 13) {
2090
- return moment$5(value, DATE_UNIX_MS_TIMESTAMP);
2075
+ return moment$1(value, DATE_UNIX_MS_TIMESTAMP);
2091
2076
  }
2092
2077
  }
2093
2078
  console.warn('Unable to parse date: ' + value);
2094
2079
  return undefined;
2095
2080
  }
2096
2081
  function fromUnixTimestamp(timeInSec) {
2097
- return moment$5(timeInSec, DATE_UNIX_TIMESTAMP);
2082
+ return moment$1(timeInSec, DATE_UNIX_TIMESTAMP);
2098
2083
  }
2099
2084
  function fromUnixMsTimestamp(timeInMs) {
2100
- return moment$5(timeInMs, DATE_UNIX_MS_TIMESTAMP);
2085
+ return moment$1(timeInMs, DATE_UNIX_MS_TIMESTAMP);
2101
2086
  }
2102
2087
  function toDuration(value, unit) {
2103
2088
  if (!value)
2104
2089
  return undefined;
2105
- const duration = moment$5.duration(value, unit);
2090
+ const duration = moment$1.duration(value, unit);
2106
2091
  // fix 990+ ms
2107
2092
  if (duration.milliseconds() >= 990) {
2108
2093
  duration.add(1000 - duration.milliseconds(), 'ms');
@@ -2131,7 +2116,7 @@ class DurationPipe {
2131
2116
  return (days > 0 ? days.toString() + (this.dayUnit + ' ') : '') + hour + ':' + minute;
2132
2117
  }
2133
2118
  }
2134
- DurationPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DurationPipe_Factory() { return new DurationPipe(i0.ɵɵinject(i1$1.TranslateService)); }, token: DurationPipe, providedIn: "root" });
2119
+ DurationPipe.ɵprov = ɵɵdefineInjectable({ factory: function DurationPipe_Factory() { return new DurationPipe(ɵɵinject(TranslateService)); }, token: DurationPipe, providedIn: "root" });
2135
2120
  DurationPipe.decorators = [
2136
2121
  { type: Pipe, args: [{
2137
2122
  name: 'duration'
@@ -2152,7 +2137,7 @@ class MathAbsPipe {
2152
2137
  }
2153
2138
  }
2154
2139
  }
2155
- MathAbsPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MathAbsPipe_Factory() { return new MathAbsPipe(); }, token: MathAbsPipe, providedIn: "root" });
2140
+ MathAbsPipe.ɵprov = ɵɵdefineInjectable({ factory: function MathAbsPipe_Factory() { return new MathAbsPipe(); }, token: MathAbsPipe, providedIn: "root" });
2156
2141
  MathAbsPipe.decorators = [
2157
2142
  { type: Pipe, args: [{
2158
2143
  name: 'mathAbs'
@@ -2164,7 +2149,7 @@ class EvenPipe {
2164
2149
  return val % 2 === 0;
2165
2150
  }
2166
2151
  }
2167
- EvenPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function EvenPipe_Factory() { return new EvenPipe(); }, token: EvenPipe, providedIn: "root" });
2152
+ EvenPipe.ɵprov = ɵɵdefineInjectable({ factory: function EvenPipe_Factory() { return new EvenPipe(); }, token: EvenPipe, providedIn: "root" });
2168
2153
  EvenPipe.decorators = [
2169
2154
  { type: Pipe, args: [{
2170
2155
  name: 'even'
@@ -2176,7 +2161,7 @@ class OddPipe {
2176
2161
  return val % 2 !== 0;
2177
2162
  }
2178
2163
  }
2179
- OddPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function OddPipe_Factory() { return new OddPipe(); }, token: OddPipe, providedIn: "root" });
2164
+ OddPipe.ɵprov = ɵɵdefineInjectable({ factory: function OddPipe_Factory() { return new OddPipe(); }, token: OddPipe, providedIn: "root" });
2180
2165
  OddPipe.decorators = [
2181
2166
  { type: Pipe, args: [{
2182
2167
  name: 'odd'
@@ -2284,7 +2269,7 @@ class MapGetPipe {
2284
2269
  return val[key];
2285
2270
  }
2286
2271
  }
2287
- MapGetPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapGetPipe_Factory() { return new MapGetPipe(); }, token: MapGetPipe, providedIn: "root" });
2272
+ MapGetPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapGetPipe_Factory() { return new MapGetPipe(); }, token: MapGetPipe, providedIn: "root" });
2288
2273
  MapGetPipe.decorators = [
2289
2274
  { type: Pipe, args: [{
2290
2275
  name: 'mapGet'
@@ -2298,7 +2283,7 @@ class MapKeysPipe {
2298
2283
  return Object.keys(map);
2299
2284
  }
2300
2285
  }
2301
- MapKeysPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapKeysPipe_Factory() { return new MapKeysPipe(); }, token: MapKeysPipe, providedIn: "root" });
2286
+ MapKeysPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapKeysPipe_Factory() { return new MapKeysPipe(); }, token: MapKeysPipe, providedIn: "root" });
2302
2287
  MapKeysPipe.decorators = [
2303
2288
  { type: Pipe, args: [{
2304
2289
  name: 'mapKeys'
@@ -2312,7 +2297,7 @@ class MapValuesPipe {
2312
2297
  return Object.values(map);
2313
2298
  }
2314
2299
  }
2315
- MapValuesPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapValuesPipe_Factory() { return new MapValuesPipe(); }, token: MapValuesPipe, providedIn: "root" });
2300
+ MapValuesPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapValuesPipe_Factory() { return new MapValuesPipe(); }, token: MapValuesPipe, providedIn: "root" });
2316
2301
  MapValuesPipe.decorators = [
2317
2302
  { type: Pipe, args: [{
2318
2303
  name: 'mapValues'
@@ -2325,7 +2310,7 @@ class IsNotNilOrBlankPipe {
2325
2310
  return isNotNilOrBlank(value);
2326
2311
  }
2327
2312
  }
2328
- IsNotNilOrBlankPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNotNilOrBlankPipe_Factory() { return new IsNotNilOrBlankPipe(); }, token: IsNotNilOrBlankPipe, providedIn: "root" });
2313
+ IsNotNilOrBlankPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNotNilOrBlankPipe_Factory() { return new IsNotNilOrBlankPipe(); }, token: IsNotNilOrBlankPipe, providedIn: "root" });
2329
2314
  IsNotNilOrBlankPipe.decorators = [
2330
2315
  { type: Pipe, args: [{
2331
2316
  name: 'isNotNilOrBlank'
@@ -2337,7 +2322,7 @@ class IsNilOrBlankPipe {
2337
2322
  return isNilOrBlank(value);
2338
2323
  }
2339
2324
  }
2340
- IsNilOrBlankPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNilOrBlankPipe_Factory() { return new IsNilOrBlankPipe(); }, token: IsNilOrBlankPipe, providedIn: "root" });
2325
+ IsNilOrBlankPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNilOrBlankPipe_Factory() { return new IsNilOrBlankPipe(); }, token: IsNilOrBlankPipe, providedIn: "root" });
2341
2326
  IsNilOrBlankPipe.decorators = [
2342
2327
  { type: Pipe, args: [{
2343
2328
  name: 'isNilOrBlank'
@@ -2349,7 +2334,7 @@ class ToStringPipe {
2349
2334
  return (value !== null && value !== undefined) ? value.toString() : '';
2350
2335
  }
2351
2336
  }
2352
- ToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function ToStringPipe_Factory() { return new ToStringPipe(); }, token: ToStringPipe, providedIn: "root" });
2337
+ ToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function ToStringPipe_Factory() { return new ToStringPipe(); }, token: ToStringPipe, providedIn: "root" });
2353
2338
  ToStringPipe.decorators = [
2354
2339
  { type: Pipe, args: [{
2355
2340
  name: 'toString'
@@ -2361,7 +2346,7 @@ class StrLengthPipe {
2361
2346
  return value && value.length || 0;
2362
2347
  }
2363
2348
  }
2364
- StrLengthPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function StrLengthPipe_Factory() { return new StrLengthPipe(); }, token: StrLengthPipe, providedIn: "root" });
2349
+ StrLengthPipe.ɵprov = ɵɵdefineInjectable({ factory: function StrLengthPipe_Factory() { return new StrLengthPipe(); }, token: StrLengthPipe, providedIn: "root" });
2365
2350
  StrLengthPipe.decorators = [
2366
2351
  { type: Pipe, args: [{
2367
2352
  name: 'strLength'
@@ -2412,7 +2397,7 @@ class TranslateContextService {
2412
2397
  : parts.slice(0, parts.length - 1).concat(context + parts[parts.length - 1]).join('.');
2413
2398
  }
2414
2399
  }
2415
- TranslateContextService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TranslateContextService_Factory() { return new TranslateContextService(i0.ɵɵinject(i1$1.TranslateService)); }, token: TranslateContextService, providedIn: "root" });
2400
+ TranslateContextService.ɵprov = ɵɵdefineInjectable({ factory: function TranslateContextService_Factory() { return new TranslateContextService(ɵɵinject(TranslateService)); }, token: TranslateContextService, providedIn: "root" });
2416
2401
  TranslateContextService.decorators = [
2417
2402
  { type: Injectable, args: [{ providedIn: 'root' },] }
2418
2403
  ];
@@ -2428,7 +2413,7 @@ class TranslateContextPipe {
2428
2413
  return this.translateContext.instant(key, context);
2429
2414
  }
2430
2415
  }
2431
- TranslateContextPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function TranslateContextPipe_Factory() { return new TranslateContextPipe(i0.ɵɵinject(TranslateContextService)); }, token: TranslateContextPipe, providedIn: "root" });
2416
+ TranslateContextPipe.ɵprov = ɵɵdefineInjectable({ factory: function TranslateContextPipe_Factory() { return new TranslateContextPipe(ɵɵinject(TranslateContextService)); }, token: TranslateContextPipe, providedIn: "root" });
2432
2417
  TranslateContextPipe.decorators = [
2433
2418
  { type: Pipe, args: [{
2434
2419
  name: 'translateContext'
@@ -2445,7 +2430,7 @@ class TranslatablePipe {
2445
2430
  return (_a = changeCaseToUnderscore(value)) === null || _a === void 0 ? void 0 : _a.toUpperCase();
2446
2431
  }
2447
2432
  }
2448
- TranslatablePipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function TranslatablePipe_Factory() { return new TranslatablePipe(); }, token: TranslatablePipe, providedIn: "root" });
2433
+ TranslatablePipe.ɵprov = ɵɵdefineInjectable({ factory: function TranslatablePipe_Factory() { return new TranslatablePipe(); }, token: TranslatablePipe, providedIn: "root" });
2449
2434
  TranslatablePipe.decorators = [
2450
2435
  { type: Pipe, args: [{
2451
2436
  name: 'translatable'
@@ -2462,7 +2447,7 @@ class PropertyGetPipe {
2462
2447
  args && args.defaultValue);
2463
2448
  }
2464
2449
  }
2465
- PropertyGetPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function PropertyGetPipe_Factory() { return new PropertyGetPipe(); }, token: PropertyGetPipe, providedIn: "root" });
2450
+ PropertyGetPipe.ɵprov = ɵɵdefineInjectable({ factory: function PropertyGetPipe_Factory() { return new PropertyGetPipe(); }, token: PropertyGetPipe, providedIn: "root" });
2466
2451
  PropertyGetPipe.decorators = [
2467
2452
  { type: Pipe, args: [{
2468
2453
  name: 'propertyGet'
@@ -2487,12 +2472,12 @@ NgInitDirective.propDecorators = {
2487
2472
  ngInit: [{ type: Output }]
2488
2473
  };
2489
2474
 
2490
- const moment$4 = momentImported;
2475
+ const moment$2 = momentImported;
2491
2476
  // @dynamic
2492
2477
  class SharedValidators {
2493
2478
  static validDate(control) {
2494
2479
  const value = control.value;
2495
- const date = !value || moment$4.isMoment(value) ? value : moment$4(control.value, DATE_ISO_PATTERN);
2480
+ const date = !value || moment$2.isMoment(value) ? value : moment$2(control.value, DATE_ISO_PATTERN);
2496
2481
  if (date && (!date.isValid() || date.year() < 1970)) {
2497
2482
  return { validDate: true };
2498
2483
  }
@@ -3527,7 +3512,7 @@ class FormErrorTranslator {
3527
3512
  return errorKey;
3528
3513
  }
3529
3514
  }
3530
- FormErrorTranslator.ɵprov = i0.ɵɵdefineInjectable({ factory: function FormErrorTranslator_Factory() { return new FormErrorTranslator(i0.ɵɵinject(i1$1.TranslateService), i0.ɵɵinject(APP_FORM_ERROR_I18N_KEYS, 8)); }, token: FormErrorTranslator, providedIn: "root" });
3515
+ FormErrorTranslator.ɵprov = ɵɵdefineInjectable({ factory: function FormErrorTranslator_Factory() { return new FormErrorTranslator(ɵɵinject(TranslateService), ɵɵinject(APP_FORM_ERROR_I18N_KEYS, 8)); }, token: FormErrorTranslator, providedIn: "root" });
3531
3516
  FormErrorTranslator.decorators = [
3532
3517
  { type: Injectable, args: [{ providedIn: 'root' },] }
3533
3518
  ];
@@ -3796,9 +3781,9 @@ function parseDuration(input, maxDecimals, placeholderChar) {
3796
3781
  const hour = parseInt(durationParts[0] || '0');
3797
3782
  const minute = parseInt(durationParts[1] || '0');
3798
3783
  const value = hour + (minute + 0.5) / 60;
3799
- return roundFloat(value, maxDecimals);
3784
+ return roundFloat$1(value, maxDecimals);
3800
3785
  }
3801
- function roundFloat(input, maxDecimals) {
3786
+ function roundFloat$1(input, maxDecimals) {
3802
3787
  if (maxDecimals > 0) {
3803
3788
  const powDecimal = Math.pow(10, maxDecimals);
3804
3789
  return Math.trunc(input * powDecimal + 0.5) / powDecimal;
@@ -3822,9 +3807,9 @@ const MASKS = {
3822
3807
  DD: [/[+-]/, /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, '°']
3823
3808
  }
3824
3809
  };
3825
- const noop$6 = () => {
3810
+ const noop$1 = () => {
3826
3811
  };
3827
- const ɵ0$9 = noop$6;
3812
+ const ɵ0$1 = noop$1;
3828
3813
  class MatLatLongField {
3829
3814
  constructor(platform, translate, formBuilder, cd, formGroupDir) {
3830
3815
  this.platform = platform;
@@ -3832,8 +3817,8 @@ class MatLatLongField {
3832
3817
  this.formBuilder = formBuilder;
3833
3818
  this.cd = cd;
3834
3819
  this.formGroupDir = formGroupDir;
3835
- this._onChangeCallback = noop$6;
3836
- this._onTouchedCallback = noop$6;
3820
+ this._onChangeCallback = noop$1;
3821
+ this._onTouchedCallback = noop$1;
3837
3822
  this._subscription = new Subscription();
3838
3823
  this.disabling = false;
3839
3824
  this.writing = false;
@@ -4169,14 +4154,14 @@ SharedMatLatLongModule.decorators = [
4169
4154
  },] }
4170
4155
  ];
4171
4156
 
4172
- const DEFAULT_VALUE_ACCESSOR$5 = {
4157
+ const DEFAULT_VALUE_ACCESSOR$1 = {
4173
4158
  provide: NG_VALUE_ACCESSOR,
4174
4159
  useExisting: forwardRef(() => MatDate),
4175
4160
  multi: true
4176
4161
  };
4177
- const DAY_MASK$2 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
4178
- const noop$5 = () => { };
4179
- const ɵ0$8 = noop$5;
4162
+ const DAY_MASK = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
4163
+ const noop$2 = () => { };
4164
+ const ɵ0$2 = noop$2;
4180
4165
  class MatDate {
4181
4166
  constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
4182
4167
  this.dateAdapter = dateAdapter;
@@ -4185,12 +4170,12 @@ class MatDate {
4185
4170
  this.cd = cd;
4186
4171
  this.keyboard = keyboard;
4187
4172
  this.formGroupDir = formGroupDir;
4188
- this._onChangeCallback = noop$5;
4189
- this._onTouchedCallback = noop$5;
4173
+ this._onChangeCallback = noop$2;
4174
+ this._onTouchedCallback = noop$2;
4190
4175
  this._subscription = new Subscription();
4191
4176
  this.writing = true;
4192
4177
  this.disabling = false;
4193
- this.dayMask = DAY_MASK$2;
4178
+ this.dayMask = DAY_MASK;
4194
4179
  this.disabled = false;
4195
4180
  this.floatLabel = 'auto';
4196
4181
  this.readonly = false;
@@ -4427,7 +4412,7 @@ MatDate.decorators = [
4427
4412
  selector: 'mat-date-field',
4428
4413
  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",
4429
4414
  providers: [
4430
- DEFAULT_VALUE_ACCESSOR$5,
4415
+ DEFAULT_VALUE_ACCESSOR$1,
4431
4416
  ],
4432
4417
  changeDetection: ChangeDetectionStrategy.OnPush,
4433
4418
  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%}"]
@@ -4460,17 +4445,17 @@ MatDate.propDecorators = {
4460
4445
  matInputs: [{ type: ViewChildren, args: ['matInput',] }]
4461
4446
  };
4462
4447
 
4463
- const DEFAULT_VALUE_ACCESSOR$4 = {
4448
+ const DEFAULT_VALUE_ACCESSOR$2 = {
4464
4449
  provide: NG_VALUE_ACCESSOR,
4465
4450
  useExisting: forwardRef(() => MatDateTime),
4466
4451
  multi: true
4467
4452
  };
4468
4453
  const DAY_MASK$1 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
4469
4454
  const HOUR_REGEXP = /^[012][0-9][:][012345][0-9]$/;
4470
- const HOUR_MASK$1 = [/[012]/, /\d/, ':', /[012345]/, /\d/];
4471
- const noop$4 = () => {
4455
+ const HOUR_MASK = [/[012]/, /\d/, ':', /[012345]/, /\d/];
4456
+ const noop$3 = () => {
4472
4457
  };
4473
- const ɵ0$7 = noop$4;
4458
+ const ɵ0$3 = noop$3;
4474
4459
  class MatDateTime {
4475
4460
  constructor(platform, dateAdapter, translate, formBuilder, keyboard, cd, formGroupDir) {
4476
4461
  this.platform = platform;
@@ -4480,14 +4465,14 @@ class MatDateTime {
4480
4465
  this.keyboard = keyboard;
4481
4466
  this.cd = cd;
4482
4467
  this.formGroupDir = formGroupDir;
4483
- this._onChangeCallback = noop$4;
4484
- this._onTouchedCallback = noop$4;
4468
+ this._onChangeCallback = noop$3;
4469
+ this._onTouchedCallback = noop$3;
4485
4470
  this._subscription = new Subscription();
4486
4471
  this.writing = true;
4487
4472
  this.disabling = false;
4488
4473
  this._readonly = false;
4489
4474
  this.dayMask = DAY_MASK$1;
4490
- this.hourMask = HOUR_MASK$1;
4475
+ this.hourMask = HOUR_MASK;
4491
4476
  this.floatLabel = 'auto';
4492
4477
  this.compact = false;
4493
4478
  this.placeholderChar = DEFAULT_PLACEHOLDER_CHAR;
@@ -4798,7 +4783,7 @@ MatDateTime.decorators = [
4798
4783
  selector: 'mat-date-time-field',
4799
4784
  template: "<!-- readonly -->\n<mat-form-field *ngIf=\"readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-form-field-disabled\">\n\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n\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>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\n\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"!mobile\"\n [formControl]=\"dateFormControl\"\n [textMask]=\"{mask: dayMask, keepCharPositions: true, placeholderChar: placeholderChar}\"\n [placeholder]=\"'COMMON.DATE_PLACEHOLDER'|translate\"\n (blur)=\"checkIfTouched()\"\n (keyup.arrowdown)=\"openDatePicker($event, datePicker)\"\n (keyup.escape)=\"preventEvent($event)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n [appAutofocus]=\"autofocus\">\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"mobile\"\n [formControl]=\"dateFormControl\"\n (click)=\"openDatePickerIfMobile($event, datePicker)\"\n [required]=\"required\"\n [tabindex]=\"tabindex\"\n readonly>\n <input matInput type=\"text\" [formControl]=\"formControl\"\n hidden\n [matDatepicker]=\"datePicker\"\n (dateChange)=\"onDatePickerChange($event)\">\n\n <button type=\"button\" mat-icon-button tabindex=\"-1\" matSuffix #datePickerButton2 (click)=\"openDatePicker($event, datePicker)\" [disabled]=\"formControl.disabled\">\n <div *ngIf=\"mobile; then iconDate; else iconDesktop\"></div>\n </button>\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"clear()\"\n [hidden]=\"formControl.disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n <mat-datepicker #datePicker\n [touchUi]=\"mobile\"\n [disabled]=\"formControl.disabled\"\n [startAt]=\"startDate\"></mat-datepicker>\n <div class=\"mat-form-field-subscript mat-form-field-subscript-wrapper\" >\n <!-- errors -->\n <ng-container [ngSwitch]=\"formControl.touched && formControl.errors|mapKeys|arrayFirst\">\n <mat-error *ngSwitchCase=\"'required'\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngSwitchCase=\"'validDate'\" translate>ERROR.FIELD_NOT_VALID_DATE_TIME</mat-error>\n <mat-error *ngSwitchCase=\"'dateIsAfter'\">{{'ERROR.FIELD_NOT_VALID_DATE_AFTER' | translate: formControl.errors.dateIsAfter }}</mat-error>\n <mat-error *ngSwitchCase=\"'dateRange'\" translate>ERROR.FIELD_NOT_VALID_DATE_RANGE</mat-error>\n <mat-error *ngSwitchCase=\"'dateMaxDuration'\" translate>ERROR.FIELD_NOT_VALID_DATE_MAX_DURATION</mat-error>\n <mat-error *ngSwitchCase=\"'dateMinDuration'\" translate>ERROR.FIELD_NOT_VALID_DATE_MIN_DURATION</mat-error>\n <mat-error *ngSwitchCase=\"'msg'\">{{(formControl.errors.msg?.key || formControl.errors.msg) | translate: formControl.errors.msg?.params}}</mat-error>\n </ng-container>\n <ng-content select=\"mat-error\"></ng-content>\n\n <!-- mat hint -->\n <div class=\"mat-form-field-hint-wrapper\" [class.cdk-visually-hidden]=\"formControl.invalid\">\n <div class=\"mat-form-field-hint-spacer\"></div>\n <ng-content select=\"mat-hint\"></ng-content>\n </div>\n </div>\n\n </ion-col>\n\n <!-- hour -->\n <ion-col class=\"hour ion-no-padding\">\n <mat-form-field [floatLabel]=\"floatLabel\"\n [class.mat-form-field-invalid]=\"formControl.touched && (timeFormControl.invalid || formControl.invalid)\">\n <mat-label *ngIf=\"placeholder && floatLabel != 'never'\" translate>COMMON.TIME</mat-label>\n <input matInput #matInput type=\"text\"\n *ngIf=\"!mobile\"\n [formControl]=\"timeFormControl\"\n autocomplete=\"off\"\n min=\"0\" max=\"23\"\n [textMask]=\"{mask: hourMask, keepCharPositions: true, placeholderChar: placeholderChar, guide: true}\"\n [placeholder]=\"'COMMON.TIME_PLACEHOLDER'|translate\"\n [required]=\"required\"\n (keyup.arrowdown)=\"openTimePicker($event)\"\n (keyup.escape)=\"preventEvent($event)\"\n (blur)=\"checkIfTouched()\"\n [tabindex]=\"tabindex !== undefined ? tabindex+1 : undefined\">\n\n <input matInput #matInput type=\"text\"\n *ngIf=\"mobile\"\n [formControl]=\"timeFormControl\"\n (click)=\"openTimePickerIfMobile($event)\"\n readonly>\n\n <input matInput type=\"text\"\n [formControl]=\"timeFormControl\"\n hidden\n [ngxTimepicker]=\"timePicker\"\n [format]=\"24\">\n\n <button matSuffix type=\"button\" mat-icon-button\n tabindex=\"-1\"\n *ngIf=\"!compact && !mobile\"\n [disabled]=\"formControl.disabled\"\n (click)=\"openTimePicker($event)\" >\n <mat-icon>keyboard_arrow_down</mat-icon>\n </button>\n <button matSuffix type=\"button\" mat-icon-button\n tabindex=\"-1\"\n *ngIf=\"!compact && mobile\"\n [disabled]=\"formControl.disabled\"\n (click)=\"openTimePickerIfMobile($event)\">\n <mat-icon>access_time</mat-icon>\n </button>\n\n <ngx-material-timepicker #timePicker [@.disabled]=\"true\"\n (timeSet)=\"onTimePickerChange($event)\"\n [ESC]=\"!mobile\"\n [defaultTime]=\"'00:00'\"\n [cancelBtnTmpl]=\"timePickerCancelButton\"\n [confirmBtnTmpl]=\"timePickerOkButton\"\n [preventOverlayClick]=\"mobile\"\n [enableKeyboardInput]=\"false\"\n [disableAnimation]=\"true\">\n <!-- cancel button -->\n <ng-template #timePickerCancelButton>\n <ion-button fill=\"clear\" color=\"dark\">\n <ion-label translate>COMMON.BTN_CANCEL</ion-label>\n </ion-button>\n </ng-template>\n\n <!-- confirm button -->\n <ng-template #timePickerOkButton>\n <ion-button fill=\"solid\" color=\"tertiary\">\n <ion-label translate>COMMON.BTN_VALIDATE</ion-label>\n </ion-button>\n </ng-template>\n\n </ngx-material-timepicker>\n </mat-form-field>\n </ion-col>\n </ion-row>\n </ion-grid>\n\n\n</ng-template>\n\n<ng-template #iconDesktop>\n <mat-icon>keyboard_arrow_down</mat-icon>\n</ng-template>\n\n<ng-template #iconDate>\n <mat-icon>date_range</mat-icon>\n</ng-template>\n\n<ng-template #matPrefixTemplate>\n <ng-content select=\"[matPrefix]\"></ng-content>\n</ng-template>\n",
4800
4785
  providers: [
4801
- DEFAULT_VALUE_ACCESSOR$4,
4786
+ DEFAULT_VALUE_ACCESSOR$2,
4802
4787
  ],
4803
4788
  changeDetection: ChangeDetectionStrategy.OnPush,
4804
4789
  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%}"]
@@ -4837,10 +4822,10 @@ const DEFAULT_VALUE_ACCESSOR$3 = {
4837
4822
  useExisting: forwardRef(() => MatDateShort),
4838
4823
  multi: true
4839
4824
  };
4840
- const DAY_MASK = [/\d/, /\d/, /\d/, /\d/];
4841
- const noop$3 = () => {
4825
+ const DAY_MASK$2 = [/\d/, /\d/, /\d/, /\d/];
4826
+ const noop$4 = () => {
4842
4827
  };
4843
- const ɵ0$6 = noop$3;
4828
+ const ɵ0$4 = noop$4;
4844
4829
  class MatDateShort {
4845
4830
  constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
4846
4831
  this.dateAdapter = dateAdapter;
@@ -4849,11 +4834,11 @@ class MatDateShort {
4849
4834
  this.cd = cd;
4850
4835
  this.keyboard = keyboard;
4851
4836
  this.formGroupDir = formGroupDir;
4852
- this._onChangeCallback = noop$3;
4853
- this._onTouchedCallback = noop$3;
4837
+ this._onChangeCallback = noop$4;
4838
+ this._onTouchedCallback = noop$4;
4854
4839
  this.writing = true;
4855
4840
  this.disabling = false;
4856
- this.dayMask = DAY_MASK;
4841
+ this.dayMask = DAY_MASK$2;
4857
4842
  this.disabled = false;
4858
4843
  this.floatLabel = 'auto';
4859
4844
  this.readonly = false;
@@ -5166,16 +5151,16 @@ SharedMatDateTimeModule.decorators = [
5166
5151
  },] }
5167
5152
  ];
5168
5153
 
5169
- const DEFAULT_VALUE_ACCESSOR$2 = {
5154
+ const DEFAULT_VALUE_ACCESSOR$4 = {
5170
5155
  provide: NG_VALUE_ACCESSOR,
5171
5156
  useExisting: forwardRef(() => MatDuration),
5172
5157
  multi: true
5173
5158
  };
5174
5159
  const HOUR_TIME_PATTERN = /[0-9]\d\d:[0-5]\d/;
5175
- const HOUR_MASK = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
5176
- const noop$2 = () => {
5160
+ const HOUR_MASK$1 = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
5161
+ const noop$5 = () => {
5177
5162
  };
5178
- const ɵ0$5 = noop$2;
5163
+ const ɵ0$5 = noop$5;
5179
5164
  class MatDuration {
5180
5165
  constructor(platform, dateAdapter, translate, formBuilder, cd, formGroupDir) {
5181
5166
  this.dateAdapter = dateAdapter;
@@ -5184,11 +5169,11 @@ class MatDuration {
5184
5169
  this.cd = cd;
5185
5170
  this.formGroupDir = formGroupDir;
5186
5171
  this._subscription = new Subscription();
5187
- this._onChangeCallback = noop$2;
5188
- this._onTouchedCallback = noop$2;
5172
+ this._onChangeCallback = noop$5;
5173
+ this._onTouchedCallback = noop$5;
5189
5174
  this.writing = true;
5190
5175
  this.disabling = false;
5191
- this.hourMask = HOUR_MASK;
5176
+ this.hourMask = HOUR_MASK$1;
5192
5177
  this.disabled = false;
5193
5178
  this.floatLabel = 'auto';
5194
5179
  this.readonly = false;
@@ -5368,7 +5353,7 @@ MatDuration.decorators = [
5368
5353
  selector: 'mat-duration-field',
5369
5354
  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",
5370
5355
  providers: [
5371
- DEFAULT_VALUE_ACCESSOR$2,
5356
+ DEFAULT_VALUE_ACCESSOR$4,
5372
5357
  ],
5373
5358
  changeDetection: ChangeDetectionStrategy.OnPush,
5374
5359
  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%}"]
@@ -5425,22 +5410,22 @@ SharedMatDurationModule.decorators = [
5425
5410
  },] }
5426
5411
  ];
5427
5412
 
5428
- const DEFAULT_VALUE_ACCESSOR$1 = {
5413
+ const DEFAULT_VALUE_ACCESSOR$5 = {
5429
5414
  provide: NG_VALUE_ACCESSOR,
5430
5415
  useExisting: forwardRef(() => MatBooleanField),
5431
5416
  multi: true
5432
5417
  };
5433
- const noop$1 = () => {
5418
+ const noop$6 = () => {
5434
5419
  };
5435
- const ɵ0$4 = noop$1;
5420
+ const ɵ0$6 = noop$6;
5436
5421
  class MatBooleanField {
5437
5422
  constructor(translate, formBuilder, cd, formGroupDir) {
5438
5423
  this.translate = translate;
5439
5424
  this.formBuilder = formBuilder;
5440
5425
  this.cd = cd;
5441
5426
  this.formGroupDir = formGroupDir;
5442
- this._onChangeCallback = noop$1;
5443
- this._onTouchedCallback = noop$1;
5427
+ this._onChangeCallback = noop$6;
5428
+ this._onTouchedCallback = noop$6;
5444
5429
  this._writing = false;
5445
5430
  this.showRadio = false;
5446
5431
  this.disabled = false;
@@ -5613,7 +5598,7 @@ MatBooleanField.decorators = [
5613
5598
  selector: 'mat-boolean-field',
5614
5599
  template: "<mat-form-field *ngIf=\"readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-form-field-disabled {{classList}}\">\n <input matInput hidden type=\"text\" readonly\n [placeholder]=\"placeholder\"\n [formControl]=\"formControl\">\n <ion-text>{{(formControl.value == null && 'COMMON.EMPTY_OPTION' || (formControl.value === true && yesLabel) || noLabel) | translate }}</ion-text>\n</mat-form-field>\n\n<ng-template #writable>\n <ng-container [ngSwitch]=\"style\">\n\n <!-- Radio -->\n <mat-form-field *ngSwitchCase=\"'radio'\"\n [floatLabel]=\"showRadio && (!floatLabel || floatLabel === 'auto') ? 'always': floatLabel\"\n class=\"mat-boolean-field mat-boolean-field-radio {{classList}}\">\n <mat-label *ngIf=\"placeholder && floatLabel!=='never'\">\n {{placeholder}}\n <span [hidden]=\"showRadio\">({{yesLabel|translate}}/{{'COMMON.NO'|translate}})</span>\n </mat-label>\n\n <input matInput #fakeInput type=\"text\" readonly=\"true\"\n [formControl]=\"formControl\"\n (focus)=\"_onFocusFakeInput($event)\"\n [required]=\"required\"\n [class.cdk-visually-hidden]=\"showRadio\"\n [tabindex]=\"tabindex\">\n\n <!-- radio button -->\n <mat-radio-group [hidden]=\"!showRadio\"\n [formControl]=\"formControl\"\n (change)=\"onRadioValueChanged($event)\">\n <mat-radio-button #yesButton [value]=\"true\">\n <span>{{yesLabel|translate}}</span>\n </mat-radio-button>&nbsp;\n <mat-radio-button #noButton [value]=\"false\">\n <span>{{noLabel|translate}}</span>\n </mat-radio-button>\n </mat-radio-group>\n\n <div matSuffix #injectMatSuffix></div>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n </mat-form-field>\n\n <!-- Checkbox -->\n <mat-form-field *ngSwitchCase=\"'checkbox'\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-boolean-field mat-boolean-field-checkbox {{classList}}\">\n <mat-label *ngIf=\"placeholder && !showRadio\">\n {{placeholder}}\n </mat-label>\n\n <input matInput #matInput\n [formControl]=\"formControl\"\n (focus)=\"_onFocusFakeInput($event)\"\n [required]=\"required\"\n [class.cdk-visually-hidden]=\"showRadio\"\n [tabindex]=\"tabindex\">\n\n <ion-label>&nbsp;</ion-label>\n\n <!-- checkbox, when compact -->\n <mat-checkbox #checkboxButton\n [formControl]=\"formControl\"\n (change)=\"onCheckboxValueChanged($event)\"\n [indeterminate]=\"value===undefined\"\n [hidden]=\"!showRadio\"\n [tabindex]=\"tabindex\">\n </mat-checkbox>\n\n <div matSuffix #injectMatSuffix></div>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n </mat-form-field>\n\n <!-- Buttons -->\n <mat-form-field *ngSwitchCase=\"'button'\"\n [floatLabel]=\"floatLabel === 'never' ? 'never' : 'always'\"\n class=\"mat-boolean-field mat-boolean-field-button {{classList}}\">\n <input matInput type=\"text\" hidden\n [formControl]=\"formControl\"\n [placeholder]=\"placeholder\"\n [required]=\"required\">\n <div class=\"mat-form-field-buttons\"\n [style.--buttons-col-count]=\"buttonsColCount\"\n *ngIf=\"!formControl.disabled; else disabledLabel\">\n <!-- yes -->\n <ion-button class=\"mat-form-field-button\"\n [tabindex]=\"_tabindex\"\n (click)=\"writeValue(true, $event)\"\n (keyup.enter)=\"writeValue(true, $event)\"\n [color]=\"_value == null ? 'tertiary' : (_value === true) ? 'accent' : 'light'\">\n <ion-icon *ngIf=\"showButtonIcons && yesIcon; let icon\" slot=\"start\" [name]=\"icon\"></ion-icon>\n {{yesLabel|translate}}\n </ion-button>\n\n <!-- No button -->\n <ion-button class=\"mat-form-field-button\"\n [tabindex]=\"_tabindex !== undefined ? (_tabindex + 1) : undefined\"\n (click)=\"writeValue(false, $event)\"\n (keyup.enter)=\"writeValue(false, $event)\"\n [color]=\"_value == null ? 'tertiary' : (_value === false) ? 'accent' : 'light'\">\n <ion-icon *ngIf=\"showButtonIcons && noIcon; let icon\" slot=\"start\" [name]=\"icon\"></ion-icon>\n {{noLabel|translate}}\n </ion-button>\n </div>\n <ng-template #disabledLabel>\n <ion-label><i translate>COMMON.EMPTY_OPTION</i></ion-label>\n </ng-template>\n\n <div matSuffix #injectMatSuffix></div>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n </mat-form-field>\n </ng-container>\n\n <div class=\"cdk-visually-hidden\">\n <div #suffix><ng-content select=\"[matSuffix]\"></ng-content></div>\n </div>\n\n</ng-template>\n\n\n",
5615
5600
  providers: [
5616
- DEFAULT_VALUE_ACCESSOR$1
5601
+ DEFAULT_VALUE_ACCESSOR$5
5617
5602
  ],
5618
5603
  changeDetection: ChangeDetectionStrategy.OnPush,
5619
5604
  styles: [":host{width:100%}.mat-form-field.mat-boolean-field-radio{margin-top:-2px}.mat-form-field.mat-boolean-field-button{margin-top:-4px}.mat-form-field .mat-form-field-buttons{width:100%;display:flex;flex-flow:row wrap;justify-content:flex-start;align-items:center}.mat-form-field .mat-form-field-buttons .mat-form-field-button{--flex-basis:calc(100% / var(--buttons-col-count, 2));flex:0 1 var(--flex-basis);max-width:min(var(--flex-basis),150px);white-space:normal;padding:0 2px;height:40px}"]
@@ -5861,7 +5846,7 @@ class MatNumpadDomService {
5861
5846
  this.appRef.detachView(this.componentRef.hostView);
5862
5847
  }
5863
5848
  }
5864
- 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" });
5849
+ MatNumpadDomService.ɵprov = ɵɵdefineInjectable({ factory: function MatNumpadDomService_Factory() { return new MatNumpadDomService(ɵɵinject(ComponentFactoryResolver), ɵɵinject(ApplicationRef), ɵɵinject(INJECTOR), ɵɵinject(DOCUMENT, 8)); }, token: MatNumpadDomService, providedIn: "root" });
5865
5850
  MatNumpadDomService.decorators = [
5866
5851
  { type: Injectable, args: [{
5867
5852
  providedIn: 'root'
@@ -6225,7 +6210,7 @@ SharedMatNumpadModule.decorators = [
6225
6210
  },] }
6226
6211
  ];
6227
6212
 
6228
- const DEFAULT_VALUE_ACCESSOR = {
6213
+ const DEFAULT_VALUE_ACCESSOR$6 = {
6229
6214
  provide: NG_VALUE_ACCESSOR,
6230
6215
  useExisting: forwardRef(() => MatSwipeField),
6231
6216
  multi: true
@@ -6488,7 +6473,7 @@ MatSwipeField.decorators = [
6488
6473
  { type: Component, args: [{
6489
6474
  selector: 'mat-swipe-field',
6490
6475
  template: "<mat-form-field [floatLabel]=\"showSlides && (!floatLabel || floatLabel === 'auto') ? 'always': floatLabel\"\n [class]=\"classList\"\n [class.mat-form-field-disabled]=\"disabled\">\n <mat-label *ngIf=\"placeholder && floatLabel!=='never'\">\n {{placeholder}}\n </mat-label>\n <input matInput #fakeInput type=\"text\"\n [formControl]=\"formControl\"\n [readonly]=\"true\"\n (focus)=\"_onFocusFakeInput($event)\"\n [required]=\"required\"\n [class.cdk-visually-hidden]=\"showSlides\"\n [tabindex]=\"tabindex\">\n\n <div class=\"slides-container\" [class.hidden]=\"!showSlides\">\n <ion-slides #slides\n [options]=\"slidesOptions\"\n (ionSlidesDidLoad)=\"slidesLoaded()\"\n (ionSlideReachStart)=\"reachStart(true)\"\n (ionSlideReachEnd)=\"reachEnd(true)\"\n (ionSlideNextEnd)=\"reachStart(false)\"\n (ionSlidePrevEnd)=\"reachEnd(false)\"\n (ionSlideDidChange)=\"slideChanged()\"\n >\n <ion-slide *ngFor=\"let item of $items | async\">\n <ion-label>{{ displayWith(item) }}</ion-label>\n </ion-slide>\n\n </ion-slides>\n </div>\n\n <button #prevButton\n mat-icon-button\n type=\"button\"\n class=\"button-prev\"\n [hidden]=\"!showSlides\"\n [disabled]=\"previousDisabled\"\n (click)=\"previous()\">\n <mat-icon>chevron_left</mat-icon>\n </button>\n <button #nextButton\n mat-icon-button\n type=\"button\"\n class=\"button-next\"\n [hidden]=\"!showSlides\"\n [disabled]=\"nextDisabled\"\n (click)=\"next()\">\n <mat-icon>chevron_right</mat-icon>\n </button>\n\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n *ngIf=\"clearable\"\n (click)=\"clearValue($event)\"\n [hidden]=\"disabled || !formControl.value\">\n <mat-icon>close</mat-icon>\n </button>\n\n <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <mat-error *ngIf=\"formControl.hasError('entity')\" translate>ERROR.FIELD_INVALID</mat-error>\n\n</mat-form-field>\n",
6491
- providers: [DEFAULT_VALUE_ACCESSOR],
6476
+ providers: [DEFAULT_VALUE_ACCESSOR$6],
6492
6477
  changeDetection: ChangeDetectionStrategy.OnPush,
6493
6478
  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}"]
6494
6479
  },] }
@@ -7063,7 +7048,7 @@ class ProgressBarService {
7063
7048
  }
7064
7049
  }
7065
7050
  }
7066
- ProgressBarService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ProgressBarService_Factory() { return new ProgressBarService(); }, token: ProgressBarService, providedIn: "root" });
7051
+ ProgressBarService.ɵprov = ɵɵdefineInjectable({ factory: function ProgressBarService_Factory() { return new ProgressBarService(); }, token: ProgressBarService, providedIn: "root" });
7067
7052
  ProgressBarService.decorators = [
7068
7053
  { type: Injectable, args: [{ providedIn: 'root' },] }
7069
7054
  ];
@@ -7107,7 +7092,7 @@ class AppGestureConfig extends HammerGestureConfig {
7107
7092
  return mc;
7108
7093
  }
7109
7094
  }
7110
- AppGestureConfig.ɵprov = i0.ɵɵdefineInjectable({ factory: function AppGestureConfig_Factory() { return new AppGestureConfig(); }, token: AppGestureConfig, providedIn: "root" });
7095
+ AppGestureConfig.ɵprov = ɵɵdefineInjectable({ factory: function AppGestureConfig_Factory() { return new AppGestureConfig(); }, token: AppGestureConfig, providedIn: "root" });
7111
7096
  AppGestureConfig.decorators = [
7112
7097
  { type: Injectable, args: [{ providedIn: 'root' },] }
7113
7098
  ];
@@ -7330,7 +7315,7 @@ class MatPaginatorI18n extends MatPaginatorIntl {
7330
7315
  this.previousPageLabel = this.translate.instant('COMMON.PAGINATOR.PREVIOUS_PAGE');
7331
7316
  }
7332
7317
  }
7333
- MatPaginatorI18n.ɵprov = i0.ɵɵdefineInjectable({ factory: function MatPaginatorI18n_Factory() { return new MatPaginatorI18n(i0.ɵɵinject(i1$1.TranslateService)); }, token: MatPaginatorI18n, providedIn: "root" });
7318
+ MatPaginatorI18n.ɵprov = ɵɵdefineInjectable({ factory: function MatPaginatorI18n_Factory() { return new MatPaginatorI18n(ɵɵinject(TranslateService)); }, token: MatPaginatorI18n, providedIn: "root" });
7334
7319
  MatPaginatorI18n.decorators = [
7335
7320
  { type: Injectable, args: [{ providedIn: 'root' },] }
7336
7321
  ];
@@ -7420,17 +7405,17 @@ function getColorContrast(color, bw) {
7420
7405
  return rgbArrayToHex(rgb.map(v => 255 - v));
7421
7406
  }
7422
7407
 
7423
- const noop = () => {
7408
+ const noop$7 = () => {
7424
7409
  };
7425
- const ɵ0$3 = noop;
7410
+ const ɵ0$7 = noop$7;
7426
7411
  class AppFormField {
7427
7412
  constructor(translate, cd, injector, formGroupDir) {
7428
7413
  this.translate = translate;
7429
7414
  this.cd = cd;
7430
7415
  this.injector = injector;
7431
7416
  this.formGroupDir = formGroupDir;
7432
- this._onChangeCallback = noop;
7433
- this._onTouchedCallback = noop;
7417
+ this._onChangeCallback = noop$7;
7418
+ this._onTouchedCallback = noop$7;
7434
7419
  this.readonly = false;
7435
7420
  this.compact = false;
7436
7421
  this.floatLabel = 'auto';
@@ -7852,14 +7837,14 @@ class AudioProvider extends StartableService {
7852
7837
  });
7853
7838
  }
7854
7839
  }
7855
- 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" });
7840
+ 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" });
7856
7841
  AudioProvider.decorators = [
7857
7842
  { type: Injectable, args: [{ providedIn: 'root' },] }
7858
7843
  ];
7859
7844
  AudioProvider.ctorParameters = () => [
7860
7845
  { type: Platform },
7861
- { type: NativeAudio, decorators: [{ type: Optional }] },
7862
- { type: Vibration, decorators: [{ type: Optional }] },
7846
+ { type: NativeAudio$1, decorators: [{ type: Optional }] },
7847
+ { type: Vibration$1, decorators: [{ type: Optional }] },
7863
7848
  { type: AudioManagement, decorators: [{ type: Optional }] }
7864
7849
  ];
7865
7850
 
@@ -7941,7 +7926,7 @@ class Hotkeys {
7941
7926
  });
7942
7927
  }
7943
7928
  }
7944
- 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" });
7929
+ Hotkeys.ɵprov = ɵɵdefineInjectable({ factory: function Hotkeys_Factory() { return new Hotkeys(ɵɵinject(EventManager), ɵɵinject(MatDialog), ɵɵinject(DOCUMENT), ɵɵinject(ModalController)); }, token: Hotkeys, providedIn: "root" });
7945
7930
  Hotkeys.decorators = [
7946
7931
  { type: Injectable, args: [{
7947
7932
  providedIn: 'root'
@@ -8115,7 +8100,7 @@ class Base64ImageReader {
8115
8100
  }
8116
8101
  }
8117
8102
 
8118
- const uuidv4$1 = uuidv4Imported;
8103
+ const uuidv4 = uuidv4Imported;
8119
8104
  class FileService {
8120
8105
  constructor(platform,
8121
8106
  //private transfer: FileTransfer,
@@ -8152,7 +8137,7 @@ class FileService {
8152
8137
  const lastSlashIndex = source.lastIndexOf('/');
8153
8138
  if (lastSlashIndex === -1)
8154
8139
  throw new Error('Invalid URL: ' + source);
8155
- const fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4$1();
8140
+ const fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4();
8156
8141
  // Download into the file system
8157
8142
  if (responseType === 'file' && this.canUseFileSystem) {
8158
8143
  console.warn(`WARN: [file] Fetching image {${source}} in local file...`);
@@ -8208,7 +8193,7 @@ class FileService {
8208
8193
  this._started = true;
8209
8194
  }
8210
8195
  }
8211
- 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" });
8196
+ FileService.ɵprov = ɵɵdefineInjectable({ factory: function FileService_Factory() { return new FileService(ɵɵinject(Platform), ɵɵinject(HttpClient), ɵɵinject(ENVIRONMENT)); }, token: FileService, providedIn: "root" });
8212
8197
  FileService.decorators = [
8213
8198
  { type: Injectable, args: [{
8214
8199
  providedIn: 'root',
@@ -8374,7 +8359,7 @@ class Base58 {
8374
8359
  Base58.alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
8375
8360
 
8376
8361
  const scrypt = require('scrypt-async');
8377
- const sha256$1 = require('hash.js/lib/hash/sha/256');
8362
+ const sha256 = require('hash.js/lib/hash/sha/256');
8378
8363
  const sha512 = require('hash.js/lib/hash/sha/512');
8379
8364
  const nacl = {
8380
8365
  sign,
@@ -8478,7 +8463,7 @@ class CryptoService {
8478
8463
  * Hash (using SHA256) a message
8479
8464
  */
8480
8465
  sha256(message) {
8481
- return sha256$1().update(message).digest('hex');
8466
+ return sha256().update(message).digest('hex');
8482
8467
  }
8483
8468
  /**
8484
8469
  * Hash (using SHA512) a message
@@ -8491,7 +8476,7 @@ class CryptoService {
8491
8476
  return nacl.util.encodeBase64(m);
8492
8477
  }
8493
8478
  }
8494
- CryptoService.ɵprov = i0.ɵɵdefineInjectable({ factory: function CryptoService_Factory() { return new CryptoService(); }, token: CryptoService, providedIn: "root" });
8479
+ CryptoService.ɵprov = ɵɵdefineInjectable({ factory: function CryptoService_Factory() { return new CryptoService(); }, token: CryptoService, providedIn: "root" });
8495
8480
  CryptoService.decorators = [
8496
8481
  { type: Injectable, args: [{ providedIn: 'root' },] }
8497
8482
  ];
@@ -9712,7 +9697,7 @@ class LocalSettingsService extends StartableService {
9712
9697
  return page;
9713
9698
  }
9714
9699
  }
9715
- 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" });
9700
+ 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" });
9716
9701
  LocalSettingsService.decorators = [
9717
9702
  { type: Injectable, args: [{
9718
9703
  providedIn: 'root',
@@ -10372,7 +10357,7 @@ class NetworkService extends StartableService {
10372
10357
  });
10373
10358
  }
10374
10359
  }
10375
- 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" });
10360
+ 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" });
10376
10361
  NetworkService.decorators = [
10377
10362
  { type: Injectable, args: [{ providedIn: 'root' },] }
10378
10363
  ];
@@ -10383,16 +10368,16 @@ NetworkService.ctorParameters = () => [
10383
10368
  { type: CryptoService },
10384
10369
  { type: Storage },
10385
10370
  { type: LocalSettingsService },
10386
- { type: CacheService },
10371
+ { type: CacheService$1 },
10387
10372
  { type: HttpClient },
10388
10373
  { type: undefined, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] },
10389
- { type: Network, decorators: [{ type: Optional }] },
10390
- { type: SplashScreen, decorators: [{ type: Optional }] },
10374
+ { type: Network$1, decorators: [{ type: Optional }] },
10375
+ { type: SplashScreen$1, decorators: [{ type: Optional }] },
10391
10376
  { type: TranslateService, decorators: [{ type: Optional }] },
10392
10377
  { type: ToastController, decorators: [{ type: Optional }] }
10393
10378
  ];
10394
10379
 
10395
- const ErrorCodes$2 = {
10380
+ const ErrorCodes = {
10396
10381
  UNKNOWN_ERROR: 0,
10397
10382
  LOAD_ACCOUNT_ERROR: 1,
10398
10383
  BAD_PASSWORD: 2,
@@ -10739,7 +10724,7 @@ class EntityStore {
10739
10724
  }
10740
10725
  catch (err) {
10741
10726
  console.error(err);
10742
- throw { code: ErrorCodes$2.ENTITY_STORAGE_MIGRATION_FAILED, message: 'ERROR.ENTITY_STORAGE_MIGRATION_FAILED', details: err };
10727
+ throw { code: ErrorCodes.ENTITY_STORAGE_MIGRATION_FAILED, message: 'ERROR.ENTITY_STORAGE_MIGRATION_FAILED', details: err };
10743
10728
  }
10744
10729
  }
10745
10730
  // Emit update event
@@ -11310,7 +11295,7 @@ class EntitiesStorage extends StartableService {
11310
11295
  }
11311
11296
  EntitiesStorage.TRASH_PREFIX = 'Trash#';
11312
11297
  EntitiesStorage.REMOTE_PREFIX = 'Remote#';
11313
- 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" });
11298
+ 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" });
11314
11299
  EntitiesStorage.decorators = [
11315
11300
  { type: Injectable, args: [{ providedIn: 'root' },] }
11316
11301
  ];
@@ -11410,10 +11395,10 @@ function referentialToString(obj, properties) {
11410
11395
  function referentialsToString(values, properties, separator) {
11411
11396
  return (values || []).map(v => referentialToString(v, properties)).join(separator || ', ');
11412
11397
  }
11413
- const ɵ0$2 = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
11398
+ const ɵ0$8 = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
11414
11399
  const StatusList = Object.freeze([
11415
11400
  {
11416
- id: ɵ0$2,
11401
+ id: ɵ0$8,
11417
11402
  icon: 'checkmark',
11418
11403
  label: 'REFERENTIAL.STATUS_ENUM.ENABLE'
11419
11404
  },
@@ -11688,7 +11673,7 @@ function accountToString(data) {
11688
11673
  (data.lastName || '')) || '';
11689
11674
  }
11690
11675
 
11691
- const uuidv4 = uuidv4Imported;
11676
+ const uuidv4$1 = uuidv4Imported;
11692
11677
  const _global = typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : {});
11693
11678
  const NativeWebSocket = _global.WebSocket || _global.MozWebSocket;
11694
11679
  /**
@@ -11732,7 +11717,7 @@ function createTrackerLink(opts) {
11732
11717
  // Skip if not tracked
11733
11718
  if (!context || !context.tracked)
11734
11719
  return forward(operation);
11735
- const id = context.serializationKey || uuidv4();
11720
+ const id = context.serializationKey || uuidv4$1();
11736
11721
  console.debug(`[apollo-tracker-link] Watching tracked query {${operation.operationName}#${id}}`);
11737
11722
  // Clean context, before calling JSON.stringify (remove unused attributes)
11738
11723
  const cleanContext = Object.assign(Object.assign({}, context), { optimisticResponse: null, cache: null });
@@ -12400,7 +12385,7 @@ class GraphqlService extends StartableService {
12400
12385
  (err.networkError && ((err.networkError.error && this.toAppError(err.networkError.error))
12401
12386
  || this.toAppError(err.networkError)
12402
12387
  || (err.networkError.error && this.createAppErrorByCode(err.networkError.error.status))
12403
- || this.createAppErrorByCode(ErrorCodes$2.UNKNOWN_NETWORK_ERROR)))
12388
+ || this.createAppErrorByCode(ErrorCodes.UNKNOWN_NETWORK_ERROR)))
12404
12389
  // If graphQL: try to convert the first error found
12405
12390
  || (err.graphQLErrors && err.graphQLErrors.length && this.toAppError(err.graphQLErrors[0]))
12406
12391
  || this.toAppError(err)
@@ -12408,7 +12393,7 @@ class GraphqlService extends StartableService {
12408
12393
  || (err.graphQLErrors && err.graphQLErrors[0])
12409
12394
  || err;
12410
12395
  console.error('[graphql] ' + (error && error.message || error), error.stack || '');
12411
- if (error && error.code === ErrorCodes$2.UNKNOWN_NETWORK_ERROR && err.networkError && err.networkError.message) {
12396
+ if (error && error.code === ErrorCodes.UNKNOWN_NETWORK_ERROR && err.networkError && err.networkError.message) {
12412
12397
  console.error('[graphql] original error: ' + err.networkError.message);
12413
12398
  this.onNetworkError.next(error);
12414
12399
  }
@@ -12444,7 +12429,7 @@ class GraphqlService extends StartableService {
12444
12429
  return 'ERROR.UNAUTHORIZED';
12445
12430
  case ServerErrorCodes.FORBIDDEN:
12446
12431
  return 'ERROR.FORBIDDEN';
12447
- case ErrorCodes$2.UNKNOWN_NETWORK_ERROR:
12432
+ case ErrorCodes.UNKNOWN_NETWORK_ERROR:
12448
12433
  return 'ERROR.UNKNOWN_NETWORK_ERROR';
12449
12434
  case ServerErrorCodes.BAD_UPDATE_DATE:
12450
12435
  return 'ERROR.BAD_UPDATE_DATE';
@@ -12472,7 +12457,7 @@ class GraphqlService extends StartableService {
12472
12457
  return undefined;
12473
12458
  }
12474
12459
  }
12475
- 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" });
12460
+ 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" });
12476
12461
  GraphqlService.decorators = [
12477
12462
  { type: Injectable, args: [{
12478
12463
  providedIn: 'root'
@@ -12489,7 +12474,7 @@ GraphqlService.ctorParameters = () => [
12489
12474
  { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_GRAPHQL_TYPE_POLICIES,] }] }
12490
12475
  ];
12491
12476
 
12492
- const sha256 = require('hash.js/lib/hash/sha/256');
12477
+ const sha256$1 = require('hash.js/lib/hash/sha/256');
12493
12478
  class BaseGraphqlServiceOptions {
12494
12479
  }
12495
12480
  // eslint-disable-next-line @angular-eslint/directive-class-suffix
@@ -12639,8 +12624,8 @@ class BaseGraphqlService {
12639
12624
  }
12640
12625
  /* -- protected methods -- */
12641
12626
  computeMutableWatchQueryId(opts) {
12642
- const queryName = opts.queryName || sha256().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
12643
- const variablesKey = opts.variables && sha256().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
12627
+ const queryName = opts.queryName || sha256$1().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
12628
+ const variablesKey = opts.variables && sha256$1().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
12644
12629
  return [queryName, opts.arrayFieldName, variablesKey].join('|');
12645
12630
  }
12646
12631
  findMutableWatchQueries(opts) {
@@ -12703,7 +12688,7 @@ const DEFAULT_AVATAR_IMAGE = 'assets/img/person.png';
12703
12688
  /* ------------------------------------
12704
12689
  * GraphQL queries
12705
12690
  * ------------------------------------*/
12706
- const Fragments$1 = {
12691
+ const Fragments = {
12707
12692
  account: gql `
12708
12693
  fragment AccountFragment on AccountVO {
12709
12694
  id
@@ -12736,13 +12721,13 @@ const Fragments$1 = {
12736
12721
  `
12737
12722
  };
12738
12723
  // Load account query
12739
- const LoadQuery$1 = gql `
12724
+ const LoadQuery = gql `
12740
12725
  query Account {
12741
12726
  data: account {
12742
12727
  ...AccountFragment
12743
12728
  }
12744
12729
  }
12745
- ${Fragments$1.account}
12730
+ ${Fragments.account}
12746
12731
  `;
12747
12732
  // Check email query
12748
12733
  const IsEmailExistsQuery = gql `
@@ -12751,13 +12736,13 @@ const IsEmailExistsQuery = gql `
12751
12736
  }
12752
12737
  `;
12753
12738
  // Save (create or update) account mutation
12754
- const SaveMutation$1 = gql `
12739
+ const SaveMutation = gql `
12755
12740
  mutation SaveAccount($data:AccountVOInput){
12756
12741
  data: saveAccount(account: $data){
12757
12742
  ...AccountFragment
12758
12743
  }
12759
12744
  }
12760
- ${Fragments$1.account}
12745
+ ${Fragments.account}
12761
12746
  `;
12762
12747
  // Create account mutation
12763
12748
  const CreateMutation = gql `
@@ -12766,7 +12751,7 @@ const CreateMutation = gql `
12766
12751
  ...AccountFragment
12767
12752
  }
12768
12753
  }
12769
- ${Fragments$1.account}
12754
+ ${Fragments.account}
12770
12755
  `;
12771
12756
  // Sent confirmation email
12772
12757
  const SendConfirmEmailMutation = gql `
@@ -13104,7 +13089,7 @@ class AccountService extends BaseGraphqlService {
13104
13089
  catch (error) {
13105
13090
  console.error(error);
13106
13091
  this.resetData();
13107
- throw { code: ErrorCodes$2.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
13092
+ throw { code: ErrorCodes.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
13108
13093
  }
13109
13094
  // Store pubkey+keypair
13110
13095
  this._data.pubkey = Base58.encode(keypair.publicKey);
@@ -13138,7 +13123,7 @@ class AccountService extends BaseGraphqlService {
13138
13123
  }
13139
13124
  catch (err) {
13140
13125
  // If account not found, check if email is valid
13141
- if (err && +(err.code) === ErrorCodes$2.LOAD_ACCOUNT_ERROR) {
13126
+ if (err && +(err.code) === ErrorCodes.LOAD_ACCOUNT_ERROR) {
13142
13127
  // Check email exists
13143
13128
  if (data.username.indexOf('@') !== -1) {
13144
13129
  let isEmailExists;
@@ -13150,11 +13135,11 @@ class AccountService extends BaseGraphqlService {
13150
13135
  }
13151
13136
  // Email not exists (no account)
13152
13137
  if (!isEmailExists) {
13153
- throw { code: ErrorCodes$2.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
13138
+ throw { code: ErrorCodes.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
13154
13139
  }
13155
13140
  }
13156
13141
  // Email exists, so error = 'bad password'
13157
- throw { code: ErrorCodes$2.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
13142
+ throw { code: ErrorCodes.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
13158
13143
  }
13159
13144
  throw err; // resend the first error
13160
13145
  }
@@ -13279,8 +13264,8 @@ class AccountService extends BaseGraphqlService {
13279
13264
  // Load remotely
13280
13265
  else {
13281
13266
  const { data } = yield this.graphql.query({
13282
- query: LoadQuery$1,
13283
- error: { code: ErrorCodes$2.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
13267
+ query: LoadQuery,
13268
+ error: { code: ErrorCodes.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
13284
13269
  fetchPolicy: opts && opts.fetchPolicy || 'no-cache' || undefined
13285
13270
  });
13286
13271
  json = data;
@@ -13307,7 +13292,7 @@ class AccountService extends BaseGraphqlService {
13307
13292
  return __awaiter(this, void 0, void 0, function* () {
13308
13293
  const isEmailExists = yield this.isEmailExists(email);
13309
13294
  if (isEmailExists) {
13310
- throw { code: ErrorCodes$2.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
13295
+ throw { code: ErrorCodes.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
13311
13296
  }
13312
13297
  });
13313
13298
  }
@@ -13343,7 +13328,7 @@ class AccountService extends BaseGraphqlService {
13343
13328
  locale
13344
13329
  },
13345
13330
  error: {
13346
- code: ErrorCodes$2.SENT_CONFIRMATION_EMAIL_FAILED,
13331
+ code: ErrorCodes.SENT_CONFIRMATION_EMAIL_FAILED,
13347
13332
  message: 'ERROR.SENT_ACCOUNT_CONFIRMATION_EMAIL_FAILED'
13348
13333
  }
13349
13334
  });
@@ -13359,7 +13344,7 @@ class AccountService extends BaseGraphqlService {
13359
13344
  code
13360
13345
  },
13361
13346
  error: {
13362
- code: ErrorCodes$2.CONFIRM_EMAIL_FAILED,
13347
+ code: ErrorCodes.CONFIRM_EMAIL_FAILED,
13363
13348
  message: 'ERROR.CONFIRM_ACCOUNT_EMAIL_FAILED'
13364
13349
  }
13365
13350
  });
@@ -13377,7 +13362,7 @@ class AccountService extends BaseGraphqlService {
13377
13362
  interval: 10
13378
13363
  },
13379
13364
  error: {
13380
- code: ErrorCodes$2.SUBSCRIBE_ACCOUNT_ERROR,
13365
+ code: ErrorCodes.SUBSCRIBE_ACCOUNT_ERROR,
13381
13366
  message: 'ERROR.ACCOUNT.SUBSCRIBE_ACCOUNT_ERROR'
13382
13367
  }
13383
13368
  }).subscribe({
@@ -13486,7 +13471,7 @@ class AccountService extends BaseGraphqlService {
13486
13471
  throw error;
13487
13472
  console.error(error);
13488
13473
  throw {
13489
- code: ErrorCodes$2.LOAD_ACCOUNT_ERROR,
13474
+ code: ErrorCodes.LOAD_ACCOUNT_ERROR,
13490
13475
  message: 'ERROR.LOAD_ACCOUNT_ERROR'
13491
13476
  };
13492
13477
  }
@@ -13631,7 +13616,7 @@ class AccountService extends BaseGraphqlService {
13631
13616
  if (!isNew) {
13632
13617
  const existingAccount = yield this.load({ fetchPolicy: 'network-only' });
13633
13618
  if (!existingAccount || !existingAccount.updateDate) {
13634
- throw { code: ErrorCodes$2.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
13619
+ throw { code: ErrorCodes.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
13635
13620
  }
13636
13621
  this.copyIdAndUpdateDate(existingAccount, account);
13637
13622
  }
@@ -13640,10 +13625,10 @@ class AccountService extends BaseGraphqlService {
13640
13625
  delete json.profiles;
13641
13626
  // Execute mutation
13642
13627
  const { data } = yield this.graphql.mutate({
13643
- mutation: isNew ? CreateMutation : SaveMutation$1,
13628
+ mutation: isNew ? CreateMutation : SaveMutation,
13644
13629
  variables: { data: json },
13645
13630
  error: {
13646
- code: ErrorCodes$2.SAVE_ACCOUNT_ERROR,
13631
+ code: ErrorCodes.SAVE_ACCOUNT_ERROR,
13647
13632
  message: 'ERROR.SAVE_ACCOUNT_ERROR'
13648
13633
  }
13649
13634
  });
@@ -13663,7 +13648,7 @@ class AccountService extends BaseGraphqlService {
13663
13648
  if (counter > 4) {
13664
13649
  if (this._debug)
13665
13650
  console.debug(`[account] Failed to authentication on pod (after ${counter} attempts)`);
13666
- throw { code: ErrorCodes$2.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
13651
+ throw { code: ErrorCodes.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
13667
13652
  }
13668
13653
  // Check if valid
13669
13654
  if (token) {
@@ -13673,7 +13658,7 @@ class AccountService extends BaseGraphqlService {
13673
13658
  token
13674
13659
  },
13675
13660
  error: {
13676
- code: ErrorCodes$2.UNAUTHORIZED,
13661
+ code: ErrorCodes.UNAUTHORIZED,
13677
13662
  message: 'ERROR.UNAUTHORIZED'
13678
13663
  },
13679
13664
  fetchPolicy: 'no-cache'
@@ -13689,7 +13674,7 @@ class AccountService extends BaseGraphqlService {
13689
13674
  }
13690
13675
  // Generate a new token
13691
13676
  const challengeError = {
13692
- code: ErrorCodes$2.AUTH_CHALLENGE_ERROR,
13677
+ code: ErrorCodes.AUTH_CHALLENGE_ERROR,
13693
13678
  message: 'ERROR.AUTH_CHALLENGE_ERROR'
13694
13679
  };
13695
13680
  const data = yield this.graphql.query({
@@ -13723,7 +13708,7 @@ class AccountService extends BaseGraphqlService {
13723
13708
  target.settings.updateDate = source.settings && source.settings.updateDate || target.settings.updateDate;
13724
13709
  }
13725
13710
  }
13726
- 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" });
13711
+ 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" });
13727
13712
  AccountService.decorators = [
13728
13713
  { type: Injectable, args: [{ providedIn: 'root' },] }
13729
13714
  ];
@@ -13983,7 +13968,7 @@ const CONFIGURATION_STORAGE_KEY = 'configuration';
13983
13968
  /* ------------------------------------
13984
13969
  * GraphQL queries
13985
13970
  * ------------------------------------*/
13986
- const Fragments = {
13971
+ const Fragments$1 = {
13987
13972
  config: gql `
13988
13973
  fragment ConfigFragment on ConfigurationVO {
13989
13974
  id
@@ -14010,22 +13995,22 @@ const Fragments = {
14010
13995
  }
14011
13996
  `
14012
13997
  };
14013
- const LoadQuery = gql `
13998
+ const LoadQuery$1 = gql `
14014
13999
  query Configuration{
14015
14000
  data: configuration{
14016
14001
  ...ConfigFragment
14017
14002
  }
14018
14003
  }
14019
- ${Fragments.config}
14004
+ ${Fragments$1.config}
14020
14005
  `;
14021
14006
  // Save (create or update) account mutation
14022
- const SaveMutation = gql `
14007
+ const SaveMutation$1 = gql `
14023
14008
  mutation SaveConfiguration($data: ConfigurationVOInput){
14024
14009
  data: saveConfiguration(config: $data){
14025
14010
  ...ConfigFragment
14026
14011
  }
14027
14012
  }
14028
- ${Fragments.config}
14013
+ ${Fragments$1.config}
14029
14014
  `;
14030
14015
  const ClearCache = gql `
14031
14016
  query ClearCache($name: String) {
@@ -14120,12 +14105,12 @@ class ConfigService extends BaseGraphqlService {
14120
14105
  return __awaiter(this, void 0, void 0, function* () {
14121
14106
  const now = Date.now();
14122
14107
  console.debug('[config] Loading Pod configuration...');
14123
- const query = opts && opts.query || LoadQuery;
14108
+ const query = opts && opts.query || LoadQuery$1;
14124
14109
  const variables = opts && opts.variables || undefined;
14125
14110
  const res = yield this.graphql.query({
14126
14111
  query,
14127
14112
  variables,
14128
- error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
14113
+ error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
14129
14114
  fetchPolicy: opts && opts.fetchPolicy || undefined /*default*/
14130
14115
  });
14131
14116
  const data = res && res.data ? Configuration.fromObject(res.data) : undefined;
@@ -14150,12 +14135,12 @@ class ConfigService extends BaseGraphqlService {
14150
14135
  const json = config.asObject();
14151
14136
  // Execute mutation
14152
14137
  const res = yield this.graphql.mutate({
14153
- mutation: SaveMutation,
14138
+ mutation: SaveMutation$1,
14154
14139
  variables: {
14155
14140
  data: json
14156
14141
  },
14157
14142
  error: {
14158
- code: ErrorCodes$2.SAVE_CONFIG_ERROR,
14143
+ code: ErrorCodes.SAVE_CONFIG_ERROR,
14159
14144
  message: 'ERROR.SAVE_CONFIG_ERROR'
14160
14145
  }
14161
14146
  });
@@ -14181,7 +14166,7 @@ class ConfigService extends BaseGraphqlService {
14181
14166
  const res = yield this.graphql.query({
14182
14167
  query: CacheStatistics,
14183
14168
  variables: null,
14184
- error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
14169
+ error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
14185
14170
  fetchPolicy: 'network-only'
14186
14171
  });
14187
14172
  const data = res && res.cacheStatistics || undefined;
@@ -14197,7 +14182,7 @@ class ConfigService extends BaseGraphqlService {
14197
14182
  const res = yield this.graphql.query({
14198
14183
  query: ClearCache,
14199
14184
  variables,
14200
- error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
14185
+ error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
14201
14186
  fetchPolicy: 'network-only'
14202
14187
  });
14203
14188
  const data = res && res.clearCache || undefined;
@@ -14356,7 +14341,7 @@ class ConfigService extends BaseGraphqlService {
14356
14341
  });
14357
14342
  }
14358
14343
  }
14359
- 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" });
14344
+ 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" });
14360
14345
  ConfigService.decorators = [
14361
14346
  { type: Injectable, args: [{
14362
14347
  providedIn: 'root',
@@ -14375,7 +14360,7 @@ ConfigService.ctorParameters = () => [
14375
14360
  { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_CONFIG_OPTIONS,] }] }
14376
14361
  ];
14377
14362
 
14378
- const moment$2 = momentImported;
14363
+ const moment$4 = momentImported;
14379
14364
  class PlatformService extends StartableService {
14380
14365
  constructor(platform, cdkPlatform, toastController, translate, dateAdapter, entitiesStorage, settings, networkService, accountService, configService, cache, storage, audioProvider, environment, statusBar, keyboard, splashScreen, browser, downloader) {
14381
14366
  super(platform);
@@ -14564,16 +14549,16 @@ class PlatformService extends StartableService {
14564
14549
  }
14565
14550
  // config moment lib
14566
14551
  try {
14567
- moment$2.locale(event.lang);
14552
+ moment$4.locale(event.lang);
14568
14553
  console.debug('[platform] Use locale {' + event.lang + '}');
14569
14554
  }
14570
14555
  // If error, fallback to en
14571
14556
  catch (err) {
14572
- moment$2.locale('en');
14557
+ moment$4.locale('en');
14573
14558
  console.warn('[platform] Unknown local for moment lib. Using default [en]');
14574
14559
  }
14575
14560
  // Config date adapter
14576
- this.dateAdapter.setLocale(moment$2.locale());
14561
+ this.dateAdapter.setLocale(moment$4.locale());
14577
14562
  }
14578
14563
  });
14579
14564
  this.settings.onChange.subscribe(data => {
@@ -14711,7 +14696,7 @@ class PlatformService extends StartableService {
14711
14696
  });
14712
14697
  }
14713
14698
  }
14714
- PlatformService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PlatformService_Factory() { return new PlatformService(i0.ɵɵinject(i1$4.Platform), i0.ɵɵinject(i2$4.Platform), i0.ɵɵinject(i1$4.ToastController), i0.ɵɵinject(i1$1.TranslateService), i0.ɵɵinject(i1.MomentDateAdapter), i0.ɵɵinject(EntitiesStorage), i0.ɵɵinject(LocalSettingsService), i0.ɵɵinject(NetworkService), i0.ɵɵinject(AccountService), i0.ɵɵinject(ConfigService), i0.ɵɵinject(i6.CacheService), i0.ɵɵinject(i3$1.Storage), i0.ɵɵinject(AudioProvider), i0.ɵɵinject(ENVIRONMENT), i0.ɵɵinject(i14.StatusBar, 8), i0.ɵɵinject(i15.Keyboard, 8), i0.ɵɵinject(i10.SplashScreen, 8), i0.ɵɵinject(i17.InAppBrowser, 8), i0.ɵɵinject(i18.Downloader, 8)); }, token: PlatformService, providedIn: "root" });
14699
+ PlatformService.ɵprov = ɵɵdefineInjectable({ factory: function PlatformService_Factory() { return new PlatformService(ɵɵinject(Platform), ɵɵinject(Platform$1), ɵɵinject(ToastController), ɵɵinject(TranslateService), ɵɵinject(MomentDateAdapter), ɵɵinject(EntitiesStorage), ɵɵinject(LocalSettingsService), ɵɵinject(NetworkService), ɵɵinject(AccountService), ɵɵinject(ConfigService), ɵɵinject(CacheService), ɵɵinject(Storage), ɵɵinject(AudioProvider), ɵɵinject(ENVIRONMENT), ɵɵinject(StatusBar, 8), ɵɵinject(Keyboard$1, 8), ɵɵinject(SplashScreen, 8), ɵɵinject(InAppBrowser, 8), ɵɵinject(Downloader, 8)); }, token: PlatformService, providedIn: "root" });
14715
14700
  PlatformService.decorators = [
14716
14701
  { type: Injectable, args: [{ providedIn: 'root' },] }
14717
14702
  ];
@@ -14726,15 +14711,15 @@ PlatformService.ctorParameters = () => [
14726
14711
  { type: NetworkService },
14727
14712
  { type: AccountService },
14728
14713
  { type: ConfigService },
14729
- { type: CacheService },
14714
+ { type: CacheService$1 },
14730
14715
  { type: Storage },
14731
14716
  { type: AudioProvider },
14732
14717
  { type: undefined, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] },
14733
- { type: StatusBar, decorators: [{ type: Optional }] },
14718
+ { type: StatusBar$1, decorators: [{ type: Optional }] },
14734
14719
  { type: Keyboard, decorators: [{ type: Optional }] },
14735
- { type: SplashScreen, decorators: [{ type: Optional }] },
14736
- { type: InAppBrowser, decorators: [{ type: Optional }] },
14737
- { type: Downloader, decorators: [{ type: Optional }] }
14720
+ { type: SplashScreen$1, decorators: [{ type: Optional }] },
14721
+ { type: InAppBrowser$1, decorators: [{ type: Optional }] },
14722
+ { type: Downloader$1, decorators: [{ type: Optional }] }
14738
14723
  ];
14739
14724
 
14740
14725
  class AppHelpModal {
@@ -14798,7 +14783,7 @@ class MatStepperI18n extends MatStepperIntl {
14798
14783
  this.optionalLabel = this.translate.instant('COMMON.OPTIONAL');
14799
14784
  }
14800
14785
  }
14801
- MatStepperI18n.ɵprov = i0.ɵɵdefineInjectable({ factory: function MatStepperI18n_Factory() { return new MatStepperI18n(i0.ɵɵinject(i1$1.TranslateService)); }, token: MatStepperI18n, providedIn: "root" });
14786
+ MatStepperI18n.ɵprov = ɵɵdefineInjectable({ factory: function MatStepperI18n_Factory() { return new MatStepperI18n(ɵɵinject(TranslateService)); }, token: MatStepperI18n, providedIn: "root" });
14802
14787
  MatStepperI18n.decorators = [
14803
14788
  { type: Injectable, args: [{ providedIn: 'root' },] }
14804
14789
  ];
@@ -15790,7 +15775,7 @@ function state2side(state) {
15790
15775
  return 1;
15791
15776
  }
15792
15777
  }
15793
- const ɵ0$1 = (defaultStateSize) => [
15778
+ const ɵ0$9 = (defaultStateSize) => [
15794
15779
  Math.round((rgbArrayMap.red[0] - 50) / defaultStateSize),
15795
15780
  Math.round((255 - rgbArrayMap.red[1]) / defaultStateSize),
15796
15781
  Math.round((255 - rgbArrayMap.red[2]) / defaultStateSize)
@@ -15798,7 +15783,7 @@ const ɵ0$1 = (defaultStateSize) => [
15798
15783
  const SCALE_OPTIONS_DEFAULT = {
15799
15784
  startColor: rgbArrayMap.red,
15800
15785
  startStates: [0, 2, 3],
15801
- startStepsFn: ɵ0$1
15786
+ startStepsFn: ɵ0$9
15802
15787
  };
15803
15788
  /**
15804
15789
  * Internal function, that create a colors scale, using iteration
@@ -15890,21 +15875,21 @@ function linearColorGradient(count, options) {
15890
15875
  return result;
15891
15876
  }
15892
15877
 
15893
- class EntityTestClass$1 {
15878
+ class EntityTestClass {
15894
15879
  }
15895
- const FAKE_ENTITIES$1 = [
15880
+ const FAKE_ENTITIES = [
15896
15881
  { id: 1, label: 'AAA', name: 'Item A', description: 'Very long description A', comments: 'Very very long comments... again for A' },
15897
15882
  { id: 2, label: 'BBB', name: 'Item B', description: 'Very long description B', comments: 'Very very long comments... again for B' },
15898
15883
  { id: 3, label: 'CCC', name: 'Item C', description: 'Very long description C', comments: 'Very very long comments... again for C' }
15899
15884
  ];
15900
- function deepCopy$1(values, size) {
15885
+ function deepCopy(values, size) {
15901
15886
  if (isNil(size)) {
15902
- return (values || FAKE_ENTITIES$1).map(entity => Object.assign({}, entity));
15887
+ return (values || FAKE_ENTITIES).map(entity => Object.assign({}, entity));
15903
15888
  }
15904
15889
  let result = [];
15905
15890
  let i = 1;
15906
15891
  while (result.length < size) {
15907
- result = result.concat((values || FAKE_ENTITIES$1).map(entity => {
15892
+ result = result.concat((values || FAKE_ENTITIES).map(entity => {
15908
15893
  const name = entity.name + ' #' + i;
15909
15894
  return Object.assign(Object.assign({}, entity), { id: i++, name });
15910
15895
  }));
@@ -15914,7 +15899,7 @@ function deepCopy$1(values, size) {
15914
15899
  class AutocompleteTestPage {
15915
15900
  constructor(formBuilder) {
15916
15901
  this.formBuilder = formBuilder;
15917
- this._items = deepCopy$1(FAKE_ENTITIES$1, 100);
15902
+ this._items = deepCopy(FAKE_ENTITIES, 100);
15918
15903
  this.$items = new BehaviorSubject(undefined);
15919
15904
  this.autocompleteFields = new MatAutocompleteConfigHolder();
15920
15905
  this.memoryHide = false;
@@ -15958,7 +15943,7 @@ class AutocompleteTestPage {
15958
15943
  });
15959
15944
  // From items
15960
15945
  this.autocompleteFields.add('entity-items-large', {
15961
- items: FAKE_ENTITIES$1.slice(),
15946
+ items: FAKE_ENTITIES.slice(),
15962
15947
  attributes: ['label', 'name', 'description', 'comments'],
15963
15948
  displayWith: this.entityToString
15964
15949
  });
@@ -15968,12 +15953,12 @@ class AutocompleteTestPage {
15968
15953
  loadData() {
15969
15954
  return __awaiter(this, void 0, void 0, function* () {
15970
15955
  const data = {
15971
- entity: deepCopy$1(FAKE_ENTITIES$1)[0],
15956
+ entity: deepCopy(FAKE_ENTITIES)[0],
15972
15957
  // This item is NOT in the items list => i should be displayed anyway
15973
15958
  missingEntity: {
15974
15959
  id: -1, label: '??', name: 'Missing item'
15975
15960
  },
15976
- disableEntity: deepCopy$1(FAKE_ENTITIES$1)[2]
15961
+ disableEntity: deepCopy(FAKE_ENTITIES)[2]
15977
15962
  };
15978
15963
  this.form.setValue(data);
15979
15964
  // Load observables
@@ -16146,13 +16131,13 @@ MaterialTestingPage.ctorParameters = () => [
16146
16131
  { type: Array, decorators: [{ type: Optional }, { type: Inject, args: [APP_TESTING_PAGES,] }] }
16147
16132
  ];
16148
16133
 
16149
- const moment$1 = momentImported;
16134
+ const moment$5 = momentImported;
16150
16135
  class SwipeTestPage {
16151
16136
  constructor(formBuilder, dateFormatPipe) {
16152
16137
  this.formBuilder = formBuilder;
16153
16138
  this.dateFormatPipe = dateFormatPipe;
16154
16139
  this.$dates = new BehaviorSubject(undefined);
16155
- this._today = moment$1().startOf('day');
16140
+ this._today = moment$5().startOf('day');
16156
16141
  this.form = formBuilder.group({
16157
16142
  empty: [null, Validators.required],
16158
16143
  date: [null, Validators.compose([Validators.required, SharedValidators.validDate])],
@@ -16165,7 +16150,7 @@ class SwipeTestPage {
16165
16150
  ngOnInit() {
16166
16151
  const dates = [];
16167
16152
  for (let d = 0; d < 7; d++) {
16168
- dates[d] = moment$1(this._today).add(d - 3, 'day');
16153
+ dates[d] = moment$5(this._today).add(d - 3, 'day');
16169
16154
  }
16170
16155
  this.$dates.next(dates);
16171
16156
  this.loadData();
@@ -16206,7 +16191,7 @@ SwipeTestPage.ctorParameters = () => [
16206
16191
  { type: DateFormatPipe }
16207
16192
  ];
16208
16193
 
16209
- const moment = momentImported;
16194
+ const moment$6 = momentImported;
16210
16195
  class DateTimeTestPage {
16211
16196
  constructor(platform, formBuilder, cd) {
16212
16197
  this.platform = platform;
@@ -16238,7 +16223,7 @@ class DateTimeTestPage {
16238
16223
  // Load the form with data
16239
16224
  loadData() {
16240
16225
  return __awaiter(this, void 0, void 0, function* () {
16241
- const now = moment();
16226
+ const now = moment$6();
16242
16227
  const data = {
16243
16228
  empty: toDateISOString(now.clone().add(2, 'hours')),
16244
16229
  enable: toDateISOString(now),
@@ -16299,20 +16284,20 @@ DateTimeTestPage.ctorParameters = () => [
16299
16284
  { type: ChangeDetectorRef }
16300
16285
  ];
16301
16286
 
16302
- class EntityTestClass {
16287
+ class EntityTestClass$1 {
16303
16288
  }
16304
- const FAKE_ENTITIES = [
16289
+ const FAKE_ENTITIES$1 = [
16305
16290
  { id: 1, label: 'AAA', name: 'Item A' },
16306
16291
  { id: 2, label: 'BBB', name: 'Item B' },
16307
16292
  { id: 3, label: 'CCC', name: 'Item C' }
16308
16293
  ];
16309
- function deepCopy(values) {
16310
- return (values || FAKE_ENTITIES).map(entity => Object.assign({}, entity));
16294
+ function deepCopy$1(values) {
16295
+ return (values || FAKE_ENTITIES$1).map(entity => Object.assign({}, entity));
16311
16296
  }
16312
16297
  class ChipsTestPage {
16313
16298
  constructor(formBuilder) {
16314
16299
  this.formBuilder = formBuilder;
16315
- this._items = deepCopy(FAKE_ENTITIES);
16300
+ this._items = deepCopy$1(FAKE_ENTITIES$1);
16316
16301
  this._$items = new BehaviorSubject(undefined);
16317
16302
  this.autocompleteFields = new MatAutocompleteConfigHolder();
16318
16303
  this.form = formBuilder.group({
@@ -16331,7 +16316,7 @@ class ChipsTestPage {
16331
16316
  });
16332
16317
  // From items
16333
16318
  this.autocompleteFields.add('entity-items', {
16334
- items: FAKE_ENTITIES.slice(),
16319
+ items: FAKE_ENTITIES$1.slice(),
16335
16320
  attributes: ['label', 'name'],
16336
16321
  displayWith: this.entityToString
16337
16322
  });
@@ -16352,15 +16337,15 @@ class ChipsTestPage {
16352
16337
  const data = {
16353
16338
  entity: [],
16354
16339
  // THis item is NOT in the items list => i should be displayed anyway
16355
- entityInitial: FAKE_ENTITIES.slice(1, 2),
16356
- disableEntity: FAKE_ENTITIES.slice(1, 2)
16340
+ entityInitial: FAKE_ENTITIES$1.slice(1, 2),
16341
+ disableEntity: FAKE_ENTITIES$1.slice(1, 2)
16357
16342
  };
16358
16343
  this.form.setValue(data);
16359
16344
  });
16360
16345
  }
16361
16346
  loadItems() {
16362
16347
  return __awaiter(this, void 0, void 0, function* () {
16363
- this._$items.next(deepCopy(FAKE_ENTITIES));
16348
+ this._$items.next(deepCopy$1(FAKE_ENTITIES$1));
16364
16349
  });
16365
16350
  }
16366
16351
  entityToString(item) {
@@ -16401,7 +16386,7 @@ MatBadgeIconTestPage.decorators = [
16401
16386
  },] }
16402
16387
  ];
16403
16388
 
16404
- const routes$1 = [
16389
+ const routes = [
16405
16390
  {
16406
16391
  path: '',
16407
16392
  pathMatch: 'full',
@@ -16453,7 +16438,7 @@ MaterialTestingModule.decorators = [
16453
16438
  ReactiveFormsModule,
16454
16439
  SharedMaterialModule,
16455
16440
  TranslateModule.forChild(),
16456
- RouterModule.forChild(routes$1)
16441
+ RouterModule.forChild(routes)
16457
16442
  ],
16458
16443
  declarations: [
16459
16444
  MaterialTestingPage,
@@ -17412,7 +17397,7 @@ class UserSettingsValidatorService extends AppValidatorService {
17412
17397
  });
17413
17398
  }
17414
17399
  }
17415
- UserSettingsValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function UserSettingsValidatorService_Factory() { return new UserSettingsValidatorService(i0.ɵɵinject(i1$6.FormBuilder)); }, token: UserSettingsValidatorService, providedIn: "root" });
17400
+ UserSettingsValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function UserSettingsValidatorService_Factory() { return new UserSettingsValidatorService(ɵɵinject(FormBuilder)); }, token: UserSettingsValidatorService, providedIn: "root" });
17416
17401
  UserSettingsValidatorService.decorators = [
17417
17402
  { type: Injectable, args: [{ providedIn: 'root' },] }
17418
17403
  ];
@@ -17456,7 +17441,7 @@ class AccountValidatorService extends AppValidatorService {
17456
17441
  return validatorFns.length ? Validators.compose(validatorFns) : validatorFns.length === 1 ? validatorFns[0] : undefined;
17457
17442
  }
17458
17443
  }
17459
- AccountValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AccountValidatorService_Factory() { return new AccountValidatorService(i0.ɵɵinject(i1$6.FormBuilder), i0.ɵɵinject(AccountService)); }, token: AccountValidatorService, providedIn: "root" });
17444
+ AccountValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function AccountValidatorService_Factory() { return new AccountValidatorService(ɵɵinject(FormBuilder), ɵɵinject(AccountService)); }, token: AccountValidatorService, providedIn: "root" });
17460
17445
  AccountValidatorService.decorators = [
17461
17446
  { type: Injectable, args: [{ providedIn: 'root' },] }
17462
17447
  ];
@@ -17990,7 +17975,7 @@ class LocalSettingsValidatorService extends AppValidatorService {
17990
17975
  });
17991
17976
  }
17992
17977
  }
17993
- LocalSettingsValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function LocalSettingsValidatorService_Factory() { return new LocalSettingsValidatorService(i0.ɵɵinject(i1$6.FormBuilder), i0.ɵɵinject(NetworkService)); }, token: LocalSettingsValidatorService, providedIn: "root" });
17978
+ LocalSettingsValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function LocalSettingsValidatorService_Factory() { return new LocalSettingsValidatorService(ɵɵinject(FormBuilder), ɵɵinject(NetworkService)); }, token: LocalSettingsValidatorService, providedIn: "root" });
17994
17979
  LocalSettingsValidatorService.decorators = [
17995
17980
  { type: Injectable, args: [{ providedIn: 'root' },] }
17996
17981
  ];
@@ -18608,7 +18593,7 @@ class IsOnFieldModePipe {
18608
18593
  return value === 'FIELD';
18609
18594
  }
18610
18595
  }
18611
- IsOnFieldModePipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsOnFieldModePipe_Factory() { return new IsOnFieldModePipe(); }, token: IsOnFieldModePipe, providedIn: "root" });
18596
+ IsOnFieldModePipe.ɵprov = ɵɵdefineInjectable({ factory: function IsOnFieldModePipe_Factory() { return new IsOnFieldModePipe(); }, token: IsOnFieldModePipe, providedIn: "root" });
18612
18597
  IsOnFieldModePipe.decorators = [
18613
18598
  { type: Pipe, args: [{
18614
18599
  name: 'isOnField'
@@ -18620,7 +18605,7 @@ class IsNotOnFieldModePipe {
18620
18605
  return value !== 'FIELD';
18621
18606
  }
18622
18607
  }
18623
- IsNotOnFieldModePipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNotOnFieldModePipe_Factory() { return new IsNotOnFieldModePipe(); }, token: IsNotOnFieldModePipe, providedIn: "root" });
18608
+ IsNotOnFieldModePipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNotOnFieldModePipe_Factory() { return new IsNotOnFieldModePipe(); }, token: IsNotOnFieldModePipe, providedIn: "root" });
18624
18609
  IsNotOnFieldModePipe.decorators = [
18625
18610
  { type: Pipe, args: [{
18626
18611
  name: 'isNotOnField'
@@ -18635,7 +18620,7 @@ class PersonToStringPipe {
18635
18620
  return PersonUtils.personToString(value);
18636
18621
  }
18637
18622
  }
18638
- PersonToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function PersonToStringPipe_Factory() { return new PersonToStringPipe(); }, token: PersonToStringPipe, providedIn: "root" });
18623
+ PersonToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function PersonToStringPipe_Factory() { return new PersonToStringPipe(); }, token: PersonToStringPipe, providedIn: "root" });
18639
18624
  PersonToStringPipe.decorators = [
18640
18625
  { type: Pipe, args: [{
18641
18626
  name: 'personToString'
@@ -18981,7 +18966,7 @@ class IsLoginAccountPipe {
18981
18966
  return value && value.pubkey && true;
18982
18967
  }
18983
18968
  }
18984
- IsLoginAccountPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsLoginAccountPipe_Factory() { return new IsLoginAccountPipe(); }, token: IsLoginAccountPipe, providedIn: "root" });
18969
+ IsLoginAccountPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsLoginAccountPipe_Factory() { return new IsLoginAccountPipe(); }, token: IsLoginAccountPipe, providedIn: "root" });
18985
18970
  IsLoginAccountPipe.decorators = [
18986
18971
  { type: Pipe, args: [{
18987
18972
  name: 'isLogin'
@@ -18993,7 +18978,7 @@ class AccountToStringPipe {
18993
18978
  return accountToString(value);
18994
18979
  }
18995
18980
  }
18996
- AccountToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function AccountToStringPipe_Factory() { return new AccountToStringPipe(); }, token: AccountToStringPipe, providedIn: "root" });
18981
+ AccountToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function AccountToStringPipe_Factory() { return new AccountToStringPipe(); }, token: AccountToStringPipe, providedIn: "root" });
18997
18982
  AccountToStringPipe.decorators = [
18998
18983
  { type: Pipe, args: [{
18999
18984
  name: 'accountToString'
@@ -19008,7 +18993,7 @@ class DepartmentToStringPipe {
19008
18993
  return departmentToString(value);
19009
18994
  }
19010
18995
  }
19011
- DepartmentToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DepartmentToStringPipe_Factory() { return new DepartmentToStringPipe(); }, token: DepartmentToStringPipe, providedIn: "root" });
18996
+ DepartmentToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function DepartmentToStringPipe_Factory() { return new DepartmentToStringPipe(); }, token: DepartmentToStringPipe, providedIn: "root" });
19012
18997
  DepartmentToStringPipe.decorators = [
19013
18998
  { type: Pipe, args: [{
19014
18999
  name: 'departmentToString'
@@ -19034,7 +19019,7 @@ class MenuService {
19034
19019
  this._visibleSubject.next(value);
19035
19020
  }
19036
19021
  }
19037
- MenuService.ɵprov = i0.ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(); }, token: MenuService, providedIn: "root" });
19022
+ MenuService.ɵprov = ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(); }, token: MenuService, providedIn: "root" });
19038
19023
  MenuService.decorators = [
19039
19024
  { type: Injectable, args: [{
19040
19025
  providedIn: 'root'
@@ -19528,7 +19513,7 @@ class AuthGuardService {
19528
19513
  }));
19529
19514
  }
19530
19515
  }
19531
- 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" });
19516
+ AuthGuardService.ɵprov = ɵɵdefineInjectable({ factory: function AuthGuardService_Factory() { return new AuthGuardService(ɵɵinject(AccountService), ɵɵinject(ModalController), ɵɵinject(Router), ɵɵinject(ENVIRONMENT)); }, token: AuthGuardService, providedIn: "root" });
19532
19517
  AuthGuardService.decorators = [
19533
19518
  { type: Injectable, args: [{ providedIn: 'root' },] }
19534
19519
  ];
@@ -19576,7 +19561,7 @@ class BaseEntityService extends BaseGraphqlService {
19576
19561
  query,
19577
19562
  variables: { id },
19578
19563
  fetchPolicy: opts && opts.fetchPolicy || undefined,
19579
- error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
19564
+ error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
19580
19565
  })
19581
19566
  .pipe(map(({ data }) => (!opts || opts.toEntity !== false)
19582
19567
  ? (data && this.fromObject(data))
@@ -19591,7 +19576,7 @@ class BaseEntityService extends BaseGraphqlService {
19591
19576
  query,
19592
19577
  variables: { id },
19593
19578
  fetchPolicy: opts && opts.fetchPolicy || undefined,
19594
- error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
19579
+ error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
19595
19580
  });
19596
19581
  // Convert to entity
19597
19582
  return (!opts || opts.toEntity !== false)
@@ -19622,7 +19607,7 @@ class BaseEntityService extends BaseGraphqlService {
19622
19607
  totalFieldName: withTotal ? 'total' : undefined,
19623
19608
  insertFilterFn: filter && filter.asFilterFn(),
19624
19609
  variables,
19625
- error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' },
19610
+ error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' },
19626
19611
  fetchPolicy: opts && opts.fetchPolicy || undefined
19627
19612
  })
19628
19613
  .pipe(map(({ data, total }) => {
@@ -19658,7 +19643,7 @@ class BaseEntityService extends BaseGraphqlService {
19658
19643
  const { data, total } = yield this.graphql.query({
19659
19644
  query,
19660
19645
  variables,
19661
- error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
19646
+ error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
19662
19647
  fetchPolicy: opts && opts.fetchPolicy || 'network-only'
19663
19648
  });
19664
19649
  const entities = (!opts || opts.toEntity !== false) ?
@@ -19697,7 +19682,7 @@ class BaseEntityService extends BaseGraphqlService {
19697
19682
  variables: {
19698
19683
  filter: filter && filter.asPodObject()
19699
19684
  },
19700
- error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'ERROR.COUNT_DATA_ERROR' },
19685
+ error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.COUNT_DATA_ERROR' },
19701
19686
  fetchPolicy: opts && opts.fetchPolicy || 'network-only'
19702
19687
  });
19703
19688
  return res.total;
@@ -19730,7 +19715,7 @@ class BaseEntityService extends BaseGraphqlService {
19730
19715
  variables: {
19731
19716
  data: json
19732
19717
  },
19733
- error: { code: ErrorCodes$2.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
19718
+ error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
19734
19719
  update: (proxy, { data }) => {
19735
19720
  const savedEntities = data && data.data;
19736
19721
  if (savedEntities) {
@@ -19786,7 +19771,7 @@ class BaseEntityService extends BaseGraphqlService {
19786
19771
  variables: {
19787
19772
  data: json
19788
19773
  },
19789
- error: { code: ErrorCodes$2.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
19774
+ error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
19790
19775
  update: (cache, { data }) => {
19791
19776
  // Update entity
19792
19777
  const savedEntity = data && data.data;
@@ -19834,7 +19819,7 @@ class BaseEntityService extends BaseGraphqlService {
19834
19819
  refetchQueries: this.getRefetchQueriesForMutation(opts),
19835
19820
  awaitRefetchQueries: opts && opts.awaitRefetchQueries,
19836
19821
  variables: { ids },
19837
- error: { code: ErrorCodes$2.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
19822
+ error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
19838
19823
  update: (cache, res) => {
19839
19824
  // Remove from cache
19840
19825
  if (this.watchQueriesUpdatePolicy === 'update-cache') {
@@ -19875,7 +19860,7 @@ class BaseEntityService extends BaseGraphqlService {
19875
19860
  refetchQueries: this.getRefetchQueriesForMutation(opts),
19876
19861
  awaitRefetchQueries: opts && opts.awaitRefetchQueries,
19877
19862
  variables: { id },
19878
- error: { code: ErrorCodes$2.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
19863
+ error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
19879
19864
  update: (proxy, res) => {
19880
19865
  // Remove from cache
19881
19866
  if (this.watchQueriesUpdatePolicy === 'update-cache') {
@@ -19908,7 +19893,7 @@ class BaseEntityService extends BaseGraphqlService {
19908
19893
  query: opts && opts.query || this.subscriptions.listenChanges,
19909
19894
  variables,
19910
19895
  error: {
19911
- code: ErrorCodes$2.SUBSCRIBE_DATA_ERROR,
19896
+ code: ErrorCodes.SUBSCRIBE_DATA_ERROR,
19912
19897
  message: 'ERROR.SUBSCRIBE_DATA_ERROR'
19913
19898
  }
19914
19899
  })
@@ -20083,7 +20068,7 @@ class EntitiesTableDataSource extends TableDataSource {
20083
20068
  if (this._debug)
20084
20069
  invalidRows.forEach(row => AppTableUtils.logRowErrors(row, `[table-datasource] ${this._logTypeName} row #${row.id}`));
20085
20070
  // Stop with an error
20086
- throw { code: ErrorCodes$2.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
20071
+ throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
20087
20072
  }
20088
20073
  this._editingRowCount = 0;
20089
20074
  let data;
@@ -20905,14 +20890,14 @@ class AppTable {
20905
20890
  return __awaiter(this, void 0, void 0, function* () {
20906
20891
  opts = Object.assign({ keepEditing: this.keepEditedRowOnSave }, opts);
20907
20892
  if (this.readOnly) {
20908
- throw { code: ErrorCodes$2.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
20893
+ throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
20909
20894
  }
20910
20895
  this.resetError();
20911
20896
  // Keep edited row id (should be done BEFORE confirmEditCreate() )
20912
20897
  this.previouslyEditedRowId = opts.keepEditing && ((_a = this.editedRow) === null || _a === void 0 ? void 0 : _a.editing) ? this.editedRow.id : undefined;
20913
20898
  const previouslyEditedData = isNotNil(this.previouslyEditedRowId) && this.editedRow.currentData || ((_b = this.singleSelectedRow) === null || _b === void 0 ? void 0 : _b.currentData);
20914
20899
  if (!this.confirmEditCreate()) {
20915
- throw { code: ErrorCodes$2.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
20900
+ throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
20916
20901
  }
20917
20902
  // Mark as saving
20918
20903
  this.markAsSaving();
@@ -21028,7 +21013,7 @@ class AppTable {
21028
21013
  deleteRows(event, rows, opts) {
21029
21014
  return __awaiter(this, void 0, void 0, function* () {
21030
21015
  if (this.readOnly) {
21031
- throw { code: ErrorCodes$2.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
21016
+ throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
21032
21017
  }
21033
21018
  if (event === null || event === void 0 ? void 0 : event.defaultPrevented)
21034
21019
  return 0; // SKip
@@ -22439,7 +22424,7 @@ class AppEntityEditor extends AppTabEditor {
22439
22424
  try {
22440
22425
  const data = yield this.dataService.load(id, opts);
22441
22426
  if (!data)
22442
- throw { code: ErrorCodes$2.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
22427
+ throw { code: ErrorCodes.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
22443
22428
  this._usageMode = this.computeUsageMode(data);
22444
22429
  yield this.onEntityLoaded(data, opts);
22445
22430
  yield this.updateView(data, opts);
@@ -23343,7 +23328,7 @@ class UserEventService extends BaseGraphqlService {
23343
23328
  EntityUtils.copyIdAndUpdateDate(source, target);
23344
23329
  }
23345
23330
  }
23346
- 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" });
23331
+ 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" });
23347
23332
  UserEventService.decorators = [
23348
23333
  { type: Injectable, args: [{ providedIn: 'root' },] }
23349
23334
  ];
@@ -23728,7 +23713,7 @@ class PersonService extends BaseEntityService {
23728
23713
  return target;
23729
23714
  }
23730
23715
  }
23731
- 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" });
23716
+ PersonService.ɵprov = ɵɵdefineInjectable({ factory: function PersonService_Factory() { return new PersonService(ɵɵinject(GraphqlService), ɵɵinject(PlatformService), ɵɵinject(NetworkService), ɵɵinject(EntitiesStorage)); }, token: PersonService, providedIn: "root" });
23732
23717
  PersonService.decorators = [
23733
23718
  { type: Injectable, args: [{ providedIn: 'root' },] }
23734
23719
  ];
@@ -23759,7 +23744,7 @@ class PersonValidatorService {
23759
23744
  return this.formBuilder.group(formConfig);
23760
23745
  }
23761
23746
  }
23762
- PersonValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PersonValidatorService_Factory() { return new PersonValidatorService(i0.ɵɵinject(i1$6.FormBuilder), i0.ɵɵinject(AccountValidatorService)); }, token: PersonValidatorService, providedIn: "root" });
23747
+ PersonValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function PersonValidatorService_Factory() { return new PersonValidatorService(ɵɵinject(FormBuilder), ɵɵinject(AccountValidatorService)); }, token: PersonValidatorService, providedIn: "root" });
23763
23748
  PersonValidatorService.decorators = [
23764
23749
  { type: Injectable, args: [{ providedIn: 'root' },] }
23765
23750
  ];
@@ -23965,16 +23950,16 @@ AdminModule.decorators = [
23965
23950
  ];
23966
23951
  AdminModule.ctorParameters = () => [];
23967
23952
 
23968
- const ɵ0 = {
23953
+ const ɵ0$a = {
23969
23954
  profile: 'ADMIN'
23970
23955
  };
23971
- const routes = [
23956
+ const routes$1 = [
23972
23957
  {
23973
23958
  path: 'users',
23974
23959
  pathMatch: 'full',
23975
23960
  component: UsersPage,
23976
23961
  canActivate: [AuthGuardService],
23977
- data: ɵ0
23962
+ data: ɵ0$a
23978
23963
  }
23979
23964
  ];
23980
23965
  class AdminRoutingModule {
@@ -23984,13 +23969,13 @@ AdminRoutingModule.decorators = [
23984
23969
  imports: [
23985
23970
  SharedRoutingModule,
23986
23971
  AdminModule,
23987
- RouterModule.forChild(routes)
23972
+ RouterModule.forChild(routes$1)
23988
23973
  ],
23989
23974
  exports: [RouterModule]
23990
23975
  },] }
23991
23976
  ];
23992
23977
 
23993
- const ErrorCodes = {
23978
+ const ErrorCodes$2 = {
23994
23979
  LOAD_PERSONS_ERROR: 100,
23995
23980
  SAVE_PERSONS_ERROR: 101,
23996
23981
  DELETE_PERSONS_ERROR: 102,
@@ -24002,5 +23987,5 @@ const ErrorCodes = {
24002
23987
  * Generated bundle index. Do not edit.
24003
23988
  */
24004
23989
 
24005
- export { APP_ABOUT_DEVELOPERS, APP_ABOUT_PARTNERS, APP_CONFIG_OPTIONS, APP_FORM_ERROR_I18N_KEYS, APP_GRAPHQL_TYPE_POLICIES, APP_HOME_BUTTONS, APP_LOCALES, APP_LOCAL_SETTINGS, APP_LOCAL_SETTINGS_OPTIONS, APP_LOCAL_STORAGE_TYPE_POLICIES, APP_MENU_ITEMS, APP_TESTING_PAGES, AboutModal, Account, AccountPage, AccountService, AccountToStringPipe, ActionsColumnComponent, AdminModule, AdminRoutingModule, Alerts, AnimationState, AppEditorOptions, AppEntityEditor, AppForm, AppFormField, AppFormProvider, AppFormUtils, AppGestureConfig, AppGraphQLModule, AppHelpModal, AppInMemoryTable, AppInstallUpgradeCard, AppListForm, AppLoadingSpinner, AppMenuModule, AppNullForm, AppPropertiesForm, AppTabEditor, AppTabEditorOptions, AppTable, AppTableDataSourceOptions, AppTableUtils, AppValidatorService, AppendToInputDirective, ArrayFilterPipe, ArrayFirstPipe, ArrayIncludesPipe, ArrayLengthPipe, ArrayPluckPipe, AudioProvider, AuthForm, AuthGuardService, AuthModal, AutocompleteTestPage, AutofocusDirective, Base58, BaseEntityService, BaseGraphqlService, BaseGraphqlServiceOptions, BaseReferential, Beans, CORE_CONFIG_OPTIONS, CellValueChangeListener, ChipsTestPage, Color, ColorScale, ComponentDirtyGuard, ConfigService, Configuration, CoreModule, CryptoService, DATE_ISO_PATTERN, DATE_UNIX_MS_TIMESTAMP, DATE_UNIX_TIMESTAMP, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PLACEHOLDER_CHAR, DEFAULT_REQUIRED_COLUMNS, DateDiffDurationPipe, DateFormatPipe, DateFromNowPipe, DateTimeTestPage, DateUtils, Department, DepartmentToStringPipe, DurationPipe, ENTITIES_STORAGE_KEY_PREFIX, ENVIRONMENT, EmptyArrayPipe, EntitiesService, EntitiesStorage, EntitiesTableDataSource, Entity, EntityClass, EntityClasses, EntityFilter, EntityFilterUtils, EntityMetadataComponent, EntityStore, EntityUtils, Environment, ErrorCodes, EvenPipe, FileService, FileSizePipe, FormArrayHelper, FormButtonsBarComponent, FormButtonsBarToken, FormErrorTranslatePipe, FormErrorTranslator, 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, StartableService, StatusById, StatusIds, StatusList, StrLengthPipe, SwipeTestPage, TableSelectColumnsComponent, ToStringPipe, Toasts, ToolbarComponent, ToolbarToken, TranslatablePipe, TranslateContextPipe, TranslateContextService, UserEvent, UserEventFilter, UserEventService, UserEventTypes, UserEventsTable, UserSettings, UsersPage, accountToString, adaptValueToControl, addValueInArray, arrayDistinct, arrayGroupBy, arraySize, asInputElement, canHaveFocus, capitalizeFirstLetter, chainPromises, changeCaseToUnderscore, clearValueInArray, copyEntity2Form, createPromiseEvent, createPromiseEventEmitter, departmentToString, departmentsToString, disableControls, emitPromiseEvent, entityToString, equalsOrNil, fadeInAnimation, fadeInOutAnimation, filterFalse, filterNotNil, filterNumberInput, filterTrue, firstArrayValue, firstFalsePromise, firstNotNil, firstNotNilPromise, firstTruePromise, focusInput, focusNextInput, focusPreviousInput, formatLatitude, formatLongitude, fromDateISOString, fromScrollEndEvent, fromUnixMsTimestamp, fromUnixTimestamp, getCaretPosition, getColorContrast, getColorShade, getColorTint, getConnectionType, getControlFromPath, getFocusableInputElements, getFormErrors, getFormValueFromEntity, getProperty, getPropertyByPath, getPropertyByPathAsString, getRandomImage, hexToRgb, hexToRgbArray, isControlHasInput, isEmptyArray, isInputElement, isInstanceOf, isInt, isNil, isNilOrBlank, isNilOrNaN, isNotEmptyArray, isNotNil, isNotNilOrBlank, isNotNilOrNaN, isNotNilString, isNumber, isNumberRange, joinProperties, joinPropertiesPath, logFormErrors, markAllAsTouched, markAsUntouched, markControlAsTouched, markFormGroupAsTouched, matchUpperCase, mergeLoadResult, mixHex, moveInputCaretToSeparator, noTrailingSlash, notNilOrDefault, nullIfUndefined, parseLatitudeOrLongitude, propertiesPathComparator, propertyComparator, propertyPathComparator, referentialToString, referentialsToString, remove, removeAll, removeDiacritics, removeDuplicatesFromArray, removeEnd, removeValueInArray, replaceAll, resetCalculatedValue, resizeArray, rgbArrayToHex, rgbToHex, round, scrollFactory, selectInputContent, selectInputRange, setCalculatedValue, setTabIndex, sleep, slideInOutAnimation, slideUpDownAnimation, sort, splitById, splitByProperty, startsWithUpperCase, suggestFromArray, suggestFromStringArray, tabindexComparator, toBoolean, toDateISOString, toDuration, toFloat, toInt, toNotNil, toNumber, trimEmptyToNull, uncapitalizeFirstLetter, updateValueAndValidity, waitFor, waitIdle, waitWhilePending, ɵ0$5 as ɵ0, CustomReuseStrategy as ɵa, MatNumpadDomService as ɵb, SharedMatBadgeIconModule as ɵc, MatBadgeIconDirective as ɵd, isFocusableElement as ɵe, MatBadgeIconTestPage as ɵf, RegisterForm as ɵg, AccountValidatorService as ɵh, RegisterModal as ɵi, UserSettingsValidatorService as ɵj, LocalSettingsValidatorService as ɵk };
23990
+ export { APP_ABOUT_DEVELOPERS, APP_ABOUT_PARTNERS, APP_CONFIG_OPTIONS, APP_FORM_ERROR_I18N_KEYS, APP_GRAPHQL_TYPE_POLICIES, APP_HOME_BUTTONS, APP_LOCALES, APP_LOCAL_SETTINGS, APP_LOCAL_SETTINGS_OPTIONS, APP_LOCAL_STORAGE_TYPE_POLICIES, APP_MENU_ITEMS, APP_TESTING_PAGES, AboutModal, Account, AccountPage, AccountService, AccountToStringPipe, ActionsColumnComponent, AdminModule, AdminRoutingModule, Alerts, AnimationState, AppEditorOptions, AppEntityEditor, AppForm, AppFormField, AppFormProvider, AppFormUtils, AppGestureConfig, AppGraphQLModule, AppHelpModal, AppInMemoryTable, AppInstallUpgradeCard, AppListForm, AppLoadingSpinner, AppMenuModule, AppNullForm, AppPropertiesForm, AppTabEditor, AppTabEditorOptions, AppTable, AppTableDataSourceOptions, AppTableUtils, AppValidatorService, AppendToInputDirective, ArrayFilterPipe, ArrayFirstPipe, ArrayIncludesPipe, ArrayLengthPipe, ArrayPluckPipe, AudioProvider, AuthForm, AuthGuardService, AuthModal, AutocompleteTestPage, AutofocusDirective, Base58, BaseEntityService, BaseGraphqlService, BaseGraphqlServiceOptions, BaseReferential, Beans, CORE_CONFIG_OPTIONS, CellValueChangeListener, ChipsTestPage, Color, ColorScale, ComponentDirtyGuard, ConfigService, Configuration, CoreModule, CryptoService, DATE_ISO_PATTERN, DATE_UNIX_MS_TIMESTAMP, DATE_UNIX_TIMESTAMP, DEFAULT_PAGE_SIZE, DEFAULT_PAGE_SIZE_OPTIONS, DEFAULT_PLACEHOLDER_CHAR, DEFAULT_REQUIRED_COLUMNS, DateDiffDurationPipe, DateFormatPipe, DateFromNowPipe, DateTimeTestPage, DateUtils, Department, DepartmentToStringPipe, DurationPipe, ENTITIES_STORAGE_KEY_PREFIX, ENVIRONMENT, EmptyArrayPipe, EntitiesService, EntitiesStorage, EntitiesTableDataSource, Entity, EntityClass, EntityClasses, EntityFilter, EntityFilterUtils, EntityMetadataComponent, EntityStore, EntityUtils, Environment, ErrorCodes$2 as ErrorCodes, EvenPipe, FileService, FileSizePipe, FormArrayHelper, FormButtonsBarComponent, FormButtonsBarToken, FormErrorTranslatePipe, FormErrorTranslator, 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, StartableService, StatusById, StatusIds, StatusList, StrLengthPipe, SwipeTestPage, TableSelectColumnsComponent, ToStringPipe, Toasts, ToolbarComponent, ToolbarToken, TranslatablePipe, TranslateContextPipe, TranslateContextService, UserEvent, UserEventFilter, UserEventService, UserEventTypes, UserEventsTable, UserSettings, UsersPage, accountToString, adaptValueToControl, addValueInArray, arrayDistinct, arrayGroupBy, arraySize, asInputElement, canHaveFocus, capitalizeFirstLetter, chainPromises, changeCaseToUnderscore, clearValueInArray, copyEntity2Form, createPromiseEvent, createPromiseEventEmitter, departmentToString, departmentsToString, disableControls, emitPromiseEvent, entityToString, equalsOrNil, fadeInAnimation, fadeInOutAnimation, filterFalse, filterNotNil, filterNumberInput, filterTrue, firstArrayValue, firstFalsePromise, firstNotNil, firstNotNilPromise, firstTruePromise, focusInput, focusNextInput, focusPreviousInput, formatLatitude, formatLongitude, fromDateISOString, fromScrollEndEvent, fromUnixMsTimestamp, fromUnixTimestamp, getCaretPosition, getColorContrast, getColorShade, getColorTint, getConnectionType, getControlFromPath, getFocusableInputElements, getFormErrors, getFormValueFromEntity, getProperty, getPropertyByPath, getPropertyByPathAsString, getRandomImage, hexToRgb, hexToRgbArray, isControlHasInput, isEmptyArray, isInputElement, isInstanceOf, isInt, isNil, isNilOrBlank, isNilOrNaN, isNotEmptyArray, isNotNil, isNotNilOrBlank, isNotNilOrNaN, isNotNilString, isNumber, isNumberRange, joinProperties, joinPropertiesPath, logFormErrors, markAllAsTouched, markAsUntouched, markControlAsTouched, markFormGroupAsTouched, matchUpperCase, mergeLoadResult, mixHex, moveInputCaretToSeparator, noTrailingSlash, notNilOrDefault, nullIfUndefined, parseLatitudeOrLongitude, propertiesPathComparator, propertyComparator, propertyPathComparator, referentialToString, referentialsToString, remove, removeAll, removeDiacritics, removeDuplicatesFromArray, removeEnd, removeValueInArray, replaceAll, resetCalculatedValue, resizeArray, rgbArrayToHex, rgbToHex, round, scrollFactory, selectInputContent, selectInputRange, setCalculatedValue, setTabIndex, sleep, slideInOutAnimation, slideUpDownAnimation, sort, splitById, splitByProperty, startsWithUpperCase, suggestFromArray, suggestFromStringArray, tabindexComparator, toBoolean, toDateISOString, toDuration, toFloat, toInt, toNotNil, toNumber, trimEmptyToNull, uncapitalizeFirstLetter, updateValueAndValidity, waitFor, waitIdle, waitWhilePending, ɵ0$5 as ɵ0, CustomReuseStrategy as ɵa, MatNumpadDomService as ɵb, SharedMatBadgeIconModule as ɵc, MatBadgeIconDirective as ɵd, isFocusableElement as ɵe, MatBadgeIconTestPage as ɵf, RegisterForm as ɵg, AccountValidatorService as ɵh, RegisterModal as ɵi, UserSettingsValidatorService as ɵj, LocalSettingsValidatorService as ɵk };
24006
23991
  //# sourceMappingURL=sumaris-net.ngx-components.js.map