@sumaris-net/ngx-components 1.6.18 → 1.7.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, Component, forwardRef, ChangeDetectionStrategy, ChangeDetectorRef, Optional, Input, Output, ViewChild, Pipe, Injectable, Directive, Inject, NgModule, ElementRef, ViewChildren, HostListener, ComponentFactoryResolver, ApplicationRef, Injector, Renderer2, ViewEncapsulation } from '@angular/core';
3
- import * as i1$3 from '@angular/common';
1
+ import { InjectionToken, EventEmitter, Component, forwardRef, ChangeDetectionStrategy, ChangeDetectorRef, Optional, Input, Output, ViewChild, ɵɵdefineInjectable, ɵɵinject, Pipe, Injectable, Directive, Inject, NgModule, ElementRef, TemplateRef, ViewContainerRef, ViewChildren, HostListener, ComponentFactoryResolver, ApplicationRef, INJECTOR, Injector, Renderer2, ViewEncapsulation } 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, BehaviorSubject, Subscription, Subject, isObservable, noop as noop$9, Observable, defer, of, from, combineLatest, EMPTY } from 'rxjs';
40
35
  import { filter, first, map, takeUntil, switchMap, startWith, debounceTime, takeWhile, 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';
@@ -991,14 +976,14 @@ class MatAutocompleteConfigHolder {
991
976
  return this.fields[fieldName] || this.add(fieldName);
992
977
  }
993
978
  }
994
- const noop$8 = (_) => { };
995
- const ɵ0$b = noop$8;
979
+ const noop = (_) => { };
980
+ const ɵ0 = noop;
996
981
  class MatAutocompleteField {
997
982
  constructor(cd, formGroupDir) {
998
983
  this.cd = cd;
999
984
  this.formGroupDir = formGroupDir;
1000
- this._onChangeCallback = noop$8;
1001
- this._onTouchedCallback = noop$8;
985
+ this._onChangeCallback = noop;
986
+ this._onTouchedCallback = noop;
1002
987
  this.logPrefix = '[mat-autocomplete] ';
1003
988
  this.formControlName = null;
1004
989
  this.required = false;
@@ -1718,7 +1703,7 @@ class DateFormatPipe {
1718
1703
  return this.dateAdapter.format(date, displayFormat);
1719
1704
  }
1720
1705
  }
1721
- DateFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DateFormatPipe_Factory() { return new DateFormatPipe(i0.ɵɵinject(i1.MomentDateAdapter), i0.ɵɵinject(i1$1.TranslateService)); }, token: DateFormatPipe, providedIn: "root" });
1706
+ DateFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateFormatPipe_Factory() { return new DateFormatPipe(ɵɵinject(MomentDateAdapter), ɵɵinject(TranslateService)); }, token: DateFormatPipe, providedIn: "root" });
1722
1707
  DateFormatPipe.decorators = [
1723
1708
  { type: Pipe, args: [{
1724
1709
  name: 'dateFormat'
@@ -1730,7 +1715,7 @@ DateFormatPipe.ctorParameters = () => [
1730
1715
  { type: TranslateService }
1731
1716
  ];
1732
1717
 
1733
- const moment$6 = momentImported;
1718
+ const moment = momentImported;
1734
1719
  class DateDiffDurationPipe {
1735
1720
  constructor(dateAdapter, translate) {
1736
1721
  this.dateAdapter = dateAdapter;
@@ -1746,17 +1731,17 @@ class DateDiffDurationPipe {
1746
1731
  return this.format(startDate, endDate);
1747
1732
  }
1748
1733
  format(startDate, endDate) {
1749
- const duration = moment$6.duration(endDate.diff(startDate));
1734
+ const duration = moment.duration(endDate.diff(startDate));
1750
1735
  if (duration.asMinutes() < 0)
1751
1736
  return '';
1752
- const timeDuration = moment$6(0)
1737
+ const timeDuration = moment(0)
1753
1738
  .hour(duration.hours())
1754
1739
  .minute(duration.minutes());
1755
1740
  const days = Math.floor(duration.asDays());
1756
1741
  return (days > 0 ? days.toString() + (this.dayUnit + ' ') : '') + timeDuration.format('HH:mm');
1757
1742
  }
1758
1743
  }
1759
- 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" });
1744
+ DateDiffDurationPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateDiffDurationPipe_Factory() { return new DateDiffDurationPipe(ɵɵinject(DateAdapter), ɵɵinject(TranslateService)); }, token: DateDiffDurationPipe, providedIn: "root" });
1760
1745
  DateDiffDurationPipe.decorators = [
1761
1746
  { type: Pipe, args: [{
1762
1747
  name: 'dateDiffDuration'
@@ -1777,7 +1762,7 @@ class DateFromNowPipe {
1777
1762
  return date ? date.fromNow(args && args.withoutSuffix) : '';
1778
1763
  }
1779
1764
  }
1780
- DateFromNowPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DateFromNowPipe_Factory() { return new DateFromNowPipe(i0.ɵɵinject(i1.MomentDateAdapter)); }, token: DateFromNowPipe, providedIn: "root" });
1765
+ DateFromNowPipe.ɵprov = ɵɵdefineInjectable({ factory: function DateFromNowPipe_Factory() { return new DateFromNowPipe(ɵɵinject(MomentDateAdapter)); }, token: DateFromNowPipe, providedIn: "root" });
1781
1766
  DateFromNowPipe.decorators = [
1782
1767
  { type: Pipe, args: [{
1783
1768
  name: 'dateFromNow'
@@ -1846,7 +1831,7 @@ function formatToDD(value, opts) {
1846
1831
  value *= -1;
1847
1832
  }
1848
1833
  }
1849
- let degrees = roundFloat$1(value, opts.maxDecimals).toString();
1834
+ let degrees = roundFloat(value, opts.maxDecimals).toString();
1850
1835
  // Add sign
1851
1836
  let sign = negative ? '-' : '+';
1852
1837
  if (opts.placeholderChar) {
@@ -1897,7 +1882,7 @@ function formatToDDMMSS(value, opts) {
1897
1882
  }
1898
1883
  let degrees = Math.trunc(value);
1899
1884
  let minutes = Math.trunc((value - degrees) * 60);
1900
- let seconds = roundFloat$1(((value - degrees) * 60 - minutes) * 60, opts.maxDecimals);
1885
+ let seconds = roundFloat(((value - degrees) * 60 - minutes) * 60, opts.maxDecimals);
1901
1886
  while (seconds >= 60) {
1902
1887
  seconds -= 60;
1903
1888
  minutes += 1;
@@ -1965,7 +1950,7 @@ function formatToDDMM(value, opts) {
1965
1950
  }
1966
1951
  }
1967
1952
  let degrees = Math.trunc(value);
1968
- let minutes = roundFloat$1((value - degrees) * 60, opts.maxDecimals);
1953
+ let minutes = roundFloat((value - degrees) * 60, opts.maxDecimals);
1969
1954
  while (minutes >= 60) {
1970
1955
  minutes -= 60;
1971
1956
  degrees += 1;
@@ -2016,15 +2001,15 @@ function parseLatitudeOrLongitude(input, pattern, maxDecimals, placeholderChar)
2016
2001
  return NaN;
2017
2002
  }
2018
2003
  if (pattern === 'DD')
2019
- return roundFloat$1(degrees, maxDecimals);
2004
+ return roundFloat(degrees, maxDecimals);
2020
2005
  const minutes = (pattern === 'DDMMSS' || pattern === 'DDMM') && parts[1] && parseFloat(parts[1].replace(/,/g, '.')) || 0;
2021
2006
  const seconds = (pattern === 'DDMMSS') && parts[2] && parseFloat(parts[2].replace(/,/g, '.')) || 0;
2022
2007
  const direction = ((pattern === 'DDMMSS') && parts[3]) || ((pattern === 'DDMM') && parts[2]) || undefined;
2023
2008
  const sign = (direction && (direction === 's' || direction === 'S' || direction === 'w' || direction === 'W')) ? -1 : 1;
2024
2009
  degrees = sign * (degrees + minutes / 60 + seconds / (60 * 60));
2025
- return roundFloat$1(degrees, maxDecimals);
2010
+ return roundFloat(degrees, maxDecimals);
2026
2011
  }
2027
- function roundFloat$1(input, maxDecimals) {
2012
+ function roundFloat(input, maxDecimals) {
2028
2013
  if (maxDecimals > 0) {
2029
2014
  const powDecimal = Math.pow(10, maxDecimals);
2030
2015
  return Math.trunc(input * powDecimal + 0.5) / powDecimal;
@@ -2044,7 +2029,7 @@ class LatLongFormatPipe {
2044
2029
  return ((!args.type || args.type !== 'latitude') ? formatLongitude : formatLatitude)(value, args);
2045
2030
  }
2046
2031
  }
2047
- LatLongFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LatLongFormatPipe_Factory() { return new LatLongFormatPipe(); }, token: LatLongFormatPipe, providedIn: "root" });
2032
+ LatLongFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LatLongFormatPipe_Factory() { return new LatLongFormatPipe(); }, token: LatLongFormatPipe, providedIn: "root" });
2048
2033
  LatLongFormatPipe.decorators = [
2049
2034
  { type: Pipe, args: [{
2050
2035
  name: 'latLongFormat'
@@ -2056,7 +2041,7 @@ class LatitudeFormatPipe {
2056
2041
  this.transform = formatLatitude;
2057
2042
  }
2058
2043
  }
2059
- LatitudeFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LatitudeFormatPipe_Factory() { return new LatitudeFormatPipe(); }, token: LatitudeFormatPipe, providedIn: "root" });
2044
+ LatitudeFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LatitudeFormatPipe_Factory() { return new LatitudeFormatPipe(); }, token: LatitudeFormatPipe, providedIn: "root" });
2060
2045
  LatitudeFormatPipe.decorators = [
2061
2046
  { type: Pipe, args: [{
2062
2047
  name: 'latitudeFormat'
@@ -2068,7 +2053,7 @@ class LongitudeFormatPipe {
2068
2053
  this.transform = formatLongitude;
2069
2054
  }
2070
2055
  }
2071
- LongitudeFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function LongitudeFormatPipe_Factory() { return new LongitudeFormatPipe(); }, token: LongitudeFormatPipe, providedIn: "root" });
2056
+ LongitudeFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function LongitudeFormatPipe_Factory() { return new LongitudeFormatPipe(); }, token: LongitudeFormatPipe, providedIn: "root" });
2072
2057
  LongitudeFormatPipe.decorators = [
2073
2058
  { type: Pipe, args: [{
2074
2059
  name: 'longitudeFormat'
@@ -2088,7 +2073,7 @@ class NumberFormatPipe {
2088
2073
  }
2089
2074
  }
2090
2075
  }
2091
- NumberFormatPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function NumberFormatPipe_Factory() { return new NumberFormatPipe(); }, token: NumberFormatPipe, providedIn: "root" });
2076
+ NumberFormatPipe.ɵprov = ɵɵdefineInjectable({ factory: function NumberFormatPipe_Factory() { return new NumberFormatPipe(); }, token: NumberFormatPipe, providedIn: "root" });
2092
2077
  NumberFormatPipe.decorators = [
2093
2078
  { type: Pipe, args: [{
2094
2079
  name: 'numberFormat'
@@ -2128,7 +2113,7 @@ class HighlightPipe {
2128
2113
  }
2129
2114
  }
2130
2115
  }
2131
- HighlightPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function HighlightPipe_Factory() { return new HighlightPipe(); }, token: HighlightPipe, providedIn: "root" });
2116
+ HighlightPipe.ɵprov = ɵɵdefineInjectable({ factory: function HighlightPipe_Factory() { return new HighlightPipe(); }, token: HighlightPipe, providedIn: "root" });
2132
2117
  HighlightPipe.decorators = [
2133
2118
  { type: Pipe, args: [{
2134
2119
  name: 'highlight'
@@ -2193,7 +2178,7 @@ FileSizePipe.decorators = [
2193
2178
  { type: Pipe, args: [{ name: 'fileSize' },] }
2194
2179
  ];
2195
2180
 
2196
- const moment$5 = momentImported;
2181
+ const moment$1 = momentImported;
2197
2182
  const DATE_UNIX_TIMESTAMP = 'X';
2198
2183
  const DATE_UNIX_MS_TIMESTAMP = 'x';
2199
2184
  class DateUtils {
@@ -2235,32 +2220,32 @@ function fromDateISOString(value) {
2235
2220
  if (!value || isMoment(value))
2236
2221
  return value;
2237
2222
  // Parse the input value, as a ISO date time
2238
- const date = moment$5(value, DATE_ISO_PATTERN);
2223
+ const date = moment$1(value, DATE_ISO_PATTERN);
2239
2224
  if (date.isValid())
2240
2225
  return date;
2241
2226
  // Not valid: trying to convert from unix timestamp
2242
2227
  if (typeof value === 'string') {
2243
2228
  console.warn('Wrong date format - Trying to convert from local time: ' + value);
2244
2229
  if (value.length === 10) {
2245
- return moment$5(value, DATE_UNIX_TIMESTAMP);
2230
+ return moment$1(value, DATE_UNIX_TIMESTAMP);
2246
2231
  }
2247
2232
  else if (value.length === 13) {
2248
- return moment$5(value, DATE_UNIX_MS_TIMESTAMP);
2233
+ return moment$1(value, DATE_UNIX_MS_TIMESTAMP);
2249
2234
  }
2250
2235
  }
2251
2236
  console.warn('Unable to parse date: ' + value);
2252
2237
  return undefined;
2253
2238
  }
2254
2239
  function fromUnixTimestamp(timeInSec) {
2255
- return moment$5(timeInSec, DATE_UNIX_TIMESTAMP);
2240
+ return moment$1(timeInSec, DATE_UNIX_TIMESTAMP);
2256
2241
  }
2257
2242
  function fromUnixMsTimestamp(timeInMs) {
2258
- return moment$5(timeInMs, DATE_UNIX_MS_TIMESTAMP);
2243
+ return moment$1(timeInMs, DATE_UNIX_MS_TIMESTAMP);
2259
2244
  }
2260
2245
  function toDuration(value, unit) {
2261
2246
  if (!value)
2262
2247
  return undefined;
2263
- const duration = moment$5.duration(value, unit);
2248
+ const duration = moment$1.duration(value, unit);
2264
2249
  // fix 990+ ms
2265
2250
  if (duration.milliseconds() >= 990) {
2266
2251
  duration.add(1000 - duration.milliseconds(), 'ms');
@@ -2289,7 +2274,7 @@ class DurationPipe {
2289
2274
  return (days > 0 ? days.toString() + (this.dayUnit + ' ') : '') + hour + ':' + minute;
2290
2275
  }
2291
2276
  }
2292
- DurationPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DurationPipe_Factory() { return new DurationPipe(i0.ɵɵinject(i1$1.TranslateService)); }, token: DurationPipe, providedIn: "root" });
2277
+ DurationPipe.ɵprov = ɵɵdefineInjectable({ factory: function DurationPipe_Factory() { return new DurationPipe(ɵɵinject(TranslateService)); }, token: DurationPipe, providedIn: "root" });
2293
2278
  DurationPipe.decorators = [
2294
2279
  { type: Pipe, args: [{
2295
2280
  name: 'duration'
@@ -2310,7 +2295,7 @@ class MathAbsPipe {
2310
2295
  }
2311
2296
  }
2312
2297
  }
2313
- MathAbsPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MathAbsPipe_Factory() { return new MathAbsPipe(); }, token: MathAbsPipe, providedIn: "root" });
2298
+ MathAbsPipe.ɵprov = ɵɵdefineInjectable({ factory: function MathAbsPipe_Factory() { return new MathAbsPipe(); }, token: MathAbsPipe, providedIn: "root" });
2314
2299
  MathAbsPipe.decorators = [
2315
2300
  { type: Pipe, args: [{
2316
2301
  name: 'mathAbs'
@@ -2322,7 +2307,7 @@ class EvenPipe {
2322
2307
  return val % 2 === 0;
2323
2308
  }
2324
2309
  }
2325
- EvenPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function EvenPipe_Factory() { return new EvenPipe(); }, token: EvenPipe, providedIn: "root" });
2310
+ EvenPipe.ɵprov = ɵɵdefineInjectable({ factory: function EvenPipe_Factory() { return new EvenPipe(); }, token: EvenPipe, providedIn: "root" });
2326
2311
  EvenPipe.decorators = [
2327
2312
  { type: Pipe, args: [{
2328
2313
  name: 'even'
@@ -2334,7 +2319,7 @@ class OddPipe {
2334
2319
  return val % 2 !== 0;
2335
2320
  }
2336
2321
  }
2337
- OddPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function OddPipe_Factory() { return new OddPipe(); }, token: OddPipe, providedIn: "root" });
2322
+ OddPipe.ɵprov = ɵɵdefineInjectable({ factory: function OddPipe_Factory() { return new OddPipe(); }, token: OddPipe, providedIn: "root" });
2338
2323
  OddPipe.decorators = [
2339
2324
  { type: Pipe, args: [{
2340
2325
  name: 'odd'
@@ -2442,7 +2427,7 @@ class MapGetPipe {
2442
2427
  return val[key];
2443
2428
  }
2444
2429
  }
2445
- MapGetPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapGetPipe_Factory() { return new MapGetPipe(); }, token: MapGetPipe, providedIn: "root" });
2430
+ MapGetPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapGetPipe_Factory() { return new MapGetPipe(); }, token: MapGetPipe, providedIn: "root" });
2446
2431
  MapGetPipe.decorators = [
2447
2432
  { type: Pipe, args: [{
2448
2433
  name: 'mapGet'
@@ -2456,7 +2441,7 @@ class MapKeysPipe {
2456
2441
  return Object.keys(map);
2457
2442
  }
2458
2443
  }
2459
- MapKeysPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapKeysPipe_Factory() { return new MapKeysPipe(); }, token: MapKeysPipe, providedIn: "root" });
2444
+ MapKeysPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapKeysPipe_Factory() { return new MapKeysPipe(); }, token: MapKeysPipe, providedIn: "root" });
2460
2445
  MapKeysPipe.decorators = [
2461
2446
  { type: Pipe, args: [{
2462
2447
  name: 'mapKeys'
@@ -2470,7 +2455,7 @@ class MapValuesPipe {
2470
2455
  return Object.values(map);
2471
2456
  }
2472
2457
  }
2473
- MapValuesPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function MapValuesPipe_Factory() { return new MapValuesPipe(); }, token: MapValuesPipe, providedIn: "root" });
2458
+ MapValuesPipe.ɵprov = ɵɵdefineInjectable({ factory: function MapValuesPipe_Factory() { return new MapValuesPipe(); }, token: MapValuesPipe, providedIn: "root" });
2474
2459
  MapValuesPipe.decorators = [
2475
2460
  { type: Pipe, args: [{
2476
2461
  name: 'mapValues'
@@ -2483,7 +2468,7 @@ class IsNotNilOrBlankPipe {
2483
2468
  return isNotNilOrBlank(value);
2484
2469
  }
2485
2470
  }
2486
- IsNotNilOrBlankPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNotNilOrBlankPipe_Factory() { return new IsNotNilOrBlankPipe(); }, token: IsNotNilOrBlankPipe, providedIn: "root" });
2471
+ IsNotNilOrBlankPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNotNilOrBlankPipe_Factory() { return new IsNotNilOrBlankPipe(); }, token: IsNotNilOrBlankPipe, providedIn: "root" });
2487
2472
  IsNotNilOrBlankPipe.decorators = [
2488
2473
  { type: Pipe, args: [{
2489
2474
  name: 'isNotNilOrBlank'
@@ -2495,7 +2480,7 @@ class IsNilOrBlankPipe {
2495
2480
  return isNilOrBlank(value);
2496
2481
  }
2497
2482
  }
2498
- IsNilOrBlankPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNilOrBlankPipe_Factory() { return new IsNilOrBlankPipe(); }, token: IsNilOrBlankPipe, providedIn: "root" });
2483
+ IsNilOrBlankPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNilOrBlankPipe_Factory() { return new IsNilOrBlankPipe(); }, token: IsNilOrBlankPipe, providedIn: "root" });
2499
2484
  IsNilOrBlankPipe.decorators = [
2500
2485
  { type: Pipe, args: [{
2501
2486
  name: 'isNilOrBlank'
@@ -2507,7 +2492,7 @@ class ToStringPipe {
2507
2492
  return (value !== null && value !== undefined) ? value.toString() : '';
2508
2493
  }
2509
2494
  }
2510
- ToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function ToStringPipe_Factory() { return new ToStringPipe(); }, token: ToStringPipe, providedIn: "root" });
2495
+ ToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function ToStringPipe_Factory() { return new ToStringPipe(); }, token: ToStringPipe, providedIn: "root" });
2511
2496
  ToStringPipe.decorators = [
2512
2497
  { type: Pipe, args: [{
2513
2498
  name: 'toString'
@@ -2519,7 +2504,7 @@ class StrLengthPipe {
2519
2504
  return value && value.length || 0;
2520
2505
  }
2521
2506
  }
2522
- StrLengthPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function StrLengthPipe_Factory() { return new StrLengthPipe(); }, token: StrLengthPipe, providedIn: "root" });
2507
+ StrLengthPipe.ɵprov = ɵɵdefineInjectable({ factory: function StrLengthPipe_Factory() { return new StrLengthPipe(); }, token: StrLengthPipe, providedIn: "root" });
2523
2508
  StrLengthPipe.decorators = [
2524
2509
  { type: Pipe, args: [{
2525
2510
  name: 'strLength'
@@ -2596,7 +2581,7 @@ class TranslateContextService {
2596
2581
  return translations[keys[keys.length - 1]]; // Return the last keys translation
2597
2582
  }
2598
2583
  }
2599
- TranslateContextService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TranslateContextService_Factory() { return new TranslateContextService(i0.ɵɵinject(i1$1.TranslateService)); }, token: TranslateContextService, providedIn: "root" });
2584
+ TranslateContextService.ɵprov = ɵɵdefineInjectable({ factory: function TranslateContextService_Factory() { return new TranslateContextService(ɵɵinject(TranslateService)); }, token: TranslateContextService, providedIn: "root" });
2600
2585
  TranslateContextService.decorators = [
2601
2586
  { type: Injectable, args: [{ providedIn: 'root' },] }
2602
2587
  ];
@@ -2646,7 +2631,7 @@ class PropertyGetPipe {
2646
2631
  args && args.defaultValue);
2647
2632
  }
2648
2633
  }
2649
- PropertyGetPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function PropertyGetPipe_Factory() { return new PropertyGetPipe(); }, token: PropertyGetPipe, providedIn: "root" });
2634
+ PropertyGetPipe.ɵprov = ɵɵdefineInjectable({ factory: function PropertyGetPipe_Factory() { return new PropertyGetPipe(); }, token: PropertyGetPipe, providedIn: "root" });
2650
2635
  PropertyGetPipe.decorators = [
2651
2636
  { type: Pipe, args: [{
2652
2637
  name: 'propertyGet'
@@ -2671,7 +2656,7 @@ NgInitDirective.propDecorators = {
2671
2656
  ngInit: [{ type: Output }]
2672
2657
  };
2673
2658
 
2674
- const moment$4 = momentImported;
2659
+ const moment$2 = momentImported;
2675
2660
  // @dynamic
2676
2661
  class SharedValidators {
2677
2662
  static getDoubleRegexp(maxDecimals) {
@@ -2688,7 +2673,7 @@ class SharedValidators {
2688
2673
  }
2689
2674
  static validDate(control) {
2690
2675
  const value = control.value;
2691
- const date = !value || moment$4.isMoment(value) ? value : moment$4(control.value, DATE_ISO_PATTERN);
2676
+ const date = !value || moment$2.isMoment(value) ? value : moment$2(control.value, DATE_ISO_PATTERN);
2692
2677
  if (date && (!date.isValid() || date.year() < 1970)) {
2693
2678
  return { validDate: true };
2694
2679
  }
@@ -3762,7 +3747,7 @@ class FormErrorTranslator {
3762
3747
  return errorKey;
3763
3748
  }
3764
3749
  }
3765
- 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" });
3750
+ FormErrorTranslator.ɵprov = ɵɵdefineInjectable({ factory: function FormErrorTranslator_Factory() { return new FormErrorTranslator(ɵɵinject(TranslateService), ɵɵinject(APP_FORM_ERROR_I18N_KEYS, 8)); }, token: FormErrorTranslator, providedIn: "root" });
3766
3751
  FormErrorTranslator.decorators = [
3767
3752
  { type: Injectable, args: [{ providedIn: 'root' },] }
3768
3753
  ];
@@ -4012,6 +3997,37 @@ AutofocusDirective.ctorParameters = () => [
4012
3997
  { type: Keyboard, decorators: [{ type: Optional }] }
4013
3998
  ];
4014
3999
 
4000
+ class NgVarDirective {
4001
+ constructor(templateRef, vcRef) {
4002
+ this.templateRef = templateRef;
4003
+ this.vcRef = vcRef;
4004
+ this.context = {
4005
+ $implicit: null,
4006
+ ngVar: null,
4007
+ };
4008
+ this.hasView = false;
4009
+ }
4010
+ set ngVar(context) {
4011
+ this.context.$implicit = this.context.ngVar = context;
4012
+ if (!this.hasView) {
4013
+ this.vcRef.createEmbeddedView(this.templateRef, this.context);
4014
+ this.hasView = true;
4015
+ }
4016
+ }
4017
+ }
4018
+ NgVarDirective.decorators = [
4019
+ { type: Directive, args: [{
4020
+ selector: '[ngVar]',
4021
+ },] }
4022
+ ];
4023
+ NgVarDirective.ctorParameters = () => [
4024
+ { type: TemplateRef },
4025
+ { type: ViewContainerRef }
4026
+ ];
4027
+ NgVarDirective.propDecorators = {
4028
+ ngVar: [{ type: Input }]
4029
+ };
4030
+
4015
4031
  class SharedDirectivesModule {
4016
4032
  }
4017
4033
  SharedDirectivesModule.decorators = [
@@ -4021,10 +4037,12 @@ SharedDirectivesModule.decorators = [
4021
4037
  IonicModule
4022
4038
  ],
4023
4039
  declarations: [
4024
- AutofocusDirective
4040
+ AutofocusDirective,
4041
+ NgVarDirective
4025
4042
  ],
4026
4043
  exports: [
4027
- AutofocusDirective
4044
+ AutofocusDirective,
4045
+ NgVarDirective
4028
4046
  ]
4029
4047
  },] }
4030
4048
  ];
@@ -4081,9 +4099,9 @@ function parseDuration(input, maxDecimals, placeholderChar) {
4081
4099
  const hour = parseInt(durationParts[0] || '0');
4082
4100
  const minute = parseInt(durationParts[1] || '0');
4083
4101
  const value = hour + (minute + 0.5) / 60;
4084
- return roundFloat(value, maxDecimals);
4102
+ return roundFloat$1(value, maxDecimals);
4085
4103
  }
4086
- function roundFloat(input, maxDecimals) {
4104
+ function roundFloat$1(input, maxDecimals) {
4087
4105
  if (maxDecimals > 0) {
4088
4106
  const powDecimal = Math.pow(10, maxDecimals);
4089
4107
  return Math.trunc(input * powDecimal + 0.5) / powDecimal;
@@ -4107,9 +4125,9 @@ const MASKS = {
4107
4125
  DD: [/[+-]/, /\d/, /\d/, /\d/, '.', /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, /\d/, '°']
4108
4126
  }
4109
4127
  };
4110
- const noop$7 = () => {
4128
+ const noop$1 = () => {
4111
4129
  };
4112
- const ɵ0$a = noop$7;
4130
+ const ɵ0$1 = noop$1;
4113
4131
  class MatLatLongField {
4114
4132
  constructor(platform, translate, formBuilder, cd, formGroupDir) {
4115
4133
  this.platform = platform;
@@ -4117,8 +4135,8 @@ class MatLatLongField {
4117
4135
  this.formBuilder = formBuilder;
4118
4136
  this.cd = cd;
4119
4137
  this.formGroupDir = formGroupDir;
4120
- this._onChangeCallback = noop$7;
4121
- this._onTouchedCallback = noop$7;
4138
+ this._onChangeCallback = noop$1;
4139
+ this._onTouchedCallback = noop$1;
4122
4140
  this._subscription = new Subscription();
4123
4141
  this.disabling = false;
4124
4142
  this.writing = false;
@@ -4151,11 +4169,8 @@ class MatLatLongField {
4151
4169
  this.pattern = 'DDMM';
4152
4170
  this.mask = MASKS[this.type][this.pattern];
4153
4171
  }
4154
- if (isNil(this.maxDecimals)) {
4155
- this.maxDecimals = DEFAULT_MAX_DECIMALS;
4156
- }
4157
4172
  // Remove max decimals in the DDMMSS format
4158
- else if (this.pattern === 'DD') {
4173
+ if (this.pattern === 'DD') {
4159
4174
  console.warn(`Invalid attribute 'maxDecimals' - Must be '0' when using the 'DDMMSS' pattern.`);
4160
4175
  this.maxDecimals = 7;
4161
4176
  }
@@ -4163,12 +4178,15 @@ class MatLatLongField {
4163
4178
  console.warn(`Invalid attribute 'maxDecimals' - Must be '0' when using the 'DDMMSS' pattern.`);
4164
4179
  this.maxDecimals = 0;
4165
4180
  }
4181
+ else if (isNil(this.maxDecimals)) {
4182
+ this.maxDecimals = DEFAULT_MAX_DECIMALS;
4183
+ }
4166
4184
  else if (this.maxDecimals < 0) {
4167
4185
  console.error('Invalid attribute \'maxDecimals\'. Must a positive value.');
4168
4186
  this.maxDecimals = DEFAULT_MAX_DECIMALS;
4169
4187
  }
4170
4188
  else if (this.maxDecimals !== DEFAULT_MAX_DECIMALS) {
4171
- console.warn(`Invalid attribute 'maxDecimals' - Expected value: ${DEFAULT_MAX_DECIMALS}. Other value not implemented.`);
4189
+ console.warn(`Invalid attribute 'maxDecimals' - Expected value: ${DEFAULT_MAX_DECIMALS} but get: ${this.maxDecimals}. Other value not implemented.`);
4172
4190
  this.maxDecimals = DEFAULT_MAX_DECIMALS;
4173
4191
  }
4174
4192
  this.showSignControl = this.pattern !== 'DD';
@@ -4455,14 +4473,14 @@ SharedMatLatLongModule.decorators = [
4455
4473
  },] }
4456
4474
  ];
4457
4475
 
4458
- const DEFAULT_VALUE_ACCESSOR$5 = {
4476
+ const DEFAULT_VALUE_ACCESSOR = {
4459
4477
  provide: NG_VALUE_ACCESSOR,
4460
4478
  useExisting: forwardRef(() => MatDate),
4461
4479
  multi: true
4462
4480
  };
4463
- const DAY_MASK$2 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
4464
- const noop$6 = () => { };
4465
- const ɵ0$9 = noop$6;
4481
+ const DAY_MASK = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
4482
+ const noop$2 = () => { };
4483
+ const ɵ0$2 = noop$2;
4466
4484
  class MatDate {
4467
4485
  constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
4468
4486
  this.dateAdapter = dateAdapter;
@@ -4471,12 +4489,12 @@ class MatDate {
4471
4489
  this.cd = cd;
4472
4490
  this.keyboard = keyboard;
4473
4491
  this.formGroupDir = formGroupDir;
4474
- this._onChangeCallback = noop$6;
4475
- this._onTouchedCallback = noop$6;
4492
+ this._onChangeCallback = noop$2;
4493
+ this._onTouchedCallback = noop$2;
4476
4494
  this._subscription = new Subscription();
4477
4495
  this.writing = true;
4478
4496
  this.disabling = false;
4479
- this.dayMask = DAY_MASK$2;
4497
+ this.dayMask = DAY_MASK;
4480
4498
  this.disabled = false;
4481
4499
  this.floatLabel = 'auto';
4482
4500
  this.readonly = false;
@@ -4713,7 +4731,7 @@ MatDate.decorators = [
4713
4731
  selector: 'mat-date-field',
4714
4732
  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",
4715
4733
  providers: [
4716
- DEFAULT_VALUE_ACCESSOR$5,
4734
+ DEFAULT_VALUE_ACCESSOR,
4717
4735
  ],
4718
4736
  changeDetection: ChangeDetectionStrategy.OnPush,
4719
4737
  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%}"]
@@ -4746,17 +4764,17 @@ MatDate.propDecorators = {
4746
4764
  matInputs: [{ type: ViewChildren, args: ['matInput',] }]
4747
4765
  };
4748
4766
 
4749
- const DEFAULT_VALUE_ACCESSOR$4 = {
4767
+ const DEFAULT_VALUE_ACCESSOR$1 = {
4750
4768
  provide: NG_VALUE_ACCESSOR,
4751
4769
  useExisting: forwardRef(() => MatDateTime),
4752
4770
  multi: true
4753
4771
  };
4754
4772
  const DAY_MASK$1 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
4755
4773
  const HOUR_REGEXP = /^[012][0-9][:][012345][0-9]$/;
4756
- const HOUR_MASK$1 = [/[012]/, /\d/, ':', /[012345]/, /\d/];
4757
- const noop$5 = () => {
4774
+ const HOUR_MASK = [/[012]/, /\d/, ':', /[012345]/, /\d/];
4775
+ const noop$3 = () => {
4758
4776
  };
4759
- const ɵ0$8 = noop$5;
4777
+ const ɵ0$3 = noop$3;
4760
4778
  class MatDateTime {
4761
4779
  constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
4762
4780
  this.platform = platform;
@@ -4766,14 +4784,14 @@ class MatDateTime {
4766
4784
  this.cd = cd;
4767
4785
  this.keyboard = keyboard;
4768
4786
  this.formGroupDir = formGroupDir;
4769
- this._onChangeCallback = noop$5;
4770
- this._onTouchedCallback = noop$5;
4787
+ this._onChangeCallback = noop$3;
4788
+ this._onTouchedCallback = noop$3;
4771
4789
  this._subscription = new Subscription();
4772
4790
  this.writing = true;
4773
4791
  this.disabling = false;
4774
4792
  this._readonly = false;
4775
4793
  this.dayMask = DAY_MASK$1;
4776
- this.hourMask = HOUR_MASK$1;
4794
+ this.hourMask = HOUR_MASK;
4777
4795
  this.floatLabel = 'auto';
4778
4796
  this.compact = false;
4779
4797
  this.placeholderChar = DEFAULT_PLACEHOLDER_CHAR;
@@ -5085,7 +5103,7 @@ MatDateTime.decorators = [
5085
5103
  selector: 'mat-date-time-field',
5086
5104
  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",
5087
5105
  providers: [
5088
- DEFAULT_VALUE_ACCESSOR$4,
5106
+ DEFAULT_VALUE_ACCESSOR$1,
5089
5107
  ],
5090
5108
  changeDetection: ChangeDetectionStrategy.OnPush,
5091
5109
  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%}"]
@@ -5119,15 +5137,15 @@ MatDateTime.propDecorators = {
5119
5137
  matInputs: [{ type: ViewChildren, args: ['matInput',] }]
5120
5138
  };
5121
5139
 
5122
- const DEFAULT_VALUE_ACCESSOR$3 = {
5140
+ const DEFAULT_VALUE_ACCESSOR$2 = {
5123
5141
  provide: NG_VALUE_ACCESSOR,
5124
5142
  useExisting: forwardRef(() => MatDateShort),
5125
5143
  multi: true
5126
5144
  };
5127
- const DAY_MASK = [/\d/, /\d/, /\d/, /\d/];
5145
+ const DAY_MASK$2 = [/\d/, /\d/, /\d/, /\d/];
5128
5146
  const noop$4 = () => {
5129
5147
  };
5130
- const ɵ0$7 = noop$4;
5148
+ const ɵ0$4 = noop$4;
5131
5149
  class MatDateShort {
5132
5150
  constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
5133
5151
  this.dateAdapter = dateAdapter;
@@ -5140,7 +5158,7 @@ class MatDateShort {
5140
5158
  this._onTouchedCallback = noop$4;
5141
5159
  this.writing = true;
5142
5160
  this.disabling = false;
5143
- this.dayMask = DAY_MASK;
5161
+ this.dayMask = DAY_MASK$2;
5144
5162
  this.disabled = false;
5145
5163
  this.floatLabel = 'auto';
5146
5164
  this.readonly = false;
@@ -5385,7 +5403,7 @@ MatDateShort.decorators = [
5385
5403
  selector: 'mat-date-short-field',
5386
5404
  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_YEAR_PLACEHOLDER'|translate\"\n (blur)=\"checkIfTouched()\"\n (keyup.arrowdown)=\"openDatePicker($event, datePicker1)\"\n (keyup.escape)=\"preventEvent($event)\"\n (click)=\"matInput.select()\"\n [required]=\"required\"\n [tabindex]=\"tabindex\">\n <input matInput #matInput autocomplete=\"off\" type=\"text\"\n *ngIf=\"mobile\"\n [formControl]=\"dayControl\"\n (click)=\"openDatePickerIfMobile($event, datePicker1)\"\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]=\"datePicker1\"\n (dateChange)=\"onDatePickerChange($event)\">\n\n\n <button matSuffix mat-icon-button tabindex=\"-1\"\n type=\"button\"\n (click)=\"openDatePicker($event, datePicker1)\"\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 <ng-content select=\"mat-error\"></ng-content>\n </mat-form-field>\n\n <mat-datepicker #datePicker1\n startView=\"multi-year\"\n [touchUi]=\"mobile\"\n [disabled]=\"formControl.disabled\"\n (yearSelected)=\"closeDatePicker($event, datePicker1)\"\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",
5387
5405
  providers: [
5388
- DEFAULT_VALUE_ACCESSOR$3,
5406
+ DEFAULT_VALUE_ACCESSOR$2,
5389
5407
  ],
5390
5408
  changeDetection: ChangeDetectionStrategy.OnPush,
5391
5409
  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%}"]
@@ -5453,16 +5471,16 @@ SharedMatDateTimeModule.decorators = [
5453
5471
  },] }
5454
5472
  ];
5455
5473
 
5456
- const DEFAULT_VALUE_ACCESSOR$2 = {
5474
+ const DEFAULT_VALUE_ACCESSOR$3 = {
5457
5475
  provide: NG_VALUE_ACCESSOR,
5458
5476
  useExisting: forwardRef(() => MatDuration),
5459
5477
  multi: true
5460
5478
  };
5461
5479
  const HOUR_TIME_PATTERN = /[0-9]\d\d:[0-5]\d/;
5462
- const HOUR_MASK = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
5463
- const noop$3 = () => {
5480
+ const HOUR_MASK$1 = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
5481
+ const noop$5 = () => {
5464
5482
  };
5465
- const ɵ0$6 = noop$3;
5483
+ const ɵ0$5 = noop$5;
5466
5484
  class MatDuration {
5467
5485
  constructor(platform, dateAdapter, translate, formBuilder, cd, formGroupDir) {
5468
5486
  this.dateAdapter = dateAdapter;
@@ -5471,11 +5489,11 @@ class MatDuration {
5471
5489
  this.cd = cd;
5472
5490
  this.formGroupDir = formGroupDir;
5473
5491
  this._subscription = new Subscription();
5474
- this._onChangeCallback = noop$3;
5475
- this._onTouchedCallback = noop$3;
5492
+ this._onChangeCallback = noop$5;
5493
+ this._onTouchedCallback = noop$5;
5476
5494
  this.writing = true;
5477
5495
  this.disabling = false;
5478
- this.hourMask = HOUR_MASK;
5496
+ this.hourMask = HOUR_MASK$1;
5479
5497
  this.disabled = false;
5480
5498
  this.floatLabel = 'auto';
5481
5499
  this.readonly = false;
@@ -5655,7 +5673,7 @@ MatDuration.decorators = [
5655
5673
  selector: 'mat-duration-field',
5656
5674
  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",
5657
5675
  providers: [
5658
- DEFAULT_VALUE_ACCESSOR$2,
5676
+ DEFAULT_VALUE_ACCESSOR$3,
5659
5677
  ],
5660
5678
  changeDetection: ChangeDetectionStrategy.OnPush,
5661
5679
  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%}"]
@@ -5712,22 +5730,22 @@ SharedMatDurationModule.decorators = [
5712
5730
  },] }
5713
5731
  ];
5714
5732
 
5715
- const DEFAULT_VALUE_ACCESSOR$1 = {
5733
+ const DEFAULT_VALUE_ACCESSOR$4 = {
5716
5734
  provide: NG_VALUE_ACCESSOR,
5717
5735
  useExisting: forwardRef(() => MatBooleanField),
5718
5736
  multi: true
5719
5737
  };
5720
- const noop$2 = () => {
5738
+ const noop$6 = () => {
5721
5739
  };
5722
- const ɵ0$5 = noop$2;
5740
+ const ɵ0$6 = noop$6;
5723
5741
  class MatBooleanField {
5724
5742
  constructor(translate, formBuilder, cd, formGroupDir) {
5725
5743
  this.translate = translate;
5726
5744
  this.formBuilder = formBuilder;
5727
5745
  this.cd = cd;
5728
5746
  this.formGroupDir = formGroupDir;
5729
- this._onChangeCallback = noop$2;
5730
- this._onTouchedCallback = noop$2;
5747
+ this._onChangeCallback = noop$6;
5748
+ this._onTouchedCallback = noop$6;
5731
5749
  this._writing = false;
5732
5750
  this.showRadio = false;
5733
5751
  this.disabled = false;
@@ -5890,7 +5908,7 @@ MatBooleanField.decorators = [
5890
5908
  selector: 'mat-boolean-field',
5891
5909
  template: "<mat-form-field *ngIf=\"readonly; else writable\"\n [floatLabel]=\"floatLabel\"\n class=\"mat-form-field-disabled {{classList}}\">\n <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\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 <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\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 <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\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 <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\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 <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\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 <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\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 <div matPrefix>\n <ng-container *ngTemplateOutlet=\"matPrefixTemplate\"></ng-container>\n </div>\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 <mat-error *ngIf=\"formControl.hasError('required')\" translate>ERROR.FIELD_REQUIRED</mat-error>\n <div matSuffix>\n <ng-container *ngTemplateOutlet=\"matSuffixTemplate\"></ng-container>\n </div>\n\n </mat-form-field>\n </ng-container>\n\n</ng-template>\n\n\n<ng-template #matPrefixTemplate>\n <ng-content select=\"[matPrefix]\"></ng-content>\n</ng-template>\n<ng-template #matSuffixTemplate>\n <ng-content select=\"[matSuffix]\"></ng-content>\n</ng-template>\n",
5892
5910
  providers: [
5893
- DEFAULT_VALUE_ACCESSOR$1
5911
+ DEFAULT_VALUE_ACCESSOR$4
5894
5912
  ],
5895
5913
  changeDetection: ChangeDetectionStrategy.OnPush,
5896
5914
  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}"]
@@ -6136,7 +6154,7 @@ class MatNumpadDomService {
6136
6154
  this.appRef.detachView(this.componentRef.hostView);
6137
6155
  }
6138
6156
  }
6139
- 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" });
6157
+ MatNumpadDomService.ɵprov = ɵɵdefineInjectable({ factory: function MatNumpadDomService_Factory() { return new MatNumpadDomService(ɵɵinject(ComponentFactoryResolver), ɵɵinject(ApplicationRef), ɵɵinject(INJECTOR), ɵɵinject(DOCUMENT, 8)); }, token: MatNumpadDomService, providedIn: "root" });
6140
6158
  MatNumpadDomService.decorators = [
6141
6159
  { type: Injectable, args: [{
6142
6160
  providedIn: 'root'
@@ -6500,7 +6518,7 @@ SharedMatNumpadModule.decorators = [
6500
6518
  },] }
6501
6519
  ];
6502
6520
 
6503
- const DEFAULT_VALUE_ACCESSOR = {
6521
+ const DEFAULT_VALUE_ACCESSOR$5 = {
6504
6522
  provide: NG_VALUE_ACCESSOR,
6505
6523
  useExisting: forwardRef(() => MatSwipeField),
6506
6524
  multi: true
@@ -6763,7 +6781,7 @@ MatSwipeField.decorators = [
6763
6781
  { type: Component, args: [{
6764
6782
  selector: 'mat-swipe-field',
6765
6783
  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",
6766
- providers: [DEFAULT_VALUE_ACCESSOR],
6784
+ providers: [DEFAULT_VALUE_ACCESSOR$5],
6767
6785
  changeDetection: ChangeDetectionStrategy.OnPush,
6768
6786
  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}"]
6769
6787
  },] }
@@ -6821,14 +6839,14 @@ SharedMatSwipeModule.decorators = [
6821
6839
  },] }
6822
6840
  ];
6823
6841
 
6824
- const noop$1 = () => { };
6825
- const ɵ0$4 = noop$1;
6842
+ const noop$7 = () => { };
6843
+ const ɵ0$7 = noop$7;
6826
6844
  class MatChipsField {
6827
6845
  constructor(cd, formGroupDir) {
6828
6846
  this.cd = cd;
6829
6847
  this.formGroupDir = formGroupDir;
6830
- this._onChangeCallback = noop$1;
6831
- this._onTouchedCallback = noop$1;
6848
+ this._onChangeCallback = noop$7;
6849
+ this._onTouchedCallback = noop$7;
6832
6850
  this.logPrefix = '[mat-chips] ';
6833
6851
  this.formControlName = null;
6834
6852
  this.required = false;
@@ -7697,7 +7715,7 @@ class ProgressBarService {
7697
7715
  }
7698
7716
  }
7699
7717
  }
7700
- ProgressBarService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ProgressBarService_Factory() { return new ProgressBarService(); }, token: ProgressBarService, providedIn: "root" });
7718
+ ProgressBarService.ɵprov = ɵɵdefineInjectable({ factory: function ProgressBarService_Factory() { return new ProgressBarService(); }, token: ProgressBarService, providedIn: "root" });
7701
7719
  ProgressBarService.decorators = [
7702
7720
  { type: Injectable, args: [{ providedIn: 'root' },] }
7703
7721
  ];
@@ -7741,7 +7759,7 @@ class AppGestureConfig extends HammerGestureConfig {
7741
7759
  return mc;
7742
7760
  }
7743
7761
  }
7744
- AppGestureConfig.ɵprov = i0.ɵɵdefineInjectable({ factory: function AppGestureConfig_Factory() { return new AppGestureConfig(); }, token: AppGestureConfig, providedIn: "root" });
7762
+ AppGestureConfig.ɵprov = ɵɵdefineInjectable({ factory: function AppGestureConfig_Factory() { return new AppGestureConfig(); }, token: AppGestureConfig, providedIn: "root" });
7745
7763
  AppGestureConfig.decorators = [
7746
7764
  { type: Injectable, args: [{ providedIn: 'root' },] }
7747
7765
  ];
@@ -7966,7 +7984,7 @@ class MatPaginatorI18n extends MatPaginatorIntl {
7966
7984
  this.previousPageLabel = this.translate.instant('COMMON.PAGINATOR.PREVIOUS_PAGE');
7967
7985
  }
7968
7986
  }
7969
- MatPaginatorI18n.ɵprov = i0.ɵɵdefineInjectable({ factory: function MatPaginatorI18n_Factory() { return new MatPaginatorI18n(i0.ɵɵinject(i1$1.TranslateService)); }, token: MatPaginatorI18n, providedIn: "root" });
7987
+ MatPaginatorI18n.ɵprov = ɵɵdefineInjectable({ factory: function MatPaginatorI18n_Factory() { return new MatPaginatorI18n(ɵɵinject(TranslateService)); }, token: MatPaginatorI18n, providedIn: "root" });
7970
7988
  MatPaginatorI18n.decorators = [
7971
7989
  { type: Injectable, args: [{ providedIn: 'root' },] }
7972
7990
  ];
@@ -8056,17 +8074,17 @@ function getColorContrast(color, bw) {
8056
8074
  return rgbArrayToHex(rgb.map(v => 255 - v));
8057
8075
  }
8058
8076
 
8059
- const noop = () => {
8077
+ const noop$8 = () => {
8060
8078
  };
8061
- const ɵ0$3 = noop;
8079
+ const ɵ0$8 = noop$8;
8062
8080
  class AppFormField {
8063
8081
  constructor(translate, cd, injector, formGroupDir) {
8064
8082
  this.translate = translate;
8065
8083
  this.cd = cd;
8066
8084
  this.injector = injector;
8067
8085
  this.formGroupDir = formGroupDir;
8068
- this._onChangeCallback = noop;
8069
- this._onTouchedCallback = noop;
8086
+ this._onChangeCallback = noop$8;
8087
+ this._onTouchedCallback = noop$8;
8070
8088
  this.readonly = false;
8071
8089
  this.compact = false;
8072
8090
  this.floatLabel = 'auto';
@@ -8499,14 +8517,14 @@ class AudioProvider extends StartableService {
8499
8517
  });
8500
8518
  }
8501
8519
  }
8502
- 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" });
8520
+ 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" });
8503
8521
  AudioProvider.decorators = [
8504
8522
  { type: Injectable, args: [{ providedIn: 'root' },] }
8505
8523
  ];
8506
8524
  AudioProvider.ctorParameters = () => [
8507
8525
  { type: Platform },
8508
- { type: NativeAudio, decorators: [{ type: Optional }] },
8509
- { type: Vibration, decorators: [{ type: Optional }] },
8526
+ { type: NativeAudio$1, decorators: [{ type: Optional }] },
8527
+ { type: Vibration$1, decorators: [{ type: Optional }] },
8510
8528
  { type: AudioManagement, decorators: [{ type: Optional }] }
8511
8529
  ];
8512
8530
 
@@ -8588,7 +8606,7 @@ class Hotkeys {
8588
8606
  });
8589
8607
  }
8590
8608
  }
8591
- 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" });
8609
+ Hotkeys.ɵprov = ɵɵdefineInjectable({ factory: function Hotkeys_Factory() { return new Hotkeys(ɵɵinject(EventManager), ɵɵinject(MatDialog), ɵɵinject(DOCUMENT), ɵɵinject(ModalController)); }, token: Hotkeys, providedIn: "root" });
8592
8610
  Hotkeys.decorators = [
8593
8611
  { type: Injectable, args: [{
8594
8612
  providedIn: 'root'
@@ -8762,7 +8780,7 @@ class Base64ImageReader {
8762
8780
  }
8763
8781
  }
8764
8782
 
8765
- const uuidv4$1 = uuidv4Imported;
8783
+ const uuidv4 = uuidv4Imported;
8766
8784
  class FileService {
8767
8785
  constructor(platform,
8768
8786
  //private transfer: FileTransfer,
@@ -8799,7 +8817,7 @@ class FileService {
8799
8817
  const lastSlashIndex = source.lastIndexOf('/');
8800
8818
  if (lastSlashIndex === -1)
8801
8819
  throw new Error('Invalid URL: ' + source);
8802
- const fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4$1();
8820
+ const fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4();
8803
8821
  // Download into the file system
8804
8822
  if (responseType === 'file' && this.canUseFileSystem) {
8805
8823
  console.warn(`WARN: [file] Fetching image {${source}} in local file...`);
@@ -8855,7 +8873,7 @@ class FileService {
8855
8873
  this._started = true;
8856
8874
  }
8857
8875
  }
8858
- 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" });
8876
+ FileService.ɵprov = ɵɵdefineInjectable({ factory: function FileService_Factory() { return new FileService(ɵɵinject(Platform), ɵɵinject(HttpClient), ɵɵinject(ENVIRONMENT)); }, token: FileService, providedIn: "root" });
8859
8877
  FileService.decorators = [
8860
8878
  { type: Injectable, args: [{
8861
8879
  providedIn: 'root',
@@ -9021,7 +9039,7 @@ class Base58 {
9021
9039
  Base58.alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
9022
9040
 
9023
9041
  const scrypt = require('scrypt-async');
9024
- const sha256$1 = require('hash.js/lib/hash/sha/256');
9042
+ const sha256 = require('hash.js/lib/hash/sha/256');
9025
9043
  const sha512 = require('hash.js/lib/hash/sha/512');
9026
9044
  const nacl = {
9027
9045
  sign,
@@ -9125,7 +9143,7 @@ class CryptoService {
9125
9143
  * Hash (using SHA256) a message
9126
9144
  */
9127
9145
  sha256(message) {
9128
- return sha256$1().update(message).digest('hex');
9146
+ return sha256().update(message).digest('hex');
9129
9147
  }
9130
9148
  /**
9131
9149
  * Hash (using SHA512) a message
@@ -9138,7 +9156,7 @@ class CryptoService {
9138
9156
  return nacl.util.encodeBase64(m);
9139
9157
  }
9140
9158
  }
9141
- CryptoService.ɵprov = i0.ɵɵdefineInjectable({ factory: function CryptoService_Factory() { return new CryptoService(); }, token: CryptoService, providedIn: "root" });
9159
+ CryptoService.ɵprov = ɵɵdefineInjectable({ factory: function CryptoService_Factory() { return new CryptoService(); }, token: CryptoService, providedIn: "root" });
9142
9160
  CryptoService.decorators = [
9143
9161
  { type: Injectable, args: [{ providedIn: 'root' },] }
9144
9162
  ];
@@ -10366,7 +10384,7 @@ class LocalSettingsService extends StartableService {
10366
10384
  return page;
10367
10385
  }
10368
10386
  }
10369
- 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" });
10387
+ 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" });
10370
10388
  LocalSettingsService.decorators = [
10371
10389
  { type: Injectable, args: [{
10372
10390
  providedIn: 'root',
@@ -11024,7 +11042,7 @@ class NetworkService extends StartableService {
11024
11042
  });
11025
11043
  }
11026
11044
  }
11027
- 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" });
11045
+ 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" });
11028
11046
  NetworkService.decorators = [
11029
11047
  { type: Injectable, args: [{ providedIn: 'root' },] }
11030
11048
  ];
@@ -11035,16 +11053,16 @@ NetworkService.ctorParameters = () => [
11035
11053
  { type: CryptoService },
11036
11054
  { type: Storage },
11037
11055
  { type: LocalSettingsService },
11038
- { type: CacheService },
11056
+ { type: CacheService$1 },
11039
11057
  { type: HttpClient },
11040
11058
  { type: undefined, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] },
11041
- { type: Network, decorators: [{ type: Optional }] },
11042
- { type: SplashScreen, decorators: [{ type: Optional }] },
11059
+ { type: Network$1, decorators: [{ type: Optional }] },
11060
+ { type: SplashScreen$1, decorators: [{ type: Optional }] },
11043
11061
  { type: TranslateService, decorators: [{ type: Optional }] },
11044
11062
  { type: ToastController, decorators: [{ type: Optional }] }
11045
11063
  ];
11046
11064
 
11047
- const ErrorCodes$2 = {
11065
+ const ErrorCodes = {
11048
11066
  UNKNOWN_ERROR: 0,
11049
11067
  LOAD_ACCOUNT_ERROR: 1,
11050
11068
  BAD_PASSWORD: 2,
@@ -11396,7 +11414,7 @@ class EntityStore {
11396
11414
  }
11397
11415
  catch (err) {
11398
11416
  console.error(err);
11399
- throw { code: ErrorCodes$2.ENTITY_STORAGE_MIGRATION_FAILED, message: 'ERROR.ENTITY_STORAGE_MIGRATION_FAILED', details: err };
11417
+ throw { code: ErrorCodes.ENTITY_STORAGE_MIGRATION_FAILED, message: 'ERROR.ENTITY_STORAGE_MIGRATION_FAILED', details: err };
11400
11418
  }
11401
11419
  }
11402
11420
  // Emit update event
@@ -11970,7 +11988,7 @@ class EntitiesStorage extends StartableService {
11970
11988
  }
11971
11989
  EntitiesStorage.TRASH_PREFIX = 'Trash#';
11972
11990
  EntitiesStorage.REMOTE_PREFIX = 'Remote#';
11973
- 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" });
11991
+ 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" });
11974
11992
  EntitiesStorage.decorators = [
11975
11993
  { type: Injectable, args: [{ providedIn: 'root' },] }
11976
11994
  ];
@@ -12107,10 +12125,10 @@ function referentialToString(obj, properties) {
12107
12125
  function referentialsToString(values, properties, separator) {
12108
12126
  return (values || []).map(v => referentialToString(v, properties)).join(separator || ', ');
12109
12127
  }
12110
- const ɵ0$2 = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
12128
+ const ɵ0$9 = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
12111
12129
  const StatusList = Object.freeze([
12112
12130
  {
12113
- id: ɵ0$2,
12131
+ id: ɵ0$9,
12114
12132
  icon: 'checkmark',
12115
12133
  label: 'REFERENTIAL.STATUS_ENUM.ENABLE'
12116
12134
  },
@@ -12385,7 +12403,7 @@ function accountToString(data) {
12385
12403
  (data.lastName || '')) || '';
12386
12404
  }
12387
12405
 
12388
- const uuidv4 = uuidv4Imported;
12406
+ const uuidv4$1 = uuidv4Imported;
12389
12407
  const _global = typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : {});
12390
12408
  const NativeWebSocket = _global.WebSocket || _global.MozWebSocket;
12391
12409
  /**
@@ -12429,7 +12447,7 @@ function createTrackerLink(opts) {
12429
12447
  // Skip if not tracked
12430
12448
  if (!context || !context.tracked)
12431
12449
  return forward(operation);
12432
- const id = context.serializationKey || uuidv4();
12450
+ const id = context.serializationKey || uuidv4$1();
12433
12451
  console.debug(`[apollo-tracker-link] Watching tracked query {${operation.operationName}#${id}}`);
12434
12452
  // Clean context, before calling JSON.stringify (remove unused attributes)
12435
12453
  const cleanContext = Object.assign(Object.assign({}, context), { optimisticResponse: null, cache: null });
@@ -13094,7 +13112,7 @@ class GraphqlService extends StartableService {
13094
13112
  (err.networkError && ((err.networkError.error && this.toAppError(err.networkError.error))
13095
13113
  || this.toAppError(err.networkError)
13096
13114
  || (err.networkError.error && this.createAppErrorByCode(err.networkError.error.status))
13097
- || this.createAppErrorByCode(ErrorCodes$2.UNKNOWN_NETWORK_ERROR)))
13115
+ || this.createAppErrorByCode(ErrorCodes.UNKNOWN_NETWORK_ERROR)))
13098
13116
  // If graphQL: try to convert the first error found
13099
13117
  || (err.graphQLErrors && err.graphQLErrors.length && this.toAppError(err.graphQLErrors[0]))
13100
13118
  || this.toAppError(err)
@@ -13102,7 +13120,7 @@ class GraphqlService extends StartableService {
13102
13120
  || (err.graphQLErrors && err.graphQLErrors[0])
13103
13121
  || err;
13104
13122
  console.error('[graphql] ' + (error && error.message || error), error.stack || '');
13105
- if (error && error.code === ErrorCodes$2.UNKNOWN_NETWORK_ERROR && err.networkError && err.networkError.message) {
13123
+ if (error && error.code === ErrorCodes.UNKNOWN_NETWORK_ERROR && err.networkError && err.networkError.message) {
13106
13124
  console.error('[graphql] original error: ' + err.networkError.message);
13107
13125
  this.onNetworkError.next(error);
13108
13126
  }
@@ -13138,7 +13156,7 @@ class GraphqlService extends StartableService {
13138
13156
  return 'ERROR.UNAUTHORIZED';
13139
13157
  case ServerErrorCodes.FORBIDDEN:
13140
13158
  return 'ERROR.FORBIDDEN';
13141
- case ErrorCodes$2.UNKNOWN_NETWORK_ERROR:
13159
+ case ErrorCodes.UNKNOWN_NETWORK_ERROR:
13142
13160
  return 'ERROR.UNKNOWN_NETWORK_ERROR';
13143
13161
  case ServerErrorCodes.BAD_UPDATE_DATE:
13144
13162
  return 'ERROR.BAD_UPDATE_DATE';
@@ -13169,7 +13187,7 @@ class GraphqlService extends StartableService {
13169
13187
  return undefined;
13170
13188
  }
13171
13189
  }
13172
- 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" });
13190
+ 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" });
13173
13191
  GraphqlService.decorators = [
13174
13192
  { type: Injectable, args: [{
13175
13193
  providedIn: 'root'
@@ -13186,7 +13204,7 @@ GraphqlService.ctorParameters = () => [
13186
13204
  { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_GRAPHQL_TYPE_POLICIES,] }] }
13187
13205
  ];
13188
13206
 
13189
- const sha256 = require('hash.js/lib/hash/sha/256');
13207
+ const sha256$1 = require('hash.js/lib/hash/sha/256');
13190
13208
  class BaseGraphqlServiceOptions {
13191
13209
  }
13192
13210
  // eslint-disable-next-line @angular-eslint/directive-class-suffix
@@ -13337,8 +13355,8 @@ class BaseGraphqlService extends StartableService {
13337
13355
  }
13338
13356
  /* -- protected methods -- */
13339
13357
  computeMutableWatchQueryId(opts) {
13340
- const queryName = opts.queryName || sha256().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
13341
- const variablesKey = opts.variables && sha256().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
13358
+ const queryName = opts.queryName || sha256$1().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
13359
+ const variablesKey = opts.variables && sha256$1().update(JSON.stringify(opts.variables)).digest('hex').substring(0, 8) || '';
13342
13360
  return [queryName, opts.arrayFieldName, variablesKey].join('|');
13343
13361
  }
13344
13362
  findMutableWatchQueries(opts) {
@@ -13404,7 +13422,7 @@ const DEFAULT_AVATAR_IMAGE = 'assets/img/person.png';
13404
13422
  /* ------------------------------------
13405
13423
  * GraphQL queries
13406
13424
  * ------------------------------------*/
13407
- const Fragments$1 = {
13425
+ const Fragments = {
13408
13426
  account: gql `
13409
13427
  fragment AccountFragment on AccountVO {
13410
13428
  id
@@ -13439,14 +13457,14 @@ const Fragments$1 = {
13439
13457
  }`
13440
13458
  };
13441
13459
  // Load account query
13442
- const LoadQuery$1 = gql `
13460
+ const LoadQuery = gql `
13443
13461
  query Account {
13444
13462
  data: account {
13445
13463
  ...AccountFragment
13446
13464
  }
13447
13465
  }
13448
- ${Fragments$1.account}
13449
- ${Fragments$1.settings}
13466
+ ${Fragments.account}
13467
+ ${Fragments.settings}
13450
13468
  `;
13451
13469
  // Check email query
13452
13470
  const IsEmailExistsQuery = gql `
@@ -13461,21 +13479,21 @@ const AccountMutations = {
13461
13479
  ...AccountFragment
13462
13480
  }
13463
13481
  }
13464
- ${Fragments$1.account}
13465
- ${Fragments$1.settings}`,
13482
+ ${Fragments.account}
13483
+ ${Fragments.settings}`,
13466
13484
  create: gql `mutation CreateAccount($data:AccountVOInput){
13467
13485
  data: createAccount(account: $data){
13468
13486
  ...AccountFragment
13469
13487
  }
13470
13488
  }
13471
- ${Fragments$1.account}
13472
- ${Fragments$1.settings}`,
13489
+ ${Fragments.account}
13490
+ ${Fragments.settings}`,
13473
13491
  saveSettings: gql `mutation SaveSettings($data:UserSettingsVOInput){
13474
13492
  data: saveSettings(settings: $data){
13475
13493
  ...UserSettingsFragment
13476
13494
  }
13477
13495
  }
13478
- ${Fragments$1.settings}`
13496
+ ${Fragments.settings}`
13479
13497
  };
13480
13498
  // Sent confirmation email
13481
13499
  const SendConfirmEmailMutation = gql `
@@ -13784,7 +13802,7 @@ class AccountService extends BaseGraphqlService {
13784
13802
  catch (error) {
13785
13803
  console.error(error);
13786
13804
  this.resetData();
13787
- throw { code: ErrorCodes$2.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
13805
+ throw { code: ErrorCodes.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
13788
13806
  }
13789
13807
  // Store pubkey+keypair
13790
13808
  this._cache.pubkey = Base58.encode(keypair.publicKey);
@@ -13818,7 +13836,7 @@ class AccountService extends BaseGraphqlService {
13818
13836
  }
13819
13837
  catch (err) {
13820
13838
  // If account not found, check if email is valid
13821
- if (err && +(err.code) === ErrorCodes$2.LOAD_ACCOUNT_ERROR) {
13839
+ if (err && +(err.code) === ErrorCodes.LOAD_ACCOUNT_ERROR) {
13822
13840
  // Check email exists
13823
13841
  if (data.username.indexOf('@') !== -1) {
13824
13842
  let isEmailExists;
@@ -13830,11 +13848,11 @@ class AccountService extends BaseGraphqlService {
13830
13848
  }
13831
13849
  // Email not exists (no account)
13832
13850
  if (!isEmailExists) {
13833
- throw { code: ErrorCodes$2.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
13851
+ throw { code: ErrorCodes.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
13834
13852
  }
13835
13853
  }
13836
13854
  // Email exists, so error = 'bad password'
13837
- throw { code: ErrorCodes$2.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
13855
+ throw { code: ErrorCodes.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
13838
13856
  }
13839
13857
  throw err; // resend the first error
13840
13858
  }
@@ -13959,8 +13977,8 @@ class AccountService extends BaseGraphqlService {
13959
13977
  // Load remotely
13960
13978
  else {
13961
13979
  const { data } = yield this.graphql.query({
13962
- query: LoadQuery$1,
13963
- error: { code: ErrorCodes$2.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
13980
+ query: LoadQuery,
13981
+ error: { code: ErrorCodes.LOAD_ACCOUNT_ERROR, message: 'ERROR.LOAD_ACCOUNT_ERROR' },
13964
13982
  fetchPolicy: opts && opts.fetchPolicy || 'no-cache' || undefined
13965
13983
  });
13966
13984
  json = data;
@@ -13987,7 +14005,7 @@ class AccountService extends BaseGraphqlService {
13987
14005
  return __awaiter(this, void 0, void 0, function* () {
13988
14006
  const isEmailExists = yield this.isEmailExists(email);
13989
14007
  if (isEmailExists) {
13990
- throw { code: ErrorCodes$2.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
14008
+ throw { code: ErrorCodes.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
13991
14009
  }
13992
14010
  });
13993
14011
  }
@@ -14023,7 +14041,7 @@ class AccountService extends BaseGraphqlService {
14023
14041
  locale
14024
14042
  },
14025
14043
  error: {
14026
- code: ErrorCodes$2.SENT_CONFIRMATION_EMAIL_FAILED,
14044
+ code: ErrorCodes.SENT_CONFIRMATION_EMAIL_FAILED,
14027
14045
  message: 'ERROR.SENT_ACCOUNT_CONFIRMATION_EMAIL_FAILED'
14028
14046
  }
14029
14047
  });
@@ -14039,7 +14057,7 @@ class AccountService extends BaseGraphqlService {
14039
14057
  code
14040
14058
  },
14041
14059
  error: {
14042
- code: ErrorCodes$2.CONFIRM_EMAIL_FAILED,
14060
+ code: ErrorCodes.CONFIRM_EMAIL_FAILED,
14043
14061
  message: 'ERROR.CONFIRM_ACCOUNT_EMAIL_FAILED'
14044
14062
  }
14045
14063
  });
@@ -14057,7 +14075,7 @@ class AccountService extends BaseGraphqlService {
14057
14075
  interval: 10
14058
14076
  },
14059
14077
  error: {
14060
- code: ErrorCodes$2.SUBSCRIBE_ACCOUNT_ERROR,
14078
+ code: ErrorCodes.SUBSCRIBE_ACCOUNT_ERROR,
14061
14079
  message: 'ERROR.ACCOUNT.SUBSCRIBE_ACCOUNT_ERROR'
14062
14080
  }
14063
14081
  }).subscribe({
@@ -14158,7 +14176,7 @@ class AccountService extends BaseGraphqlService {
14158
14176
  throw error;
14159
14177
  console.error(error);
14160
14178
  throw {
14161
- code: ErrorCodes$2.LOAD_ACCOUNT_ERROR,
14179
+ code: ErrorCodes.LOAD_ACCOUNT_ERROR,
14162
14180
  message: 'ERROR.LOAD_ACCOUNT_ERROR'
14163
14181
  };
14164
14182
  }
@@ -14326,7 +14344,7 @@ class AccountService extends BaseGraphqlService {
14326
14344
  if (!isNew) {
14327
14345
  const existingAccount = yield this.load({ fetchPolicy: 'network-only' });
14328
14346
  if (!existingAccount || !existingAccount.updateDate) {
14329
- throw { code: ErrorCodes$2.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
14347
+ throw { code: ErrorCodes.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
14330
14348
  }
14331
14349
  this.copyIdAndUpdateDate(existingAccount, account);
14332
14350
  }
@@ -14338,7 +14356,7 @@ class AccountService extends BaseGraphqlService {
14338
14356
  mutation: isNew ? AccountMutations.create : AccountMutations.save,
14339
14357
  variables: { data: json },
14340
14358
  error: {
14341
- code: ErrorCodes$2.SAVE_ACCOUNT_ERROR,
14359
+ code: ErrorCodes.SAVE_ACCOUNT_ERROR,
14342
14360
  message: 'ERROR.SAVE_ACCOUNT_ERROR'
14343
14361
  }
14344
14362
  });
@@ -14365,7 +14383,7 @@ class AccountService extends BaseGraphqlService {
14365
14383
  mutation: AccountMutations.saveSettings,
14366
14384
  variables: { data: json },
14367
14385
  error: {
14368
- code: ErrorCodes$2.SAVE_SETTINGS_ERROR,
14386
+ code: ErrorCodes.SAVE_SETTINGS_ERROR,
14369
14387
  message: 'ERROR.SAVE_SETTINGS_ERROR'
14370
14388
  }
14371
14389
  });
@@ -14387,7 +14405,7 @@ class AccountService extends BaseGraphqlService {
14387
14405
  if (counter > 4) {
14388
14406
  if (this._debug)
14389
14407
  console.debug(`[account] Failed to authentication on pod (after ${counter} attempts)`);
14390
- throw { code: ErrorCodes$2.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
14408
+ throw { code: ErrorCodes.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
14391
14409
  }
14392
14410
  // Check if valid
14393
14411
  if (token) {
@@ -14397,7 +14415,7 @@ class AccountService extends BaseGraphqlService {
14397
14415
  token
14398
14416
  },
14399
14417
  error: {
14400
- code: ErrorCodes$2.UNAUTHORIZED,
14418
+ code: ErrorCodes.UNAUTHORIZED,
14401
14419
  message: 'ERROR.UNAUTHORIZED'
14402
14420
  },
14403
14421
  fetchPolicy: 'no-cache'
@@ -14413,7 +14431,7 @@ class AccountService extends BaseGraphqlService {
14413
14431
  }
14414
14432
  // Generate a new token
14415
14433
  const challengeError = {
14416
- code: ErrorCodes$2.AUTH_CHALLENGE_ERROR,
14434
+ code: ErrorCodes.AUTH_CHALLENGE_ERROR,
14417
14435
  message: 'ERROR.AUTH_CHALLENGE_ERROR'
14418
14436
  };
14419
14437
  const data = yield this.graphql.query({
@@ -14452,7 +14470,7 @@ class AccountService extends BaseGraphqlService {
14452
14470
  target.updateDate = source.updateDate || target.updateDate;
14453
14471
  }
14454
14472
  }
14455
- 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" });
14473
+ 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" });
14456
14474
  AccountService.decorators = [
14457
14475
  { type: Injectable, args: [{ providedIn: 'root' },] }
14458
14476
  ];
@@ -14712,7 +14730,7 @@ const CONFIGURATION_STORAGE_KEY = 'configuration';
14712
14730
  /* ------------------------------------
14713
14731
  * GraphQL queries
14714
14732
  * ------------------------------------*/
14715
- const Fragments = {
14733
+ const Fragments$1 = {
14716
14734
  config: gql `
14717
14735
  fragment ConfigFragment on ConfigurationVO {
14718
14736
  id
@@ -14739,13 +14757,13 @@ const Fragments = {
14739
14757
  }
14740
14758
  `
14741
14759
  };
14742
- const LoadQuery = gql `
14760
+ const LoadQuery$1 = gql `
14743
14761
  query Configuration{
14744
14762
  data: configuration{
14745
14763
  ...ConfigFragment
14746
14764
  }
14747
14765
  }
14748
- ${Fragments.config}
14766
+ ${Fragments$1.config}
14749
14767
  `;
14750
14768
  // Save (create or update) account mutation
14751
14769
  const SaveMutation = gql `
@@ -14754,7 +14772,7 @@ const SaveMutation = gql `
14754
14772
  ...ConfigFragment
14755
14773
  }
14756
14774
  }
14757
- ${Fragments.config}
14775
+ ${Fragments$1.config}
14758
14776
  `;
14759
14777
  const ClearCache = gql `
14760
14778
  query ClearCache($name: String) {
@@ -14804,12 +14822,12 @@ class ConfigService extends BaseGraphqlService {
14804
14822
  return __awaiter(this, void 0, void 0, function* () {
14805
14823
  const now = Date.now();
14806
14824
  console.debug('[config] Loading Pod configuration...');
14807
- const query = opts && opts.query || LoadQuery;
14825
+ const query = opts && opts.query || LoadQuery$1;
14808
14826
  const variables = opts && opts.variables || undefined;
14809
14827
  const res = yield this.graphql.query({
14810
14828
  query,
14811
14829
  variables,
14812
- error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
14830
+ error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
14813
14831
  fetchPolicy: opts && opts.fetchPolicy || undefined /*default*/
14814
14832
  });
14815
14833
  const data = res && res.data ? Configuration.fromObject(res.data) : undefined;
@@ -14839,7 +14857,7 @@ class ConfigService extends BaseGraphqlService {
14839
14857
  data: json
14840
14858
  },
14841
14859
  error: {
14842
- code: ErrorCodes$2.SAVE_CONFIG_ERROR,
14860
+ code: ErrorCodes.SAVE_CONFIG_ERROR,
14843
14861
  message: 'ERROR.SAVE_CONFIG_ERROR'
14844
14862
  }
14845
14863
  });
@@ -14865,7 +14883,7 @@ class ConfigService extends BaseGraphqlService {
14865
14883
  const res = yield this.graphql.query({
14866
14884
  query: CacheStatistics,
14867
14885
  variables: null,
14868
- error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
14886
+ error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
14869
14887
  fetchPolicy: 'network-only'
14870
14888
  });
14871
14889
  const data = res && res.cacheStatistics || undefined;
@@ -14881,7 +14899,7 @@ class ConfigService extends BaseGraphqlService {
14881
14899
  const res = yield this.graphql.query({
14882
14900
  query: ClearCache,
14883
14901
  variables,
14884
- error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
14902
+ error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
14885
14903
  fetchPolicy: 'network-only'
14886
14904
  });
14887
14905
  const data = res && res.clearCache || undefined;
@@ -15040,7 +15058,7 @@ class ConfigService extends BaseGraphqlService {
15040
15058
  });
15041
15059
  }
15042
15060
  }
15043
- 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" });
15061
+ 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" });
15044
15062
  ConfigService.decorators = [
15045
15063
  { type: Injectable, args: [{
15046
15064
  providedIn: 'root',
@@ -15059,7 +15077,7 @@ ConfigService.ctorParameters = () => [
15059
15077
  { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_CONFIG_OPTIONS,] }] }
15060
15078
  ];
15061
15079
 
15062
- const moment$2 = momentImported;
15080
+ const moment$4 = momentImported;
15063
15081
  class PlatformService extends StartableService {
15064
15082
  constructor(platform, cdkPlatform, toastController, translate, dateAdapter, entitiesStorage, settings, networkService, accountService, configService, cache, storage, audioProvider, environment, statusBar, keyboard, splashScreen, browser, downloader) {
15065
15083
  super(platform);
@@ -15263,16 +15281,16 @@ class PlatformService extends StartableService {
15263
15281
  }
15264
15282
  // config moment lib
15265
15283
  try {
15266
- moment$2.locale(event.lang);
15284
+ moment$4.locale(event.lang);
15267
15285
  console.debug('[platform] Use locale {' + event.lang + '}');
15268
15286
  }
15269
15287
  // If error, fallback to en
15270
15288
  catch (err) {
15271
- moment$2.locale('en');
15289
+ moment$4.locale('en');
15272
15290
  console.warn('[platform] Unknown local for moment lib. Using default [en]');
15273
15291
  }
15274
15292
  // Config date adapter
15275
- this.dateAdapter.setLocale(moment$2.locale());
15293
+ this.dateAdapter.setLocale(moment$4.locale());
15276
15294
  }
15277
15295
  });
15278
15296
  this.settings.onChange.subscribe(data => {
@@ -15406,7 +15424,7 @@ class PlatformService extends StartableService {
15406
15424
  });
15407
15425
  }
15408
15426
  }
15409
- 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" });
15427
+ 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" });
15410
15428
  PlatformService.decorators = [
15411
15429
  { type: Injectable, args: [{ providedIn: 'root' },] }
15412
15430
  ];
@@ -15421,15 +15439,15 @@ PlatformService.ctorParameters = () => [
15421
15439
  { type: NetworkService },
15422
15440
  { type: AccountService },
15423
15441
  { type: ConfigService },
15424
- { type: CacheService },
15442
+ { type: CacheService$1 },
15425
15443
  { type: Storage },
15426
15444
  { type: AudioProvider },
15427
15445
  { type: undefined, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] },
15428
- { type: StatusBar, decorators: [{ type: Optional }] },
15446
+ { type: StatusBar$1, decorators: [{ type: Optional }] },
15429
15447
  { type: Keyboard, decorators: [{ type: Optional }] },
15430
- { type: SplashScreen, decorators: [{ type: Optional }] },
15431
- { type: InAppBrowser, decorators: [{ type: Optional }] },
15432
- { type: Downloader, decorators: [{ type: Optional }] }
15448
+ { type: SplashScreen$1, decorators: [{ type: Optional }] },
15449
+ { type: InAppBrowser$1, decorators: [{ type: Optional }] },
15450
+ { type: Downloader$1, decorators: [{ type: Optional }] }
15433
15451
  ];
15434
15452
 
15435
15453
  class AppHelpModal {
@@ -15493,7 +15511,7 @@ class MatStepperI18n extends MatStepperIntl {
15493
15511
  this.optionalLabel = this.translate.instant('COMMON.OPTIONAL');
15494
15512
  }
15495
15513
  }
15496
- MatStepperI18n.ɵprov = i0.ɵɵdefineInjectable({ factory: function MatStepperI18n_Factory() { return new MatStepperI18n(i0.ɵɵinject(i1$1.TranslateService)); }, token: MatStepperI18n, providedIn: "root" });
15514
+ MatStepperI18n.ɵprov = ɵɵdefineInjectable({ factory: function MatStepperI18n_Factory() { return new MatStepperI18n(ɵɵinject(TranslateService)); }, token: MatStepperI18n, providedIn: "root" });
15497
15515
  MatStepperI18n.decorators = [
15498
15516
  { type: Injectable, args: [{ providedIn: 'root' },] }
15499
15517
  ];
@@ -16495,7 +16513,7 @@ function state2side(state) {
16495
16513
  return 1;
16496
16514
  }
16497
16515
  }
16498
- const ɵ0$1 = (defaultStateSize) => [
16516
+ const ɵ0$a = (defaultStateSize) => [
16499
16517
  Math.round((rgbArrayMap.red[0] - 50) / defaultStateSize),
16500
16518
  Math.round((255 - rgbArrayMap.red[1]) / defaultStateSize),
16501
16519
  Math.round((255 - rgbArrayMap.red[2]) / defaultStateSize)
@@ -16503,7 +16521,7 @@ const ɵ0$1 = (defaultStateSize) => [
16503
16521
  const SCALE_OPTIONS_DEFAULT = {
16504
16522
  startColor: rgbArrayMap.red,
16505
16523
  startStates: [0, 2, 3],
16506
- startStepsFn: ɵ0$1
16524
+ startStepsFn: ɵ0$a
16507
16525
  };
16508
16526
  /**
16509
16527
  * Internal function, that create a colors scale, using iteration
@@ -16595,21 +16613,21 @@ function linearColorGradient(count, options) {
16595
16613
  return result;
16596
16614
  }
16597
16615
 
16598
- class EntityTestClass$1 {
16616
+ class EntityTestClass {
16599
16617
  }
16600
- const FAKE_ENTITIES$1 = [
16618
+ const FAKE_ENTITIES = [
16601
16619
  { id: 1, label: 'AAA', name: 'Item A', description: 'Very long description A', comments: 'Very very long comments... again for A' },
16602
16620
  { id: 2, label: 'BBB', name: 'Item B', description: 'Very long description B', comments: 'Very very long comments... again for B' },
16603
16621
  { id: 3, label: 'CCC', name: 'Item C', description: 'Very long description C', comments: 'Very very long comments... again for C' }
16604
16622
  ];
16605
- function deepCopy$1(values, size) {
16623
+ function deepCopy(values, size) {
16606
16624
  if (isNil(size)) {
16607
- return (values || FAKE_ENTITIES$1).map(entity => Object.assign({}, entity));
16625
+ return (values || FAKE_ENTITIES).map(entity => Object.assign({}, entity));
16608
16626
  }
16609
16627
  let result = [];
16610
16628
  let i = 1;
16611
16629
  while (result.length < size) {
16612
- result = result.concat((values || FAKE_ENTITIES$1).map(entity => {
16630
+ result = result.concat((values || FAKE_ENTITIES).map(entity => {
16613
16631
  const name = entity.name + ' #' + i;
16614
16632
  return Object.assign(Object.assign({}, entity), { id: i++, name });
16615
16633
  }));
@@ -16619,7 +16637,7 @@ function deepCopy$1(values, size) {
16619
16637
  class AutocompleteTestPage {
16620
16638
  constructor(formBuilder) {
16621
16639
  this.formBuilder = formBuilder;
16622
- this._items = deepCopy$1(FAKE_ENTITIES$1, 100);
16640
+ this._items = deepCopy(FAKE_ENTITIES, 100);
16623
16641
  this._$items = new BehaviorSubject(undefined);
16624
16642
  this.autocompleteFields = new MatAutocompleteConfigHolder();
16625
16643
  this.memoryHide = false;
@@ -16663,7 +16681,7 @@ class AutocompleteTestPage {
16663
16681
  });
16664
16682
  // From items
16665
16683
  this.autocompleteFields.add('entity-items-large', {
16666
- items: FAKE_ENTITIES$1.slice(),
16684
+ items: FAKE_ENTITIES.slice(),
16667
16685
  attributes: ['label', 'name', 'description', 'comments'],
16668
16686
  displayWith: this.entityToString
16669
16687
  });
@@ -16673,12 +16691,12 @@ class AutocompleteTestPage {
16673
16691
  loadData() {
16674
16692
  return __awaiter(this, void 0, void 0, function* () {
16675
16693
  const data = {
16676
- entity: deepCopy$1(FAKE_ENTITIES$1)[0],
16694
+ entity: deepCopy(FAKE_ENTITIES)[0],
16677
16695
  // This item is NOT in the items list => i should be displayed anyway
16678
16696
  missingEntity: {
16679
16697
  id: -1, label: '??', name: 'Missing item'
16680
16698
  },
16681
- disableEntity: deepCopy$1(FAKE_ENTITIES$1)[2]
16699
+ disableEntity: deepCopy(FAKE_ENTITIES)[2]
16682
16700
  };
16683
16701
  this.form.setValue(data);
16684
16702
  // Load observables
@@ -16851,13 +16869,13 @@ MaterialTestingPage.ctorParameters = () => [
16851
16869
  { type: Array, decorators: [{ type: Optional }, { type: Inject, args: [APP_TESTING_PAGES,] }] }
16852
16870
  ];
16853
16871
 
16854
- const moment$1 = momentImported;
16872
+ const moment$5 = momentImported;
16855
16873
  class SwipeTestPage {
16856
16874
  constructor(formBuilder, dateFormatPipe) {
16857
16875
  this.formBuilder = formBuilder;
16858
16876
  this.dateFormatPipe = dateFormatPipe;
16859
16877
  this.$dates = new BehaviorSubject(undefined);
16860
- this._today = moment$1().startOf('day');
16878
+ this._today = moment$5().startOf('day');
16861
16879
  this.form = formBuilder.group({
16862
16880
  empty: [null, Validators.required],
16863
16881
  date: [null, Validators.compose([Validators.required, SharedValidators.validDate])],
@@ -16870,7 +16888,7 @@ class SwipeTestPage {
16870
16888
  ngOnInit() {
16871
16889
  const dates = [];
16872
16890
  for (let d = 0; d < 7; d++) {
16873
- dates[d] = moment$1(this._today).add(d - 3, 'day');
16891
+ dates[d] = moment$5(this._today).add(d - 3, 'day');
16874
16892
  }
16875
16893
  this.$dates.next(dates);
16876
16894
  this.loadData();
@@ -16911,7 +16929,7 @@ SwipeTestPage.ctorParameters = () => [
16911
16929
  { type: DateFormatPipe }
16912
16930
  ];
16913
16931
 
16914
- const moment = momentImported;
16932
+ const moment$6 = momentImported;
16915
16933
  class DateTimeTestPage {
16916
16934
  constructor(platform, formBuilder, cd) {
16917
16935
  this.platform = platform;
@@ -16943,7 +16961,7 @@ class DateTimeTestPage {
16943
16961
  // Load the form with data
16944
16962
  loadData() {
16945
16963
  return __awaiter(this, void 0, void 0, function* () {
16946
- const now = moment();
16964
+ const now = moment$6();
16947
16965
  const data = {
16948
16966
  empty: toDateISOString(now.clone().add(2, 'hours')),
16949
16967
  enable: toDateISOString(now),
@@ -17004,9 +17022,9 @@ DateTimeTestPage.ctorParameters = () => [
17004
17022
  { type: ChangeDetectorRef }
17005
17023
  ];
17006
17024
 
17007
- class EntityTestClass {
17025
+ class EntityTestClass$1 {
17008
17026
  }
17009
- const FAKE_ENTITIES = [
17027
+ const FAKE_ENTITIES$1 = [
17010
17028
  { id: 1, label: 'AAA', name: 'Item A' },
17011
17029
  { id: 2, label: 'BBB', name: 'Item B' },
17012
17030
  { id: 3, label: 'CCC', name: 'Item C' },
@@ -17015,14 +17033,14 @@ const FAKE_ENTITIES = [
17015
17033
  { id: 6, label: 'FFF', name: 'Item F' },
17016
17034
  { id: 7, label: 'GGG', name: 'Item G' }
17017
17035
  ];
17018
- function deepCopy(values, size) {
17036
+ function deepCopy$1(values, size) {
17019
17037
  if (isNil(size)) {
17020
- return (values || FAKE_ENTITIES).map(entity => Object.assign({}, entity));
17038
+ return (values || FAKE_ENTITIES$1).map(entity => Object.assign({}, entity));
17021
17039
  }
17022
17040
  let result = [];
17023
17041
  let i = 1;
17024
17042
  while (result.length < size) {
17025
- result = result.concat((values || FAKE_ENTITIES).map(entity => {
17043
+ result = result.concat((values || FAKE_ENTITIES$1).map(entity => {
17026
17044
  const name = entity.name + ' #' + i;
17027
17045
  return Object.assign(Object.assign({}, entity), { id: i++, name });
17028
17046
  }));
@@ -17032,7 +17050,7 @@ function deepCopy(values, size) {
17032
17050
  class ChipsTestPage {
17033
17051
  constructor(formBuilder) {
17034
17052
  this.formBuilder = formBuilder;
17035
- this._items = deepCopy(FAKE_ENTITIES, 100);
17053
+ this._items = deepCopy$1(FAKE_ENTITIES$1, 100);
17036
17054
  this._$items = new BehaviorSubject(undefined);
17037
17055
  this.autocompleteFields = new MatAutocompleteConfigHolder();
17038
17056
  this.form = formBuilder.group({
@@ -17071,7 +17089,7 @@ class ChipsTestPage {
17071
17089
  // Load the form with data
17072
17090
  loadData() {
17073
17091
  return __awaiter(this, void 0, void 0, function* () {
17074
- const items = deepCopy(FAKE_ENTITIES);
17092
+ const items = deepCopy$1(FAKE_ENTITIES$1);
17075
17093
  const data = {
17076
17094
  entity: items.slice(0, 1),
17077
17095
  entityInitial: items.slice(1, 2),
@@ -17147,7 +17165,7 @@ MatBadgeIconTestPage.decorators = [
17147
17165
  },] }
17148
17166
  ];
17149
17167
 
17150
- const routes$1 = [
17168
+ const routes = [
17151
17169
  {
17152
17170
  path: '',
17153
17171
  pathMatch: 'full',
@@ -17199,7 +17217,7 @@ MaterialTestingModule.decorators = [
17199
17217
  ReactiveFormsModule,
17200
17218
  SharedMaterialModule,
17201
17219
  TranslateModule.forChild(),
17202
- RouterModule.forChild(routes$1)
17220
+ RouterModule.forChild(routes)
17203
17221
  ],
17204
17222
  declarations: [
17205
17223
  MaterialTestingPage,
@@ -18214,7 +18232,7 @@ class UserSettingsValidatorService extends AppValidatorService {
18214
18232
  });
18215
18233
  }
18216
18234
  }
18217
- UserSettingsValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function UserSettingsValidatorService_Factory() { return new UserSettingsValidatorService(i0.ɵɵinject(i1$6.FormBuilder)); }, token: UserSettingsValidatorService, providedIn: "root" });
18235
+ UserSettingsValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function UserSettingsValidatorService_Factory() { return new UserSettingsValidatorService(ɵɵinject(FormBuilder)); }, token: UserSettingsValidatorService, providedIn: "root" });
18218
18236
  UserSettingsValidatorService.decorators = [
18219
18237
  { type: Injectable, args: [{ providedIn: 'root' },] }
18220
18238
  ];
@@ -18258,7 +18276,7 @@ class AccountValidatorService extends AppValidatorService {
18258
18276
  return validatorFns.length ? Validators.compose(validatorFns) : validatorFns.length === 1 ? validatorFns[0] : undefined;
18259
18277
  }
18260
18278
  }
18261
- AccountValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AccountValidatorService_Factory() { return new AccountValidatorService(i0.ɵɵinject(i1$6.FormBuilder), i0.ɵɵinject(AccountService)); }, token: AccountValidatorService, providedIn: "root" });
18279
+ AccountValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function AccountValidatorService_Factory() { return new AccountValidatorService(ɵɵinject(FormBuilder), ɵɵinject(AccountService)); }, token: AccountValidatorService, providedIn: "root" });
18262
18280
  AccountValidatorService.decorators = [
18263
18281
  { type: Injectable, args: [{ providedIn: 'root' },] }
18264
18282
  ];
@@ -18823,7 +18841,7 @@ class LocalSettingsValidatorService extends AppValidatorService {
18823
18841
  });
18824
18842
  }
18825
18843
  }
18826
- LocalSettingsValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function LocalSettingsValidatorService_Factory() { return new LocalSettingsValidatorService(i0.ɵɵinject(i1$6.FormBuilder), i0.ɵɵinject(NetworkService)); }, token: LocalSettingsValidatorService, providedIn: "root" });
18844
+ LocalSettingsValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function LocalSettingsValidatorService_Factory() { return new LocalSettingsValidatorService(ɵɵinject(FormBuilder), ɵɵinject(NetworkService)); }, token: LocalSettingsValidatorService, providedIn: "root" });
18827
18845
  LocalSettingsValidatorService.decorators = [
18828
18846
  { type: Injectable, args: [{ providedIn: 'root' },] }
18829
18847
  ];
@@ -19442,7 +19460,7 @@ class IsOnFieldModePipe {
19442
19460
  return value === 'FIELD';
19443
19461
  }
19444
19462
  }
19445
- IsOnFieldModePipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsOnFieldModePipe_Factory() { return new IsOnFieldModePipe(); }, token: IsOnFieldModePipe, providedIn: "root" });
19463
+ IsOnFieldModePipe.ɵprov = ɵɵdefineInjectable({ factory: function IsOnFieldModePipe_Factory() { return new IsOnFieldModePipe(); }, token: IsOnFieldModePipe, providedIn: "root" });
19446
19464
  IsOnFieldModePipe.decorators = [
19447
19465
  { type: Pipe, args: [{
19448
19466
  name: 'isOnField'
@@ -19454,7 +19472,7 @@ class IsNotOnFieldModePipe {
19454
19472
  return value !== 'FIELD';
19455
19473
  }
19456
19474
  }
19457
- IsNotOnFieldModePipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsNotOnFieldModePipe_Factory() { return new IsNotOnFieldModePipe(); }, token: IsNotOnFieldModePipe, providedIn: "root" });
19475
+ IsNotOnFieldModePipe.ɵprov = ɵɵdefineInjectable({ factory: function IsNotOnFieldModePipe_Factory() { return new IsNotOnFieldModePipe(); }, token: IsNotOnFieldModePipe, providedIn: "root" });
19458
19476
  IsNotOnFieldModePipe.decorators = [
19459
19477
  { type: Pipe, args: [{
19460
19478
  name: 'isNotOnField'
@@ -19469,7 +19487,7 @@ class PersonToStringPipe {
19469
19487
  return PersonUtils.personToString(value);
19470
19488
  }
19471
19489
  }
19472
- PersonToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function PersonToStringPipe_Factory() { return new PersonToStringPipe(); }, token: PersonToStringPipe, providedIn: "root" });
19490
+ PersonToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function PersonToStringPipe_Factory() { return new PersonToStringPipe(); }, token: PersonToStringPipe, providedIn: "root" });
19473
19491
  PersonToStringPipe.decorators = [
19474
19492
  { type: Pipe, args: [{
19475
19493
  name: 'personToString'
@@ -19854,7 +19872,7 @@ class IsLoginAccountPipe {
19854
19872
  return value && value.pubkey && true;
19855
19873
  }
19856
19874
  }
19857
- IsLoginAccountPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function IsLoginAccountPipe_Factory() { return new IsLoginAccountPipe(); }, token: IsLoginAccountPipe, providedIn: "root" });
19875
+ IsLoginAccountPipe.ɵprov = ɵɵdefineInjectable({ factory: function IsLoginAccountPipe_Factory() { return new IsLoginAccountPipe(); }, token: IsLoginAccountPipe, providedIn: "root" });
19858
19876
  IsLoginAccountPipe.decorators = [
19859
19877
  { type: Pipe, args: [{
19860
19878
  name: 'isLogin'
@@ -19866,7 +19884,7 @@ class AccountToStringPipe {
19866
19884
  return accountToString(value);
19867
19885
  }
19868
19886
  }
19869
- AccountToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function AccountToStringPipe_Factory() { return new AccountToStringPipe(); }, token: AccountToStringPipe, providedIn: "root" });
19887
+ AccountToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function AccountToStringPipe_Factory() { return new AccountToStringPipe(); }, token: AccountToStringPipe, providedIn: "root" });
19870
19888
  AccountToStringPipe.decorators = [
19871
19889
  { type: Pipe, args: [{
19872
19890
  name: 'accountToString'
@@ -19881,7 +19899,7 @@ class DepartmentToStringPipe {
19881
19899
  return departmentToString(value);
19882
19900
  }
19883
19901
  }
19884
- DepartmentToStringPipe.ɵprov = i0.ɵɵdefineInjectable({ factory: function DepartmentToStringPipe_Factory() { return new DepartmentToStringPipe(); }, token: DepartmentToStringPipe, providedIn: "root" });
19902
+ DepartmentToStringPipe.ɵprov = ɵɵdefineInjectable({ factory: function DepartmentToStringPipe_Factory() { return new DepartmentToStringPipe(); }, token: DepartmentToStringPipe, providedIn: "root" });
19885
19903
  DepartmentToStringPipe.decorators = [
19886
19904
  { type: Pipe, args: [{
19887
19905
  name: 'departmentToString'
@@ -19907,7 +19925,7 @@ class MenuService {
19907
19925
  this._visibleSubject.next(value);
19908
19926
  }
19909
19927
  }
19910
- MenuService.ɵprov = i0.ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(); }, token: MenuService, providedIn: "root" });
19928
+ MenuService.ɵprov = ɵɵdefineInjectable({ factory: function MenuService_Factory() { return new MenuService(); }, token: MenuService, providedIn: "root" });
19911
19929
  MenuService.decorators = [
19912
19930
  { type: Injectable, args: [{
19913
19931
  providedIn: 'root'
@@ -20431,7 +20449,7 @@ class AuthGuardService {
20431
20449
  }));
20432
20450
  }
20433
20451
  }
20434
- 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" });
20452
+ AuthGuardService.ɵprov = ɵɵdefineInjectable({ factory: function AuthGuardService_Factory() { return new AuthGuardService(ɵɵinject(AccountService), ɵɵinject(ModalController), ɵɵinject(Router), ɵɵinject(ENVIRONMENT)); }, token: AuthGuardService, providedIn: "root" });
20435
20453
  AuthGuardService.decorators = [
20436
20454
  { type: Injectable, args: [{ providedIn: 'root' },] }
20437
20455
  ];
@@ -20473,7 +20491,7 @@ class BaseEntityService extends BaseGraphqlService {
20473
20491
  query,
20474
20492
  variables: { id },
20475
20493
  fetchPolicy: opts && opts.fetchPolicy || undefined,
20476
- error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
20494
+ error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
20477
20495
  })
20478
20496
  .pipe(map(({ data }) => (!opts || opts.toEntity !== false)
20479
20497
  ? (data && this.fromObject(data))
@@ -20488,7 +20506,7 @@ class BaseEntityService extends BaseGraphqlService {
20488
20506
  query,
20489
20507
  variables: { id },
20490
20508
  fetchPolicy: opts && opts.fetchPolicy || undefined,
20491
- error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
20509
+ error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' }
20492
20510
  });
20493
20511
  // Convert to entity
20494
20512
  return (!opts || opts.toEntity !== false)
@@ -20519,7 +20537,7 @@ class BaseEntityService extends BaseGraphqlService {
20519
20537
  totalFieldName: withTotal ? 'total' : undefined,
20520
20538
  insertFilterFn: filter && filter.asFilterFn(),
20521
20539
  variables,
20522
- error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' },
20540
+ error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'REFERENTIAL.ERROR.LOAD_DATA_ERROR' },
20523
20541
  fetchPolicy: opts && opts.fetchPolicy || undefined
20524
20542
  })
20525
20543
  .pipe(map(({ data, total }) => {
@@ -20555,7 +20573,7 @@ class BaseEntityService extends BaseGraphqlService {
20555
20573
  const { data, total } = yield this.graphql.query({
20556
20574
  query,
20557
20575
  variables,
20558
- error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
20576
+ error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
20559
20577
  fetchPolicy: opts && opts.fetchPolicy || 'network-only'
20560
20578
  });
20561
20579
  const entities = (!opts || opts.toEntity !== false) ?
@@ -20594,7 +20612,7 @@ class BaseEntityService extends BaseGraphqlService {
20594
20612
  variables: {
20595
20613
  filter: filter && filter.asPodObject()
20596
20614
  },
20597
- error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'ERROR.COUNT_DATA_ERROR' },
20615
+ error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.COUNT_DATA_ERROR' },
20598
20616
  fetchPolicy: opts && opts.fetchPolicy || 'network-only'
20599
20617
  });
20600
20618
  return res.total;
@@ -20627,7 +20645,7 @@ class BaseEntityService extends BaseGraphqlService {
20627
20645
  variables: {
20628
20646
  data: json
20629
20647
  },
20630
- error: { code: ErrorCodes$2.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
20648
+ error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
20631
20649
  update: (proxy, { data }) => {
20632
20650
  const savedEntities = data && data.data;
20633
20651
  if (savedEntities) {
@@ -20683,7 +20701,7 @@ class BaseEntityService extends BaseGraphqlService {
20683
20701
  variables: {
20684
20702
  data: json
20685
20703
  },
20686
- error: { code: ErrorCodes$2.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
20704
+ error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
20687
20705
  update: (cache, { data }) => {
20688
20706
  // Update entity
20689
20707
  const savedEntity = data && data.data;
@@ -20731,7 +20749,7 @@ class BaseEntityService extends BaseGraphqlService {
20731
20749
  refetchQueries: this.getRefetchQueriesForMutation(opts),
20732
20750
  awaitRefetchQueries: opts && opts.awaitRefetchQueries,
20733
20751
  variables: { ids },
20734
- error: { code: ErrorCodes$2.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
20752
+ error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
20735
20753
  update: (cache, res) => {
20736
20754
  // Remove from cache
20737
20755
  if (this.watchQueriesUpdatePolicy === 'update-cache') {
@@ -20772,7 +20790,7 @@ class BaseEntityService extends BaseGraphqlService {
20772
20790
  refetchQueries: this.getRefetchQueriesForMutation(opts),
20773
20791
  awaitRefetchQueries: opts && opts.awaitRefetchQueries,
20774
20792
  variables: { id },
20775
- error: { code: ErrorCodes$2.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
20793
+ error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
20776
20794
  update: (proxy, res) => {
20777
20795
  // Remove from cache
20778
20796
  if (this.watchQueriesUpdatePolicy === 'update-cache') {
@@ -20805,7 +20823,7 @@ class BaseEntityService extends BaseGraphqlService {
20805
20823
  query: opts && opts.query || this.subscriptions.listenChanges,
20806
20824
  variables,
20807
20825
  error: {
20808
- code: ErrorCodes$2.SUBSCRIBE_DATA_ERROR,
20826
+ code: ErrorCodes.SUBSCRIBE_DATA_ERROR,
20809
20827
  message: 'ERROR.SUBSCRIBE_DATA_ERROR'
20810
20828
  }
20811
20829
  })
@@ -20991,7 +21009,7 @@ class EntitiesTableDataSource extends TableDataSource {
20991
21009
  if (this._debug)
20992
21010
  invalidRows.forEach(row => AppTableUtils.logRowErrors(row, `[table-datasource] ${this._logTypeName} row #${row.id}`));
20993
21011
  // Stop with an error
20994
- throw { code: ErrorCodes$2.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
21012
+ throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
20995
21013
  }
20996
21014
  this._editingRowCount = 0;
20997
21015
  let data;
@@ -21607,7 +21625,7 @@ class AppTable {
21607
21625
  merge(
21608
21626
  // Listen sort events
21609
21627
  this.sort && this.sort.sortChange
21610
- .pipe(mergeMap(() => __awaiter(this, void 0, void 0, function* () { return this.saveBeforeAction('sort'); })), filter(res => res === true),
21628
+ .pipe(filter(() => !this.sort.disabled), mergeMap(() => __awaiter(this, void 0, void 0, function* () { return this.saveBeforeAction('sort'); })), filter(res => res === true),
21611
21629
  // Save sort in settings
21612
21630
  tap(() => {
21613
21631
  const value = [this.sort.active, this.sort.direction || 'asc'].join(':');
@@ -21624,7 +21642,9 @@ class AppTable {
21624
21642
  });
21625
21643
  // If the user changes the sort order, reset back to the first page.
21626
21644
  if (this.sort && this.paginator) {
21627
- this.registerSubscription(this.sort.sortChange.subscribe(() => this.paginator.pageIndex = 0));
21645
+ this.registerSubscription(this.sort.sortChange
21646
+ .pipe(filter(() => !this.sort.disabled))
21647
+ .subscribe(() => this.paginator.pageIndex = 0));
21628
21648
  }
21629
21649
  }
21630
21650
  ngOnDestroy() {
@@ -21853,14 +21873,14 @@ class AppTable {
21853
21873
  return __awaiter(this, void 0, void 0, function* () {
21854
21874
  opts = Object.assign({ keepEditing: this.keepEditedRowOnSave }, opts);
21855
21875
  if (this.readOnly) {
21856
- throw { code: ErrorCodes$2.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
21876
+ throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
21857
21877
  }
21858
21878
  this.resetError();
21859
21879
  // Keep edited row id (should be done BEFORE confirmEditCreate() )
21860
21880
  this.previouslyEditedRowId = opts.keepEditing && ((_a = this.editedRow) === null || _a === void 0 ? void 0 : _a.editing) ? this.editedRow.id : undefined;
21861
21881
  const previouslyEditedData = isNotNil(this.previouslyEditedRowId) && this.editedRow.currentData || ((_b = this.singleSelectedRow) === null || _b === void 0 ? void 0 : _b.currentData);
21862
21882
  if (!this.confirmEditCreate()) {
21863
- throw { code: ErrorCodes$2.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
21883
+ throw { code: ErrorCodes.TABLE_INVALID_ROW_ERROR, message: 'ERROR.TABLE_INVALID_ROW_ERROR' };
21864
21884
  }
21865
21885
  // Mark as saving
21866
21886
  this.markAsSaving();
@@ -21977,7 +21997,7 @@ class AppTable {
21977
21997
  var _a;
21978
21998
  return __awaiter(this, void 0, void 0, function* () {
21979
21999
  if (this.readOnly) {
21980
- throw { code: ErrorCodes$2.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
22000
+ throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
21981
22001
  }
21982
22002
  if (event === null || event === void 0 ? void 0 : event.defaultPrevented)
21983
22003
  return 0; // SKip
@@ -23503,7 +23523,7 @@ class AppEntityEditor extends AppTabEditor {
23503
23523
  try {
23504
23524
  const data = yield this.dataService.load(id, opts);
23505
23525
  if (!data)
23506
- throw { code: ErrorCodes$2.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
23526
+ throw { code: ErrorCodes.DATA_NOT_FOUND_ERROR, message: 'ERROR.DATA_NO_FOUND' };
23507
23527
  this._usageMode = this.computeUsageMode(data);
23508
23528
  yield this.onEntityLoaded(data, opts);
23509
23529
  yield this.updateView(data, opts);
@@ -24408,7 +24428,7 @@ class UserEventService extends BaseGraphqlService {
24408
24428
  EntityUtils.copyIdAndUpdateDate(source, target);
24409
24429
  }
24410
24430
  }
24411
- 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" });
24431
+ 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" });
24412
24432
  UserEventService.decorators = [
24413
24433
  { type: Injectable, args: [{ providedIn: 'root' },] }
24414
24434
  ];
@@ -24793,7 +24813,7 @@ class PersonService extends BaseEntityService {
24793
24813
  return target;
24794
24814
  }
24795
24815
  }
24796
- 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" });
24816
+ PersonService.ɵprov = ɵɵdefineInjectable({ factory: function PersonService_Factory() { return new PersonService(ɵɵinject(GraphqlService), ɵɵinject(PlatformService), ɵɵinject(NetworkService), ɵɵinject(EntitiesStorage)); }, token: PersonService, providedIn: "root" });
24797
24817
  PersonService.decorators = [
24798
24818
  { type: Injectable, args: [{ providedIn: 'root' },] }
24799
24819
  ];
@@ -24824,7 +24844,7 @@ class PersonValidatorService {
24824
24844
  return this.formBuilder.group(formConfig);
24825
24845
  }
24826
24846
  }
24827
- PersonValidatorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PersonValidatorService_Factory() { return new PersonValidatorService(i0.ɵɵinject(i1$6.FormBuilder), i0.ɵɵinject(AccountValidatorService)); }, token: PersonValidatorService, providedIn: "root" });
24847
+ PersonValidatorService.ɵprov = ɵɵdefineInjectable({ factory: function PersonValidatorService_Factory() { return new PersonValidatorService(ɵɵinject(FormBuilder), ɵɵinject(AccountValidatorService)); }, token: PersonValidatorService, providedIn: "root" });
24828
24848
  PersonValidatorService.decorators = [
24829
24849
  { type: Injectable, args: [{ providedIn: 'root' },] }
24830
24850
  ];
@@ -25030,16 +25050,16 @@ AdminModule.decorators = [
25030
25050
  ];
25031
25051
  AdminModule.ctorParameters = () => [];
25032
25052
 
25033
- const ɵ0 = {
25053
+ const ɵ0$b = {
25034
25054
  profile: 'ADMIN'
25035
25055
  };
25036
- const routes = [
25056
+ const routes$1 = [
25037
25057
  {
25038
25058
  path: 'users',
25039
25059
  pathMatch: 'full',
25040
25060
  component: UsersPage,
25041
25061
  canActivate: [AuthGuardService],
25042
- data: ɵ0
25062
+ data: ɵ0$b
25043
25063
  }
25044
25064
  ];
25045
25065
  class AdminRoutingModule {
@@ -25049,13 +25069,13 @@ AdminRoutingModule.decorators = [
25049
25069
  imports: [
25050
25070
  SharedRoutingModule,
25051
25071
  AdminModule,
25052
- RouterModule.forChild(routes)
25072
+ RouterModule.forChild(routes$1)
25053
25073
  ],
25054
25074
  exports: [RouterModule]
25055
25075
  },] }
25056
25076
  ];
25057
25077
 
25058
- const ErrorCodes = {
25078
+ const ErrorCodes$2 = {
25059
25079
  LOAD_PERSONS_ERROR: 100,
25060
25080
  SAVE_PERSONS_ERROR: 101,
25061
25081
  DELETE_PERSONS_ERROR: 102,
@@ -25067,5 +25087,5 @@ const ErrorCodes = {
25067
25087
  * Generated bundle index. Do not edit.
25068
25088
  */
25069
25089
 
25070
- 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, AppEditor, 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, equals, equalsOrNil, fadeInAnimation, fadeInOutAnimation, filterFalse, filterNotNil, filterNumberInput, filterTrue, firstArrayValue, firstFalse, firstFalsePromise, firstNotNil, firstNotNilPromise, firstTrue, 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, waitForTrue, waitIdle, waitWhilePending, 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, AppIconComponent as ɵl };
25090
+ 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, AppEditor, 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, NgVarDirective, 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, equals, equalsOrNil, fadeInAnimation, fadeInOutAnimation, filterFalse, filterNotNil, filterNumberInput, filterTrue, firstArrayValue, firstFalse, firstFalsePromise, firstNotNil, firstNotNilPromise, firstTrue, 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, waitForTrue, waitIdle, waitWhilePending, 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, AppIconComponent as ɵl };
25071
25091
  //# sourceMappingURL=sumaris-net.ngx-components.js.map