@sumaris-net/ngx-components 1.6.17 → 1.7.2-rc1

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,24 +4169,25 @@ class MatLatLongField {
4151
4169
  this.pattern = 'DDMM';
4152
4170
  this.mask = MASKS[this.type][this.pattern];
4153
4171
  }
4154
- if (this.maxDecimals) {
4155
- if (this.maxDecimals < 0) {
4156
- console.error('Invalid attribute \'maxDecimals\'. Must a positive value.');
4157
- this.maxDecimals = DEFAULT_MAX_DECIMALS;
4158
- }
4159
- // Remove max decimals in the DDMMSS format
4160
- else if (this.pattern === 'DD') {
4161
- console.warn(`Invalid attribute 'maxDecimals' - Must be '0' when using the 'DDMMSS' pattern.`);
4162
- this.maxDecimals = 7;
4163
- }
4164
- else if (this.pattern === 'DDMMSS') {
4165
- console.warn(`Invalid attribute 'maxDecimals' - Must be '0' when using the 'DDMMSS' pattern.`);
4166
- this.maxDecimals = 0;
4167
- }
4168
- else if (this.maxDecimals !== DEFAULT_MAX_DECIMALS) {
4169
- console.warn(`Invalid attribute 'maxDecimals' - Expected value: ${DEFAULT_MAX_DECIMALS}. Other value not implemented.`);
4170
- this.maxDecimals = DEFAULT_MAX_DECIMALS;
4171
- }
4172
+ // Remove max decimals in the DDMMSS format
4173
+ if (this.pattern === 'DD') {
4174
+ console.warn(`Invalid attribute 'maxDecimals' - Must be '0' when using the 'DDMMSS' pattern.`);
4175
+ this.maxDecimals = 7;
4176
+ }
4177
+ else if (this.pattern === 'DDMMSS') {
4178
+ console.warn(`Invalid attribute 'maxDecimals' - Must be '0' when using the 'DDMMSS' pattern.`);
4179
+ this.maxDecimals = 0;
4180
+ }
4181
+ else if (isNil(this.maxDecimals)) {
4182
+ this.maxDecimals = DEFAULT_MAX_DECIMALS;
4183
+ }
4184
+ else if (this.maxDecimals < 0) {
4185
+ console.error('Invalid attribute \'maxDecimals\'. Must a positive value.');
4186
+ this.maxDecimals = DEFAULT_MAX_DECIMALS;
4187
+ }
4188
+ else if (this.maxDecimals !== DEFAULT_MAX_DECIMALS) {
4189
+ console.warn(`Invalid attribute 'maxDecimals' - Expected value: ${DEFAULT_MAX_DECIMALS} but get: ${this.maxDecimals}. Other value not implemented.`);
4190
+ this.maxDecimals = DEFAULT_MAX_DECIMALS;
4172
4191
  }
4173
4192
  this.showSignControl = this.pattern !== 'DD';
4174
4193
  this.formatFn = this.type === 'latitude' ? formatLatitude : formatLongitude;
@@ -4454,14 +4473,14 @@ SharedMatLatLongModule.decorators = [
4454
4473
  },] }
4455
4474
  ];
4456
4475
 
4457
- const DEFAULT_VALUE_ACCESSOR$5 = {
4476
+ const DEFAULT_VALUE_ACCESSOR = {
4458
4477
  provide: NG_VALUE_ACCESSOR,
4459
4478
  useExisting: forwardRef(() => MatDate),
4460
4479
  multi: true
4461
4480
  };
4462
- const DAY_MASK$2 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
4463
- const noop$6 = () => { };
4464
- 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;
4465
4484
  class MatDate {
4466
4485
  constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
4467
4486
  this.dateAdapter = dateAdapter;
@@ -4470,12 +4489,12 @@ class MatDate {
4470
4489
  this.cd = cd;
4471
4490
  this.keyboard = keyboard;
4472
4491
  this.formGroupDir = formGroupDir;
4473
- this._onChangeCallback = noop$6;
4474
- this._onTouchedCallback = noop$6;
4492
+ this._onChangeCallback = noop$2;
4493
+ this._onTouchedCallback = noop$2;
4475
4494
  this._subscription = new Subscription();
4476
4495
  this.writing = true;
4477
4496
  this.disabling = false;
4478
- this.dayMask = DAY_MASK$2;
4497
+ this.dayMask = DAY_MASK;
4479
4498
  this.disabled = false;
4480
4499
  this.floatLabel = 'auto';
4481
4500
  this.readonly = false;
@@ -4712,7 +4731,7 @@ MatDate.decorators = [
4712
4731
  selector: 'mat-date-field',
4713
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",
4714
4733
  providers: [
4715
- DEFAULT_VALUE_ACCESSOR$5,
4734
+ DEFAULT_VALUE_ACCESSOR,
4716
4735
  ],
4717
4736
  changeDetection: ChangeDetectionStrategy.OnPush,
4718
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%}"]
@@ -4745,17 +4764,17 @@ MatDate.propDecorators = {
4745
4764
  matInputs: [{ type: ViewChildren, args: ['matInput',] }]
4746
4765
  };
4747
4766
 
4748
- const DEFAULT_VALUE_ACCESSOR$4 = {
4767
+ const DEFAULT_VALUE_ACCESSOR$1 = {
4749
4768
  provide: NG_VALUE_ACCESSOR,
4750
4769
  useExisting: forwardRef(() => MatDateTime),
4751
4770
  multi: true
4752
4771
  };
4753
4772
  const DAY_MASK$1 = [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/];
4754
4773
  const HOUR_REGEXP = /^[012][0-9][:][012345][0-9]$/;
4755
- const HOUR_MASK$1 = [/[012]/, /\d/, ':', /[012345]/, /\d/];
4756
- const noop$5 = () => {
4774
+ const HOUR_MASK = [/[012]/, /\d/, ':', /[012345]/, /\d/];
4775
+ const noop$3 = () => {
4757
4776
  };
4758
- const ɵ0$8 = noop$5;
4777
+ const ɵ0$3 = noop$3;
4759
4778
  class MatDateTime {
4760
4779
  constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
4761
4780
  this.platform = platform;
@@ -4765,14 +4784,14 @@ class MatDateTime {
4765
4784
  this.cd = cd;
4766
4785
  this.keyboard = keyboard;
4767
4786
  this.formGroupDir = formGroupDir;
4768
- this._onChangeCallback = noop$5;
4769
- this._onTouchedCallback = noop$5;
4787
+ this._onChangeCallback = noop$3;
4788
+ this._onTouchedCallback = noop$3;
4770
4789
  this._subscription = new Subscription();
4771
4790
  this.writing = true;
4772
4791
  this.disabling = false;
4773
4792
  this._readonly = false;
4774
4793
  this.dayMask = DAY_MASK$1;
4775
- this.hourMask = HOUR_MASK$1;
4794
+ this.hourMask = HOUR_MASK;
4776
4795
  this.floatLabel = 'auto';
4777
4796
  this.compact = false;
4778
4797
  this.placeholderChar = DEFAULT_PLACEHOLDER_CHAR;
@@ -5084,7 +5103,7 @@ MatDateTime.decorators = [
5084
5103
  selector: 'mat-date-time-field',
5085
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",
5086
5105
  providers: [
5087
- DEFAULT_VALUE_ACCESSOR$4,
5106
+ DEFAULT_VALUE_ACCESSOR$1,
5088
5107
  ],
5089
5108
  changeDetection: ChangeDetectionStrategy.OnPush,
5090
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%}"]
@@ -5118,15 +5137,15 @@ MatDateTime.propDecorators = {
5118
5137
  matInputs: [{ type: ViewChildren, args: ['matInput',] }]
5119
5138
  };
5120
5139
 
5121
- const DEFAULT_VALUE_ACCESSOR$3 = {
5140
+ const DEFAULT_VALUE_ACCESSOR$2 = {
5122
5141
  provide: NG_VALUE_ACCESSOR,
5123
5142
  useExisting: forwardRef(() => MatDateShort),
5124
5143
  multi: true
5125
5144
  };
5126
- const DAY_MASK = [/\d/, /\d/, /\d/, /\d/];
5145
+ const DAY_MASK$2 = [/\d/, /\d/, /\d/, /\d/];
5127
5146
  const noop$4 = () => {
5128
5147
  };
5129
- const ɵ0$7 = noop$4;
5148
+ const ɵ0$4 = noop$4;
5130
5149
  class MatDateShort {
5131
5150
  constructor(platform, dateAdapter, translate, formBuilder, cd, keyboard, formGroupDir) {
5132
5151
  this.dateAdapter = dateAdapter;
@@ -5139,7 +5158,7 @@ class MatDateShort {
5139
5158
  this._onTouchedCallback = noop$4;
5140
5159
  this.writing = true;
5141
5160
  this.disabling = false;
5142
- this.dayMask = DAY_MASK;
5161
+ this.dayMask = DAY_MASK$2;
5143
5162
  this.disabled = false;
5144
5163
  this.floatLabel = 'auto';
5145
5164
  this.readonly = false;
@@ -5384,7 +5403,7 @@ MatDateShort.decorators = [
5384
5403
  selector: 'mat-date-short-field',
5385
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",
5386
5405
  providers: [
5387
- DEFAULT_VALUE_ACCESSOR$3,
5406
+ DEFAULT_VALUE_ACCESSOR$2,
5388
5407
  ],
5389
5408
  changeDetection: ChangeDetectionStrategy.OnPush,
5390
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%}"]
@@ -5452,16 +5471,16 @@ SharedMatDateTimeModule.decorators = [
5452
5471
  },] }
5453
5472
  ];
5454
5473
 
5455
- const DEFAULT_VALUE_ACCESSOR$2 = {
5474
+ const DEFAULT_VALUE_ACCESSOR$3 = {
5456
5475
  provide: NG_VALUE_ACCESSOR,
5457
5476
  useExisting: forwardRef(() => MatDuration),
5458
5477
  multi: true
5459
5478
  };
5460
5479
  const HOUR_TIME_PATTERN = /[0-9]\d\d:[0-5]\d/;
5461
- const HOUR_MASK = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
5462
- const noop$3 = () => {
5480
+ const HOUR_MASK$1 = [/\d/, /\d/, /\d/, ':', /[0-5]/, /\d/];
5481
+ const noop$5 = () => {
5463
5482
  };
5464
- const ɵ0$6 = noop$3;
5483
+ const ɵ0$5 = noop$5;
5465
5484
  class MatDuration {
5466
5485
  constructor(platform, dateAdapter, translate, formBuilder, cd, formGroupDir) {
5467
5486
  this.dateAdapter = dateAdapter;
@@ -5470,11 +5489,11 @@ class MatDuration {
5470
5489
  this.cd = cd;
5471
5490
  this.formGroupDir = formGroupDir;
5472
5491
  this._subscription = new Subscription();
5473
- this._onChangeCallback = noop$3;
5474
- this._onTouchedCallback = noop$3;
5492
+ this._onChangeCallback = noop$5;
5493
+ this._onTouchedCallback = noop$5;
5475
5494
  this.writing = true;
5476
5495
  this.disabling = false;
5477
- this.hourMask = HOUR_MASK;
5496
+ this.hourMask = HOUR_MASK$1;
5478
5497
  this.disabled = false;
5479
5498
  this.floatLabel = 'auto';
5480
5499
  this.readonly = false;
@@ -5654,7 +5673,7 @@ MatDuration.decorators = [
5654
5673
  selector: 'mat-duration-field',
5655
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",
5656
5675
  providers: [
5657
- DEFAULT_VALUE_ACCESSOR$2,
5676
+ DEFAULT_VALUE_ACCESSOR$3,
5658
5677
  ],
5659
5678
  changeDetection: ChangeDetectionStrategy.OnPush,
5660
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%}"]
@@ -5711,22 +5730,22 @@ SharedMatDurationModule.decorators = [
5711
5730
  },] }
5712
5731
  ];
5713
5732
 
5714
- const DEFAULT_VALUE_ACCESSOR$1 = {
5733
+ const DEFAULT_VALUE_ACCESSOR$4 = {
5715
5734
  provide: NG_VALUE_ACCESSOR,
5716
5735
  useExisting: forwardRef(() => MatBooleanField),
5717
5736
  multi: true
5718
5737
  };
5719
- const noop$2 = () => {
5738
+ const noop$6 = () => {
5720
5739
  };
5721
- const ɵ0$5 = noop$2;
5740
+ const ɵ0$6 = noop$6;
5722
5741
  class MatBooleanField {
5723
5742
  constructor(translate, formBuilder, cd, formGroupDir) {
5724
5743
  this.translate = translate;
5725
5744
  this.formBuilder = formBuilder;
5726
5745
  this.cd = cd;
5727
5746
  this.formGroupDir = formGroupDir;
5728
- this._onChangeCallback = noop$2;
5729
- this._onTouchedCallback = noop$2;
5747
+ this._onChangeCallback = noop$6;
5748
+ this._onTouchedCallback = noop$6;
5730
5749
  this._writing = false;
5731
5750
  this.showRadio = false;
5732
5751
  this.disabled = false;
@@ -5889,7 +5908,7 @@ MatBooleanField.decorators = [
5889
5908
  selector: 'mat-boolean-field',
5890
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",
5891
5910
  providers: [
5892
- DEFAULT_VALUE_ACCESSOR$1
5911
+ DEFAULT_VALUE_ACCESSOR$4
5893
5912
  ],
5894
5913
  changeDetection: ChangeDetectionStrategy.OnPush,
5895
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}"]
@@ -6135,7 +6154,7 @@ class MatNumpadDomService {
6135
6154
  this.appRef.detachView(this.componentRef.hostView);
6136
6155
  }
6137
6156
  }
6138
- 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" });
6139
6158
  MatNumpadDomService.decorators = [
6140
6159
  { type: Injectable, args: [{
6141
6160
  providedIn: 'root'
@@ -6499,7 +6518,7 @@ SharedMatNumpadModule.decorators = [
6499
6518
  },] }
6500
6519
  ];
6501
6520
 
6502
- const DEFAULT_VALUE_ACCESSOR = {
6521
+ const DEFAULT_VALUE_ACCESSOR$5 = {
6503
6522
  provide: NG_VALUE_ACCESSOR,
6504
6523
  useExisting: forwardRef(() => MatSwipeField),
6505
6524
  multi: true
@@ -6762,7 +6781,7 @@ MatSwipeField.decorators = [
6762
6781
  { type: Component, args: [{
6763
6782
  selector: 'mat-swipe-field',
6764
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",
6765
- providers: [DEFAULT_VALUE_ACCESSOR],
6784
+ providers: [DEFAULT_VALUE_ACCESSOR$5],
6766
6785
  changeDetection: ChangeDetectionStrategy.OnPush,
6767
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}"]
6768
6787
  },] }
@@ -6820,14 +6839,14 @@ SharedMatSwipeModule.decorators = [
6820
6839
  },] }
6821
6840
  ];
6822
6841
 
6823
- const noop$1 = () => { };
6824
- const ɵ0$4 = noop$1;
6842
+ const noop$7 = () => { };
6843
+ const ɵ0$7 = noop$7;
6825
6844
  class MatChipsField {
6826
6845
  constructor(cd, formGroupDir) {
6827
6846
  this.cd = cd;
6828
6847
  this.formGroupDir = formGroupDir;
6829
- this._onChangeCallback = noop$1;
6830
- this._onTouchedCallback = noop$1;
6848
+ this._onChangeCallback = noop$7;
6849
+ this._onTouchedCallback = noop$7;
6831
6850
  this.logPrefix = '[mat-chips] ';
6832
6851
  this.formControlName = null;
6833
6852
  this.required = false;
@@ -7696,7 +7715,7 @@ class ProgressBarService {
7696
7715
  }
7697
7716
  }
7698
7717
  }
7699
- 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" });
7700
7719
  ProgressBarService.decorators = [
7701
7720
  { type: Injectable, args: [{ providedIn: 'root' },] }
7702
7721
  ];
@@ -7740,7 +7759,7 @@ class AppGestureConfig extends HammerGestureConfig {
7740
7759
  return mc;
7741
7760
  }
7742
7761
  }
7743
- 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" });
7744
7763
  AppGestureConfig.decorators = [
7745
7764
  { type: Injectable, args: [{ providedIn: 'root' },] }
7746
7765
  ];
@@ -7965,7 +7984,7 @@ class MatPaginatorI18n extends MatPaginatorIntl {
7965
7984
  this.previousPageLabel = this.translate.instant('COMMON.PAGINATOR.PREVIOUS_PAGE');
7966
7985
  }
7967
7986
  }
7968
- 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" });
7969
7988
  MatPaginatorI18n.decorators = [
7970
7989
  { type: Injectable, args: [{ providedIn: 'root' },] }
7971
7990
  ];
@@ -8055,17 +8074,17 @@ function getColorContrast(color, bw) {
8055
8074
  return rgbArrayToHex(rgb.map(v => 255 - v));
8056
8075
  }
8057
8076
 
8058
- const noop = () => {
8077
+ const noop$8 = () => {
8059
8078
  };
8060
- const ɵ0$3 = noop;
8079
+ const ɵ0$8 = noop$8;
8061
8080
  class AppFormField {
8062
8081
  constructor(translate, cd, injector, formGroupDir) {
8063
8082
  this.translate = translate;
8064
8083
  this.cd = cd;
8065
8084
  this.injector = injector;
8066
8085
  this.formGroupDir = formGroupDir;
8067
- this._onChangeCallback = noop;
8068
- this._onTouchedCallback = noop;
8086
+ this._onChangeCallback = noop$8;
8087
+ this._onTouchedCallback = noop$8;
8069
8088
  this.readonly = false;
8070
8089
  this.compact = false;
8071
8090
  this.floatLabel = 'auto';
@@ -8498,14 +8517,14 @@ class AudioProvider extends StartableService {
8498
8517
  });
8499
8518
  }
8500
8519
  }
8501
- 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" });
8502
8521
  AudioProvider.decorators = [
8503
8522
  { type: Injectable, args: [{ providedIn: 'root' },] }
8504
8523
  ];
8505
8524
  AudioProvider.ctorParameters = () => [
8506
8525
  { type: Platform },
8507
- { type: NativeAudio, decorators: [{ type: Optional }] },
8508
- { type: Vibration, decorators: [{ type: Optional }] },
8526
+ { type: NativeAudio$1, decorators: [{ type: Optional }] },
8527
+ { type: Vibration$1, decorators: [{ type: Optional }] },
8509
8528
  { type: AudioManagement, decorators: [{ type: Optional }] }
8510
8529
  ];
8511
8530
 
@@ -8587,7 +8606,7 @@ class Hotkeys {
8587
8606
  });
8588
8607
  }
8589
8608
  }
8590
- 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" });
8591
8610
  Hotkeys.decorators = [
8592
8611
  { type: Injectable, args: [{
8593
8612
  providedIn: 'root'
@@ -8761,7 +8780,7 @@ class Base64ImageReader {
8761
8780
  }
8762
8781
  }
8763
8782
 
8764
- const uuidv4$1 = uuidv4Imported;
8783
+ const uuidv4 = uuidv4Imported;
8765
8784
  class FileService {
8766
8785
  constructor(platform,
8767
8786
  //private transfer: FileTransfer,
@@ -8798,7 +8817,7 @@ class FileService {
8798
8817
  const lastSlashIndex = source.lastIndexOf('/');
8799
8818
  if (lastSlashIndex === -1)
8800
8819
  throw new Error('Invalid URL: ' + source);
8801
- const fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4$1();
8820
+ const fileName = lastSlashIndex < (source.length - 1) && source.substring(lastSlashIndex + 1) || uuidv4();
8802
8821
  // Download into the file system
8803
8822
  if (responseType === 'file' && this.canUseFileSystem) {
8804
8823
  console.warn(`WARN: [file] Fetching image {${source}} in local file...`);
@@ -8854,7 +8873,7 @@ class FileService {
8854
8873
  this._started = true;
8855
8874
  }
8856
8875
  }
8857
- 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" });
8858
8877
  FileService.decorators = [
8859
8878
  { type: Injectable, args: [{
8860
8879
  providedIn: 'root',
@@ -9020,7 +9039,7 @@ class Base58 {
9020
9039
  Base58.alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz';
9021
9040
 
9022
9041
  const scrypt = require('scrypt-async');
9023
- const sha256$1 = require('hash.js/lib/hash/sha/256');
9042
+ const sha256 = require('hash.js/lib/hash/sha/256');
9024
9043
  const sha512 = require('hash.js/lib/hash/sha/512');
9025
9044
  const nacl = {
9026
9045
  sign,
@@ -9124,7 +9143,7 @@ class CryptoService {
9124
9143
  * Hash (using SHA256) a message
9125
9144
  */
9126
9145
  sha256(message) {
9127
- return sha256$1().update(message).digest('hex');
9146
+ return sha256().update(message).digest('hex');
9128
9147
  }
9129
9148
  /**
9130
9149
  * Hash (using SHA512) a message
@@ -9137,7 +9156,7 @@ class CryptoService {
9137
9156
  return nacl.util.encodeBase64(m);
9138
9157
  }
9139
9158
  }
9140
- 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" });
9141
9160
  CryptoService.decorators = [
9142
9161
  { type: Injectable, args: [{ providedIn: 'root' },] }
9143
9162
  ];
@@ -10365,7 +10384,7 @@ class LocalSettingsService extends StartableService {
10365
10384
  return page;
10366
10385
  }
10367
10386
  }
10368
- 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" });
10369
10388
  LocalSettingsService.decorators = [
10370
10389
  { type: Injectable, args: [{
10371
10390
  providedIn: 'root',
@@ -11023,7 +11042,7 @@ class NetworkService extends StartableService {
11023
11042
  });
11024
11043
  }
11025
11044
  }
11026
- 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" });
11027
11046
  NetworkService.decorators = [
11028
11047
  { type: Injectable, args: [{ providedIn: 'root' },] }
11029
11048
  ];
@@ -11034,16 +11053,16 @@ NetworkService.ctorParameters = () => [
11034
11053
  { type: CryptoService },
11035
11054
  { type: Storage },
11036
11055
  { type: LocalSettingsService },
11037
- { type: CacheService },
11056
+ { type: CacheService$1 },
11038
11057
  { type: HttpClient },
11039
11058
  { type: undefined, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] },
11040
- { type: Network, decorators: [{ type: Optional }] },
11041
- { type: SplashScreen, decorators: [{ type: Optional }] },
11059
+ { type: Network$1, decorators: [{ type: Optional }] },
11060
+ { type: SplashScreen$1, decorators: [{ type: Optional }] },
11042
11061
  { type: TranslateService, decorators: [{ type: Optional }] },
11043
11062
  { type: ToastController, decorators: [{ type: Optional }] }
11044
11063
  ];
11045
11064
 
11046
- const ErrorCodes$2 = {
11065
+ const ErrorCodes = {
11047
11066
  UNKNOWN_ERROR: 0,
11048
11067
  LOAD_ACCOUNT_ERROR: 1,
11049
11068
  BAD_PASSWORD: 2,
@@ -11395,7 +11414,7 @@ class EntityStore {
11395
11414
  }
11396
11415
  catch (err) {
11397
11416
  console.error(err);
11398
- 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 };
11399
11418
  }
11400
11419
  }
11401
11420
  // Emit update event
@@ -11969,7 +11988,7 @@ class EntitiesStorage extends StartableService {
11969
11988
  }
11970
11989
  EntitiesStorage.TRASH_PREFIX = 'Trash#';
11971
11990
  EntitiesStorage.REMOTE_PREFIX = 'Remote#';
11972
- 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" });
11973
11992
  EntitiesStorage.decorators = [
11974
11993
  { type: Injectable, args: [{ providedIn: 'root' },] }
11975
11994
  ];
@@ -12106,10 +12125,10 @@ function referentialToString(obj, properties) {
12106
12125
  function referentialsToString(values, properties, separator) {
12107
12126
  return (values || []).map(v => referentialToString(v, properties)).join(separator || ', ');
12108
12127
  }
12109
- const ɵ0$2 = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
12128
+ const ɵ0$9 = StatusIds.ENABLE, ɵ1 = StatusIds.DISABLE, ɵ2 = StatusIds.TEMPORARY;
12110
12129
  const StatusList = Object.freeze([
12111
12130
  {
12112
- id: ɵ0$2,
12131
+ id: ɵ0$9,
12113
12132
  icon: 'checkmark',
12114
12133
  label: 'REFERENTIAL.STATUS_ENUM.ENABLE'
12115
12134
  },
@@ -12384,7 +12403,7 @@ function accountToString(data) {
12384
12403
  (data.lastName || '')) || '';
12385
12404
  }
12386
12405
 
12387
- const uuidv4 = uuidv4Imported;
12406
+ const uuidv4$1 = uuidv4Imported;
12388
12407
  const _global = typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : {});
12389
12408
  const NativeWebSocket = _global.WebSocket || _global.MozWebSocket;
12390
12409
  /**
@@ -12428,7 +12447,7 @@ function createTrackerLink(opts) {
12428
12447
  // Skip if not tracked
12429
12448
  if (!context || !context.tracked)
12430
12449
  return forward(operation);
12431
- const id = context.serializationKey || uuidv4();
12450
+ const id = context.serializationKey || uuidv4$1();
12432
12451
  console.debug(`[apollo-tracker-link] Watching tracked query {${operation.operationName}#${id}}`);
12433
12452
  // Clean context, before calling JSON.stringify (remove unused attributes)
12434
12453
  const cleanContext = Object.assign(Object.assign({}, context), { optimisticResponse: null, cache: null });
@@ -13093,7 +13112,7 @@ class GraphqlService extends StartableService {
13093
13112
  (err.networkError && ((err.networkError.error && this.toAppError(err.networkError.error))
13094
13113
  || this.toAppError(err.networkError)
13095
13114
  || (err.networkError.error && this.createAppErrorByCode(err.networkError.error.status))
13096
- || this.createAppErrorByCode(ErrorCodes$2.UNKNOWN_NETWORK_ERROR)))
13115
+ || this.createAppErrorByCode(ErrorCodes.UNKNOWN_NETWORK_ERROR)))
13097
13116
  // If graphQL: try to convert the first error found
13098
13117
  || (err.graphQLErrors && err.graphQLErrors.length && this.toAppError(err.graphQLErrors[0]))
13099
13118
  || this.toAppError(err)
@@ -13101,7 +13120,7 @@ class GraphqlService extends StartableService {
13101
13120
  || (err.graphQLErrors && err.graphQLErrors[0])
13102
13121
  || err;
13103
13122
  console.error('[graphql] ' + (error && error.message || error), error.stack || '');
13104
- 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) {
13105
13124
  console.error('[graphql] original error: ' + err.networkError.message);
13106
13125
  this.onNetworkError.next(error);
13107
13126
  }
@@ -13137,7 +13156,7 @@ class GraphqlService extends StartableService {
13137
13156
  return 'ERROR.UNAUTHORIZED';
13138
13157
  case ServerErrorCodes.FORBIDDEN:
13139
13158
  return 'ERROR.FORBIDDEN';
13140
- case ErrorCodes$2.UNKNOWN_NETWORK_ERROR:
13159
+ case ErrorCodes.UNKNOWN_NETWORK_ERROR:
13141
13160
  return 'ERROR.UNKNOWN_NETWORK_ERROR';
13142
13161
  case ServerErrorCodes.BAD_UPDATE_DATE:
13143
13162
  return 'ERROR.BAD_UPDATE_DATE';
@@ -13168,7 +13187,7 @@ class GraphqlService extends StartableService {
13168
13187
  return undefined;
13169
13188
  }
13170
13189
  }
13171
- 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" });
13172
13191
  GraphqlService.decorators = [
13173
13192
  { type: Injectable, args: [{
13174
13193
  providedIn: 'root'
@@ -13185,7 +13204,7 @@ GraphqlService.ctorParameters = () => [
13185
13204
  { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_GRAPHQL_TYPE_POLICIES,] }] }
13186
13205
  ];
13187
13206
 
13188
- const sha256 = require('hash.js/lib/hash/sha/256');
13207
+ const sha256$1 = require('hash.js/lib/hash/sha/256');
13189
13208
  class BaseGraphqlServiceOptions {
13190
13209
  }
13191
13210
  // eslint-disable-next-line @angular-eslint/directive-class-suffix
@@ -13336,8 +13355,8 @@ class BaseGraphqlService extends StartableService {
13336
13355
  }
13337
13356
  /* -- protected methods -- */
13338
13357
  computeMutableWatchQueryId(opts) {
13339
- const queryName = opts.queryName || sha256().update(JSON.stringify(opts.query)).digest('hex').substring(0, 8);
13340
- 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) || '';
13341
13360
  return [queryName, opts.arrayFieldName, variablesKey].join('|');
13342
13361
  }
13343
13362
  findMutableWatchQueries(opts) {
@@ -13403,7 +13422,7 @@ const DEFAULT_AVATAR_IMAGE = 'assets/img/person.png';
13403
13422
  /* ------------------------------------
13404
13423
  * GraphQL queries
13405
13424
  * ------------------------------------*/
13406
- const Fragments$1 = {
13425
+ const Fragments = {
13407
13426
  account: gql `
13408
13427
  fragment AccountFragment on AccountVO {
13409
13428
  id
@@ -13438,14 +13457,14 @@ const Fragments$1 = {
13438
13457
  }`
13439
13458
  };
13440
13459
  // Load account query
13441
- const LoadQuery$1 = gql `
13460
+ const LoadQuery = gql `
13442
13461
  query Account {
13443
13462
  data: account {
13444
13463
  ...AccountFragment
13445
13464
  }
13446
13465
  }
13447
- ${Fragments$1.account}
13448
- ${Fragments$1.settings}
13466
+ ${Fragments.account}
13467
+ ${Fragments.settings}
13449
13468
  `;
13450
13469
  // Check email query
13451
13470
  const IsEmailExistsQuery = gql `
@@ -13460,21 +13479,21 @@ const AccountMutations = {
13460
13479
  ...AccountFragment
13461
13480
  }
13462
13481
  }
13463
- ${Fragments$1.account}
13464
- ${Fragments$1.settings}`,
13482
+ ${Fragments.account}
13483
+ ${Fragments.settings}`,
13465
13484
  create: gql `mutation CreateAccount($data:AccountVOInput){
13466
13485
  data: createAccount(account: $data){
13467
13486
  ...AccountFragment
13468
13487
  }
13469
13488
  }
13470
- ${Fragments$1.account}
13471
- ${Fragments$1.settings}`,
13489
+ ${Fragments.account}
13490
+ ${Fragments.settings}`,
13472
13491
  saveSettings: gql `mutation SaveSettings($data:UserSettingsVOInput){
13473
13492
  data: saveSettings(settings: $data){
13474
13493
  ...UserSettingsFragment
13475
13494
  }
13476
13495
  }
13477
- ${Fragments$1.settings}`
13496
+ ${Fragments.settings}`
13478
13497
  };
13479
13498
  // Sent confirmation email
13480
13499
  const SendConfirmEmailMutation = gql `
@@ -13783,7 +13802,7 @@ class AccountService extends BaseGraphqlService {
13783
13802
  catch (error) {
13784
13803
  console.error(error);
13785
13804
  this.resetData();
13786
- throw { code: ErrorCodes$2.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
13805
+ throw { code: ErrorCodes.UNKNOWN_ERROR, message: 'ERROR.SCRYPT_ERROR' };
13787
13806
  }
13788
13807
  // Store pubkey+keypair
13789
13808
  this._cache.pubkey = Base58.encode(keypair.publicKey);
@@ -13817,7 +13836,7 @@ class AccountService extends BaseGraphqlService {
13817
13836
  }
13818
13837
  catch (err) {
13819
13838
  // If account not found, check if email is valid
13820
- if (err && +(err.code) === ErrorCodes$2.LOAD_ACCOUNT_ERROR) {
13839
+ if (err && +(err.code) === ErrorCodes.LOAD_ACCOUNT_ERROR) {
13821
13840
  // Check email exists
13822
13841
  if (data.username.indexOf('@') !== -1) {
13823
13842
  let isEmailExists;
@@ -13829,11 +13848,11 @@ class AccountService extends BaseGraphqlService {
13829
13848
  }
13830
13849
  // Email not exists (no account)
13831
13850
  if (!isEmailExists) {
13832
- throw { code: ErrorCodes$2.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
13851
+ throw { code: ErrorCodes.UNKNOWN_ACCOUNT_EMAIL, message: 'ERROR.UNKNOWN_ACCOUNT_EMAIL' };
13833
13852
  }
13834
13853
  }
13835
13854
  // Email exists, so error = 'bad password'
13836
- throw { code: ErrorCodes$2.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
13855
+ throw { code: ErrorCodes.BAD_PASSWORD, message: 'ERROR.BAD_PASSWORD' };
13837
13856
  }
13838
13857
  throw err; // resend the first error
13839
13858
  }
@@ -13958,8 +13977,8 @@ class AccountService extends BaseGraphqlService {
13958
13977
  // Load remotely
13959
13978
  else {
13960
13979
  const { data } = yield this.graphql.query({
13961
- query: LoadQuery$1,
13962
- 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' },
13963
13982
  fetchPolicy: opts && opts.fetchPolicy || 'no-cache' || undefined
13964
13983
  });
13965
13984
  json = data;
@@ -13986,7 +14005,7 @@ class AccountService extends BaseGraphqlService {
13986
14005
  return __awaiter(this, void 0, void 0, function* () {
13987
14006
  const isEmailExists = yield this.isEmailExists(email);
13988
14007
  if (isEmailExists) {
13989
- throw { code: ErrorCodes$2.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
14008
+ throw { code: ErrorCodes.EMAIL_ALREADY_REGISTERED, message: 'ERROR.EMAIL_ALREADY_REGISTERED' };
13990
14009
  }
13991
14010
  });
13992
14011
  }
@@ -14022,7 +14041,7 @@ class AccountService extends BaseGraphqlService {
14022
14041
  locale
14023
14042
  },
14024
14043
  error: {
14025
- code: ErrorCodes$2.SENT_CONFIRMATION_EMAIL_FAILED,
14044
+ code: ErrorCodes.SENT_CONFIRMATION_EMAIL_FAILED,
14026
14045
  message: 'ERROR.SENT_ACCOUNT_CONFIRMATION_EMAIL_FAILED'
14027
14046
  }
14028
14047
  });
@@ -14038,7 +14057,7 @@ class AccountService extends BaseGraphqlService {
14038
14057
  code
14039
14058
  },
14040
14059
  error: {
14041
- code: ErrorCodes$2.CONFIRM_EMAIL_FAILED,
14060
+ code: ErrorCodes.CONFIRM_EMAIL_FAILED,
14042
14061
  message: 'ERROR.CONFIRM_ACCOUNT_EMAIL_FAILED'
14043
14062
  }
14044
14063
  });
@@ -14056,7 +14075,7 @@ class AccountService extends BaseGraphqlService {
14056
14075
  interval: 10
14057
14076
  },
14058
14077
  error: {
14059
- code: ErrorCodes$2.SUBSCRIBE_ACCOUNT_ERROR,
14078
+ code: ErrorCodes.SUBSCRIBE_ACCOUNT_ERROR,
14060
14079
  message: 'ERROR.ACCOUNT.SUBSCRIBE_ACCOUNT_ERROR'
14061
14080
  }
14062
14081
  }).subscribe({
@@ -14157,7 +14176,7 @@ class AccountService extends BaseGraphqlService {
14157
14176
  throw error;
14158
14177
  console.error(error);
14159
14178
  throw {
14160
- code: ErrorCodes$2.LOAD_ACCOUNT_ERROR,
14179
+ code: ErrorCodes.LOAD_ACCOUNT_ERROR,
14161
14180
  message: 'ERROR.LOAD_ACCOUNT_ERROR'
14162
14181
  };
14163
14182
  }
@@ -14325,7 +14344,7 @@ class AccountService extends BaseGraphqlService {
14325
14344
  if (!isNew) {
14326
14345
  const existingAccount = yield this.load({ fetchPolicy: 'network-only' });
14327
14346
  if (!existingAccount || !existingAccount.updateDate) {
14328
- throw { code: ErrorCodes$2.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
14347
+ throw { code: ErrorCodes.ACCOUNT_NOT_EXISTS, message: 'ERROR.ACCOUNT_NOT_EXISTS' };
14329
14348
  }
14330
14349
  this.copyIdAndUpdateDate(existingAccount, account);
14331
14350
  }
@@ -14337,7 +14356,7 @@ class AccountService extends BaseGraphqlService {
14337
14356
  mutation: isNew ? AccountMutations.create : AccountMutations.save,
14338
14357
  variables: { data: json },
14339
14358
  error: {
14340
- code: ErrorCodes$2.SAVE_ACCOUNT_ERROR,
14359
+ code: ErrorCodes.SAVE_ACCOUNT_ERROR,
14341
14360
  message: 'ERROR.SAVE_ACCOUNT_ERROR'
14342
14361
  }
14343
14362
  });
@@ -14364,7 +14383,7 @@ class AccountService extends BaseGraphqlService {
14364
14383
  mutation: AccountMutations.saveSettings,
14365
14384
  variables: { data: json },
14366
14385
  error: {
14367
- code: ErrorCodes$2.SAVE_SETTINGS_ERROR,
14386
+ code: ErrorCodes.SAVE_SETTINGS_ERROR,
14368
14387
  message: 'ERROR.SAVE_SETTINGS_ERROR'
14369
14388
  }
14370
14389
  });
@@ -14386,7 +14405,7 @@ class AccountService extends BaseGraphqlService {
14386
14405
  if (counter > 4) {
14387
14406
  if (this._debug)
14388
14407
  console.debug(`[account] Failed to authentication on pod (after ${counter} attempts)`);
14389
- throw { code: ErrorCodes$2.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
14408
+ throw { code: ErrorCodes.AUTH_SERVER_ERROR, message: 'ERROR.AUTH_SERVER_ERROR' };
14390
14409
  }
14391
14410
  // Check if valid
14392
14411
  if (token) {
@@ -14396,7 +14415,7 @@ class AccountService extends BaseGraphqlService {
14396
14415
  token
14397
14416
  },
14398
14417
  error: {
14399
- code: ErrorCodes$2.UNAUTHORIZED,
14418
+ code: ErrorCodes.UNAUTHORIZED,
14400
14419
  message: 'ERROR.UNAUTHORIZED'
14401
14420
  },
14402
14421
  fetchPolicy: 'no-cache'
@@ -14412,7 +14431,7 @@ class AccountService extends BaseGraphqlService {
14412
14431
  }
14413
14432
  // Generate a new token
14414
14433
  const challengeError = {
14415
- code: ErrorCodes$2.AUTH_CHALLENGE_ERROR,
14434
+ code: ErrorCodes.AUTH_CHALLENGE_ERROR,
14416
14435
  message: 'ERROR.AUTH_CHALLENGE_ERROR'
14417
14436
  };
14418
14437
  const data = yield this.graphql.query({
@@ -14451,7 +14470,7 @@ class AccountService extends BaseGraphqlService {
14451
14470
  target.updateDate = source.updateDate || target.updateDate;
14452
14471
  }
14453
14472
  }
14454
- 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" });
14455
14474
  AccountService.decorators = [
14456
14475
  { type: Injectable, args: [{ providedIn: 'root' },] }
14457
14476
  ];
@@ -14711,7 +14730,7 @@ const CONFIGURATION_STORAGE_KEY = 'configuration';
14711
14730
  /* ------------------------------------
14712
14731
  * GraphQL queries
14713
14732
  * ------------------------------------*/
14714
- const Fragments = {
14733
+ const Fragments$1 = {
14715
14734
  config: gql `
14716
14735
  fragment ConfigFragment on ConfigurationVO {
14717
14736
  id
@@ -14738,13 +14757,13 @@ const Fragments = {
14738
14757
  }
14739
14758
  `
14740
14759
  };
14741
- const LoadQuery = gql `
14760
+ const LoadQuery$1 = gql `
14742
14761
  query Configuration{
14743
14762
  data: configuration{
14744
14763
  ...ConfigFragment
14745
14764
  }
14746
14765
  }
14747
- ${Fragments.config}
14766
+ ${Fragments$1.config}
14748
14767
  `;
14749
14768
  // Save (create or update) account mutation
14750
14769
  const SaveMutation = gql `
@@ -14753,7 +14772,7 @@ const SaveMutation = gql `
14753
14772
  ...ConfigFragment
14754
14773
  }
14755
14774
  }
14756
- ${Fragments.config}
14775
+ ${Fragments$1.config}
14757
14776
  `;
14758
14777
  const ClearCache = gql `
14759
14778
  query ClearCache($name: String) {
@@ -14803,12 +14822,12 @@ class ConfigService extends BaseGraphqlService {
14803
14822
  return __awaiter(this, void 0, void 0, function* () {
14804
14823
  const now = Date.now();
14805
14824
  console.debug('[config] Loading Pod configuration...');
14806
- const query = opts && opts.query || LoadQuery;
14825
+ const query = opts && opts.query || LoadQuery$1;
14807
14826
  const variables = opts && opts.variables || undefined;
14808
14827
  const res = yield this.graphql.query({
14809
14828
  query,
14810
14829
  variables,
14811
- error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
14830
+ error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
14812
14831
  fetchPolicy: opts && opts.fetchPolicy || undefined /*default*/
14813
14832
  });
14814
14833
  const data = res && res.data ? Configuration.fromObject(res.data) : undefined;
@@ -14838,7 +14857,7 @@ class ConfigService extends BaseGraphqlService {
14838
14857
  data: json
14839
14858
  },
14840
14859
  error: {
14841
- code: ErrorCodes$2.SAVE_CONFIG_ERROR,
14860
+ code: ErrorCodes.SAVE_CONFIG_ERROR,
14842
14861
  message: 'ERROR.SAVE_CONFIG_ERROR'
14843
14862
  }
14844
14863
  });
@@ -14864,7 +14883,7 @@ class ConfigService extends BaseGraphqlService {
14864
14883
  const res = yield this.graphql.query({
14865
14884
  query: CacheStatistics,
14866
14885
  variables: null,
14867
- error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
14886
+ error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
14868
14887
  fetchPolicy: 'network-only'
14869
14888
  });
14870
14889
  const data = res && res.cacheStatistics || undefined;
@@ -14880,7 +14899,7 @@ class ConfigService extends BaseGraphqlService {
14880
14899
  const res = yield this.graphql.query({
14881
14900
  query: ClearCache,
14882
14901
  variables,
14883
- error: { code: ErrorCodes$2.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
14902
+ error: { code: ErrorCodes.LOAD_CONFIG_ERROR, message: 'ERROR.LOAD_CONFIG_ERROR' },
14884
14903
  fetchPolicy: 'network-only'
14885
14904
  });
14886
14905
  const data = res && res.clearCache || undefined;
@@ -15039,7 +15058,7 @@ class ConfigService extends BaseGraphqlService {
15039
15058
  });
15040
15059
  }
15041
15060
  }
15042
- 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" });
15043
15062
  ConfigService.decorators = [
15044
15063
  { type: Injectable, args: [{
15045
15064
  providedIn: 'root',
@@ -15058,7 +15077,7 @@ ConfigService.ctorParameters = () => [
15058
15077
  { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [APP_CONFIG_OPTIONS,] }] }
15059
15078
  ];
15060
15079
 
15061
- const moment$2 = momentImported;
15080
+ const moment$4 = momentImported;
15062
15081
  class PlatformService extends StartableService {
15063
15082
  constructor(platform, cdkPlatform, toastController, translate, dateAdapter, entitiesStorage, settings, networkService, accountService, configService, cache, storage, audioProvider, environment, statusBar, keyboard, splashScreen, browser, downloader) {
15064
15083
  super(platform);
@@ -15262,16 +15281,16 @@ class PlatformService extends StartableService {
15262
15281
  }
15263
15282
  // config moment lib
15264
15283
  try {
15265
- moment$2.locale(event.lang);
15284
+ moment$4.locale(event.lang);
15266
15285
  console.debug('[platform] Use locale {' + event.lang + '}');
15267
15286
  }
15268
15287
  // If error, fallback to en
15269
15288
  catch (err) {
15270
- moment$2.locale('en');
15289
+ moment$4.locale('en');
15271
15290
  console.warn('[platform] Unknown local for moment lib. Using default [en]');
15272
15291
  }
15273
15292
  // Config date adapter
15274
- this.dateAdapter.setLocale(moment$2.locale());
15293
+ this.dateAdapter.setLocale(moment$4.locale());
15275
15294
  }
15276
15295
  });
15277
15296
  this.settings.onChange.subscribe(data => {
@@ -15405,7 +15424,7 @@ class PlatformService extends StartableService {
15405
15424
  });
15406
15425
  }
15407
15426
  }
15408
- 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" });
15409
15428
  PlatformService.decorators = [
15410
15429
  { type: Injectable, args: [{ providedIn: 'root' },] }
15411
15430
  ];
@@ -15420,15 +15439,15 @@ PlatformService.ctorParameters = () => [
15420
15439
  { type: NetworkService },
15421
15440
  { type: AccountService },
15422
15441
  { type: ConfigService },
15423
- { type: CacheService },
15442
+ { type: CacheService$1 },
15424
15443
  { type: Storage },
15425
15444
  { type: AudioProvider },
15426
15445
  { type: undefined, decorators: [{ type: Inject, args: [ENVIRONMENT,] }] },
15427
- { type: StatusBar, decorators: [{ type: Optional }] },
15446
+ { type: StatusBar$1, decorators: [{ type: Optional }] },
15428
15447
  { type: Keyboard, decorators: [{ type: Optional }] },
15429
- { type: SplashScreen, decorators: [{ type: Optional }] },
15430
- { type: InAppBrowser, decorators: [{ type: Optional }] },
15431
- { 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 }] }
15432
15451
  ];
15433
15452
 
15434
15453
  class AppHelpModal {
@@ -15492,7 +15511,7 @@ class MatStepperI18n extends MatStepperIntl {
15492
15511
  this.optionalLabel = this.translate.instant('COMMON.OPTIONAL');
15493
15512
  }
15494
15513
  }
15495
- 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" });
15496
15515
  MatStepperI18n.decorators = [
15497
15516
  { type: Injectable, args: [{ providedIn: 'root' },] }
15498
15517
  ];
@@ -16494,7 +16513,7 @@ function state2side(state) {
16494
16513
  return 1;
16495
16514
  }
16496
16515
  }
16497
- const ɵ0$1 = (defaultStateSize) => [
16516
+ const ɵ0$a = (defaultStateSize) => [
16498
16517
  Math.round((rgbArrayMap.red[0] - 50) / defaultStateSize),
16499
16518
  Math.round((255 - rgbArrayMap.red[1]) / defaultStateSize),
16500
16519
  Math.round((255 - rgbArrayMap.red[2]) / defaultStateSize)
@@ -16502,7 +16521,7 @@ const ɵ0$1 = (defaultStateSize) => [
16502
16521
  const SCALE_OPTIONS_DEFAULT = {
16503
16522
  startColor: rgbArrayMap.red,
16504
16523
  startStates: [0, 2, 3],
16505
- startStepsFn: ɵ0$1
16524
+ startStepsFn: ɵ0$a
16506
16525
  };
16507
16526
  /**
16508
16527
  * Internal function, that create a colors scale, using iteration
@@ -16594,21 +16613,21 @@ function linearColorGradient(count, options) {
16594
16613
  return result;
16595
16614
  }
16596
16615
 
16597
- class EntityTestClass$1 {
16616
+ class EntityTestClass {
16598
16617
  }
16599
- const FAKE_ENTITIES$1 = [
16618
+ const FAKE_ENTITIES = [
16600
16619
  { id: 1, label: 'AAA', name: 'Item A', description: 'Very long description A', comments: 'Very very long comments... again for A' },
16601
16620
  { id: 2, label: 'BBB', name: 'Item B', description: 'Very long description B', comments: 'Very very long comments... again for B' },
16602
16621
  { id: 3, label: 'CCC', name: 'Item C', description: 'Very long description C', comments: 'Very very long comments... again for C' }
16603
16622
  ];
16604
- function deepCopy$1(values, size) {
16623
+ function deepCopy(values, size) {
16605
16624
  if (isNil(size)) {
16606
- return (values || FAKE_ENTITIES$1).map(entity => Object.assign({}, entity));
16625
+ return (values || FAKE_ENTITIES).map(entity => Object.assign({}, entity));
16607
16626
  }
16608
16627
  let result = [];
16609
16628
  let i = 1;
16610
16629
  while (result.length < size) {
16611
- result = result.concat((values || FAKE_ENTITIES$1).map(entity => {
16630
+ result = result.concat((values || FAKE_ENTITIES).map(entity => {
16612
16631
  const name = entity.name + ' #' + i;
16613
16632
  return Object.assign(Object.assign({}, entity), { id: i++, name });
16614
16633
  }));
@@ -16618,7 +16637,7 @@ function deepCopy$1(values, size) {
16618
16637
  class AutocompleteTestPage {
16619
16638
  constructor(formBuilder) {
16620
16639
  this.formBuilder = formBuilder;
16621
- this._items = deepCopy$1(FAKE_ENTITIES$1, 100);
16640
+ this._items = deepCopy(FAKE_ENTITIES, 100);
16622
16641
  this._$items = new BehaviorSubject(undefined);
16623
16642
  this.autocompleteFields = new MatAutocompleteConfigHolder();
16624
16643
  this.memoryHide = false;
@@ -16662,7 +16681,7 @@ class AutocompleteTestPage {
16662
16681
  });
16663
16682
  // From items
16664
16683
  this.autocompleteFields.add('entity-items-large', {
16665
- items: FAKE_ENTITIES$1.slice(),
16684
+ items: FAKE_ENTITIES.slice(),
16666
16685
  attributes: ['label', 'name', 'description', 'comments'],
16667
16686
  displayWith: this.entityToString
16668
16687
  });
@@ -16672,12 +16691,12 @@ class AutocompleteTestPage {
16672
16691
  loadData() {
16673
16692
  return __awaiter(this, void 0, void 0, function* () {
16674
16693
  const data = {
16675
- entity: deepCopy$1(FAKE_ENTITIES$1)[0],
16694
+ entity: deepCopy(FAKE_ENTITIES)[0],
16676
16695
  // This item is NOT in the items list => i should be displayed anyway
16677
16696
  missingEntity: {
16678
16697
  id: -1, label: '??', name: 'Missing item'
16679
16698
  },
16680
- disableEntity: deepCopy$1(FAKE_ENTITIES$1)[2]
16699
+ disableEntity: deepCopy(FAKE_ENTITIES)[2]
16681
16700
  };
16682
16701
  this.form.setValue(data);
16683
16702
  // Load observables
@@ -16850,13 +16869,13 @@ MaterialTestingPage.ctorParameters = () => [
16850
16869
  { type: Array, decorators: [{ type: Optional }, { type: Inject, args: [APP_TESTING_PAGES,] }] }
16851
16870
  ];
16852
16871
 
16853
- const moment$1 = momentImported;
16872
+ const moment$5 = momentImported;
16854
16873
  class SwipeTestPage {
16855
16874
  constructor(formBuilder, dateFormatPipe) {
16856
16875
  this.formBuilder = formBuilder;
16857
16876
  this.dateFormatPipe = dateFormatPipe;
16858
16877
  this.$dates = new BehaviorSubject(undefined);
16859
- this._today = moment$1().startOf('day');
16878
+ this._today = moment$5().startOf('day');
16860
16879
  this.form = formBuilder.group({
16861
16880
  empty: [null, Validators.required],
16862
16881
  date: [null, Validators.compose([Validators.required, SharedValidators.validDate])],
@@ -16869,7 +16888,7 @@ class SwipeTestPage {
16869
16888
  ngOnInit() {
16870
16889
  const dates = [];
16871
16890
  for (let d = 0; d < 7; d++) {
16872
- dates[d] = moment$1(this._today).add(d - 3, 'day');
16891
+ dates[d] = moment$5(this._today).add(d - 3, 'day');
16873
16892
  }
16874
16893
  this.$dates.next(dates);
16875
16894
  this.loadData();
@@ -16910,7 +16929,7 @@ SwipeTestPage.ctorParameters = () => [
16910
16929
  { type: DateFormatPipe }
16911
16930
  ];
16912
16931
 
16913
- const moment = momentImported;
16932
+ const moment$6 = momentImported;
16914
16933
  class DateTimeTestPage {
16915
16934
  constructor(platform, formBuilder, cd) {
16916
16935
  this.platform = platform;
@@ -16942,7 +16961,7 @@ class DateTimeTestPage {
16942
16961
  // Load the form with data
16943
16962
  loadData() {
16944
16963
  return __awaiter(this, void 0, void 0, function* () {
16945
- const now = moment();
16964
+ const now = moment$6();
16946
16965
  const data = {
16947
16966
  empty: toDateISOString(now.clone().add(2, 'hours')),
16948
16967
  enable: toDateISOString(now),
@@ -17003,9 +17022,9 @@ DateTimeTestPage.ctorParameters = () => [
17003
17022
  { type: ChangeDetectorRef }
17004
17023
  ];
17005
17024
 
17006
- class EntityTestClass {
17025
+ class EntityTestClass$1 {
17007
17026
  }
17008
- const FAKE_ENTITIES = [
17027
+ const FAKE_ENTITIES$1 = [
17009
17028
  { id: 1, label: 'AAA', name: 'Item A' },
17010
17029
  { id: 2, label: 'BBB', name: 'Item B' },
17011
17030
  { id: 3, label: 'CCC', name: 'Item C' },
@@ -17014,14 +17033,14 @@ const FAKE_ENTITIES = [
17014
17033
  { id: 6, label: 'FFF', name: 'Item F' },
17015
17034
  { id: 7, label: 'GGG', name: 'Item G' }
17016
17035
  ];
17017
- function deepCopy(values, size) {
17036
+ function deepCopy$1(values, size) {
17018
17037
  if (isNil(size)) {
17019
- return (values || FAKE_ENTITIES).map(entity => Object.assign({}, entity));
17038
+ return (values || FAKE_ENTITIES$1).map(entity => Object.assign({}, entity));
17020
17039
  }
17021
17040
  let result = [];
17022
17041
  let i = 1;
17023
17042
  while (result.length < size) {
17024
- result = result.concat((values || FAKE_ENTITIES).map(entity => {
17043
+ result = result.concat((values || FAKE_ENTITIES$1).map(entity => {
17025
17044
  const name = entity.name + ' #' + i;
17026
17045
  return Object.assign(Object.assign({}, entity), { id: i++, name });
17027
17046
  }));
@@ -17031,7 +17050,7 @@ function deepCopy(values, size) {
17031
17050
  class ChipsTestPage {
17032
17051
  constructor(formBuilder) {
17033
17052
  this.formBuilder = formBuilder;
17034
- this._items = deepCopy(FAKE_ENTITIES, 100);
17053
+ this._items = deepCopy$1(FAKE_ENTITIES$1, 100);
17035
17054
  this._$items = new BehaviorSubject(undefined);
17036
17055
  this.autocompleteFields = new MatAutocompleteConfigHolder();
17037
17056
  this.form = formBuilder.group({
@@ -17070,7 +17089,7 @@ class ChipsTestPage {
17070
17089
  // Load the form with data
17071
17090
  loadData() {
17072
17091
  return __awaiter(this, void 0, void 0, function* () {
17073
- const items = deepCopy(FAKE_ENTITIES);
17092
+ const items = deepCopy$1(FAKE_ENTITIES$1);
17074
17093
  const data = {
17075
17094
  entity: items.slice(0, 1),
17076
17095
  entityInitial: items.slice(1, 2),
@@ -17146,7 +17165,7 @@ MatBadgeIconTestPage.decorators = [
17146
17165
  },] }
17147
17166
  ];
17148
17167
 
17149
- const routes$1 = [
17168
+ const routes = [
17150
17169
  {
17151
17170
  path: '',
17152
17171
  pathMatch: 'full',
@@ -17198,7 +17217,7 @@ MaterialTestingModule.decorators = [
17198
17217
  ReactiveFormsModule,
17199
17218
  SharedMaterialModule,
17200
17219
  TranslateModule.forChild(),
17201
- RouterModule.forChild(routes$1)
17220
+ RouterModule.forChild(routes)
17202
17221
  ],
17203
17222
  declarations: [
17204
17223
  MaterialTestingPage,
@@ -18213,7 +18232,7 @@ class UserSettingsValidatorService extends AppValidatorService {
18213
18232
  });
18214
18233
  }
18215
18234
  }
18216
- 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" });
18217
18236
  UserSettingsValidatorService.decorators = [
18218
18237
  { type: Injectable, args: [{ providedIn: 'root' },] }
18219
18238
  ];
@@ -18257,7 +18276,7 @@ class AccountValidatorService extends AppValidatorService {
18257
18276
  return validatorFns.length ? Validators.compose(validatorFns) : validatorFns.length === 1 ? validatorFns[0] : undefined;
18258
18277
  }
18259
18278
  }
18260
- 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" });
18261
18280
  AccountValidatorService.decorators = [
18262
18281
  { type: Injectable, args: [{ providedIn: 'root' },] }
18263
18282
  ];
@@ -18822,7 +18841,7 @@ class LocalSettingsValidatorService extends AppValidatorService {
18822
18841
  });
18823
18842
  }
18824
18843
  }
18825
- 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" });
18826
18845
  LocalSettingsValidatorService.decorators = [
18827
18846
  { type: Injectable, args: [{ providedIn: 'root' },] }
18828
18847
  ];
@@ -19441,7 +19460,7 @@ class IsOnFieldModePipe {
19441
19460
  return value === 'FIELD';
19442
19461
  }
19443
19462
  }
19444
- 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" });
19445
19464
  IsOnFieldModePipe.decorators = [
19446
19465
  { type: Pipe, args: [{
19447
19466
  name: 'isOnField'
@@ -19453,7 +19472,7 @@ class IsNotOnFieldModePipe {
19453
19472
  return value !== 'FIELD';
19454
19473
  }
19455
19474
  }
19456
- 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" });
19457
19476
  IsNotOnFieldModePipe.decorators = [
19458
19477
  { type: Pipe, args: [{
19459
19478
  name: 'isNotOnField'
@@ -19468,7 +19487,7 @@ class PersonToStringPipe {
19468
19487
  return PersonUtils.personToString(value);
19469
19488
  }
19470
19489
  }
19471
- 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" });
19472
19491
  PersonToStringPipe.decorators = [
19473
19492
  { type: Pipe, args: [{
19474
19493
  name: 'personToString'
@@ -19853,7 +19872,7 @@ class IsLoginAccountPipe {
19853
19872
  return value && value.pubkey && true;
19854
19873
  }
19855
19874
  }
19856
- 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" });
19857
19876
  IsLoginAccountPipe.decorators = [
19858
19877
  { type: Pipe, args: [{
19859
19878
  name: 'isLogin'
@@ -19865,7 +19884,7 @@ class AccountToStringPipe {
19865
19884
  return accountToString(value);
19866
19885
  }
19867
19886
  }
19868
- 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" });
19869
19888
  AccountToStringPipe.decorators = [
19870
19889
  { type: Pipe, args: [{
19871
19890
  name: 'accountToString'
@@ -19880,7 +19899,7 @@ class DepartmentToStringPipe {
19880
19899
  return departmentToString(value);
19881
19900
  }
19882
19901
  }
19883
- 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" });
19884
19903
  DepartmentToStringPipe.decorators = [
19885
19904
  { type: Pipe, args: [{
19886
19905
  name: 'departmentToString'
@@ -19906,7 +19925,7 @@ class MenuService {
19906
19925
  this._visibleSubject.next(value);
19907
19926
  }
19908
19927
  }
19909
- 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" });
19910
19929
  MenuService.decorators = [
19911
19930
  { type: Injectable, args: [{
19912
19931
  providedIn: 'root'
@@ -20430,7 +20449,7 @@ class AuthGuardService {
20430
20449
  }));
20431
20450
  }
20432
20451
  }
20433
- 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" });
20434
20453
  AuthGuardService.decorators = [
20435
20454
  { type: Injectable, args: [{ providedIn: 'root' },] }
20436
20455
  ];
@@ -20472,7 +20491,7 @@ class BaseEntityService extends BaseGraphqlService {
20472
20491
  query,
20473
20492
  variables: { id },
20474
20493
  fetchPolicy: opts && opts.fetchPolicy || undefined,
20475
- 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' }
20476
20495
  })
20477
20496
  .pipe(map(({ data }) => (!opts || opts.toEntity !== false)
20478
20497
  ? (data && this.fromObject(data))
@@ -20487,7 +20506,7 @@ class BaseEntityService extends BaseGraphqlService {
20487
20506
  query,
20488
20507
  variables: { id },
20489
20508
  fetchPolicy: opts && opts.fetchPolicy || undefined,
20490
- 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' }
20491
20510
  });
20492
20511
  // Convert to entity
20493
20512
  return (!opts || opts.toEntity !== false)
@@ -20518,7 +20537,7 @@ class BaseEntityService extends BaseGraphqlService {
20518
20537
  totalFieldName: withTotal ? 'total' : undefined,
20519
20538
  insertFilterFn: filter && filter.asFilterFn(),
20520
20539
  variables,
20521
- 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' },
20522
20541
  fetchPolicy: opts && opts.fetchPolicy || undefined
20523
20542
  })
20524
20543
  .pipe(map(({ data, total }) => {
@@ -20554,7 +20573,7 @@ class BaseEntityService extends BaseGraphqlService {
20554
20573
  const { data, total } = yield this.graphql.query({
20555
20574
  query,
20556
20575
  variables,
20557
- error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
20576
+ error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.LOAD_DATA_ERROR' },
20558
20577
  fetchPolicy: opts && opts.fetchPolicy || 'network-only'
20559
20578
  });
20560
20579
  const entities = (!opts || opts.toEntity !== false) ?
@@ -20593,7 +20612,7 @@ class BaseEntityService extends BaseGraphqlService {
20593
20612
  variables: {
20594
20613
  filter: filter && filter.asPodObject()
20595
20614
  },
20596
- error: { code: ErrorCodes$2.LOAD_DATA_ERROR, message: 'ERROR.COUNT_DATA_ERROR' },
20615
+ error: { code: ErrorCodes.LOAD_DATA_ERROR, message: 'ERROR.COUNT_DATA_ERROR' },
20597
20616
  fetchPolicy: opts && opts.fetchPolicy || 'network-only'
20598
20617
  });
20599
20618
  return res.total;
@@ -20626,7 +20645,7 @@ class BaseEntityService extends BaseGraphqlService {
20626
20645
  variables: {
20627
20646
  data: json
20628
20647
  },
20629
- error: { code: ErrorCodes$2.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
20648
+ error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
20630
20649
  update: (proxy, { data }) => {
20631
20650
  const savedEntities = data && data.data;
20632
20651
  if (savedEntities) {
@@ -20682,7 +20701,7 @@ class BaseEntityService extends BaseGraphqlService {
20682
20701
  variables: {
20683
20702
  data: json
20684
20703
  },
20685
- error: { code: ErrorCodes$2.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
20704
+ error: { code: ErrorCodes.SAVE_DATA_ERROR, message: 'ERROR.SAVE_DATA_ERROR' },
20686
20705
  update: (cache, { data }) => {
20687
20706
  // Update entity
20688
20707
  const savedEntity = data && data.data;
@@ -20730,7 +20749,7 @@ class BaseEntityService extends BaseGraphqlService {
20730
20749
  refetchQueries: this.getRefetchQueriesForMutation(opts),
20731
20750
  awaitRefetchQueries: opts && opts.awaitRefetchQueries,
20732
20751
  variables: { ids },
20733
- error: { code: ErrorCodes$2.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
20752
+ error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
20734
20753
  update: (cache, res) => {
20735
20754
  // Remove from cache
20736
20755
  if (this.watchQueriesUpdatePolicy === 'update-cache') {
@@ -20771,7 +20790,7 @@ class BaseEntityService extends BaseGraphqlService {
20771
20790
  refetchQueries: this.getRefetchQueriesForMutation(opts),
20772
20791
  awaitRefetchQueries: opts && opts.awaitRefetchQueries,
20773
20792
  variables: { id },
20774
- error: { code: ErrorCodes$2.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
20793
+ error: { code: ErrorCodes.DELETE_DATA_ERROR, message: 'ERROR.DELETE_DATA_ERROR' },
20775
20794
  update: (proxy, res) => {
20776
20795
  // Remove from cache
20777
20796
  if (this.watchQueriesUpdatePolicy === 'update-cache') {
@@ -20804,7 +20823,7 @@ class BaseEntityService extends BaseGraphqlService {
20804
20823
  query: opts && opts.query || this.subscriptions.listenChanges,
20805
20824
  variables,
20806
20825
  error: {
20807
- code: ErrorCodes$2.SUBSCRIBE_DATA_ERROR,
20826
+ code: ErrorCodes.SUBSCRIBE_DATA_ERROR,
20808
20827
  message: 'ERROR.SUBSCRIBE_DATA_ERROR'
20809
20828
  }
20810
20829
  })
@@ -20990,7 +21009,7 @@ class EntitiesTableDataSource extends TableDataSource {
20990
21009
  if (this._debug)
20991
21010
  invalidRows.forEach(row => AppTableUtils.logRowErrors(row, `[table-datasource] ${this._logTypeName} row #${row.id}`));
20992
21011
  // Stop with an error
20993
- 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' };
20994
21013
  }
20995
21014
  this._editingRowCount = 0;
20996
21015
  let data;
@@ -21606,7 +21625,7 @@ class AppTable {
21606
21625
  merge(
21607
21626
  // Listen sort events
21608
21627
  this.sort && this.sort.sortChange
21609
- .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),
21610
21629
  // Save sort in settings
21611
21630
  tap(() => {
21612
21631
  const value = [this.sort.active, this.sort.direction || 'asc'].join(':');
@@ -21623,7 +21642,9 @@ class AppTable {
21623
21642
  });
21624
21643
  // If the user changes the sort order, reset back to the first page.
21625
21644
  if (this.sort && this.paginator) {
21626
- 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));
21627
21648
  }
21628
21649
  }
21629
21650
  ngOnDestroy() {
@@ -21852,14 +21873,14 @@ class AppTable {
21852
21873
  return __awaiter(this, void 0, void 0, function* () {
21853
21874
  opts = Object.assign({ keepEditing: this.keepEditedRowOnSave }, opts);
21854
21875
  if (this.readOnly) {
21855
- throw { code: ErrorCodes$2.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
21876
+ throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
21856
21877
  }
21857
21878
  this.resetError();
21858
21879
  // Keep edited row id (should be done BEFORE confirmEditCreate() )
21859
21880
  this.previouslyEditedRowId = opts.keepEditing && ((_a = this.editedRow) === null || _a === void 0 ? void 0 : _a.editing) ? this.editedRow.id : undefined;
21860
21881
  const previouslyEditedData = isNotNil(this.previouslyEditedRowId) && this.editedRow.currentData || ((_b = this.singleSelectedRow) === null || _b === void 0 ? void 0 : _b.currentData);
21861
21882
  if (!this.confirmEditCreate()) {
21862
- 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' };
21863
21884
  }
21864
21885
  // Mark as saving
21865
21886
  this.markAsSaving();
@@ -21976,7 +21997,7 @@ class AppTable {
21976
21997
  var _a;
21977
21998
  return __awaiter(this, void 0, void 0, function* () {
21978
21999
  if (this.readOnly) {
21979
- throw { code: ErrorCodes$2.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
22000
+ throw { code: ErrorCodes.TABLE_READ_ONLY, message: 'ERROR.TABLE_READ_ONLY' };
21980
22001
  }
21981
22002
  if (event === null || event === void 0 ? void 0 : event.defaultPrevented)
21982
22003
  return 0; // SKip
@@ -23502,7 +23523,7 @@ class AppEntityEditor extends AppTabEditor {
23502
23523
  try {
23503
23524
  const data = yield this.dataService.load(id, opts);
23504
23525
  if (!data)
23505
- 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' };
23506
23527
  this._usageMode = this.computeUsageMode(data);
23507
23528
  yield this.onEntityLoaded(data, opts);
23508
23529
  yield this.updateView(data, opts);
@@ -24407,7 +24428,7 @@ class UserEventService extends BaseGraphqlService {
24407
24428
  EntityUtils.copyIdAndUpdateDate(source, target);
24408
24429
  }
24409
24430
  }
24410
- 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" });
24411
24432
  UserEventService.decorators = [
24412
24433
  { type: Injectable, args: [{ providedIn: 'root' },] }
24413
24434
  ];
@@ -24792,7 +24813,7 @@ class PersonService extends BaseEntityService {
24792
24813
  return target;
24793
24814
  }
24794
24815
  }
24795
- 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" });
24796
24817
  PersonService.decorators = [
24797
24818
  { type: Injectable, args: [{ providedIn: 'root' },] }
24798
24819
  ];
@@ -24823,7 +24844,7 @@ class PersonValidatorService {
24823
24844
  return this.formBuilder.group(formConfig);
24824
24845
  }
24825
24846
  }
24826
- 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" });
24827
24848
  PersonValidatorService.decorators = [
24828
24849
  { type: Injectable, args: [{ providedIn: 'root' },] }
24829
24850
  ];
@@ -25029,16 +25050,16 @@ AdminModule.decorators = [
25029
25050
  ];
25030
25051
  AdminModule.ctorParameters = () => [];
25031
25052
 
25032
- const ɵ0 = {
25053
+ const ɵ0$b = {
25033
25054
  profile: 'ADMIN'
25034
25055
  };
25035
- const routes = [
25056
+ const routes$1 = [
25036
25057
  {
25037
25058
  path: 'users',
25038
25059
  pathMatch: 'full',
25039
25060
  component: UsersPage,
25040
25061
  canActivate: [AuthGuardService],
25041
- data: ɵ0
25062
+ data: ɵ0$b
25042
25063
  }
25043
25064
  ];
25044
25065
  class AdminRoutingModule {
@@ -25048,13 +25069,13 @@ AdminRoutingModule.decorators = [
25048
25069
  imports: [
25049
25070
  SharedRoutingModule,
25050
25071
  AdminModule,
25051
- RouterModule.forChild(routes)
25072
+ RouterModule.forChild(routes$1)
25052
25073
  ],
25053
25074
  exports: [RouterModule]
25054
25075
  },] }
25055
25076
  ];
25056
25077
 
25057
- const ErrorCodes = {
25078
+ const ErrorCodes$2 = {
25058
25079
  LOAD_PERSONS_ERROR: 100,
25059
25080
  SAVE_PERSONS_ERROR: 101,
25060
25081
  DELETE_PERSONS_ERROR: 102,
@@ -25066,5 +25087,5 @@ const ErrorCodes = {
25066
25087
  * Generated bundle index. Do not edit.
25067
25088
  */
25068
25089
 
25069
- 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 };
25070
25091
  //# sourceMappingURL=sumaris-net.ngx-components.js.map